6.3.2 BeamForming

6.3.2.1 ノードの概要

以下の手法を用いて音源分離を行う.

ノードの入力は,

である. また,出力は分離音ごとの複素スペクトルである.

6.3.2.2 必要なファイル

Table 6.42: BeamForming に必要なファイル

対応するパラメータ名

説明

TF_CONJ_FILENAME

マイクロホンアレーの伝達関数

6.3.2.3 使用方法

どんなときに使うのか

所与の音源方向に対して,マイクロホンアレーを用いて当該方向の音源分離を行う. なお,音源方向として,音源定位部での推定結果,あるいは,定数値を使用することができる.

典型的な接続例

BeamForming ノードの接続例を図 6.58に示す. 入力は以下である.

  1. INPUT_FRAMES : MultiFFT 等から得られる混合音の多チャネル複素スペクトル

  2. INPUT_SOURCES : LocalizeMUSIC や ConstantLocalization 等から得られる目的音源方向

  3. INPUT_NOISE_SOURCES : LocalizeMUSIC や ConstantLocalization 等から得られる雑音方向(オプション入力)

出力は分離音声となる.

\includegraphics[width=.8\textwidth ]{fig/modules/Beamforming.eps}
Figure 6.58: BeamForming の接続例

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

入力

INPUT_FRAMES

: Matrix<complex<float> > 型. マルチチャネル複素スペクトル. 行がチャネル,つまり,各マイクロホンから入力された波形の複素スペクトルに対応し,列が周波数ビンに対応する.

INPUT_SOURCES

: Vector<ObjectRef> 型. 目的音源の方向情報が格納された Source 型オブジェクトの Vector 配列である. 典型的には, SourceTracker ノード, SourceIntervalExtender ノードと繋げ,その出力を用いる.

INPUT_NOISE_SOURCES

: Vector<ObjectRef> 型. INPUT_SOURCES と同じ Source 型オブジェクトの Vector 配列である. 雑音の方向情報が格納された Source 型オブジェクトの Vector 配列である.入力はオプションである. NULL,ILSEでの音源分離を行う際,雑音によるビームフォーミングの性能低下を避けることができる.

出力

OUTPUT

: Map<int, ObjectRef> 型. 分離音の音源 ID と,分離音の 1 チャネル複素スペクトル (Vector<complex<float> > 型) のペア. 分離音の数だけ出力される.

パラメータ

LENGTH

: int 型. 分析フレーム長[samples]. 前段階のノード(AudioStreamFromMic , MultiFFT など)における値と一致している必要がある. デフォルト値は512.

ADVANCE

: int 型. フレームのシフト長[samples]. 前段階のノード(AudioStreamFromMic , MultiFFT など)における値と一致している必要がある. デフォルト値は160.

SAMPLING_RATE

: int 型. 入力音源波形のサンプリング周波数[Hz]. デフォルト値は16000.

LOWER_BOUND_FREQUENCY

: int 型. 分離処理を行う際に利用する最小周波数値であり,これより下の周波数に対しては処理を行わず,出力スペクトルの値は0となる. 0以上サンプリング周波数値の半分までの範囲で指定する.

UPPER_BOUND_FREQUENCY

: int 型. 分離処理を行う際に利用する最大周波数値であり,これより上の周波数に対しては処理を行わず,出力スペクトルの値は0となる. LOWER_BOUND_FREQUENCY $<$ UPPER_BOUND_FREQUENCY である必要がある.

TF_CONJ_FILENAME

: string 型. 伝達関数が記述されたバイナリファイル名を記す. ファイルフォーマットは 5.3.1 節を参照.

INITW_FILENAME

: string 型. 分離行列の初期値が記述されたバイナリファイル名を記す. 事前の計算により,値の収束した分離行列を初期値として与えることで,音が鳴り始めた最初の部分から精度よく分離することが可能となる. 指定されていると,そのファイルにある分離行列が, 指定されていなければ,TF_CONJ_FILENAME ファイルの分離行列データベースから得た分離行列か、 幾何学的関係から推定された分離行列が,初期分離行列として使用される.

GICA_SS_METHOD

: string 型. ブラインド音源分離のための独立成分分析である ICA (Independent Component Analysis) のステップサイズの算出方法を選ぶ. ユーザが指定した値 GICA_SS_MYU に固定する場合は FIX, 幾何制約に基づくステップサイズに連動した値 GICA_LC_MYU にする場合は LC_MYU, 適応的ステップサイズにする場合は ADAPTIVE を指定.

