HOME EEM-FDM

完全導体球のRCS

完全導体球のRCS(後方散乱断面積)はMie理論により解析的に解くことができます。
ここでは解析解とEEM-FDMの数値解を比較します。

解析解

半径aの完全導体球のRCSは次式で計算されます([1]p.295)。ここでλは波長、k=2π/λは波数です。
(1)
両辺を幾何学的な断面積πa2で割ると次式のように無次元量になります。
(2)
(3)
ここでB^, b, BはそれぞれSchelkunoff Bessel関数、球Bessel関数、Bessel関数を表し、 以下の関係があります([1]p.268)。
(4)
それぞれのBessel関数は(狭義の)Bessel関数、Neumann関数、第一種、第二種Hankel関数を代表しています。
球Bessel関数はすべて以下の漸化式と微分式が成り立ちます([2]p.169)。
(5)
以上から式(3)は以下のようになります。
(6)
球Bessel関数は初等関数で表され、漸化式の最初の2項は以下のようになります([2]p.168)。
(7)

解析解の計算結果

式(2)を計算した結果は以下のようになります。 kaが大きくなると幾何学的な断面積に近づきます。 数値データ(csvファイル)


図1 完全導体球のRCSの解析解

EEM-FDMの計算結果

図2に解析解とEEM-FDMの計算結果の比較を示します。両者はよく一致しています。


図2 完全導体球のRCSの解析解とEEM-FDM数値解の比較

文献
[1] R.F.Harrington, "Time-Harmonic Electromagnetic Fields", McGraw-Hill, Inc., 1961.
[2] 森口繁一、宇田川■久、一松信、「数学公式III」、岩波書店、1987


完全導体球のRCSを計算するC++プログラム

#include <iostream>
#include <complex>
using namespace std;

static double rcs(double x)
{
	const complex<double> j(0, 1);
	int n_max = 10 + (int)(2.0 * x);
	complex<double> sum(0, 0);
	complex<double> h2 = (j / x) * exp(-j * x);
	complex<double> h1 = (j - x) / (x * x) * exp(-j * x);
	double sign = -1;
	for (int n = 1; n <= n_max; n++) {
		// sum
		sum += sign * (double)(2 * n + 1) / (x * h1) / (- (double)n * h1 + x * h2);
		// update
		sign = - sign;
		complex<double> h1_old = h1;
		h1 = (double)(2 * n + 1) / x * h1 - h2;
		h2 = h1_old;
	}

	return norm(sum) / (x * x);
}

int main()
{
	const double ka_max = 20;
	const int ka_div = 200;

	for (int i = 1; i <= ka_div; i++) {
		double x = (double)(ka_max * i) / ka_div;
		cout << x << " " << rcs(x) << endl;
	}

	return 0;
}