一般化相互相関を使用して、2 つの異なるセンサーにおける信号の到着時間差 (TDOA) を推定できます。
TDOA を推定するには、あるセンサーで受信した信号と 2 番目のセンサーで受信した信号との間の相互相関関数におけるピーク位置を検出します。相互相関関数のピークは、時間遅延に対応します。phased.GCCEstimator System object と phased.TDOAEstimator System object は、どちらも一般化相互相関位相変換 (GCC-PHAT) アルゴリズムを使用して相関ピークを計算します。ピーク位置は、サンプル間隔の倍数に制限されます。サンプル間隔は、信号のサンプル レートの逆数です。信号のサンプル レートは、両方の System object に共通する SampleRate プロパティで指定できます。
2 つの信号 x1(t) と x2(t) との間の時間遅延を計算するには、まずノイズが存在する状態での時間領域表現から始めます。
ここで、n1(t) と n2(t) は各信号に加えられるノイズです。D は時間遅延です。
周波数領域では、信号が次のように表されます。
時間領域と周波数領域での 2 つの信号間の相互相関関数を定義します。
時間遅延を特定するには、相互相関関数のピーク τmax の位置を特定します。S/N 比 (SNR) が大きい場合、相関ピーク τmax は実際の時間遅延 D に対応します。相関関数のピークが鋭くなるほど、パフォーマンスは向上します。入力信号を白色化する重み付け関数を使用することで、相互相関ピークをシャープ化できます。この手法は、"一般化相互相関" (GCC) と呼ばれます。ある特定の重み付け関数では、信号のスペクトル密度をスペクトル振幅で正規化します。これにより、"一般化相互相関位相変換" ("GCC-PHAT") 法が導かれます。ラグ τ における一般化相互相関位相変換 (GCC-PHAT) 関数は、次のように定義されます。
ここで、δ はディラックデルタ関数です。この関数は、到着時間差 (TDOA) である D=τ のときに非ゼロになります。通常、ラグはサンプル単位で計算されるため、秒単位に変換するにはサンプル レートで除算します。時間遅延は、2 つの信号間の相互相関を最大化するタイム ラグを求めることで推定できます。
TDOA から、2 つのセンサーを結ぶ直線に対する平面波のブロードサイド到来角を推定できます。距離 L だけ離れた 2 つのセンサーでは、ブロードサイド到来角ブロードサイド角度と時間ラグとの間に次の関係があります。
ここで、c は媒質中での伝搬速度です。
センサー ペアを 1 組だけ使用する場合、推定できるのはブロードサイド到来角のみです。しかし、URA 内など、同一線上にない複数のセンサー ペアを使用すると、最小二乗推定を使用して、平面波の到来方位角および到来仰角を推定できます。N 個のセンサーがある場合、kth センサーに到達する信号の、jth センサーに対する遅延時間 τkj は、次のように記述できます。
ここで、u は平面波の単位伝搬ベクトルです。角度 α と θ は、伝搬ベクトルの方位角と仰角です。すべての角度とベクトルは、ローカル座標軸に対して定義されます。最小二乗法を使用して最初の方程式を解くことで、単位伝搬ベクトルの 3 つの成分を求めることができます。次に、2 番目の方程式を解くことで、方位角と仰角を求めることができます。