GICA_SS_MYU

: float 型. ブラインド音源分離のための分離行列更新時のステップサイズ. デフォルト値は 0.001. GICA_SS_METHOD = FIX の場合は この値が固定ステップサイズの値となる. GICA_SS_METHOD = LC_MYU の場合は無視される. GICA_SS_METHOD = ADAPTIVE の場合は適応的に決定されたステップサイズに GICA_SS_MYU のゲインを乗算してステップサイズとする. この値と GICA_LC_MYU を 0 にし,Delay and Sum 型のビームフォーマの分離行列を INITW_FILENAME として渡すことで, BeamForming は,Delay and Sum 型のビームフォーマと等価な処理が可能となる.

GHDSS_SS_METHOD

: string 型. 高次無相関化に基づく音源分離である HDSS (Higher-order Decorrelation-based Source Separation) のステップサイズの算出方法を選ぶ. ユーザが指定した値 GHDSS_SS_MYU に固定する場合は FIX, 幾何制約に基づくステップサイズに連動した値 GHDSS_LC_MYU にする場合は LC_MYU, 適応的ステップサイズにする場合は ADAPTIVE を指定.

GHDSS_SS_MYU

: float 型. 高次無相関化に基づく分離行列更新時のステップサイズ. デフォルト値は 0.001. GHDSS_SS_METHOD = FIX の場合は この値が固定ステップサイズの値となる. GHDSS_SS_METHOD = LC_MYU の場合は無視される. GHDSS_SS_METHOD = ADAPTIVE の場合は適応的に決定されたステップサイズに GHDSS_SS_MYU のゲインを乗算してステップサイズとする. この値と GHDSS_LC_MYU を 0 にし,Delay and Sum 型のビームフォーマの分離行列を INITW_FILENAME として渡すことで, BeamForming は,Delay and Sum 型のビームフォーマと等価な処理が可能となる.

LCMV_LC_METHOD

: string 型. 線形拘束付き最小分散に基づくステップサイズの算出方法を選ぶ. ユーザが指定した値 LCMV_LC_MYU に固定する場合は FIX, 適応的ステップサイズにする場合は ADAPTIVE を指定. 目的音源方向のゲインを一定に保ちながらビームフォーマのパワーが最小になるようにステップサイズを決定する.

LCMV_LC_MYU

: float 型. 線形拘束付き最小分散に基づく分離行列更新時のステップサイズ. デフォルト値は 0.001. LCMV_LC_METHOD = FIX の場合は LCMV_LC_MYU が固定ステップサイズの値となる. LCMV_LC_METHOD = ADAPTIVE の場合は適応的に決定されたステップサイズに LCMV_LC_MYU のゲインを乗算してステップサイズとする.

GJ_LC_METHOD

: string 型. 線形拘束付き最小分散に基づくステップサイズの算出方法を選ぶ. ユーザが指定した値 GJ_LC_MYU に固定する場合は FIX, 適応的ステップサイズにする場合は ADAPTIVE を指定. 目的音源方向のゲインを一定に保ちながら妨害音成分を低減するビームフォーマの係数を更新するステップサイズを決定する.

GJ_LC_MYU

: float 型. 線形拘束付き最小分散に基づく分離行列更新時のステップサイズ. デフォルト値は 0.001. GJ_LC_METHOD = FIX の場合は GJ_LC_MYU が固定ステップサイズの値となる. GJ_LC_METHOD = ADAPTIVE の場合は適応的に決定されたステップサイズに GJ_LC_MYU のゲインを乗算してステップサイズとする.

GICA_LC_METHOD

: string 型. 幾何拘束に基づく音源分離である GC (Geometric Constraint) のステップサイズの算出方法を選ぶ. ユーザが指定した値 GICA_LC_MYU に固定する場合は FIX, 適応的ステップサイズにする場合は ADAPTIVE を指定.

GICA_LC_MYU

: float 型. 幾何制約に基づく分離行列更新時のステップサイズ. デフォルト値は 0.001. GICA_LC_METHOD = FIX の場合は GICA_LC_MYU が固定ステップサイズの値となる. GICA_LC_METHOD = ADAPTIVE の場合は適応的に決定されたステップサイズに GICA_LC_MYU のゲインを乗算してステップサイズとする. この値と GICA_SS_MYU を 0 にし,Delay and Sum 型のビームフォーマの分離行列を INITW_FILENAME として渡することで, BeamForming は,Delay and Sum 型のビームフォーマと等価な処理が可能となる.

