音源定位のための二つの相関行列を周波数ビン毎に乗算する.
無し.
どんなときに使うのか
CMMakerFromFFT ,CMMakerFromFFTwithFlag から作成した音源定位用の相関行列の 演算ノードの一つで,周波数ビン毎の相関行列を乗算する機能を持つ.
典型的な接続例
図 6.20に CMMultiplyMatrix ノードの使用例を示す.
CMA 入力端子へは,CMMakerFromFFT や CMMakerFromFFTwithFlag 等から計算される相関行列を接続する (型は Matrix<complex<float> > 型だが,相関行列を扱うため,三次元複素配列を二次元複素行列に変換して出力している). CMB 入力端子も CMA と同じく相関行列を接続する.乗算の際は,CMA $*$ CMB が周波数ビン毎に演算される. OPERATION_FLAG は int 型,または bool 型の入力で,相関行列の演算を実行するタイミングを指定する.
パラメータ名 |
型 |
デフォルト値 |
単位 |
説明 |
FIRST_FRAME_EXECUTION |
false |
1 フレーム目だけ演算を実行するかの選択 |
||
ENABLE_DEBUG |
false |
デバッグ情報出力のON/OFF |
入力
: Matrix<complex<float> > 型. 各周波数ビン毎の相関行列.$M$次の複素正方行列である相関行列が $NFFT / 2 + 1$ 個入力される. Matrix<complex<float> > の行は周波数($NFFT / 2 + 1$ 行)を,列は複素相関行列($M * M$ 列)を表す.
: Matrix<complex<float> > 型.CMA に同じ.
出力
: Matrix<complex<float> > 型.CMA $*$ CMB に相当する乗算後の相関行列が出力される.
パラメータ
: bool 型.false がデフォルト値. trueの場合は OPERATION_FLAG が常に 0 または偽であった場合にも 1 フレーム目のみ演算が実行される.
: bool 型.false がデフォルト値.trueの場合は相関行列が乗算される時に,標準出力に乗算した時のフレーム番号が出力される.
周波数ビン毎の二つの相関行列の乗算を行う. 相関行列は $k \times M \times M$ の複素三次元配列であり,$k$ 回の行列の乗算が以下のように行われる. ただし,$k$ は周波数ビン数 ($k = NFFT / 2 + 1$),$M$ は入力信号のチャネル数である.
OUTPUTCM = zero_matrix(k,M,M) calculate{ IF OPERATION_FLAG FOR i = 1 to k OUTPUTCM[i] = CMA[i] * CMB[i] ENDFOR ENDIF }
OUTPUTCM 端子から出力される行列は,零行列として初期化され, 以降は最後の演算結果を保持する.