BeamformerGIB#

class acoular.fbeamform.BeamformerGIB

Bases: BeamformerEig

Beamforming GIB methods with different normalizations.

See [14] for details.

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.

n_iter

Total or maximum number of iterations (depending on method), tradeoff between speed and precision; defaults to 10

method

Type of fit method to be used (‘Suzuki’, ‘LassoLars’, ‘LassoLarsCV’, ‘LassoLarsBIC’, ‘OMPCV’ or ‘NNLS’, defaults to ‘Suzuki’). These methods are implemented in the scikit-learn module.

alpha

Weight factor for LassoLars method, defaults to 0.0.

pnorm

Norm to consider for the regularization in InverseIRLS and Suzuki methods defaults to L-1 Norm

beta

Beta - Fraction of sources maintained after each iteration defaults to 0.9

eps_perc

eps - Regularization parameter for Suzuki algorithm defaults to 0.05.

m

First eigenvalue to consider. Defaults to 0.

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.indices or RectGrid3D.indices). Possible sectors would be array([xmin, ymin, xmax, ymax]) or array([x, y, radius]) or an instance of a Sector-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_low and PowerSpectra.ind_high of freq_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_data and 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 frequency and used FFT block size.

n

Number of component to calculate: 0 (smallest) … num_channels-1; defaults to -1, i.e. num_channels-1.

na

No. of eigenvalue

steer

Instance of SteeringVector or 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

PowerSpectra object 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 [].