GHDSS_LC_METHOD

: string 型. 幾何拘束に基づく音源分離である GC (Geometric Constraint) のステップサイズの算出方法を選ぶ. ユーザが指定した値 GHDSS_LC_MYU に固定する場合は FIX, 適応的ステップサイズにする場合は ADAPTIVE を指定.

GHDSS_LC_MYU

: float 型. 幾何制約に基づく分離行列更新時のステップサイズ. デフォルト値は 0.001. GHDSS_LC_METHOD = FIX の場合は GHDSS_LC_MYU が固定ステップサイズの値となる. GHDSS_LC_METHOD = ADAPTIVE の場合は適応的に決定されたステップサイズに GHDSS_LC_MYU のゲインを乗算してステップサイズとする. この値と GHDSS_SS_MYU を 0 にし,Delay and Sum 型のビームフォーマの分離行列を INITW_FILENAME として渡することで, BeamForming は,Delay and Sum 型のビームフォーマと等価な処理が可能となる.

GHDSS_LC_CONST

: string 型. 幾何制約の手法を選択する. 幾何制約に対角成分(直接音成分)のみを使う場合は DIAG, 直接音成分に加えて,非対角成分も使用する場合は FULL を指定する. 死角は高次無相関化によって自動的に形成されるため, DIAG でも高精度な分離が可能.

GICA_SS_SCAL

: float 型. 高次相関行列計算における双曲線正接関数(tanh)のスケールファクタを指定する. デフォルト値は 1.0. 0より大きい正の実数を指定する. 値が小さいほど非線形性が少なくなり通常の相関行列計算に近づく.

GHDSS_SS_SCAL

: float 型. 高次相関行列計算における双曲線正接関数(tanh)のスケールファクタを指定する. デフォルト値は 1.0. 0より大きい正の実数を指定する. 値が小さいほど非線形性が少なくなり通常の相関行列計算に近づく.

GHDSS_NOISE_FLOOR

: float 型. 入力信号をノイズとみなす振幅の閾値(上限)を指定する. デフォルト値は 0. 入力信号の振幅がこの値以下の場合,ノイズ区間とみなされ,分離行列の更新がされない. ノイズが大きく,分離行列が安定して収束しない場合に,正の実数を指定する.

GHDSS_UPDATE

: string 型. 分離行列の更新方法を決める. 高次無相関化に基づく更新を行った後に,幾何制約に基づく更新を行う場合は STEP, 高次無相関化に基づく更新と幾何制約に基づく更新を同時に行う場合は TOTAL を指定する.

UPDATE_METHOD_W

: string 型. 音源位置情報が変わった際に,分離行列の再計算が必要となる.この時の音源位置情報が変わったとみなす方法を指定する. 分離行列は,内部で対応する音源 ID や音源方向の座標とともに一定時間保存され, 一度音が止んでも,同一の方向からの音源と判断される音が検出されると,再び保存された分離行列の値を用いて分離処理が行われる. このとき,分離行列の更新を行うかどうかの基準を設定する. 音源 ID によって同方向音源かどうか判断する場合は ID, 音源方向を比較して判断する場合は POS , 音源 ID を比較し,同一と判断されなかった場合に,さらに音源方向の座標を比較して判断を行う場合は ID_POS を設定する.

UPDATE_ACCEPT_DISTANCE

: float 型. 音源の移動に対して同一音源とみなす距離[mm]. 設定した距離の範囲内であれば更新された分離行列を利用して演算が行われる. デフォルト値は 300.0.

EXPORT_W

: bool 型. 更新された分離行列の結果を出力するかどうかを設定. trueのとき,EXPORT_W_FILENAME を指定する.

EXPORT_W_FILENAME

: string 型. 分離行列を書きだすファイル名を指定する. フォーマットは 5.3.2 節を参照.

BF_METHOD

