276f8fc3fe9a7424bae6585ed4453190e2a70815,acoular/fbeamform.py,BeamformerCapon,calc,#BeamformerCapon#Any#Any#,517
Before Change
-------
This method only returns values through the *ac* and *fr* parameters
kj = 2j*pi*self.freq_data.fftfreq()/self.c
nMics = self.freq_data.numchannels
normFactor = self.sig_loss_norm() * nMics**2
steerVecFormulation = steerVecTranslation(self.steer)
for i in self.freq_data.indices:
if not fr[i]:
csm = array(linalg.inv(array(self.freq_data.csm[i], dtype="complex128")), order="C")[newaxis]
kji = kj[i, newaxis]
beamformerOutput = beamformerFreq(False, steerVecFormulation, self.r_diag, normFactor, (self.r0, self.rm, kji, csm))[0]
ac[i] = 1.0 / beamformerOutput
fr[i] = True
class BeamformerEig( BeamformerBase ):
Beamforming using eigenvalue and eigenvector techniques,
see :ref:`Sarradj et al., 2005<Sarradj2005>`.
After Change
buttons = OKCancelButtons
)
def calc(self, ac, fr):
Calculates the Capon result for the frequencies defined by :attr:`freq_data`
This is an internal helper function that is automatically called when
accessing the beamformer"s :attr:`~BeamformerBase.result` or calling
its :meth:`~BeamformerBase.synthetic` method.
Parameters
----------
ac : array 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.
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
i = self.freq_data.indices
self.steer_obj.f = (self.freq_data.fftfreq()[i]).tolist()
nMics = self.freq_data.numchannels
normFactor = self.sig_loss_norm() * nMics**2
for cntFreq in range(len(i)):
if not fr[i[cntFreq]]:
csm = array(linalg.inv(array(self.freq_data.csm[i[cntFreq]], dtype="complex128")), order="C")[newaxis]
beamformerOutput = self.steer_obj._beamformerCall(cntFreq, self.r_diag, normFactor, (csm,))[0]
ac[i[cntFreq]] = 1.0 / beamformerOutput
fr[i[cntFreq]] = True
class BeamformerEig( BeamformerBase ):
Beamforming using eigenvalue and eigenvector techniques,
see :ref:`Sarradj et al., 2005<Sarradj2005>`.
In pattern: SUPERPATTERN
Frequency: 4
Non-data size: 38
Instances
Project Name: acoular/acoular
Commit Name: 276f8fc3fe9a7424bae6585ed4453190e2a70815
Time: 2018-05-02
Author: tom.j.gensch@campus.tu-berlin.de
File Name: acoular/fbeamform.py
Class Name: BeamformerCapon
Method Name: calc
Project Name: acoular/acoular
Commit Name: 4b8dec5e7199ad302c52bf9eb6914a170491334c
Time: 2018-05-03
Author: tom.j.gensch@campus.tu-berlin.de
File Name: acoular/fbeamform.py
Class Name: BeamformerCapon
Method Name: calc
Project Name: acoular/acoular
Commit Name: 276f8fc3fe9a7424bae6585ed4453190e2a70815
Time: 2018-05-02
Author: tom.j.gensch@campus.tu-berlin.de
File Name: acoular/fbeamform.py
Class Name: BeamformerCapon
Method Name: calc
Project Name: acoular/acoular
Commit Name: 276f8fc3fe9a7424bae6585ed4453190e2a70815
Time: 2018-05-02
Author: tom.j.gensch@campus.tu-berlin.de
File Name: acoular/fbeamform.py
Class Name: BeamformerBase
Method Name: calc
Project Name: acoular/acoular
Commit Name: 4b8dec5e7199ad302c52bf9eb6914a170491334c
Time: 2018-05-03
Author: tom.j.gensch@campus.tu-berlin.de
File Name: acoular/fbeamform.py
Class Name: BeamformerBase
Method Name: calc