clc
close all
clear
f = 3e10;
lamda = (3e8) / f;
beta = 2 * pi / lamda; % β=2π/λ 波数
n = 40; % 天线阵元数目
t = 0:0.01:2*pi;
d = lamda/4 ; % 假设阵元间距为波长的四分之一
% 扫描角范围,设定从 0 到 π 进行扫描
theta_scan = 0:pi/180:pi;
polar_patterns = zeros(length(theta_scan), length(t)); % 用于存储不同扫描角度的方向图
% 逐个扫描角度计算方向图
for k = 1:length(theta_scan)
theta_steering = theta_scan(k); % 当前扫描角度
W = beta * d * (cos(t) - cos(theta_steering)); % 调整相位用于扫描
z1 = (n/2) * W - n/2 * beta * d;
z2 = (1/2) * W - 1/2 * beta * d;
F1 = sin(z1) ./ (n .* sin(z2));
K1 = abs(F1); % 函数对数组元素进行绝对值处理的函数
polar_patterns(k, :) = K1; % 保存当前扫描角度的方向图
end
% 显示某个扫描角度的方向图,例如显示第 90 度扫描角度的方向图
figure
polar(t, polar_patterns(180, :)); % 90 对应于大约 90 度方向
% 如果你想看到整个扫描过程,可以用以下代码显示动画:
figure;
for k = 1:length(theta_scan)
polar(t, polar_patterns(k, :));
title(['Scanning Angle: ', num2str(rad2deg(theta_scan(k))), ' degrees']);
pause(0.1); % 每个扫描角度的暂停时间
end
相控阵天线方向图
最新推荐文章于 2024-09-11 23:56:24 发布