: string 型. 音源分離手法を指定する. 以下の音源分離手法をサポートしている.

  • DS : 遅延和ビームフォーミング (Delay-and-Sum beamforming) [1]

  • WDS : 重み付き遅延和ビームフォーミング (Weighted Delay-and-Sum beamforming) [1]

  • NULL : NULL制御付きビームフォーミング (NULL beamforming) [1]

  • ILSE : 最小平均二乗誤差制御つきビームフォーミング (Iterative Least Squares with Enumeration) [2]

  • LCMV : 線形拘束付き最小分散型 (Linearly Constrained Minimum Variance) ビームフォーミング [3]

  • GJ : 線形拘束付き最小分散, Griffiths-Jim 型 ビームフォーミング [4]

  • GICA : 幾何学的独立成分分析 (Geometrically constrained Independent Component Analysis) [5]

  • GHDSS : 幾何学的高次無相関化音源分離法 (Geometrically constrained Higher-order Decorrelation-based Source Separation) [5]

ENABLE_DEBUG

: bool 型. trueが与えられると, 分離状況が標準出力に出力される. デフォルトは false

Table 6.43: BF_METHOD = DS,WDS,NULL,ILSE で利用するパラメータ

パラメータ名

デフォルト値

単位

説明

LENGTH

int 

512

[pt]

分析フレーム長.

ADVANCE

int 

160

[pt]

フレームのシフト長.

SAMPLING_RATE

int 

16000

[Hz]

サンプリング周波数.

LOWER_BOUND_FREQUENCY

int 

0

[Hz]

分離処理で用いる周波数の最小値.

UPPER_BOUND_FREQUENCY

int 

8000

[Hz]

分離処理で用いる周波数の最大値.

TF_CONJ_FILENAME

string 

   

マイクロホンアレーの伝達関数を記したファイル名.

ENABLE_DEBUG

bool 

false

 

デバッグ出力の可否.

Table 6.44: BF_METHOD = LCMV で利用するパラメータ

パラメータ名

デフォルト値

単位

説明

LENGTH

int 

512

[pt]

分析フレーム長.

ADVANCE

int 

160

[pt]

フレームのシフト長.

SAMPLING_RATE

int 

16000

[Hz]

サンプリング周波数.

LOWER_BOUND_FREQUENCY

int 

0

[Hz]

分離処理で用いる周波数の最小値.

UPPER_BOUND_FREQUENCY

int 

8000

[Hz]

分離処理で用いる周波数の最大値.

TF_CONJ_FILENAME

string 

   

マイクロホンアレーの伝達関数を記したファイル名.

INITW_FILENAME

string 

   

分離行列の初期値を記述したファイル名.

LCMV_LC_METHOD

string 

ADAPTIVE

 

線形拘束条件に基づくステップサイズの算出方法.FIX は固定値 LCMV_LC_MYU,ADAPTIVE は自動調節.

LCMV_LC_MYU

float 

0.001

 

線形拘束条件に基づく分離行列更新時のステップサイズ.

UPDATE_METHOD_W

string 

ID

 

音源位置情報が変わったとみなす方法.

UPDATE_ACCEPT_DISTANCE

float 

300.0

[mm]

音源の移動に対して同一音源とみなす距離.

EXPORT_W

bool 

false

 

分離行列ファイルに書き出すかを指定.

EXPORT_W_FILENAME

string 

   

分離行列を出力するファイル名.

ENABLE_DEBUG

bool 

false

 

デバッグ出力の可否.

Table 6.45: BF_METHOD = GJ で利用するパラメータ

パラメータ名

デフォルト値

単位

説明

LENGTH

int 

512

[pt]

分析フレーム長.

ADVANCE

int 

160

[pt]

フレームのシフト長.

SAMPLING_RATE

int 

16000

[Hz]

サンプリング周波数.

LOWER_BOUND_FREQUENCY

int 

0

[Hz]

分離処理で用いる周波数の最小値.

UPPER_BOUND_FREQUENCY

int 

8000

[Hz]

分離処理で用いる周波数の最大値.

TF_CONJ_FILENAME

string 

   

マイクロホンアレーの伝達関数を記したファイル名.

INITW_FILENAME

string 

   

分離行列の初期値を記述したファイル名.

GJ_LC_METHOD

string 

ADAPTIVE

 

線形拘束条件に基づくステップサイズの算出方法.FIX は固定値 GJ_LC_MYU,ADAPTIVE は自動調節.

GJ_LC_MYU

float 

0.001

 

線形拘束条件に基づく分離行列更新時のステップサイズ.

UPDATE_METHOD_W

string 

