自适应波束形成与Matlab程序代码注解Word文档格式.docx
《自适应波束形成与Matlab程序代码注解Word文档格式.docx》由会员分享,可在线阅读,更多相关《自适应波束形成与Matlab程序代码注解Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
gridon;
xlabel('
theta/radian'
)
ylabel('
amplitude/dB'
title([num2str(element_num)'
阵元均匀线阵方向图'
'
来波方向为'
num2str(theta0*180/pi)'
度'
]);
holdon;
figure
(2)
plot(theta,patterndBnorm,'
r'
axis([-1.51.5-500]);
(2)仿真结果
A.来波方向为0°
不归一化
归一化
B.来波方向为45°
不归一化
C.随着阵元数的增加,波束宽度变窄,分辨力提高,仿真图如下:
非归一化
不归一化
归一化
2.波束宽度与波达方向及阵元数的关系
element_num1=16;
element_num2=128;
element_num3=1024;
lambda=0.1;
d=0.5*lambda;
theta=0:
0.5:
90;
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));
figure
plot(theta,fai,'
theta,psi,'
b'
theta,beta,'
g'
theta'
widthinradians'
title('
波束宽度与达波方向及阵元数目的关系'
legend('
N=16'
N=128'
N=1024'
(2)仿真结果
结果
3.当阵元间距
时,会出现栅瓣,导致空间模糊
(1)仿真结果
非归一化
4.类似于时域滤波,天线方向图是最优权的傅立叶变换
source_num=1;
d_lambda=0.5;
w=exp(imag*2*pi*d_lambda*sin(theta0)*[0:
a=exp(imag*2*pi*d_lambda*sin(theta(j))*[0:
subplot(1,2,1);
plot(theta,patterndBnorm);
axis([-2.02.0-500]);
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);
FFT_amplitude/dB'
5.最大信噪比准则方向图和功率谱
element_num=8;
%间距为半波长
theta=-90:
%扫描围
%来波方位
theta1=20;
%干扰方向
L=512;
%采样点数
fori=1:
L
amp0=10*randn
(1);
amp1=200*randn
(1);
ampn=1;
s(:
i)=amp0*exp(imag*2*pi*0.5*sin(theta0*pi/180)*[0:
j(:
i)=amp1*exp(imag*2*pi*0.5*sin(theta1*pi/180)*[0:
n(:
i)=ampn*exp(randn(element_num,1)+imag*randn(element_num,1));
Rs=1/L*s*s'
;
%信号自相关矩阵
Rnj=1/L*(j*j'
+n*n'
%干扰+噪声的自相关矩阵
[V,D]=eig(Rs,Rnj);
%(Rs,Rnj)的广义特征值和特征向量
[D,I]=sort(diag(D));
%特征向量排序
Wopt=V(:
I(8));
%最优权矢量
a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:
f(j)=Wopt'
p(j)=a'
*Rs*a+a'
*Rnj*a;
F=20*log10(abs(f)/max(max(abs(f))));
P=20*log10(abs(p)/max(max(abs(p))));
subplot(1,2,1)
plot(theta,F);
plot(theta0,-80:
0,'
.'
plot(theta1,-80:
theta/0'
FindB'
max-SNR方向图'
axis([-9090-800]);
plot(theta,P,'
功率indB'
max-SNR功率谱'
6.ASC旁瓣相消----MSE准则
(1)matlab程序
M=32;
%辅助天线数目
%阵元间距
theta0=-30;
theta1=60;
%采样单元数
s=zeros(1,512);
%预划分一个区域
forii=1:
amp0=1*randn
(1);
%信号的幅度随机产生,保证信号之间是不相关的
ampn=1;
jam(:
ii)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:
M-1]'
)+ampn*(randn(M,1)+imag*randn(M,1));
%干扰+噪声
s(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180))+amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180))+ampn*(randn(1,1)+imag*randn(1,1));
%接收信号(信号+干扰+噪声)
s0(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180));
Rx=1/L*jam*jam'
r_xd=1/L*jam*s'
Wopt=pinv(Rx)*r_xd;
delta=s0-(s-Wopt'
*jam);
delta1=abs(mean(delta.^2)-(mean(delta)).^2);
forjj=1:
a=exp(imag*2*pi*d_lambda*sin(theta(jj))*[0:
f(jj)=Wopt'
plot(theta*180/pi,F);
plot(theta0,-50:
plot(theta1,-50:
theta/°
'
F/dB'
MSE准则下的方向图'
axis([-9090-500]);
7.线性约束最小方差(LCMV)准则
%阵元数
%阵元间距与波长的关系
%搜索围
%三个信号源的来波方向
theta1=30;
theta2=60;
amp1=100*randn
(1);
amp2=10*randn
(1);
ampn=10;
x(:
i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:
)+amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:
)+amp2*exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:
)+ampn*(randn(element_num,1)+imag*randn(element_num,1));
Rx=1/L*x*x'
steer1=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:
steer2=exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:
steer3=exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:
C=[steer1steer2steer3];
F=[101]'
%把三个方向都作为来波方向
w=inv(Rx)*C*(inv(C'
*inv(Rx)*C))*F;
a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:
f(j)=w'
p(j)=1/(a'
*inv(Rx)*a);
F=20*log10(abs(f)/(max(max(abs(f)))));
plot(theta0,-20:
plot(theta1,-20:
plot(theta2,-20:
Caponbeamforming方向图'
axis([-9090-200]);
P=20*log10(abs(p)/(max(max(abs(p)))));
subplot(1,2,2)
plot(theta,P);
P/dB'
Caponbeamforming功率谱'
8.Caponbeamforming
L=1000;
amp2=200*randn
(1);
ampn=3;
x(:
R=inv(Rx);
steer=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:
w=R*steer/(steer'
*R*steer);
*R*a);
plot(theta2,-50:
axis([-9090-900]);
9.不同方法估计协方差矩阵的Capon波束形成
theta1=50;
L=1024;
amp1=50*randn
(1);
ampn=0.5;
i)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:
i)=ampn*exp(imag*2*pi*randn
(1)*[0:
Rx=1/L*(s+j+n)*(s+j+n)'
%接收信号自相关矩阵
Rnj=1/L*(j+n)*(j+n)'
%%干拢+噪声的自相关矩阵
e=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:
Wopt_Rx=inv(Rx)*e/(e'
*inv(Rx)*e);
%采用接收信号的权矢量
Wopt_Rnj=inv(Rnj)*e/(e'
*inv(Rnj)*e);
%采用干拢+噪声信号的权矢量
f1(j)=Wopt_Rx'
f2(j)=Wopt_Rnj'
F1=20*log10(abs(f1)/max(max(abs(f1))));
F2=20*log10(abs(f2/max(max(abs(f2)))));
figure;
plot(theta,F1,theta,F2,'
F(1,2)/dB'
不同方法估计协方差矩阵的Capon波束形成'
axis([-9090-600]);
10.多点约束的Capon波束形成和方向图
0.3:
theta2=50;
Rx=zeros(element_num,element_num);
%产生协方差矩阵
amp1=10*randn
(1);
amp2=50*randn
(1);
ampn=0.5*randn
(1);
%噪声的幅度随机产生,保证噪声与信号之间是不相关的
j(:
)+ampn*exp(imag*2*pi*randn
(1)*[0:
)+j(:
i);
%表示接收信号
w=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:
P=20*log10(abs(