对于5元等间距边射阵,阵元间距为半波长,写出归一化方向图函数,并利用MATLAB画出下列方向图,给出有注释的详细程序,不定义额外的function: (1)等幅阵 (2)二项式阵电流比值:1:4:6:4:1 (3)三角形阵电流比值:1:2:3:2:1 (4)倒三角形阵电流比值:3:2:1:2:3 (5)道尔夫-切比雪夫:求-30dB的副瓣的5元阵电流比值 ,写出归一化方向图函数
时间: 2024-01-08 19:02:10 浏览: 91
5单元边射阵matlab程序
好的,我已经记录下来了。以下是针对您的问题的回答:
对于5元等间距边射阵,阵元间距为半波长,归一化方向图函数为:
$$
F(\theta)=\frac{1}{5}\frac{\sin(\frac{5\pi}{2}\sin\theta)}{\sin(\frac{\pi}{2}\sin\theta)}
$$
其中,$\theta$为方向角。
接下来是各种阵列电流分布对应的MATLAB画图程序:
(1) 等幅阵电流分布:
```
clear all;
close all;
clc;
N=5; %阵列元素个数
d=0.5; %阵元间距,单位为波长
theta=-pi:0.01:pi; % 画图范围
F=zeros(size(theta)); % 初始化方向图数组
for i=1:N % 遍历阵元
F=F+1/N*exp(1j*(i-1)*2*pi*d*sin(theta)); % 累加阵列电流
end
F_normalized=abs(F)/max(abs(F)); % 归一化
polarplot(theta,F_normalized,'LineWidth',2); % 画极坐标图
```
(2) 二项式阵电流比值:1:4:6:4:1
```
clear all;
close all;
clc;
N=5; %阵列元素个数
d=0.5; %阵元间距,单位为波长
I=[1,4,6,4,1]; % 电流分布
theta=-pi:0.01:pi; % 画图范围
F=zeros(size(theta)); % 初始化方向图数组
for i=1:N % 遍历阵元
F=F+I(i)/sum(I)*exp(1j*(i-1)*2*pi*d*sin(theta)); % 累加阵列电流
end
F_normalized=abs(F)/max(abs(F)); % 归一化
polarplot(theta,F_normalized,'LineWidth',2); % 画极坐标图
```
(3) 三角形阵电流比值:1:2:3:2:1
```
clear all;
close all;
clc;
N=5; %阵列元素个数
d=0.5; %阵元间距,单位为波长
I=[1,2,3,2,1]; % 电流分布
theta=-pi:0.01:pi; % 画图范围
F=zeros(size(theta)); % 初始化方向图数组
for i=1:N % 遍历阵元
F=F+I(i)/sum(I)*exp(1j*(i-1)*2*pi*d*sin(theta)); % 累加阵列电流
end
F_normalized=abs(F)/max(abs(F)); % 归一化
polarplot(theta,F_normalized,'LineWidth',2); % 画极坐标图
```
(4) 倒三角形阵电流比值:3:2:1:2:3
```
clear all;
close all;
clc;
N=5; %阵列元素个数
d=0.5; %阵元间距,单位为波长
I=[3,2,1,2,3]; % 电流分布
theta=-pi:0.01:pi; % 画图范围
F=zeros(size(theta)); % 初始化方向图数组
for i=1:N % 遍历阵元
F=F+I(i)/sum(I)*exp(1j*(i-1)*2*pi*d*sin(theta)); % 累加阵列电流
end
F_normalized=abs(F)/max(abs(F)); % 归一化
polarplot(theta,F_normalized,'LineWidth',2); % 画极坐标图
```
(5) 道尔夫-切比雪夫:求-30dB的副瓣的5元阵电流比值
```
clear all;
close all;
clc;
N=5; %阵列元素个数
d=0.5; %阵元间距,单位为波长
I=zeros(1,N); % 电流分布
I(1)=1; % 首先初始化为等幅阵
theta=-pi:0.01:pi; % 画图范围
F=zeros(size(theta)); % 初始化方向图数组
for iter=1:500 % 迭代次数
F=zeros(size(theta)); % 每次迭代前清空方向图数组
for i=1:N % 遍历阵元
F=F+I(i)/sum(I)*exp(1j*(i-1)*2*pi*d*sin(theta)); % 累加阵列电流
end
F_normalized=abs(F)/max(abs(F)); % 归一化
if -20*log10(max(F_normalized))<30 % 如果副瓣深度已经达到-30dB,则停止迭代
break;
end
I=I.*(F_normalized>=max(F_normalized)/2); % 更新电流分布,选择方向图最大值的一半作为阈值
end
polarplot(theta,F_normalized,'LineWidth',2); % 画极坐标图
```
以上就是各种阵列电流分布对应的MATLAB画图程序,其中注释详细,请您参考。
阅读全文