FPGAに基づくフェーズドアレイアンテナ用ビームコントローラーの設計

要約、要約: フェーズド アレイ アンテナの電気的走査特性により、柔軟な走査、正確な指向性、高い信頼性、強力な耐干渉能力という特徴を備えています。フェーズド アレイ アンテナの主要な技術の 1 つであるビーム ステアリング技術は、システムのパフォーマンスに直接影響します。マルチビーム フェーズド アレイ アンテナは、ビーム ホッピング通信モードをサポートします。ビームの高速切り替えには、より高い要件が課されます。ビームスキャンの需要に迅速に対応します。従来のビームステアリングアルゴリズムの分解と最適化。フィールド プログラマブル ゲート アレイ (FPGA) に基づく高速位相シフト コード計算方法が提案されており、コーディック IP コアを使用して余因子三角関数値を計算し、乗算器 IP コアを使用して符号付き乗算を実行し、ルックアップ テーブルを使用します。小数点の値を計算する代入方式 乗加算演算と分割比較方式は、データの正規化処理と除算演算を行うため、各ユニットの位相シフトコードの計算時間はわずか3クロックサイクルです。256 ユニットのフルアレイの計算時間は約 26 us であり、シミュレーションの結果、このアルゴリズムがアンテナ ユニットに必要な位相シフト コードを迅速かつ正確に計算し、ビーム スキャニングの高速応答性能を実現できることが示されました。
キーワード: フェーズド アレイ アンテナ、ビーム ステアリング、コーディック、FPGA

0. はじめに
        フェーズド アレイ アンテナは、アレイ状に配置された多数の放射素子で構成されるアンテナです. 位相シフタの計算と制御を使用して、アンテナ開口上の位相分布を変更し、空間内でのビーム走査を実現します. 物理的な移動を伴わないステアリング機能を備えています、高 ユニークな 2 次元スキャンの柔軟性、非常に正確なビーム ポインティング、高い信頼性、強力な抗干渉能力という特性を備えています [2]。フェーズド アレイ技術は、捜索、射撃管制、誘導などのさまざまな戦術レーダーだけでなく、着陸や気象、通信衛星、電子対抗手段などの民間レーダーでも広く使用されています。
        フェーズド アレイ アンテナでは、重要な技術の 1 つとしてビーム ステアリング技術がシステムのパフォーマンスに直接影響します [6]。特にマルチビーム フェーズド アレイの場合、最小保持時間は 50 us です。つまり、ビーム コントローラーが必要です。 256 ユニットの位相シフト コードの計算を完了し、50 us 以内に対応する位相シフタに位相シフト コードを送信します。ビームコントローラーのパフォーマンスは、フェーズドアレイシステム全体の全体的なパフォーマンスと技術指標に直接影響します。

        256 ユニットのアレイのサイズによって、位相シフト コードの計算方法で集中アルゴリズムを使用する必要があるかどうかが決まります。集中アルゴリズムは主にテーブルルックアップ前処理法とソフトウェア計算法を採用しています[8]。ルックアップテーブル方式では、各波位置に対応するすべての移相コードをメモリに保存しておき、作業中にテーブルを参照することで移相コードを取得する[9.リソース需要が大きいため、メモリは外部メモリ 0 として大容量の NAND FLASH を使用する必要があります。データを読み取るときのオプションの NAND フラッシュの待ち時間は、通常 25 us ~ 30 us、あるいはそれ以上です。位相シフト コードを対応する位相シフターに送信するには 20 us かかります。外部メモリからデータを読み取るのに利用できる時間は 50 マイクロ秒以内で、データを読み取るのにかかる時間はごくわずか、またはまったくありません。ソフトウェア計算方法では、位相シフト コードは DSP またはシングルチップ マイコンによって計算されて FPGA に送信され、FPGA は位相シフト コードを対応する移相器に送信します。動作速度の速いDSPを例にとると、DSPで256ユニットの移相コード時間を計算するには約10ms(周波数120MHz)かかり、計算時間だけでもビーム滞留時間の200倍となります。
        位相シフトコードの高速計算の問題を目指して、この論文はFPGAに基づくリアルタイム計算方法を提案します[]。アルゴリズムを分解して最適化することにより、位相シフトコードの計算にわずか3クロックサイクルを使用できます。アレイ 256 ユニットの計算時間は約 26 us (クロック 30 MHz) です。シミュレーション結果は、この方法の計算速度が速く、ビーム走査の高速応答性能が実現されることを示した。

1. フェーズド アレイ アンテナの原理とアルゴリズム
        フェーズド アレイ アンテナは、多数の放射要素 (正方形、三角形、疎行列など) で構成されるアレイであり、放射要素は数百、数千、場合によっては数万にもなります [12] ]. デジタル位相シフタ制御は、動作時に、ポインティング角度に応じて、対応する位相シフトコードを計算して構成します。アンテナの向きを制御するという目的を達成するため。
        図 1 に示すように、アンテナは m * n 個のアンテナ素子を持つように設定されており、素子間隔はそれぞれ dx と dy、 は波長、・ は対応するターゲットの仰角と方位角、m は列を表します、n は行を表します。