ID

 

音源位置情報が変わったとみなす方法.

UPDATE_ACCEPT_DISTANCE

float 

300.0

[mm]

音源の移動に対して同一音源とみなす距離.

EXPORT_W

bool 

false

 

分離行列ファイルに書き出すかを指定.

EXPORT_W_FILENAME

string 

   

分離行列を出力するファイル名.

ENABLE_DEBUG

bool 

false

 

デバッグ出力の可否.

Table 6.46: BF_METHOD = GICA で利用するパラメータ

パラメータ名

デフォルト値

単位

説明

LENGTH

int 

512

[pt]

分析フレーム長.

ADVANCE

int 

160

[pt]

フレームのシフト長.

SAMPLING_RATE

int 

16000

[Hz]

サンプリング周波数.

LOWER_BOUND_FREQUENCY

int 

0

[Hz]

分離処理で用いる周波数の最小値.

UPPER_BOUND_FREQUENCY

int 

8000

[Hz]

分離処理で用いる周波数の最大値.

TF_CONJ_FILENAME

string 

   

マイクロホンアレーの伝達関数を記したファイル名.

INITW_FILENAME

string 

   

分離行列の初期値を記述したファイル名.

GICA_SS_METHOD

string 

ADAPTIVE

 

ブラインド音源分離のためのステップサイズの算出方法.FIX は固定値 GICA_SS_MYU,LC_MYU は幾何制約に基づくステップサイズ GICA_LC_MYU に連動した値,ADAPTIVE は自動調節.

GICA_SS_MYU

float 

0.001

 

ブラインド音源分離のための分離行列更新時のステップサイズ.

GICA_LC_METHOD

string 

ADAPTIVE

 

幾何制約に基づくステップサイズの算出方法.FIX は固定値 GICA_LC_MYU,ADAPTIVE は自動調節.

GICA_LC_MYU

float 

0.001

 

幾何制約に基づく分離行列更新時のステップサイズ.

GICA_SS_SCAL

float 

1.0

 

高次相関行列計算におけるスケールファクタ.

UPDATE_METHOD_W

string 

ID

 

音源位置情報が変わったとみなす方法.

UPDATE_ACCEPT_DISTANCE

float 

300.0

[mm]

音源の移動に対して同一音源とみなす距離.

EXPORT_W

bool 

false

 

分離行列ファイルに書き出すかを指定.

EXPORT_W_FILENAME

string 

   

分離行列を出力するファイル名.

ENABLE_DEBUG

bool 

false

 

デバッグ出力の可否.

Table 6.47: BF_METHOD = GHDSS で利用するパラメータ

パラメータ名

デフォルト値

単位

説明

LENGTH

int 

512

[pt]

分析フレーム長.

ADVANCE

int 

160

[pt]

フレームのシフト長.

SAMPLING_RATE

int 

16000

[Hz]

サンプリング周波数.

LOWER_BOUND_FREQUENCY

int 

0

[Hz]

分離処理で用いる周波数の最小値.

UPPER_BOUND_FREQUENCY

int 

8000

[Hz]

分離処理で用いる周波数の最大値.

TF_CONJ_FILENAME

string 

   

マイクロホンアレーの伝達関数を記したファイル名.

INITW_FILENAME

string 

   

分離行列の初期値を記述したファイル名.

GHDSS_SS_METHOD

string 

ADAPTIVE

 

高次無相関化に基づくステップサイズの算出方法.FIX は固定値 GHDSS_SS_MYU,LC_MYU は幾何制約に基づくステップサイズ GHDSS_LC_MYU に連動した値,ADAPTIVE は自動調節.

GHDSS_SS_MYU

float 

0.001

 

高次無相関化に基づく分離行列更新時のステップサイズ.

GHDSS_LC_METHOD

string 

ADAPTIVE

 

幾何制約に基づくステップサイズの算出方法.FIX は固定値 GHDSS_LC_MYU,ADAPTIVE は自動調節.

GHDSS_LC_MYU

float 

0.001

 

幾何制約に基づく分離行列更新時のステップサイズ.

GHDSS_LC_CONST

string 

FULL

 

幾何制約の手法.DIAG は対角成分のみを使用,FULL は全成分を使用.

GHDSS_SS_SCAL

float 

1.0

 

高次相関行列計算におけるスケールファクタ.

GHDSS_NOISE_FLOOR

