コンテンツへスキップ
応用例

矩形パッチアンテナの最適化(PSO)

プロジェクトファイルのリクエスト

この例では、XFdtd の XTend ライブラリのプラグインを使用して、矩形パッチアンテナの粒子群最適化(PSO)を実行します。パッチアンテナは、PSOプラグインの有効性を実証するための単純な例として選ばれました。アルゴリズムは、3GHzから3.2GHzの性能を最適化するように設定されています。

PSOは、魚の群れ、鳥の群れ、昆虫の群れなどに見られる群行動にヒントを得た、大域的最適化手法である。群れを構成する多数の粒子がN次元の解空間全体に分布する。各パーティクルが現在いる場所の適合度を評価し、その特定のパーティクルが見た最良の結果と、群全体が見た最良の結果に基づいて、新しい場所に移動する進化プロセスが続く。何世代にもわたって解空間が探索され、最適解に到達する。

この特定の最適化のためのフィットネス関数は、単に関心のある帯域にわたってアンテナの線形リターンロスを評価し、遭遇した最悪のリターンロスにフィットネスレベルを設定します。このアプローチの利点の一つは、帯域内性能の最小値が世代ごとにわかることです。ユーザーは現在の適合度をモニターし、望ましい目標レベルに達したら終了することができます。

本研究では、図1に詳述するように3つの変数を組み込んでいる。これらのパラメータは表 1 に従って変化させることができる。給電オフセットxはパッチの長さLに依存することに注意してください。動的制約システムにより、最適化が進むにつれてxがLの現在値の半分を超えることはありません。基板には比誘電率2.2の厚さ3mmの誘電体を使用し、有限グランドプレーンは基板の底面全体をカバーした。

図1矩形パッチの概略図。

図1:矩形パッチの概略図。

表1

表1

XFdtdの FDTDをCUDAで高速化した実装であるXStreamは、PSOをタイムリーに実行する上で極めて重要です。各パーティクルは、世代が進むごとに新しいXFdtdシミュレーションを生成します。これらのシミュレーションは、システム内の利用可能なCUDA対応GPUに分散されます。ここで使用した特定のシステムには、NVIDIA Tesla C2070が6台搭載されています。PSOは各GPUに1つのシミュレーションを割り当て、6つのシミュレーションを同時に解くことができます。GPUの有用性を最大化するため、パーティクル数はGPU数の整数倍になるように選択されています。今回の最適化では、12パーティクルと200世代を選択しました。

各世代の12回のシミュレーションは平均36秒で終了した。群れが最適解に収束していく様子は図2で見ることができる。この特定の例では、フィットネスレベルは第12世代までに約0.5に低下している。このフィットネス値は最悪の場合の線形リターンロスを表しているため、もし私たちの真の目標が、関心のある帯域で-6dB以下のリターンロスを持たないアンテナであれば、この時点でオプティマイザを終了させることができます。この時点で処理を終了すると、約16.5分後に許容可能なアンテナを得ることができます。

 

図2最適解に対する群れの収束。

図2:最適解への群れの収束。

図3は、最終的な最適解を含むいくつかの節目で達成されたリターンロスを調べることで、最適化の進行を示している。この解のパラメータを表2に示す。

図3いくつかの節目におけるパッチアンテナのリターンロスのスナップショット。

図3:いくつかの節目におけるパッチアンテナのリターンロスのスナップショット。

表2

表2

 

プロジェクトファイルのリクエスト

このアプリケーション例にご関心をお寄せいただき、ありがとうございます。長方形パッチアンテナの最適化(PSO)プロジェクトファイルをダウンロードするには、以下のフォームにご記入ください。