自适应波束形成与Matlab程序代码注解
均匀线阵方向图
(1)matlab 程序
clc;
clear all;
close all;
imag=sqrt(-1);
element_num=32;%阵元数为8
d_lamda=1/2;%阵元间距d与波长lamda的关系
theta=linspace(-pi/2,pi/2,200);
theta0=0;%来波方向
w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]');
for j=1:length(theta)
a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]');
p(j)=w'*a;
end
patternmag=abs(p);
patternmagnorm=patternmag/max(max(patternmag));
patterndB=20*log10(patternmag);
patterndBnorm=20*log10(patternmagnorm);
figure(1)
plot(theta*180/pi,patternmag);
grid on;
xlabel('theta/radian')
ylabel('amplitude/dB')
title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']);
hold on;
figure(2)
plot(theta,patterndBnorm,'r');
grid on;
xlabel('theta/radian')
ylabel('amplitude/dB')
title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']);
axis([-1.5 1.5 -50 0]);
仿真结果
A.来波方向为0°
不归一化
归一化
B.来波方向为45°
不归一化
归一化
C.随着阵元数的增加,波束宽度变窄,分辨力提高,仿真图如下:
非归一化
归一化
不归一化
归一化
波束宽度与波达方向及阵元数的关系
(1)matlab 程序
clc;
clear all;
close all;
imag=sqrt(-1);
element_num1=16;
element_num2=128;
element_num3=1024;
lambda=0.1;
d=0.5*lambda;
theta=0:0.5:90;
for j=1:length(theta)
fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num1*d));
psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num2*d));
beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num3*d));
end
figure
plot(theta,fai,'r',theta,psi,'b',theta,beta,'g');
grid on;
xlabel('theta');
ylabel('width in radians');
title('波束宽度与达波方向及阵元数目的关系');
legend('N=16','N=128','N=1024');
仿真结果
结果
3. 当阵元间距时,会出现栅瓣,导致空间模糊
(1)仿真结果
非归一化
归一化
4. 类似于时域滤波,天线方向图是最优权的傅立叶变换
(1)matlab 程序
clc;
clear all;
close all;
imag=sqrt(-1);
element_num=32;
source_num=1;
d_lambda=0.5;
theta=linspace(-pi/2,pi/2,200);
theta0=0;
w=exp(imag*2*pi*d_lambda*sin(theta0)*[0:element_num-1]');