Processing math: 100%

5.3.6 Correlation matrix text for sound source localization

This is a file format for saving/loading the correlation matrix of a multi-channel signal in the frequency domain. The correlation matrix is utilized in LocalizeMUSIC to whiten (suppress) pre-measured noise from sound source localization. Currently, CMSave and CMLoad use this file format for input/output correlation matrices.

Let M and N denote the number of microphones and frequency bins, respectively. A correlation matrix is an M-th order square complex matrix, and the matrix is calculated for each frequency bin. Let R(n) represent the correlation matrix of n-th frequency bin (1nN), described as follows:

  \displaystyle  \boldsymbol {R}(n) = \left[ \begin{array}{ccc} r_{11}(n) &  \cdots &  r_{1M}(n)\\ \vbox{\baselineskip 4\p@  \lineskiplimit \z@  \kern 6\p@ \hbox{$\m@th .$}\hbox{$\m@th .$}\hbox{$\m@th .$}}&  \mathinner {\mkern 1mu\raise 7\p@  \vbox{\kern 7\p@ \hbox{$\m@th .$}}\mkern 2mu \raise 4\p@ \hbox{$\m@th .$}\mkern 2mu\raise \p@ \hbox{$\m@th .$}\mkern 1mu}&  \vbox{\baselineskip 4\p@  \lineskiplimit \z@  \kern 6\p@ \hbox{$\m@th .$}\hbox{$\m@th .$}\hbox{$\m@th .$}}\\ r_{M1}(n) &  \cdots &  r_{MM}(n)\\ \end{array} \right],   (1)

where r11(n),,rMM(n) are complex numbers.

Then, the correlation matrix of all N frequency bins are saved in the following format by separating the real part and imaginary part of it.

Correlation Matrix File (Real part)

  Re[r11(1)]Re[r12(1)]Re[r1M(1)]Re[r21(1)]Re[r22(1)]Re[rMM(1)]Re[r11(2)]Re[r12(2)]Re[r1M(2)]Re[r21(2)]Re[r22(2)]Re[rMM(2)]Re[r11(N)]Re[r12(N)]Re[r1M(N)]Re[r21(N)]Re[r22(N)]Re[rMM(N)]    

Correlation Matrix File (Imaginary part)

  Im[r11(1)]Im[r12(1)]Im[r1M(1)]Im[r21(1)]Im[r22(1)]Im[rMM(1)]Im[r11(2)]Im[r12(2)]Im[r1M(2)]Im[r21(2)]Im[r22(2)]Im[rMM(2)]Im[r11(N)]Im[r12(N)]Im[r1M(N)]Im[r21(N)]Im[r22(N)]Im[rMM(N)]    

The file is saved as a space-separated values (ssv) file. The file has N rows and M×M columns. CMLoad recognizes the file as R(n).