sfs.fd.esa¶
Compute ESA driving functions for various systems.
ESA is abbreviation for equivalent scattering approach.
ESA driving functions for an edgeshaped SSD are provided below. Further ESA for different geometries might be added here.
Note that modematching (such as NFCHOA, SDM) are equivalent to ESA in their specific geometries (spherical/circular, planar/linear).
Functions

Driving function for 2dimensional line source with edge ESA. 

Driving function for 2dimensional line source with edge dipole ESA. 

Driving function for 2dimensional plane wave with edge ESA. 

Driving function for 2dimensional plane wave with edge dipole ESA. 

Driving function for 2.5dimensional point source with edge ESA. 
 sfs.fd.esa.plane_2d_edge(omega, x0, n=[0, 1, 0], *, alpha=4.71238898038469, Nc=None, c=None)[source]¶
Driving function for 2dimensional plane wave with edge ESA.
Driving function for a virtual plane wave using the 2dimensional ESA for an edgeshaped secondary source distribution consisting of monopole line sources.
 Parameters
omega (float) – Angular frequency.
x0 (int(N, 3) array_like) – Sequence of secondary source positions.
n ((3,) array_like, optional) – Normal vector of synthesized plane wave.
alpha (float, optional) – Outer angle of edge.
Nc (int, optional) – Number of elements for series expansion of driving function. Estimated if not given.
c (float, optional) – Speed of sound
 Returns
d ((N,) numpy.ndarray) – Complex weights of secondary sources.
selection ((N,) numpy.ndarray) – Boolean array containing
True
orFalse
depending on whether the corresponding secondary source is “active” or not.secondary_source_function (callable) – A function that can be used to create the sound field of a single secondary source. See
sfs.fd.synthesize()
.
Notes
One leg of the secondary sources has to be located on the xaxis (y0=0), the edge at the origin.
Derived from [SSR16]
 sfs.fd.esa.plane_2d_edge_dipole_ssd(omega, x0, n=[0, 1, 0], *, alpha=4.71238898038469, Nc=None, c=None)[source]¶
Driving function for 2dimensional plane wave with edge dipole ESA.
Driving function for a virtual plane wave using the 2dimensional ESA for an edgeshaped secondary source distribution consisting of dipole line sources.
 Parameters
omega (float) – Angular frequency.
x0 (int(N, 3) array_like) – Sequence of secondary source positions.
n ((3,) array_like, optional) – Normal vector of synthesized plane wave.
alpha (float, optional) – Outer angle of edge.
Nc (int, optional) – Number of elements for series expansion of driving function. Estimated if not given.
c (float, optional) – Speed of sound
 Returns
d ((N,) numpy.ndarray) – Complex weights of secondary sources.
selection ((N,) numpy.ndarray) – Boolean array containing
True
orFalse
depending on whether the corresponding secondary source is “active” or not.secondary_source_function (callable) – A function that can be used to create the sound field of a single secondary source. See
sfs.fd.synthesize()
.
Notes
One leg of the secondary sources has to be located on the xaxis (y0=0), the edge at the origin.
Derived from [SSR16]
 sfs.fd.esa.line_2d_edge(omega, x0, xs, *, alpha=4.71238898038469, Nc=None, c=None)[source]¶
Driving function for 2dimensional line source with edge ESA.
Driving function for a virtual line source using the 2dimensional ESA for an edgeshaped secondary source distribution consisting of line sources.
 Parameters
omega (float) – Angular frequency.
x0 (int(N, 3) array_like) – Sequence of secondary source positions.
xs ((3,) array_like) – Position of synthesized line source.
alpha (float, optional) – Outer angle of edge.
Nc (int, optional) – Number of elements for series expansion of driving function. Estimated if not given.
c (float, optional) – Speed of sound
 Returns
d ((N,) numpy.ndarray) – Complex weights of secondary sources.
selection ((N,) numpy.ndarray) – Boolean array containing
True
orFalse
depending on whether the corresponding secondary source is “active” or not.secondary_source_function (callable) – A function that can be used to create the sound field of a single secondary source. See
sfs.fd.synthesize()
.
Notes
One leg of the secondary sources has to be located on the xaxis (y0=0), the edge at the origin.
Derived from [SSR16]
 sfs.fd.esa.line_2d_edge_dipole_ssd(omega, x0, xs, *, alpha=4.71238898038469, Nc=None, c=None)[source]¶
Driving function for 2dimensional line source with edge dipole ESA.
Driving function for a virtual line source using the 2dimensional ESA for an edgeshaped secondary source distribution consisting of dipole line sources.
 Parameters
omega (float) – Angular frequency.
x0 ((N, 3) array_like) – Sequence of secondary source positions.
xs ((3,) array_like) – Position of synthesized line source.
alpha (float, optional) – Outer angle of edge.
Nc (int, optional) – Number of elements for series expansion of driving function. Estimated if not given.
c (float, optional) – Speed of sound
 Returns
d ((N,) numpy.ndarray) – Complex weights of secondary sources.
selection ((N,) numpy.ndarray) – Boolean array containing
True
orFalse
depending on whether the corresponding secondary source is “active” or not.secondary_source_function (callable) – A function that can be used to create the sound field of a single secondary source. See
sfs.fd.synthesize()
.
Notes
One leg of the secondary sources has to be located on the xaxis (y0=0), the edge at the origin.
Derived from [SSR16]
 sfs.fd.esa.point_25d_edge(omega, x0, xs, *, xref=[2,  2, 0], alpha=4.71238898038469, Nc=None, c=None)[source]¶
Driving function for 2.5dimensional point source with edge ESA.
Driving function for a virtual point source using the 2.5dimensional ESA for an edgeshaped secondary source distribution consisting of point sources.
 Parameters
omega (float) – Angular frequency.
x0 (int(N, 3) array_like) – Sequence of secondary source positions.
xs ((3,) array_like) – Position of synthesized line source.
xref ((3,) array_like or float) – Reference position or reference distance
alpha (float, optional) – Outer angle of edge.
Nc (int, optional) – Number of elements for series expansion of driving function. Estimated if not given.
c (float, optional) – Speed of sound
 Returns
d ((N,) numpy.ndarray) – Complex weights of secondary sources.
selection ((N,) numpy.ndarray) – Boolean array containing
True
orFalse
depending on whether the corresponding secondary source is “active” or not.secondary_source_function (callable) – A function that can be used to create the sound field of a single secondary source. See
sfs.fd.synthesize()
.
Notes
One leg of the secondary sources has to be located on the xaxis (y0=0), the edge at the origin.
Derived from [SSR16]