-------
This method only returns values through the *ac* and *fr* parameters
i = self.freq_data.indicesself.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 ):
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
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 ):