BeamformerSODIX#
- class acoular.fbeamform.BeamformerSODIX
Bases:
BeamformerBaseSource directivity modeling in the cross-spectral matrix (SODIX) algorithm.
See [12] and [13] for details.
- method
Type of fit method to be used (‘fmin_l_bfgs_b’). These methods are implemented in the scipy module.
- n_iter
Maximum number of iterations, tradeoff between speed and precision; defaults to 200
- alpha
Weight factor for regularization, defaults to 0.0.
- unit_mult
Unit multiplier for evaluating, e.g., nPa instead of Pa. Values are converted back before returning. Temporary conversion may be necessary to not reach machine epsilon within fitting method algorithms. Defaults to 1e9.
- r_diag_norm
Energy normalization in case of diagonal removal not implemented for inverse methods.
- digest
A unique identifier for the beamformer, based on its properties. (read-only)
- integrate(sector, frange=None, num=0)
Integrates result map over a given sector.
- Parameters:
- sector: array of floats or :class:`~acoular.grids.Sector`
either an array, tuple or list with arguments for the ‘indices’ method of a
Grid-derived class (e.g.RectGrid.indicesorRectGrid3D.indices). Possible sectors would be array([xmin, ymin, xmax, ymax]) or array([x, y, radius]) or an instance of aSector-derived class- frange: tuple or None
a tuple of (fmin,fmax) frequencies to include in the result if num*==0, or band center frequency/frequencies for which to return the results if *num>0; if None, then the frequency range is determined from the settings of the
PowerSpectra.ind_lowandPowerSpectra.ind_highoffreq_data- numinteger
Controls the width of the frequency bands considered; defaults to 0 (single frequency line). Only considered if frange is not None.
num
frequency band width
0
single frequency line
1
octave band
3
third-octave band
n
1/n-octave band
- Returns:
- res or (f, res): array of floats or tuple(array of floats, array of floats)
If frange*==None or *num>0, the spectrum (all calculated frequency bands) for the integrated sector is returned as res. The dimension of this array is the number of frequencies given by
freq_dataand entries not computed are zero. If frange!=None and num*==0, then (f, res) is returned where *f are the (band) frequencies and the dimension of both arrays is determined from frange
- sig_loss_norm()
If the diagonal of the CSM is removed one has to handle the loss of signal energy.
Done via a normalization factor.
- synthetic(f, num=0)
Evaluates the beamforming result for an arbitrary frequency band.
- Parameters:
- f: float
Band center frequency.
- numinteger
Controls the width of the frequency bands considered; defaults to 0 (single frequency line).
num
frequency band width
0
single frequency line
1
octave band
3
third-octave band
n
1/n-octave band
- Returns:
- array of floats
The synthesized frequency band values of the beamforming result at each grid point . Note that the frequency resolution and therefore the bandwidth represented by a single frequency line depends on the
sampling frequencyand usedFFT block size.
- steer
Instance of
SteeringVectoror its derived classes that contains information about the steering vector. This is a private trait. Do not set this directly, use steer trait instead.
- freq_data
PowerSpectraobject that provides the cross spectral matrix and eigenvalues
- r_diag
Boolean flag, if ‘True’ (default), the main diagonal is removed before beamforming.
- precision
Floating point precision of property result. Corresponding to numpy dtypes. Default = 64 Bit.
- cached
Boolean flag, if ‘True’ (default), the result is cached in h5 files.
- result
The beamforming result as squared sound pressure values at all grid point locations (readonly). Returns a (number of frequencies, number of gridpoints) array-like of floats. Values can only be accessed via the index operator [].