自适应波束形成与Matlab程序代码注解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.均匀线阵方向图

(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]);

(2)仿真结果

A.来波方向为0°

不归一化

归一化B.来波方向为45°

不归一化

归一化

C.随着阵元数的增加,波束宽度变窄,分辨力提高,仿真图如下:

非归一化

归一化

不归一化

归一化

2.波束宽度与波达方向及阵元数的关系

(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');

(2)仿真结果

结果

3. 当阵元间距/2d λ>时,会出现栅瓣,导致空间模糊

(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]');

for j=1:length(theta)

a=exp(imag*2*pi*d_lambda*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)

subplot(1,2,1);

plot(theta,patterndBnorm);

grid on;

xlabel('theta/radian');

ylabel('amplitude/dB');

axis([-2.0 2.0 -50 0]);

subplot(1,2,2);

pfft=fftshift(fft(w,256));

pfftmag=abs(pfft);

pfftmagnorm=pfftmag/max(max(pfftmag)); pfftdB=20*log10(pfftmagnorm);

pfftdBnorm=20*log10(pfftmagnorm);

plot(linspace(-pi/2,pi/2,256),pfftdBnorm); grid on;

xlabel('theta/radian');

ylabel('FFT_amplitude/dB');

axis([-2.0 2.0 -50 0]);

(2)仿真结果

相关文档
最新文档