Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

固定小数点の HDL に最適化された最小分散無歪応答 (MVDR) ビームフォーマー

この例では、固定小数点の HDL に最適化された最小分散無歪応答 (MVDR) ビームフォーマー (Capon 法 [5] およびロバスト適応ビームフォーミング (RAB) [6] とも呼ばれる) を実装する方法を説明します。ビームフォーマーの詳細については、Conventional and Adaptive Beamformers (Phased Array System Toolbox)を参照してください。

MVDR の目的

MVDR ビームフォーマーは、目的の信号が到着する方向のゲインを保持し、他の方向からの干渉を減衰させます [1]、[2]。

以下の図の等間隔直線アレイ (ULA) などのセンサー アレイの所定の読み取り値が、アレイのサンプルからデータ行列 $A$ を形成します。ここで、$a(t)$ は、時間 $t$ にサンプリングされたアレイの読み取り値の $n$ 行 1 列の列ベクトルで、$a(t)^H$ は、行列 $A$ の 1 行です。アレイ内の要素の数よりもかなり多い数のサンプルが取得されます。これにより、$A$ の行数が列数よりも著しく多くなります。共分散行列の推定値は $A^HA$ です。ここで、$A^H$ は、$A$ のエルミート転置または複素共役転置です。

MVDR ビームフォーマー応答を、次の方程式を $x$ について解くことにより求めます。ここで、$b$ は、目的の信号の方向を指すステアリング ベクトルです。

$$(A^HA)x = b$$

MVDR 重みベクトル $w$ は、$x$$b$ から次の方程式を使用して計算されます。この式は、目的の信号が到着する方向のゲインを保持するために $x$ を正規化します。

$$w = \frac{x}{b^H x}$$

MVDR システム応答は、MVDR 重みベクトル $w$ と、センサー アレイの現在のサンプル $a(t)$ の内積です。

$$y = w^H a(t)$$

HDL に最適化された MVDR

前の節の 3 つの方程式は、以下のモデルの 3 つの主要ブロックによって実装されます。レートの変更により、Matrix Solve に追加のクロック サイクルが与えられ、次の入力サンプルの前に更新されます。有効な入力と、Complex Matrix Solve ブロックが ready になるタイミングとの間のクロック サイクル数は、CORDIC の反復の時間に加えて 9 サイクルの内部遅延を許容するため、入力の語長と同じです。

load_system('MVDRBeamformerHDLOptimizedModel');
open_system('MVDRBeamformerHDLOptimizedModel/MVDR - HDL Optimized');

データ行列 $A$ を形成して共分散行列 $A^HA$ のコレスキー分解を計算する代わりに、$A$ の QR 分解の上三角行列が直接計算され、センサー アレイから各データ ベクトル $a(t)$ がストリーミングされるたびに更新されます。データは無限に更新されるため、各分解の後に忘却係数が適用されます。$m$ 行の行列と等価な行列と統合する場合、忘却係数 $\alpha$ は以下に設定します。

$$
\alpha = \exp(-1/(2m)).
$$

この例では、$m=300$ 行の行列と等価な行列をシミュレーションするため、忘却係数は 0.9983 に設定されます。

Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor ブロックは、[3] に記載されている手法を使用して実装されます。$A$ の QR 分解の上三角行列 $R$ は、対角にある値の符号を除き、$A^HA$ のコレスキー分解と同じです。$A^HA$ のコレスキー分解を計算することによって行列方程式 $(A^HA)x = b$ を解くのは、$A$ の QR 分解を直接計算する場合ほど効率的ではなく、数値的に安定してもいません [4]。

モデルの実行

モデルを開いてシミュレートします。

open_system('MVDRBeamformerHDLOptimizedModel');
sim('MVDRBeamformerHDLOptimizedModel');

ノイズ源が無効化されるとき、目的の矩形パルスが現れます。この例では、ハードウェアと同じレイテンシでシミュレーションを行っているため、シミュレーションを開始して方向を変更するときに、信号が時間とともに整定するのが分かります。

青と緑の線で示すように、信号の方向とステアリング角度が揃ったとき、ビーム パターンのゲインは 0 dB になります。赤の線で示すように、ノイズ源は無効化されます。

モデルのシミュレーション中、スライダーをドラッグするか、定数値を編集することによって、信号の方向、ステアリング角度、ノイズの方向を調整できます。

パラメーターの設定

ビームフォーマーのパラメーターは、モデル ワークスペースで設定されます。パラメーターは、関数 setMVDRExampleModelWorkspace を編集して実行することによって変更できます。

参考文献

[1] V. Behar et al."Parameter Optimization of the adaptive MVDR QR-based beamformer for jamming and multipath supression in GPS/GLONASS receivers".In:Proc.16th Saint Petersburg International Conference on Integrated Navigation systems.Saint Petersburg, Russia, May 2009, pp. 325--334.

[2] Jack Capon."High-resolution frequency-wavenumber spectrum analysis".In: vol. 57. 1969, pp. 1408--1418.

[3] C.M. Rader."VLSI Systolic Arrays for Adaptive Nulling".In:IEEE Signal Processing Magazine (July 1996), pp. 29--49.

[4] Charles F. Van Loan.Introduction to Scientific Computing:A Matrix-Vector Approach Using Matlab.Second edition.Prentice-Hall, 2000. isbn:0-13-949157-0.

[5] J. Capon, "High-resolution frequency-wavenumber spectrum analysis," in Proceedings of the IEEE, vol. 57, no. 8, pp. 1408-1418, Aug. 1969, doi: 10.1109/PROC.1969.7278.

[6] H. Cox, R. Zeskind and M. Owen, "Robust adaptive beamforming," in IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 35, no. 10, pp. 1365-1376, October 1987, doi: 10.1109/TASSP.1987.1165054.