spharpy.beamforming#
Functions:
|
Calculate the weights for a spherical Dolph-Chebyshev beamformer. |
|
Weights that maximize the front-back ratio of the beam pattern. |
|
Normalize the beamforming weights such that the complex amplitude of a plane wave is not distorted. |
|
Weights that maximize the length of the energy vector. |
- spharpy.beamforming.dolph_chebyshev_weights(n_max, design_parameter, design_criterion='sidelobe')[source]#
Calculate the weights for a spherical Dolph-Chebyshev beamformer. The design criterion can either be a desired side-lobe attenuation or a desired main-lobe width. Once one criterion is chosen, the other will become a dependent property which will be chosen accordingly.
- Parameters:
n_max (int) – Spherical harmonic order
design_parameter (float, double) – This can either be the desired side-lobe attenuation or the width of the main-lobe in radians.
design_criterion ('sidelobe', 'mainlobe') – Whether the design parameter argument is the desired side-lobe attenuation or the desired main-lobe width.
- Returns:
weigths – An array containing the weight coefficients $d_nm$.
- Return type:
ndarray, double
References
- spharpy.beamforming.maximum_front_back_ratio_weights(n_max, normalize=True)[source]#
Weights that maximize the front-back ratio of the beam pattern. This is also often referred to as the super-cardioid beam pattern.
- Parameters:
n_max (int) – The spherical harmonic order
normalize (bool) – If True, the weights will be normalized such that the complex amplitude of a plane wave is not distorted.
- Returns:
weigths – An array containing the weight coefficients
- Return type:
ndarray, double
Note
The weights are calculated from an eigenvalue problem
References
[3] B. Rafaely, Fundamentals of Spherical Array Processing, Springer, 2015.
- spharpy.beamforming.normalize_beamforming_weights(weights, n_max)[source]#
Normalize the beamforming weights such that the complex amplitude of a plane wave is not distorted.
- Parameters:
weights (ndarray, double) – An array containing the beamforming weights
n_max (int) – The spherical harmonic order
- Returns:
weights – An array containing the normalized beamforming weights
- Return type:
ndarray, double
- spharpy.beamforming.rE_max_weights(n_max, normalize=True)[source]#
Weights that maximize the length of the energy vector. This is most often used in Ambisonics decoding.
- Parameters:
n_max (int) – Spherical harmonic order
normalize (bool) – If True, the weights will be normalized such that the complex amplitude of a plane wave is not distorted.
- Returns:
weights – An array containing the weight coefficients.
- Return type:
ndarray, double
References
[2] J. Daniel, J.-B. Rault, and J.-D. Polack, “Ambisonics Encoding of Other Audio Formats for Multiple Listening Conditions,” in 105th Convention of the Audio Engineering Society, 1998, vol. 3.