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, weight, driving_function_weight,
        **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().