5.3.6 音源定位用相関行列ファイル

周波数領域における入力信号のマイク間の相関行列を格納するためのファイル形式である. LocalizeMUSIC における,既知の雑音情報の白色化などに用いる. 現在,このファイルを保存・読み込むモジュールは, CMSave と CMLoad である.

マイク数を $M$,入力信号の周波数解析後の周波数ビン数を $N$ とすると, 相関行列は $M$ 次の複素正方行列で,周波数ビン毎に $N$ 個演算される. $n$番目の周波数ビン ($1 \leq n \leq N$) の相関行列 $\boldsymbol {R}(n)$ を以下で表すとする.

  $\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)

ここで,$r_{11}(n), \cdots , r_{MM}(n)$ は複素数である.

相関行列がファイルに保存される時は実部と虚部に分けられ,以下のように保存される.

相関行列ファイル(実部)

  $\displaystyle \begin{array}{cccccccc} \textrm{Re}[r_{11}(1)] & \textrm{Re}[r_{12}(1)] & \cdots & \textrm{Re}[r_{1M}(1)] & \textrm{Re}[r_{21}(1)] & \textrm{Re}[r_{22}(1)]& \cdots & \textrm{Re}[r_{MM}(1)]\\ \textrm{Re}[r_{11}(2)] & \textrm{Re}[r_{12}(2)] & \cdots & \textrm{Re}[r_{1M}(2)] & \textrm{Re}[r_{21}(2)] & \textrm{Re}[r_{22}(2)]& \cdots & \textrm{Re}[r_{MM}(2)]\\ \textrm{Re}[r_{11}(N)] & \textrm{Re}[r_{12}(N)] & \cdots & \textrm{Re}[r_{1M}(N)] & \textrm{Re}[r_{21}(N)] & \textrm{Re}[r_{22}(N)]& \cdots & \textrm{Re}[r_{MM}(N)]\\ \end{array} \nonumber $    

相関行列ファイル(虚部)

  $\displaystyle \begin{array}{cccccccc} \textrm{Im}[r_{11}(1)] & \textrm{Im}[r_{12}(1)] & \cdots & \textrm{Im}[r_{1M}(1)] & \textrm{Im}[r_{21}(1)] & \textrm{Im}[r_{22}(1)] & \cdots & \textrm{Im}[r_{MM}(1)]\\ \textrm{Im}[r_{11}(2)] & \textrm{Im}[r_{12}(2)] & \cdots & \textrm{Im}[r_{1M}(2)] & \textrm{Im}[r_{21}(2)] & \textrm{Im}[r_{22}(2)] & \cdots & \textrm{Im}[r_{MM}(2)]\\ \textrm{Im}[r_{11}(N)] & \textrm{Im}[r_{12}(N)] & \cdots & \textrm{Im}[r_{1M}(N)] & \textrm{Im}[r_{21}(N)] & \textrm{Im}[r_{22}(N)] & \cdots & \textrm{Im}[r_{MM}(N)]\\ \end{array} \nonumber $    

各成分間はスペース区切りとなる. 保存されるファイルは $N$ 行 $M \times M$ 列の行列ファイルになる. 読み込まれる際は,そのファイルを $\boldsymbol {R}(n)$ として解釈する.