3b1482a96ebf422bb73d99df121ccdcf.png

24f5f59d02094d908e88f59eece4d630.png  

        計算結果は初期補正値と累積され、最終的な位相シフト コードが得られます。
        位相シフトコードの計算には、sin0、cos、サインサインコサイン解、小数加減算、乗除算、正規化処理が含まれており、アルゴリズムはさらに複雑になります。異なる方位角と仰角に対して、放射ユニットの位相シフト コードを計算し、その位相シフト コードを位相シフターに送信することで、フェーズド アレイ レーダーの柔軟性と多様性を確保し、迅速かつ正確に、位相シフトコードはビームコントローラーの難しさです。
2. ビームコントローラーシステムの設計

位相シフトコードを迅速かつ正確に計算するために、FPGA をコアとするビームコントローラが設計されており、FPGA がアルゴリズム演算とタイミング制御を実行することで、DSP 処理チップを節約し、ハードウェア回路設計を簡素化します。構成ブロック図を図2に示す。

6f98b71afcb24f8cb3d6bd5960a78cb0.png

        ビームコントローラーは、RS422 シリアルポートを介してデジタル管コンピューターから制御コマンドを受信すると、入力角度に応じて対応する位相シフトコードを計算します。同時に外部メモリから位相補正値を読み出し、両者を加算して移相器に送り、制御信号により移相器は指定された位相にシフトし、ビームを変える目的。
        ビームコントローラーハードウェア回路には主にFPGA、パワーマネジメント、インターフェース駆動回路、メモリ、クロック回路が含まれます。一部の回路の機能は次のとおりです。
1) FPGA はコア デバイスであり、デジタル チューブ コンピューターから送信された制御コマンドの受信と分析、外部メモリ ユニットの管理、位相シフト コードの計算、コンポーネントへの位相シフト コードの送信を担当します。およびその他の制御コマンド:

2) 信号のレベル変換と分離を実現するインターフェース駆動回路:

3) クロック回路は、FPGA に必要なクロック信号を提供します。

4) フェーズドアレイアンテナの初期位相補正値をメモリに保存します。

3. FPGAアルゴリズムの実現
3.1. ソフトウェアアルゴリズムプロセス
        高速計算のニーズを満たすために、この設計はアルゴリズムを分解して最適化し、速度のために領域を変更するという考えを採用し、最小の時間で設計手法を採用しています。設計の各段階で必要な条件を決定し、その計算フローチャートを図3に示します。まず、共通因数の三角関数値を解き、三角関数値の乗算を行う必要があります。このデザインは、Cordic IP コアを使用して三角関数の値 [1s] を計算するのに 1 クロック サイクルが必要で、次にデータをラッチするのに 1 クロック サイクルが必要で、三角関数の乗算演算には 1 クロック サイクルが必要で、合計 3 クロック サイクルが必要です。クロックサイクル。三角関数値の乗算が完了したら、各ユニットの位相シフトコードを個別に計算する必要がありますが、計算処理は10進乗算加算、正規化処理、除算の3ステップで構成されており、各ステップの所要時間はわずか1クロックです。サイクルが完了しました。したがって、1 つのユニットの位相シフト コードの計算を完了するのに必要なクロック サイクルは 3 つだけです。
        この設計スキームによれば、計算プロセス全体では、共通因数三角関数値の計算と三角関数値の乗算を完了するのに合計 3 クロック サイクルが必要となり、位相シフト コードの計算を完了するには 256x3 クロック サイクルがかかります。全 256 ユニット = 771 クロック サイクル。このデザインでは、30 MHz システム クロックの 771 クロック サイクルに 771 = 30 = 25.7 us かかります。計算フローチャートは以下の通りです。

