6.2.2 CMSave

6.2.2.1 ノードの概要

音源定位のための相関行列をファイルに保存する.

6.2.2.2 必要なファイル

無し.

6.2.2.3 使用方法

どんなときに使うのか

CMMakerFromFFT や CMMakerFromFFTwithFlag 等から作成した音源定位用の相関行列を保存する時に使用する.

典型的な接続例

図 6.12CMSave ノードの使用例を示す.

INPUTCM 入力端子へは,CMMakerFromFFT や CMMakerFromFFTwithFlag 等から計算される相関行列を接続する (型は Matrix<complex<float> > 型だが,相関行列を扱うため,三次元複素配列を二次元複素行列に変換して出力している). FILENAMER と FILENAMEI は string 型の入力で,それぞれ相関行列の実数部と虚数部の保存ファイル名を表す. OPERATION_FLAG は int 型,または bool 型の入力で,相関行列を保存するタイミングを指定する (図 6.12では,一例として Equal ノードを接続しているが, int 型や bool 型を出力できるノードであれば何でも構わない).

\includegraphics[width=0.7\linewidth ]{fig/modules/CMSave.eps}
Figure 6.12: CMSave の接続例

6.2.2.4 ノードの入出力とプロパティ

Table 6.15: CMSave のパラメータ表

パラメータ名

デフォルト値

単位

説明

ENABLE_DEBUG

bool 

false

 

デバッグ情報出力のON/OFF

入力

INPUTCM

: Matrix<complex<float> > 型. 各周波数ビン毎の相関行列.$M$次の複素正方行列である相関行列が $NFFT / 2 + 1$ 個入力される. Matrix<complex<float> > の行は周波数($NFFT / 2 + 1$ 行)を,列は複素相関行列($M * M$ 列)を表す.

FILENAMER

: string 型.保存する相関行列の実部のファイル名.

FILENAMEI

: string 型.保存する相関行列の虚部のファイル名.

OPERATION_FLAG

: int 型,または bool 型.本入力端子が 1 もしくは真の時にのみ相関行列が保存される.

出力

OUTPUTCM

: Matrix<complex<float> > 型.INPUTCMに同じ.

パラメータ

ENABLE_DEBUG

: bool 型.false がデフォルト値.trueの場合は相関行列が保存される時に,標準出力に保存した時のフレーム番号が出力される.

6.2.2.5 ノードの詳細

周波数ビン毎の$M$次の複素正方行列である相関行列を Matrix<float> 形式に直し,指定したファイル名で保存する.

保存ファイルは相関行列の実部と虚部に分割される. 周波数ビン数を$k$とする($k = NFFT / 2 + 1$)と,保存ファイルはそれぞれ$k$行$M^2$列の行列が格納される. 保存は OPERATION_FLAG が 1 もしくは真の時に限り行われる.