sfs.fd

Submodules for monochromatic sound fields.

source

Compute the sound field generated by a sound source.

wfs

Compute WFS driving functions.

nfchoa

Compute NFC-HOA driving functions.

sdm

Compute SDM driving functions.

esa

Compute ESA driving functions for various systems.

Functions

displacement(v, omega)

Particle displacement.

secondary_source_line(omega, c)

Create a line source for use in sfs.fd.synthesize().

secondary_source_point(omega, c)

Create a point source for use in sfs.fd.synthesize().

shiftphase(p, phase)

Shift phase of a sound field.

synthesize(d, weights, ssd, …)

Compute sound field for a generic driving function.

sfs.fd.shiftphase(p, phase)[source]

Shift phase of a sound field.

sfs.fd.displacement(v, omega)[source]

Particle displacement.

\[d(x, t) = \int_{-\infty}^t v(x, \tau) d\tau\]
sfs.fd.synthesize(d, weights, ssd, secondary_source_function, **kwargs)[source]

Compute sound field for a generic driving function.

Parameters
  • d (array_like) – Driving function.

  • weights (array_like) – Additional weights applied during integration, e.g. source selection and tapering.

  • ssd (sequence of between 1 and 3 array_like objects) – Positions, normal vectors and weights of secondary sources. A SecondarySourceDistribution can also be used.

  • secondary_source_function (callable) – A function that generates the sound field of a secondary source. This signature is expected:

    secondary_source_function(
        position, normal_vector, **kwargs) -> numpy.ndarray
    
  • **kwargs – All keyword arguments are forwarded to secondary_source_function. This is typically used to pass the grid argument.

sfs.fd.secondary_source_point(omega, c)[source]

Create a point source for use in sfs.fd.synthesize().

sfs.fd.secondary_source_line(omega, c)[source]

Create a line source for use in sfs.fd.synthesize().