自适应波束形成与Matlab程序代码注解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)仿真结果