BeamformerBase¶

class
acoular.fbeamform.
BeamformerBase
¶ Bases:
traits.has_traits.HasPrivateTraits
Beamforming using the basic delayandsum algorithm in the frequency domain.

freq_data
= Trait(PowerSpectra, desc="freq data object")¶ PowerSpectra
object that provides the cross spectral matrix.

mpos
= Trait(MicGeom, desc="microphone geometry")¶ MicGeom
object that provides the microphone locations.

env
= Trait(Environment(), Environment)¶ Environment
or derived object, which provides information about the sound propagation in the medium.

c
= Float(343., desc="speed of sound")¶ The speed of sound, defaults to 343 m/s

r_diag
= Bool(True, desc="removal of diagonal")¶ Boolean flag, if ‘True’ (default), the main diagonal is removed before beamforming.

r_diag_norm
= Float(0.0, desc="If diagonal of the csm is removed, some signal energy is lost." "This is handled via this normalization factor." "Internally, the default is: num_mics / (num_mics  1).")¶ If r_diag==True: if r_diag_norm==0.0, the standard normalization = num_mics/(num_mics1) is used. If r_diag_norm !=0.0, the user input is used instead. If r_diag==False, the normalization is 1.0 either way.

steer
= Trait('true level', 'true location', 'classic', 'inverse', desc="Type of steering vectors used. Corresponds to the formulations" "in :ref:`Sarradj, 2012<Sarradj2012>`. classic > Formulation I;" "inverse > Formulation II; true level> Formulation III;" "true location > Formulation IV")¶ Type of steering vectors, see also Sarradj, 2012: classic > Formulation I; inverse > Formulation II; true level> Formulation III (default); true location > Formulation IV.

cached
= Bool(True, desc="cached flag")¶ Boolean flag, if ‘True’ (default), the result is cached in h5 files.

result
= Property( desc="beamforming result")¶ The beamforming result as squared sound pressure values at all grid point locations (readonly). Returns a (number of frequencies, number of gridpoints) array of floats.

precision
= Trait('float64', 'float32', desc="precision (32/64 Bit) of result, corresponding to numpy dtypes")¶ Floating point precision of property result. Corresponding to numpy dtypes. Default = 64 Bit.

r0
= Property( desc="array center to grid distances")¶ Sound travel distances from microphone array center to grid points (readonly).

rm
= Property( desc="array center to grid distances")¶ Sound travel distances from array microphones to grid points (readonly).

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.

calc
(ac, fr)¶ Calculates the delayandsum beamforming result for the frequencies defined by
freq_data
This is an internal helper function that is automatically called when accessing the beamformer’s
result
or calling itssynthetic()
method.Parameters: ac : array of floats
This array of dimension ([number of frequencies]x[number of gridpoints]) is used as callbyreference parameter and contains the calculated value after calling this method.
fr : array of booleans
The entries of this [number of frequencies]sized array are either ‘True’ (if the result for this frequency has already been calculated) or ‘False’ (for the frequencies where the result has yet to be calculated). After the calculation at a certain frequency the value will be set to ‘True’
Returns: This method only returns values through the ac and fr parameters

synthetic
(f, num=0)¶ Evaluates the beamforming result for an arbitrary frequency band.
Parameters: f: float
Band center frequency.
num : integer
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 thirdoctave band n 1/noctave 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 usedFFT block size
.

integrate
(sector)¶ Integrates result map over a given sector.
Parameters: sector: array of floats
Tuple with arguments for the ‘indices’ method of a
Grid
derived class (e.g.RectGrid.indices
orRectGrid3D.indices
). Possible sectors would be array([xmin, ymin, xmax, ymax]) or array([x, y, radius]).Returns: array of floats
The spectrum (all calculated frequency bands) for the integrated sector.
