Beamforming using the basic delay-and-sum algorithm in the frequency domain.
steer= Property(desc="steering vector object")¶
SteeringVectoror derived object. Defaults to
freq_data= Trait(PowerSpectra, …¶
PowerSpectraobject that provides the cross spectral matrix and eigenvalues
r_diag= Bool(True, …¶
Boolean flag, if ‘True’ (default), the main diagonal is removed before beamforming.
r_diag_norm= Float(0.0, …¶
If r_diag==True: if r_diag_norm==0.0, the standard normalization = num_mics/(num_mics-1) 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.
precision= Trait('float64', 'float32', …¶
Floating point precision of property result. Corresponding to numpy dtypes. Default = 64 Bit.
cached= Bool(True, …¶
Boolean flag, if ‘True’ (default), the result is cached in h5 files.
result= Property( …¶
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.
If the diagonal of the CSM is removed one has to handle the loss of signal energy –> Done via a normalization factor.
Calculates the delay-and-sum beamforming result for the frequencies defined by
This is an internal helper function that is automatically called when accessing the beamformer’s
resultor calling its
- acarray of floats
This array of dimension ([number of frequencies]x[number of gridpoints]) is used as call-by-reference parameter and contains the calculated value after calling this method.
- frarray 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’
- This method only returns values through the ac and fr parameters
Evaluates the beamforming result for an arbitrary frequency band.
- f: float
Band center frequency.
Controls the width of the frequency bands considered; defaults to 0 (single frequency line).
frequency band width
single frequency line
- 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 used
FFT block size.
Integrates result map over a given sector.
- sector: array of floats
Tuple with arguments for the ‘indices’ method of a
Grid-derived class (e.g.
RectGrid3D.indices). Possible sectors would be array([xmin, ymin, xmax, ymax]) or array([x, y, radius]).
- array of floats
The spectrum (all calculated frequency bands) for the integrated sector.