资源描述
基于矩量法的二维金属体散射计算
1 问题的描述
本题是用矩量法计算二维金属圆柱体的散射场,如图所示为一圆柱体和一个椭圆柱的截面,为了计算简单,选入射波为垂直z轴入射的TM或TE平面波
y
2
x
2 矩量法求解过程
2.1 电场积分方程
2.1.1问题的分析
由麦克斯韦方程组
(1)
(2)
可得电场积分方程为
(3)
表示在圆柱表面的面电流在远处产生的总场。设入射场为E,散射场为E,由金属表面的边界条件
=0 (4)
得 (5)
2.1.2 离散化
设入射波为,将散射体截面C分为N份△C,用点匹配法对上述积分式子进行离散化, 即基函数可取
(6)
可得下列离散方程:
[P]{J}={b} (7)
其中: (8)
(9)
当m≠n时,
(10)
当m=n时 解析积分为
(11)
其中=1.781,e=2.718
2.1.3方程组的求解
可用LU分解求解方程组,即P=LU ,其中P为可逆矩阵,L为上三角矩阵,U为下三角矩阵,则可利用这两个基本的三角矩阵进行求解J,求出J之后,就可求散射场
(12)
(13)
与二维场中的散射截面
(14)
2.1.4输出结果的验证
此散射问题也可用模式展开法进行求解,可用此结果对本问题进行验证。所得J为
(15)
2.2 磁场积分方程
对于TE波垂直与z方向入射时的金属体的散射。对于一般的TE波而言只有场分量,电流密度方程只有横向分量。则MFIE为: (16)
其中
(17) y
y t
n
x
x
(18)
其中t表示边界上的一点,是和X的夹角。
根根据前面的过程,圆柱边界分成N分。等效电流密度可以近似为一些脉冲函数的迭加:
(19)
其中 (20)
则得到
(21)
矩阵非对角元
(22)
(23)
在上认为是常量故
(24)
对角元 (25)
其中
回波宽度的近似公式为:
(26)
3 计算机数值实验及分析
本论文通过数值计算验证前面理论分析的结果,并对数值计算结果进行分析。分别以金属圆柱体和金属椭圆体为计算例子,做数值实验和分析。所使用的计算机程序是商业软件MATLAB6.5,数值实验在本人机子(celeron4 1.8G CPU 128M内存),操作系统是windows xp。
3.1 二维金属圆柱体的散射
基于上面的分析,考虑垂直z方向入射的横向磁波(TM),离散方程为(7),编程的基本思路是对(10)式和(11)式编程实现,得出[p]矩阵,再由(9)式得出{b}列,用MATLAB6.5软件上的线性方程组直接求解法求解出{J}。散射截面(回波宽度)可以通过(14)式离散计算出来。
计算例子是一个z方向均匀且无限长的金属圆柱,半径为1.5米(),金属圆柱中心和z轴重合,入射波为z方向极化,幅值为1,从负x轴方向垂直z轴入射的TM平面波,工作频率为100MHz,波长米。由于是金属体且z方向均匀,可以只考虑对垂直z轴截面的圆周进行剖分并计算。下图给出了720个剖分下电流密度分布的计算结果与近似解析解的比较,其中近似解析解是根据《导波理论》书上3.48式(本文的(15)式)在n=-36到n=36下计算出来的。计算时入射角取为0度。
其中x轴为,y轴为电流密度,由图可见,电流密度分布和近似解析解无论幅度相位之间都有着非常好的吻合。
计算所得的总等效电流Iz=-0.0079 + 0.0083i,而在剖分精度为180时,计算所得的总等效电流Iz =-0.0084 + 0.0083i。而解析解的总电流Iz =-0.0077 + 0.0083i,可见随着剖分精度的增加,计算结果收敛于解析解。
图1(a)EFIE ,剖分精度720
图1(b)EFIE 近似解析解
下图给出的是回波宽度的分布
图1(c)EFIE 剖分精度720
其中x轴为,y轴为,据个人粗略分析应该基本符合事实。由于没能得到回波宽度的解析解,没能作进一步的分析比较。
下面给出入射角为90度,半径,而其他条件不变的情况下,所得的计算结果。
(d)EFIE 剖分精度720
由此可见,相对前面那种情况,入射角变化90度,等效电流密度分布也相应有90度的相移,回波宽度的幅度减小了很多,但大体的形状保持不变。这时候的总电流Iz =0.0067 + 0.0028i。
3.2 TM波入射金属椭圆柱的散射
对于二维金属椭圆柱体的散射这种情况,由于圆柱体是椭圆柱的特殊情况,所以解题的基本思路基本一样,就是对每个剖分步长用数值积分得到,这样有利于得到精确的计算结果。实践的过程也证明了这一点,当每个剖分步长用两个剖分点的直线距离来近似的话,带来很大的误差,而用数值积分得到的结果和解析解很好地吻合。
计算例子是一个z方向均匀且无限长的椭圆柱,长轴,短轴,即金属圆柱中心和z轴重合,即椭圆方程为。入射波为z方向极化,幅值为1,从负x轴方向垂直z轴入射的TM平面波,即入射角为0度。工作频率为100MHz,波长米。由于是金属体且z方向均匀,可以只考虑对垂直z轴截面的椭圆周进行剖分并计算。
图3(a)(b)给出了1000个剖分和2000个剖分下的电流密度分布的计算结果,图3(c)给出解析解以作为比较,而图4(a)(b)给出了上述剖分精度下的回波宽度的计算结果,作为比较图4(c)给出回波宽度的解析解。其中解析解来自参考书《计算电磁场的矩量法》。
为了方便与参考书中的解析解比较,x和y轴的参量都相应做了变化。下图中的x轴S为角度的归一化,左端为S=0,右端为S=1。Y轴是
图3(a) EFIE 剖分精度1000
图3(b) EFIE 剖分精度2000
图3(c) EFIE 剖分精度2700
图3(d) EFIE 安得列解
由上图可见计算结果和参考书提供的解析解能够有很好的吻合,而且随着剖分加细,结果更趋接近于解析解。由于本人机子配置较低,难以对更多剖分点的情况进行运算,但可以预见随着剖分点的增加,计算结果与解析解更好地吻合。但随着剖分数N的增大,计算方法所用的近似不能收敛于解析解,这是因为时的,在极限时是不正确的。证明了计算方法的正确性。也可以看到要是用磁场积分方程(MFIE)可以得到更好的解。
下图是回波宽度(散射截面)的方向图,其中x轴是角度,y轴是。
图4(a)EFIE 剖分精度1000
图4(b) EFIE 剖分精度2000
图4(c)EFIE回波宽度安得列解
比较上图可得,计算结果和解析解几乎完全一致,可以注意到即使电流密度分布显著不同,当这两种情况得到的结果却是几乎完全一致的。这是因为是电流J的连续性泛函,因此J在精确值附近的大小变化是不敏感的。
3.3 TE波入射金属椭圆柱的散射
与上面同样条件,把入射波换为TE波,理论分析可见前面的2.2部分。基于上面的分析,考虑垂直z方向入射的横向电波(TE),离散方程为(21),编程的基本思路是对(24)式编程实现,得出[Z]矩阵,再由(17)式得出{H}列,用MATLAB6.5软件上的线性方程组直接求解法求解出{J}。散射截面(回波宽度)可以通过(26)式离散计算出来。
图5给出剖分为720份时的计算结果,并给出相应的解析解,以资比较。解析解来自参考书《计算电磁场的矩量法》。
图5(a) MFIE 剖分精度720
图5(b)MFIE安得列解
可见,计算结果与解析解大体上符合,但还是存在较大的差别,原因估计是剖分精度不够,还有数值计算[P]矩阵时引进了近似,由于时间仓促,没能在离散化方程时考虑更好的近似方法,这有待于进一步的探讨和研究。
图6是TE波入射金属椭圆柱的回波宽度(散射截面)的方向图,其中x轴是角度,y轴是。
可见计算结果和解析解很好地符合,可见虽然电流分布计算结果和所给的解析解有较大的误差,但回波宽度的计算结果和解析解确几乎完全一致,这是因为是电流J的连续性泛函,因此J在精确值附近的大小变化是不敏感的。
图6(a) MFIE 剖分精度720
图6(b)MFIE安得列解
4 存在问题和心得
存在的问题之一:没考虑到内谐振问题,进一步的工作应该把电场积分方程(EFIE)和磁场积分方程(MFIE)组成联合积分方程(CFIE),来解决这个问题。
存在的问题之二:使用的软件MATLAB6.5虽然功能强大,但是运算效率不高,需要占用的内存大和运行时间较长,而比不上用C语言或FORTRAN语言编写的程序效率高。没有利用到课本所介绍的快速多极子技术。
存在的问题之三:没有实现在TM波入射情形下用磁场积分方程(MFIE)计算散射场,而据理论分析,用MFIE应该能够得到更好的条件数,计算的结果也能更好地收敛于解析解。这有待于工作的进一步深入。
存在问题之四:限于作者知识和经验的不足,没能有更为深厚的理论认识做指导,对结果的分析未免有失偏颇。
进一步的工作应该朝着三维散射,介质体散射的方向进行。
心得:本文凝结着本组成员的心血,期间经历几多挫折,幸好一一克服了,要说有什么心得的话,第一要对电磁理论有深刻的认识和理解,第二要有深厚的数学基础,对电磁积分方程的性能有深入的理解。第三要熟悉熟练掌握编程语言MATLAB,这是实现的工具。
鸣谢:第一应该感谢盛新庆老师的悉心指导,第二感激本组成员的通力合作和不懈的努力。
5 参考文献
[1] 盛新庆. 计算电磁学要论. 北京:科学出版社,2004
[2] Roger F.Harrington. Field Compution by Moment Methods. New York:The Macmillan Company, 1968
[3] Andrew F.Peterson,Scott L.Ray and Raj Mittra. Computational Methods for Electromagnetics. New York:IEEE PRESS,1998
[4] 张志涌等. 精MATLAB6.5版. 北京:北京航空航天大学出版社,2003
6 程序附录
由于作者已经对程序做了很好的注释,应该具备matlab基础的人一般都能够看懂,所以不准备做再多的解释说明。只简单附在后面,以供参考:
5.1金属圆柱体散射的程序:
function win(NU,L)
%金属圆柱体散射的程序,计算等效表面电流,回波宽度,NU为波长,L为半径
Z=377; %特性阻抗
K=2*pi/NU; %波数
m=720;
fai=0; %入射方向和x轴的夹角
R=L*NU; %金属圆柱半径
h=2*pi*R/m; %剖分步长
P=zeros(m,m); %生成Pmn矩阵框架
Q=(pi/m:2*pi/m:2*pi*(m-1/2)/m); %角度细分,分为m分
X=R*cos(Q); %x分量长度,随角度Q变化
Y=R*sin(Q); %y分量长度,随角度Q变化
dx=zeros(m,m); %生成矩阵
dy=zeros(m,m);
for n=1:m %对每个x和y分别计算(x-xm)^2和(y-ym)^2
dx(n,:)=(X-X(n)).^2;
dy(n,:)=(Y-Y(n)).^2;
end
I=eye(m);
d=dx+dy+I; %(x-xm)^2+(y-ym)^2,对角线元素置为1,可以直接用hankel函数运算
x=K*sqrt(d);
H=besselh(0,2,x); %hankel function
P=Z*K*h*H/4; %得到P矩阵
Pnn=Z*K*h*(1-i*2*log10(1.781*K*h/(4*2.718))/pi)/4; %对m=n时,计算Pnn
for n=1:m
P(n,n)=Pnn; %P矩阵对角元素赋值,所有对角元素相同
end
b=exp(-i*K*(X*cos(fai)+Y*sin(fai))); %b矩阵,行,要转化为列
M=b.'; %[b] array是复数,不能用b'取得它的转置,而必须用b.'。否则得出来的电流分布有180度的相移
j=P\M; %求解方程,得到电流密度分布array
figure(1)
w2=(1:1:m);
plot(w2*360/m,abs(j),'.') %画图,电流密度在0-360度的分布图
grid on
title('TM波入射的金属圆柱表面等效电流密度分布图')
xlabel('degrees')
ylabel('current dense')
Iz=sum(h*j) %总电流
w=(0:pi/180:pi*179/180);
for n=1:180 %计算散射截面(回波宽度)
g=exp(i*K*(X*cos(w(n)+fai)+Y*sin(w(n)+fai)))*h;
G=g.*j.'; %[j] array是复数,不能用j'取得它的转置,而必须用j.'。否则得出来的值有180度的相移
T=abs(sum(G));
out(n)=K*Z^2*T^2/4;
end
W=(0:1:179);
figure(2)
plot(W,20*log10(out/NU^2),'.') %画图,回波宽度,0-180度
grid on
title('TM波入射金属圆柱体的回波宽度分布图')
xlabel('degrees')
ylabel('echo width/wavelength^2/dB')
5.2 金属圆柱体的表面等效电流密度分布图近似的解析解程序:
function current
%<导波理论>3.48式数值计算,以便对前面的计算结果作检验。
%计算金属圆柱体的表面等效电流密度分布图,得出近似的解析解。
%各个条件与程序win完全一至
R=1.5; %金属圆柱半径
Z=377; %特性阻抗
K=2*pi/3; %波数
h=2*pi*R/360; %剖分步长
w=(0:2*pi/360:2*pi*359/360); %角度细分为360分
for m=1:360 %对每个角度分别计算Jz
for n=1:73 %求和的上下限为-36到36
H=besselh((n-37),2,K*R); %hankel函数
T=(i^-(n-37))*exp(i*(n-37)*w(m));% 分子
s(n)=T/H; %对单个角度的求和元素
end
Jz(m)=2*sum(s)/(K*Z*pi*R); %单个角度的电流密度
end
figure(1)
plot(w*180/pi,abs(Jz),'-') %画图,在0-360度
grid on
title('TM波入射金属圆柱体面电流密度分布图(近似解析解)')
xlabel('degrees')
ylabel('current dense')
Iz=sum(h*Jz) %计算总电流
5.3 TM波入射金属椭圆柱体的散射
function win1(NU)
%计算等效表面电流分布,散射截面分布,NU为波长
%计算金属椭圆柱体的散射,椭圆方程:(x/a)^2+(y/b)^2=1.入射波为TM波,
%电场只有Ez方向入射,用电场积分方程(EFIE)
syms x a b; %定义变量
Z=377; %特性阻抗
K=2*pi/NU; %波数
m=1000; %剖分个数
P=zeros(m,m); %生成Pmn矩阵框架
h=2*pi/m; %剖分角度步长
Q=(0:2*pi/m:2*pi*(m-1)/m); %角度细分为m等分
fai=0; %入射方向和X轴的夹角,可设定
a=NU/4; %椭圆半长轴
b=NU; %椭圆半短轴,当a=b时就是圆柱体散射情形
fun=inline('sqrt((a)^2*(sin(x).^2)+(b)^2*(cos(x).^2))','x','a','b'); %椭圆线长
for n=1:m %通过数值积分计算椭圆每个剖分的线长
x1=(n-1)*h;x2=n*h; %积分上下限
delta(n)=quadl(fun,x1,x2,{},{},a,b); %积分
end
X=a*cos(Q+h/2); %对每个剖分段,计算其角度中点的x和y值
Y=b*sin(Q+h/2);
dx=zeros(m,m); %生成矩阵
dy=zeros(m,m);
Del=zeros(m,m);
for n=1:m %对每个x和y分别计算(x-xm)^2和(y-ym)^2
dx(n,:)=(X-X(n)).^2;
dy(n,:)=(Y-Y(n)).^2;
Del(n,:)=delta;
end
I=eye(m);
d=dx+dy+I; %(x-xm)^2+(y-ym)^2,对角线元素置为1,可以直接用hankel函数运算
x=K*sqrt(d);
H=besselh(0,2,x); %hankel function
P=Z*K*Del.*H/4; %得到P矩阵
Pnn=Z*K*delta.*(1-i*2*log10(1.78107*K*delta/(4*2.71828))/pi)/4; %计算对角线元素
for n=1:m
P(n,n)=Pnn(n); %P矩阵对角元素赋值,
end
b=exp(-i*K*(X*cos(fai)+Y*sin(fai))); %b矩阵,行,要转化为列,
M=b.'; %[b] array是复数,不能用b'取得它的转置,而必须用b.'。
j=P\M; %求解方程,得到电流密度分布array
as=(j./M)*Z; %abs(j/H),画图的y轴
as=as.';
figure(1)
w2=(0:m/2-1);
plot(w2*2/m,abs(as(m/2:-1:1)),'.') %画图,电流密度在s=0到s=1的分布图
grid on
title('TM波入射金属椭圆体的等效表面电流密度分布图')
xlabel('S')
ylabel('abs(J/H),current dense/incident magnetic field');
Iz=sum(j.*delta') %计算总电流
w=(0:pi/180:pi*179/180);
for n=1:180 %计算散射截面(回波宽度)
g=delta.*exp(i*K*(X*cos(w(n))+Y*sin(w(n)))); %计算电磁学课本公式(2.206)的离散方程
G=g.*j.'; %[j] array是复数,不能用j'取得它的转置,而必须用j.'。T=abs(sum(G));
out(n)=K*Z^2*T^2/4; %对每个散射角度计算其散射截面
end
W=(0:1:179);
figure(2)
plot(W,sqrt(out/NU),'.') %画图,散射截面,0-180度
grid on
title('TM波入射金属圆柱体的散射截面分布图')
xlabel('Degrees')
ylabel('square root of echo width/wavelength')
5.4 TE波入射金属椭圆柱体的散射
function TE
syms x L S;
Z=377;
lamda=3;
K=2*pi/lamda;
a=0.25*lamda; %a,b为椭圆的长轴和短轴
b=1*lamda;
N=720; %剖分数目
fai=0; %入射角
Q=(0:2*pi/N:2*pi*(N-1)/N);
h=2*pi/N;
X=a*cos(Q+h/2);
Y=b*sin(Q+h/2);
h=2*pi/N;
P=zeros(N,N);
fun=inline('sqrt((L)^2*(sin(x).^2)+(S)^2*(cos(x).^2))','x','L','S'); %椭圆线长
for n=1:N %通过数值积分计算椭圆每个剖分的线长
x1=(n-1)*h;x2=n*h; %积分上下限
d=quadl(fun,x1,x2,{},{},a,b);%积分
delta(n)=d;
end
for n=1:N
sinn=sign((cos(Q(n)+h/2)))*sqrt(1/((a*tan(Q(n)+h/2)/b)^2+1));
cosn=-1*sign((sin(Q(n)+h/2)))*sqrt(1/(1+(b^2/(a*tan(Q(n)+h/2))^2)));
Xn=a*cos(Q(n)+h/2);Yn=b*sin(Q(n)+h/2);
for m=1:N
Xm=a*cos(Q(m)+h/2);Ym=b*sin(Q(m)+h/2);
Rmn=sqrt((Xm-Xn)^2+(Ym-Yn)^2);
if m==n
P(m,n)=1/2;
else
P(m,n)=-K*delta(n)*(sinn*(Xm-Xn)/Rmn-cosn*(Ym-Yn)/Rmn)*besselh(1,2,K*Rmn)/(4*i);
end
end
end
for n=1:N
M(n)=exp(i*K*(X(n)*cos(fai)+Y(n)*sin(fai)));
end
[L,U]=lu(P);
j=U\(L\(M.')); %用直接LU分解求解电流密度
j=j./(M.');
w2=(0:N/2-1);
figure(1)
plot(w2*2/N,abs(j(1:N/2)),'.');
grid on
title('TE波入射金属椭圆体的等效表面电流密度分布图')
xlabel('S')
ylabel('abs(J/H),current dense/incident magnetic field');
w=(0:pi/180:pi*179/180);
out=zeros(1,180);
for m=1:180 %计算散射截面(回波宽度)
for n=1:N
sinn=sign((cos(Q(n)+h/2)))*sqrt(1/((a*tan(Q(n)+h/2)/b)^2+1));
cosn=-1*sign((sin(Q(n)+h/2)))*sqrt(1/(1+(b^2/(a*tan(Q(n)+h/2))^2)));
v=exp(i*K*(X(n)*cos(w(m))+Y(n)*sin(w(m)))).*delta(n);
g(n)=v*(sinn*cos(w(m))-cosn*sin(w(m)));
end
G=g*j;
T=abs(sum(G));
out(m)=K*T^2/4;
end
W=(0:1:179);
figure(2)
plot(W,sqrt(out(180:-1:1)/lamda),'.') %画图,散射截面,0-180度
grid on
title('TE波入射金属圆柱体的散射截面分布图')
xlabel('Degrees')
ylabel('square root of echo width/wavelength')
展开阅读全文