matlab(实例):通过线阵证明方向图乘积原理

总阵元数目N=16,目标指向θ=0°,相邻阵元间距半波长,载频35GHz,扫描角范围-90:0.1:90

步骤1:直接计算方向图

% 线阵:直接计算+划分子阵计算,对比结果
clc
clear
close all

f = 3.5e+10;
c = 3e8;
lamda = c/f;
d = lamda/2;
theta0 = 0; % 目标指向
theta = -90:0.1:90; % 扫描角范围
N = 16;
%% 直接计算
figure;
plot(0:1:15,zeros(1,N),'ko');
grid on

for n = 1:N
    w(n) = exp(1i*2*pi/lamda*(n-1)*d*sind(theta0)); % 权值
end
for p = 1:length(theta)
    for n = 1:N
        a(n) = exp(1i*2*pi/lamda*(n-1)*d*sind(theta(p))); % 导向矢量
    end
    B(p) = w*a';
end
F = 10*log10(abs(B));
figure();
plot(theta,F);
title('直接计算');
xlabel('\theta (°)');
ylabel('增益');
grid on;
xlim([-90,90]);
ylim([-40,20]);

得到结果

步骤2:通过划分子阵(每个子阵包含四个阵元),计算元因子和阵因子,使用方向图乘积定理计算方向图。

%% 划分子阵
figure;
plot(0:1:3,zeros(1,4),'ko',4:1:7,zeros(1,4),'ro',8:1:11,zeros(1,4),'ko',12:1:15,zeros(1,4),'ro');
grid on

% 元因子
for n = 1:4
    w1(n) = exp(1i*2*pi/lamda*(n-1)*d*sind(theta0)); % 权值
end
for p = 1:length(theta)
    for n = 1:4
        a1(n) = exp(1i*2*pi/lamda*(n-1)*d*sind(theta(p))); % 导向矢量
    end
    B1(p) = w1*a1';
end
F1 = 10*log10(abs(B1));
% 阵因子
for n = 1:4
    w2(n) = exp(1i*2*pi/lamda*(3/2*d+(n-1)*4*d)*sind(theta0)); % 权值
end
for p = 1:length(theta)
    for n = 1:4
        a2(n) = exp(1i*2*pi/lamda*(3/2*d+(n-1)*4*d)*sind(theta(p))); % 导向矢量
    end
    B2(p) = w2*a2';
end
F2 = 10*log10(abs(B2));
Fa = 10*log10(abs(B1.*B2));

步骤3:画图对比

figure;
subplot(2,2,1);
plot(theta,F1);
title('元因子');
xlabel('\theta (°)');
ylabel('增益');
grid on;
xlim([-90,90]);
ylim([-40,20]);

subplot(2,2,2);
plot(theta,F2);
title('阵因子');
xlabel('\theta (°)');
ylabel('增益');
grid on;
xlim([-90,90]);
ylim([-40,20]);

subplot(2,2,3);
plot(theta,Fa);
title('合成方向图');
xlabel('\theta (°)');
ylabel('增益');
grid on;
xlim([-90,90]);
ylim([-40,20]);

subplot(2,2,4);
plot(theta,Fa);
title('直接计算');
xlabel('\theta (°)');
ylabel('增益');
grid on;
xlim([-90,90]);
ylim([-40,20]);

得到结果

结语

这部分没什么难度,主要提供一个方向图的计算思路,方向图就是一个导向矢量乘上权向量。

需要注意的是,这里求的是增益方向图,用10log10(),并不是求归一化方向图。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值