float 

0.0

 

入力信号をノイズとみなす振幅の閾値(上限).

GHDSS_UPDATE

string 

STEP

 

分離行列の更新方法.STEP は高次無相関化に基づく更新を行った後に幾何制約に基づく更新を行う.TOTAL は高次無相関化に基づく更新と幾何制約に基づく更新を同時に行う.

UPDATE_METHOD_W

string 

ID

 

音源位置情報が変わったとみなす方法.

UPDATE_ACCEPT_DISTANCE

float 

300.0

[mm]

音源の移動に対して同一音源とみなす距離.

EXPORT_W

bool 

false

 

分離行列ファイルに書き出すかを指定.

EXPORT_W_FILENAME

string 

   

分離行列を出力するファイル名.

ENABLE_DEBUG

bool 

false

 

デバッグ出力の可否.

6.3.2.5 ノードの詳細

技術的な詳細: 基本的に詳細は下記の参考文献を参照されたい.

音源分離概要: 音源分離問題で用いる記号を表 6.48 にまとめる. 演算はフレーム毎に周波数領域において行われるため, 各記号は周波数領域での,一般には複素数の値を表す. 音源分離は$K$個の周波数ビン($1 \leq k \leq K$)それぞれに対して演算が行われるが,本節ではそれを略記する. $N$, $M$, $f$をそれぞれ,音源数,マイク数,フレームインデックスとする.

Table 6.48: 変数の定義

変数

説明

$\boldsymbol {S}(f) = \left[S_1(f), \dots , S_ N(f)\right]^ T$

$f$フレーム目の音源の複素スペクトル

$\boldsymbol {X}(f) = \left[X_1(f), \dots , X_ M(f)\right]^ T$

マイクロホン観測複素スペクトルのベクトル.INPUT_FRAMES 入力に対応.

$\boldsymbol {N}(f) = \left[N_1(f), \dots , N_ M(f)\right]^ T$

加法性雑音

$\boldsymbol {H} = \left[ \boldsymbol {H}_1, \dots , \boldsymbol {H}_ N \right] \in \mathbb {C}^{M \times N}$

$1 \leq n \leq N$番目の音源から$1 \leq m \leq M$番目のマイクまでの伝達関数行列

$\boldsymbol {W}(f) = \left[ \boldsymbol {W}_1, \dots , \boldsymbol {W}_ M \right] \in \mathbb {C}^{N \times M}$

分離行列

$\boldsymbol {Y}(f) = \left[Y_1(f), \dots , Y_ N(f)\right]^ T$

分離音複素スペクトル

音のモデルは以下の一般的な線形モデルを扱う.

  $\displaystyle \boldsymbol {X}(f) $ $\displaystyle = $ $\displaystyle \boldsymbol {H}\boldsymbol {S}(f) + \boldsymbol {N}(f). \label{eq:beamforming-observation} $   (43)

分離の目的は,

  $\displaystyle \boldsymbol {Y}(f) $ $\displaystyle = $ $\displaystyle \boldsymbol {W}(f)\boldsymbol {X}(f) \label{eq:Beamforming-separation} $   (44)

として,$\boldsymbol {Y}(f)$ が $\boldsymbol {S}(f)$ に近づくように,$\boldsymbol {W}(f)$ を推定することである. 最後に推定された $\boldsymbol {W}(f)$ は,EXPORT_W = trueにし, EXPORT_W_FILENAME で指定した適当なファイル名で保存することができる.

TF_CONJ_FILENAME で指定する伝達関数ファイルには計測された $\boldsymbol {H}$ を格納する. 今後はこれを実際の伝達関数と区別するため,$\hat{\boldsymbol {H}}$と 表記する.

BF_METHOD = DS,WDS,NULL,ILSEの場合: INPUT_SOURCES 入力端子から入ってくる音源方向と INPUT_NOISE_SOURCES 入力端子から入ってくる雑音方向の情報を用いた $\hat{\boldsymbol {H}}$ を用いて $\boldsymbol {W}(f)$ を決定する.

