📄 dipoleantenna.m
字号:
clear all;close all;
lamda=1;%波长
n=11;%段数
omega=2*pi*3e8;%角速度
e=8.85e-12;%介电常数
u=4e-7*pi;%磁导率
a=1e-7;%天线半径
l=lamda/2;%天线长度
delta=l/(n+1);%单位长度
k=2*pi/lamda;%波数
eta=120*pi;
for mm=1:n %m+,n-之间的距离
for nn=1:n
R1_mn(mm,nn)=abs(delta*(mm-nn+1));
end;
end;
for mm=1:n %m-,n+之间的距离
for nn=1:n
R0_mn(mm,nn)=abs(delta*(mm-nn-1));
end;
end;
for mm=1:n%m,n 之间的距离
for nn=1:n
R_mn(mm,nn)=abs(delta*(mm-nn));
end;
end;
for mm=1:n %计算psi(m+,n-)矩阵
for nn=1:n
if mm==nn-1
psi1_mn(mm,nn)=log(delta/a)/(2*pi*delta)-j*k/(4*pi);
else
psi1_mn(mm,nn)=exp((-j*k*R1_mn(mm,nn)))/(4*pi*R1_mn(mm,nn));
end;
end;
end;
for mm=1:n %计算psi(m-,n+)矩阵
for nn=1:n
if mm==nn+1
psi0_mn(mm,nn)=log(delta/a)/(2*pi*delta)-j*k/(4*pi);
else
psi0_mn(mm,nn)=exp((-j*k*R0_mn(mm,nn)))/(4*pi*R0_mn(mm,nn));
end;
end;
end;
for mm=1:n %计算psi(m,n)矩阵
for nn=1:n
if mm==nn
psi_mn(mm,nn)=log(delta/a)/(2*pi*delta)-j*k/(4*pi);
else
psi_mn(mm,nn)=exp((-j*k*R_mn(mm,nn)))/(4*pi*R_mn(mm,nn));
end;
end;
end;
for mm=1:n %计算阻抗矩阵
for nn=1:n
Z_mn(mm,nn)=j*omega*u*delta*delta*psi_mn(mm,nn)+(2*psi_mn(mm,nn)-psi1_mn(mm,nn)-psi0_mn(mm,nn))/(j*omega*e);
end;
end;
voltage=zeros(n,1); %对电压矩阵进行赋值
voltage((n+1)/2,1)=1;
current=inv(Z_mn)*voltage;%计算电流矩阵
for mm=1:n+2%补充端点电流值
if mm==1
I_draw(mm,1)=0;
else
if mm==n+2
I_draw(mm,1)=0;
else
I_draw(mm,1)=current(mm-1,1);
end;
end;
end;
mm=-(n+1)/2:(n+1)/2;
plot(mm,abs(I_draw),'b-',mm,abs(I_draw),'ro');
grid on;
xlabel('天线分段分布');
ylabel('电流分布');
for mm=1:n%计算各点到原点的距离
Length_Matrix(mm,1)=((n+1)/2-mm)*delta;
end;
for nn=1:n;%计算电场中的极值点
E_n(1,nn)=j*omega*u*delta*sin(pi/2)*exp(j*k*Length_Matrix(nn,1)*cos(pi/2))/(4*pi);
end;
E_max=E_n*current;
Z_in=1/current((n+1)/2,1)%输入阻抗
G=4*pi*abs(E_max)*abs(E_max)/(eta*real(Z_in)*abs(current((n+1)/2,1))*abs(current((n+1)/2,1)))%增益系数
syms thet phi;%定义基本符号对象
for nn=1:n
Enn(1,nn)=j*omega*u*delta*sin(thet)*exp(j*k*Length_Matrix(nn,1)*cos(thet))/(4*pi);
end;
E_r=Enn*current;
F=abs(E_r)/abs(E_max);
figure;
ezpolar(F);
title('半波振子的辐射方向性图(E面)');
figure;
ezpolar('sin(pi/2)');
title('半波振子的辐射方向性图(H面)');
%画方向性图
figure;
x=F*sin(thet)*cos(phi);
y=F*sin(thet)*sin(phi);
z=F*cos(thet);
ezsurf(x,y,z,90);%立体方向图
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -