Capon 波束形成matlab仿真(附源代码) 下载本文

内容发布更新时间 : 2024/5/28 11:30:01星期一 下面是文章的全部内容请认真阅读。

18030031 杜华贵 Capon波束形成

阵列N=16, 信号?0?-30?,干扰为?1?60?,?2?19?,?3?45?,干扰功率分别为:40dB,35dB,50dB。Capon波束形成后的方向图和功率谱如下:

18030031 杜华贵

为了比较接收数据直接估计噪声协方差矩阵和利用干扰+噪声估计协方差矩阵的Capon

波束形成的差异,进行如下仿真:

可以看出利用干扰+噪声估计协方差矩阵的方向图性能较优于接收数据直接估计噪声协方差矩阵的方向图。 代码: clc; clear all ; close all; ima=sqrt(-1);

element_num=8; %阵元数

d_lamda=1/2; %阵元间距与波长的关系 theta=-90:0.5:90; %范围 theta0=-30; %来波方向 theta1=60; %干扰方向1 theta2=19; %干扰方向2 theta3=45; %干扰方向3

18030031 杜华贵 L=1000; %采样单元数 for i=1:L;

amp0=10*randn(1);%信号的幅度随机产生,保证信号之间是不相关的 amp1=100*randn(1);%输入阵列的噪声 amp2=sqrt(10^3.5)*randn(1);%输入阵列的噪声 amp3=sqrt(10^5)*randn(1);%输入阵列的噪声 ampn=3;%噪声

x(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')+... amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')+... amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')+... amp3*exp(ima*2*pi*1/2*sin(theta3*pi/180)*[0:element_num-1]')+... ampn*(randn(element_num,1)+ima*randn(element_num,1)); end

Rx=1/L*x* x'; R=inv(Rx);

steer=exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]'); w=R*steer/(steer'*R*steer);êpon最优权矢量 for j=1:length(theta);

a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:element_num-1]'); f(j)=w'*a; p(j)=1/(a'*R*a); end

F=20*log10(abs(f)/(max(abs(f))));

P=20*log10(abs(p)/(max(abs(p))));%此处是功率的对数形式 figure; % subplot(121)

plot(theta,F),grid on,hold on plot(theta0,-80:0,'.') plot(theta1,-80:0,'.') plot(theta2,-80:0,'.')