BF_METHOD = LCMV,GJの場合: 分離行列更新のための評価関数 $J_{\textrm{L}}(\boldsymbol {W}(f))$ は, INPUT_SOURCES 入力端子から入ってくる音源方向と INPUT_NOISE_SOURCES 入力端子から入ってくる雑音方向の情報で定義される. 分離行列の更新は略記すると以下のようになる.

  $\displaystyle \boldsymbol {W}(f+1) $ $\displaystyle = $ $\displaystyle \boldsymbol {W}(f) + \mu \nabla _{\boldsymbol {W}}\boldsymbol {J}_{\textrm{L}}(\boldsymbol {W})(f)\label{eq:LCMV-GJ-J} $   (45)

ただし,$\nabla _{\boldsymbol {W}}\boldsymbol {J}_{\textrm{L}}(\boldsymbol {W}) = \frac{\partial \boldsymbol {J}_{\textrm{L}}(\boldsymbol {W})}{\partial \boldsymbol {W}}$である. この $\mu $ を LC_MYU で指定できる. LC_METHOD = ADAPTIVE に指定した場合は,

  $\displaystyle \mu $ $\displaystyle = $ $\displaystyle \left. \frac{\boldsymbol {J}_{\textrm{L}}(\boldsymbol {W})}{\left| \nabla _{\boldsymbol {W}}\boldsymbol {J}_{\textrm{L}}(\boldsymbol {W})\right|^2} \right|_{\boldsymbol {W} = \boldsymbol {W}(f)}\label{eq:LCMV-GJ-mu} $   (46)

と,適応的にステップサイズが計算される.

BF_METHOD = GICAの場合: 分離行列更新のための評価関数$J_{\textrm{G}}(\boldsymbol {W}(f))$は, INPUT_SOURCES 入力端子から入ってくる音源方向と INPUT_NOISE_SOURCES 入力端子から入ってくる雑音方向の情報とで以下で定義される.

  $\displaystyle J_{\textrm{G}}(\boldsymbol {W}(f)) $ $\displaystyle = $ $\displaystyle J_{\textrm{SS}}(\boldsymbol {W}(f)) + J_{\textrm{LC}}(\boldsymbol {W}(f)) \label{eq:GHDSS-J} $   (47)

ただし,$J_{\textrm{SS}}(\boldsymbol {W}(f))$ は,ブラインド音源分離に基づく音源分離手法のための評価関数, $J_{\textrm{LC}}(\boldsymbol {W}(f))$ は幾何制約に基づく音源分離手法のための評価関数である. 分離行列の更新は略記すると以下のようになる.

  $\displaystyle \boldsymbol {W}(f+1) $ $\displaystyle = $ $\displaystyle \boldsymbol {W}(f) + \mu _{\textrm{SS}} \nabla _{\boldsymbol {W}}\boldsymbol {J}_{\textrm{SS}}(\boldsymbol {W})(f) + \mu _{\textrm{LC}} \nabla _{\boldsymbol {W}}\boldsymbol {J}_{\textrm{LC}}(\boldsymbol {W})(f) \label{eq:GHDSS-W} $   (48)

ただし,$\nabla _{\boldsymbol {W}}$ は,式(45) と同様に $\boldsymbol {W}$ についての偏微分を表す. この $\mu _{\textrm{SS}}$ と $\mu _{\textrm{LC}}$ をそれぞれ,SS_MYU, LC_MYU で指定できる. SS_METHOD = ADAPTIVE に指定した場合は,

  $\displaystyle \mu _{\textrm{SS}} $ $\displaystyle = $ $\displaystyle \left. \frac{\boldsymbol {J}_{\textrm{SS}}(\boldsymbol {W})}{\left| \nabla _{\boldsymbol {W}}\boldsymbol {J}_{\textrm{SS}}(\boldsymbol {W})\right|^2} \right|_{\boldsymbol {W} = \boldsymbol {W}(f)}\label{eq:GHDSS-SS-mu} $   (49)

と, LC_METHOD = ADAPTIVE に指定した場合は,

  $\displaystyle \mu _{\textrm{LC}} $ $\displaystyle = $ $\displaystyle \left. \frac{\boldsymbol {J}_{\textrm{LC}}(\boldsymbol {W})}{\left| \nabla _{\boldsymbol {W}}\boldsymbol {J}_{\textrm{LC}}(\boldsymbol {W})\right|^2} \right|_{\boldsymbol {W} = \boldsymbol {W}(f)}\label{eq:GHDSS-LC-mu} $   (50)

と,適応的にステップサイズが計算される.

トラブルシューティング: 基本的には GHDSS ノードのトラブルシューティングと同じ.

6.3.2.6 参考文献