MATLBA绘制天线方向图
warning:
这篇文章距离上次修改已过804天,其中的内容可能已经有所变动。
以对称天线为例,远场辐射场为:
$$\left | E_{\theta} \right | =\frac{60I_{m}}{r_{0}} \frac{cos\left ( \beta l cos{\theta }\right ) -cos{\beta l}}{\sin \theta } $$
则其方向图函数为(不包括$\phi$参量):
$$f\left ( \theta \right ) =\frac{cos\left ( \beta l cos{\theta }\right ) -cos{\beta l}}{\sin \theta } $$
info:上述函数图像在$0 \sim \pi$内重叠,编程时需额外处理
分别取$l=\frac{\lambda}{4}$、$\frac{\lambda}{2}$、$\frac{3 \lambda}{4}$、$\lambda$绘制图像。
需要注意的是,MATLAB绘制极坐标图像默认水平轴线为$\theta$起始轴线,我们需要将其简单旋转以获得普遍的方向图。
源代码
%对称天线方位图 l = (0.25、0.5、0.75、1)lambda
%If you cannot see the Chinese character, please change your character format
clear all;
theta = 0:0.01:2*pi;
lambda = 1;
beta = 2*pi/lambda;
l = [lambda/4,lambda/2,3*lambda/4,lambda];
%不同臂长的方位图函数,abs函数将重叠部分分开
f1 = (cos(beta*l(1)*cos(theta))-cos(beta*l(1)))./abs(sin(theta));
f2 = (cos(beta*l(2)*cos(theta))-cos(beta*l(2)))./abs(sin(theta));
f3 = (cos(beta*l(3)*cos(theta))-cos(beta*l(3)))./abs(sin(theta));
f4 = (cos(beta*l(4)*cos(theta))-cos(beta*l(4)))./abs(sin(theta));
figure('Name','对称天线方位图','NumberTitle','off');
subplot(2,2,1);
polarplot(theta,f1);
title('\color{red}l = λ/4');
%旋转方向图 使轴为竖直方向
pax = gca;
pax.ThetaDir = 'clockwise';%角度顺时针增大
pax.ThetaZeroLocation = 'top';%顶部为0度
subplot(2,2,2);
polarplot(theta,f2);
title('\color{red}l = λ/2');
pax = gca;
pax.ThetaDir = 'clockwise';
pax.ThetaZeroLocation = 'top';
subplot(2,2,3);
polarplot(theta,f3);
title('\color{red}l = 3λ/4');
pax = gca;
pax.ThetaDir = 'clockwise';
pax.ThetaZeroLocation = 'top';
subplot(2,2,4);
polarplot(theta,f4);
title('\color{red}l = λ');
pax = gca;
pax.ThetaDir = 'clockwise';
pax.ThetaZeroLocation = 'top';
绘制结果

膜拜大佬,太牛啦!学到了学到了,唯一的缺点就是一不小心满嘴狗粮XD