262c26c067d24074abd8fd36d53babb4.png

(1) 三角関数値の計算
FPGA はポインティング角度の入力を受けると、まずポインティング角度の三角関数演算を行います。三角関数演算はFPGAのcordic IPコアで計算され、1クロックサイクルで三角関数値が得られます (2) 三角関数値の
乗算 三角関数
値を求めた後、sin0とcosp、sin0とsinの積を行います。オペレーション。符号付き分数乗算は、乗算器コアを使用して実行されます。
(3) 10 進数の乗算と加算の演算
次に、式 (1) に従って位相シフト コードを計算します。これは次のように分けられます。

130981807a29486da0b991830e1ede2e.png 

FPGA を使用してリアルタイムで計算するデータの乗算と除算は、複数の乗算器リソースと複数のクロック サイクルを消費します。このデザインでは、ルックアップ テーブル割り当て方法を使用して (360/lamda)dx(m - 8.5) および ( 360/ FPGA に格納されている lamda)dy(n - 8.5) 値は、計算時に
三角関数の積が乗算器の入力として使用され事前に計算された係数が乗算器の別の入力として乗算器に割り当てられます。係数割り当ての計算が実行されるたびに、必要なデータを取得するために必要な乗算器 2 つ、加算器 1 つと 1 クロック サイクルだけが必要になります。
(4) 正規化処理
        計算結果は 0 ~ 360 の範囲で正規化する必要があります。計算結果が正の場合は 360 と比較し、360 より大きい場合は 360 を減算し、データが 0 ~ 360 になるまで 360 との比較を続けます。計算結果が負の場合は 360 を加算し、データは 0 です。-360 の間にない場合は、データが 0 ~ 360 の間に収まるまで 360 を加算し続けます。データを 0 ~ 360 に正規化するには、従来の比較、加算、減算のサイクル演算が採用されており、各データ正規化にかかる時間は不確実です。大きな数が発生した場合、正規化が完了するまでに複数のクロック サイクルがかかります。たとえば、計算結果が 3500 の場合、データの正規化を完了するには 9 回の比較と減算が必要です。1 データあたりの平均 9 サイクルに基づいて計算すると、システム クロックは 30 MHz となり、256 個のデータを正規化するのに必要な時間はわずか 76.7 us です。複数の比較および加算および減算演算を回避するために、この設計では、間隔サイズとして 360、間隔境界として 360 の整数倍を使用して複数のデータ間隔を分割するパーティション比較方法が採用されており、データ パーティションには考えられるすべての計算データが含まれます。 。計算されたデータとデータ パーティションの境界値を比較します。計算されたデータが負の場合は左の境界値の絶対値を加算し、正の場合は左の境界値を減算し、加算または減算されたデータは次のようになります。 0~360。データ パーティションの左側の境界値の絶対値を加算または減算することは、複数の比較と加算と減算を実行することと同じであるため、データがどれほど大きくても、正規化プロセスを完了するために必要な比較と加算と減算は 1 回だけです。例えば、特定のアンテナについては、式(1)のパラメータが既知であり、式(1)によって計算された結果の最大値と最小値は、これらのパラメータに従って推定することができる。推定最大値が 5330、最小値が -5330 であるとします。データを [-5400,-5040), [-5040,-4680), ..., [-3600, -3240), ... [-360,0), [0,360), [360, 720)、...、[3240,3600)、...、[4680,5040)、[5040、5400] およびその他のデータ パーティションの場合、これらのデータ間隔のサイズは 360、間隔の境界値は -15、-14、-13、...、-10、-9、...、-1、0、1、2、...、9、10、...、13 です。 , 360の14、15倍。同じ計算結果は 3500 です。3500 を間隔境界 (5400、-5040、-4680、...、3240、3600、...、4680、5040、5400 など) と比較します。3500 は 3240 より大きく、未満です。 3600, 3500 は [3240, 3600] にあります) データ区間では、3500 は正の値です。3500 からデータ区間の左側の境界値 3240 を引くことは、360 と 9 回の比較と減算を行うことと同じです。比較と減算は次のように行うことができます。 FPGA ではわずか 1 クロック サイクルで実現されます。つまり、正規化された結果は 1 クロック サイクルで 260 になります。同じシステム クロックは 30MHz で、256 データの正規化には 8.533 us しか必要としません。

(5) 除算計算 除算計算は、正規化されたデータを位相シフト 5.625 で除算し、切り上げて位相データを取得することであり、従来のシフト、比較、減算方法では、データの計算に複数のクロック サイクルが必要です。この設計でもパーティション比較方式が採用されており、正規化されたデータと事前計算されたデータ間隔を比較し、位相シフト コードを 1 クロック サイクルで取得できます。計算結果が 260 の場合、比較データは 261.5625 ~ 267.1875 となり、位相シフト コードは 101111 となります。

        演算を容易にし、精度要件を確保するために、この設計では、10 進演算が整数 [16] に拡張され、拡張倍数は必要な計算精度に依存します。

3.2 シミュレーション結果

MATLAB の計算値を図 4 に示します。Theta は仰角 8 度、Phi は方位角 44.8 度、Freq は周波数 29.7 GHz、A は出力位相シフト コードです。

70d2781961f348bfb3d8160c5decb438.png

        ISE ソフトウェアのシミュレーション結果を図 5 に示します。スティミュラス ファイルでは、phase_inthe はシータ、phase_inphi はファイを表し、単位はラジアンです。入力角度は固定小数点補数 2QN 形式の 16 ビットで表現され、0X0478 は 2 進数の「0000010001111000」に変換され、IP コアの定義では 000.0010001111000 に相当し、小数点以下 3 桁目が 1 で表されます。 2-3 など、すべて 1 のビットで表される値の合計が表される値、つまり 2 -3 +2 -7 +2 -8 +2 -9 + 2 の合計になります。 -10 は 0.1396484375 ラジアンで、角度に換算すると 8 度になります。同様に、0X1900 から換算した角度は 44.8 度になります。29. 7GHz の周波数がルックアップ テーブルに反映されます。図 4 と図 5 を比較すると、FPGA で計算された値は MATLAB で計算された値と同じです。このスキームが正しい位相シフト コードを計算していることがわかります。図5からわかるように、リセット後、3クロックサイクルの三角関数解法および積演算の後、3クロックサイクルの計算の後、合計6サイクル後に最初の位相シフトコード54が得られる。その後、3 サイクルごとに、位相シフト コード 63、7、15、24 などが順次計算され、各位相シフト コード計算サイクルに必要な時間は 3 クロック サイクルだけであり、高速計算のニーズを十分に満たします。

0d36deca45cf418daadaac2642a9f485.png

4 結論

        ビーム スキャンの応答時間はフェーズド アレイ アンテナの重要な性能指標であり、フェーズド アレイのさまざまな高度な作業方法により、ビーム スキャンの応答時間に対する要件がますます高くなっています。この方式で設計されたビームコントローラは、ハードウェア回路が単純であり、アルゴリズムをソフトウェアで分解して最適化するため、1ユニットの位相シフトコードの計算にかかる時間はわずか3クロックサイクルであり、1ユニット分の位相シフトコードの計算時間はわずか3クロックである。 256 ユニットのフルアレイは 26 us (クロック 30 MHz) に短縮され、ビーム応答時間が非常に短くなり、ビーム走査の速度と柔軟性が向上します。 

 

おすすめ

転載: blog.csdn.net/qq_43416206/article/details/132265541