spharpy.beamforming

Functions:

dolph_chebyshev_weights(n_max, design_parameter)

Calculate the weights for a spherical Dolph-Chebyshev beamformer.

maximum_front_back_ratio_weights(n_max)

Weights that maximize the front-back ratio of the beam pattern.

rE_max_weights(n_max)

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)[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

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.rE_max_weights(n_max)[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

Returns:

weights – An array containing the weight coefficients.

Return type:

ndarray, double

References