bc22d044fac59b29d4e5f83e00c4be8448a4bc43,acoular/fbeamform.py,BeamformerCapon,calc,#BeamformerCapon#Any#Any#,672

Before Change


        -------
        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 ):
    

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 ):
Italian Trulli
In pattern: SUPERPATTERN

Frequency: 4

Non-data size: 32

Instances


Project Name: acoular/acoular
Commit Name: bc22d044fac59b29d4e5f83e00c4be8448a4bc43
Time: 2018-05-03
Author: gert.herold@tu-berlin.de
File Name: acoular/fbeamform.py
Class Name: BeamformerCapon
Method Name: calc


Project Name: acoular/acoular
Commit Name: bc22d044fac59b29d4e5f83e00c4be8448a4bc43
Time: 2018-05-03
Author: gert.herold@tu-berlin.de
File Name: acoular/fbeamform.py
Class Name: BeamformerEig
Method Name: calc


Project Name: acoular/acoular
Commit Name: bc22d044fac59b29d4e5f83e00c4be8448a4bc43
Time: 2018-05-03
Author: gert.herold@tu-berlin.de
File Name: acoular/fbeamform.py
Class Name: BeamformerBase
Method Name: calc


Project Name: acoular/acoular
Commit Name: bc22d044fac59b29d4e5f83e00c4be8448a4bc43
Time: 2018-05-03
Author: gert.herold@tu-berlin.de
File Name: acoular/fbeamform.py
Class Name: BeamformerMusic
Method Name: calc