Multiply each frequency bin of the two sound source correlation matrices.
None.
In what case is the node used?
The calculation node of the sound source correlation matrix is the same as the one from CMMakerFromFFT , CMMakerFromFFTwithFlag , and has the function of multiplying the correlation matrix of each frequency bin.
Typical Examples
Figure. 6.20 shows the usage example of CMMultiplyMatrix node.
CMA input terminal is connected to the correlation matrix calculated from CMMakerFromFFT , CMMakerFromFFTwithFlag , etc. (Type is Matrix<complex<float> > type, but to handle a correlation matrix, convert the three-dimensional complex array to a two-dimensional complex matrix and then output). The CMB input terminal, like CMA, connects to the same correlation matrix. At the time of multiplication, CMA $*$ CMB is calculated for each frequency bin. OPERATION_FLAG is an int type or bool type input, specifying when the correlation matrix is calculated.
Parameter |
Type |
Default |
Unit |
Description |
FIRST_FRAME_EXECUTION |
false |
Selection of the first frame execution |
||
ENABLE_DEBUG |
false |
ON/OFF of debugging information output |
Input
: Matrix<complex<float> > type. A correlation matrix for each frequency bin. The $M$-th order complex square array correlation matrix inputs $NFFT/2 + 1$ items. Matrix<complex<float> > contains rows corresponding to frequencies ($NFFT/2 + 1$ rows) and the columns contains the complex correlation matrix ($M * M$ columns across).
: Matrix<complex<float> > type. Same as CMA.
: int type or bool type. Only when this input terminal is 1 or true, calculation of the correlation matrix is performed.
Output
: Matrix<complex<float> > type. Correlation matrix equivalent to CMA $*$ CMB, after multiplication, is output.
Parameter
: bool type. The default value is false. When true, OPERATION_FLAG is always 0. Even if false, perform only the calculation of first frame.
: bool type. Default value is false. When true, output the frame number calculated to the standard output, during correlation matrix multiplication.
Performs the multiplication of two correlation matrices for each frequency bin. The correlation matrix is a complex three-dimensional array of size $k \times M \times M$ and the multiplication $k$ times is performed as follows. Here, $k$ is the number of frequency bins ($k = NFFT/2 + 1$) and $M$ is a number of channels in the input signal.
=- OUTPUTCM = zero_matrix(k,M,M) calculate{ IF OPERATION_FLAG FOR i = 1 to k OUTPUTCM[i] = CMA[i] * CMB[i] ENDFOR ENDIF }
The matrix that is output from the OUTPUTCM terminal is initialized as a zero matrix, and maintains the final operational result from this point onward.