7. %线性约束最小方差(LCMV)准则 clc;
clear all ; close all; ima=sqrt(-1);
element_num=8; %阵元数
d_lamda=1/2; %阵元间距与波长的关系 theta=-90:0.5:90-0.3; %搜索范围
theta0=0; %三个信号源的来波方向 theta1=30; theta2=60;
L=512; %采样单元数 for i=1:L;
amp0=10*randn(1); amp1=100*randn(1); amp2=10*randn(1); ampn=10;
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]')+... ampn*(randn(element_num,1)+ima*randn(element_num,1));
end
Rx=1/L*x* x';
steer1=exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]') steer2=exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]') steer3=exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]') C=[steer1 steer2 steer3];
F=[1 0 1]'; %把三个方向都作为来波方向 w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F; 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'*inv(Rx)*a); end
f=10*log10(abs(f)/(max(max(abs(f))))); figure(1) subplot(121)
plot(theta,f),grid on,hold on plot(theta0,-20:0,'.') plot(theta1,-20:0,'.') plot(theta2,-20:0,'.') xlabel('theta/o'); ylabel('F/dB');
title('Capon beamforming方向图')
axis([-90 90 -20 0]);%可为x轴和y轴设置一个极限范围 P=10*log10(abs(p)/(max(max(abs(p))))); subplot(122)
plot(theta,P),grid on,hold on plot(theta0,-20:0,'.') plot(theta1,-20:0,'.') plot(theta2,-20:0,'.') xlabel('theta/o'); ylabel('功率/dB');
title('Capon beamforming功率谱') 仿真图如下:
8. êpon beamforming Clc;
clear all ; close all; ima=sqrt(-1);
element_num=8; %阵元数
d_lamda=1/2; %阵元间距与波长的关系 theta=-90:0.5:90; %范围 theta0=0; %来波方向 theta1=20; %干扰方向 theta2=60; %干扰方向 L=1000; %采样单元数
for i=1:L;
amp0=10*randn(1);%信号的幅度随机产生,保证信号之间是不相关的 amp1=200*randn(1); amp2=200*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]')+... 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(max(abs(f)))));
P=20*log10(abs(p)/(max(max(abs(p)))));%此处是功率的对数形式 Figure;
subplot(121)
plot(theta,F),grid on,hold on plot(theta0,-50:0,'.') plot(theta1,-50:0,'.') plot(theta2,-50:0,'.') xlabel('theta/o'); ylabel('F/dB');
title('Capon beamforming方向图') axis([-90 90 -50 0]); subplot(122)
plot(theta,P),grid on xlabel('theta/o'); ylabel('功率/dB');
title('Capon beamforming功率谱') 仿真图如下: