# 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().