From the multi-channel complex spectrum that is output from the MultiFFT node, generate the sound source correlation matrix with a fixed period.
None.
In what case is the node used?
Given a sound source of LocalizeMUSIC node, in order to suppress a specific sound source like noise, etc., it is necessary to prepare a correlation matrix that includes noise information beforehand. This node generates the correlation matrix for a sound source, at fixed period, from a multi-channel complex spectrum that is output from the MultiFFT node. Suppressed sound source can be achieved by connecting the output of this node to the NOISECM input terminal of LocalizeMUSIC node, assuming that information before a fixed period is always noise.
Typical Examples
Figure. 6.13 shows the usage example of CMMakerFromFFT node.
INPUT The input terminal is connected to the complex spectrum of the input signal calculated from a MultiFFT node. The type is Matrix<complex<float> > type. This node calculates and outputs the correlation matrix between channels for each frequency bin from the complex spectrum of an input signal. The output type is Matrix<complex<float> > type, but to handle a correlation matrix, convert the three dimensional complex array to a two dimensional complex array and then output.
Parameter |
Type |
Default |
Unit |
Description |
NB_CHANNELS |
8 |
Number of channels of input signal |
||
LENGTH |
512 |
Frame length |
||
PERIOD |
50 |
Number of average smoothed frames for the correlation matrix |
||
ENABLE_DEBUG |
false |
ON/OFF of debugging information output |
Input
Matrix<complex<float> > type, the complex spectrum expression of an input signal .
Output
Matrix<complex<float> > type. A correlation matrix for each frequency bin. An -th order complex square array with correlation matrix outputs items. Matrix<complex<float> > indicates the rows corresponding to frequency ( rows), and columns containing the complex correlation matrix ( columns across).
Parameter
int type. Number of channels in the input signal. Equivalent to the order of the correlation matrix. Must be matched with the order of the former correlation matrix used. Default value is 8.
int type. Default value is 512. FFT points at the time of Fourier transform. Must be matched till the former FFT points.
int type. Default value is 50. Specifies the number of average smoothed frames when calculating the correlation-matrix. The node generates a correlation matrix for each frame from the complex spectrum of the input signal and outputs a new correlation matrix by averaging the frames that are specified in PERIOD. The correlation matrix calculated at the end is output between the PERIOD frames. If this value is increased, the correlation matrix is stabilized but the calculation load is high.
bool type. Default value is false. When true, the frame number is output to the standard output while generating the correlation matrix.
The complex spectrum of the input signal output from a MultiFFT node is represented as follows.
(1) |
Here, is the frequency bin number, is the frame number for use with HARK , represents the number of input channels.
The correlation matrix of the input signal can be defined as follows for every frequency and frame.
(2) |
Here, denotes the complex conjugate transpose operator. There is no problem if this is used as it is in subsequent processing, but practically, in order to obtain a stable correlation matrix in HARK , it uses an average through time as shown below.
(3) |
is output from the OUTPUT terminal of CMMakerFromFFT node.