sfs.fd.esa¶
Compute ESA driving functions for various systems.
ESA is abbreviation for equivalent scattering approach.
ESA driving functions for an edge-shaped SSD are provided below. Further ESA for different geometries might be added here.
Note that mode-matching (such as NFC-HOA, SDM) are equivalent to ESA in their specific geometries (spherical/circular, planar/linear).
Functions
line_2d_edge (omega, x0, xs, *[, alpha, Nc, c]) |
Driving function for 2-dimensional line source with edge ESA. |
line_2d_edge_dipole_ssd (omega, x0, xs, *[, …]) |
Driving function for 2-dimensional line source with edge dipole ESA. |
plane_2d_edge (omega, x0[, n, alpha, Nc, c]) |
Driving function for 2-dimensional plane wave with edge ESA. |
plane_2d_edge_dipole_ssd (omega, x0[, n, …]) |
Driving function for 2-dimensional plane wave with edge dipole ESA. |
point_25d_edge (omega, x0, xs, *[, xref, …]) |
Driving function for 2.5-dimensional 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 2-dimensional plane wave with edge ESA.
Driving function for a virtual plane wave using the 2-dimensional ESA for an edge-shaped 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 x-axis (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 2-dimensional plane wave with edge dipole ESA.
Driving function for a virtual plane wave using the 2-dimensional ESA for an edge-shaped 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 x-axis (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 2-dimensional line source with edge ESA.
Driving function for a virtual line source using the 2-dimensional ESA for an edge-shaped 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 x-axis (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 2-dimensional line source with edge dipole ESA.
Driving function for a virtual line source using the 2-dimensional ESA for an edge-shaped 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 x-axis (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.5-dimensional point source with edge ESA.
Driving function for a virtual point source using the 2.5-dimensional ESA for an edge-shaped 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 x-axis (y0=0), the edge at the origin.
Derived from [SSR16]