lcmv.m
来自「这是我师兄做的空间谱估计的内容。这只是一小部分程序」· M 代码 · 共 40 行
M
40 行
%lcmv波束形成
clear;clc;
la=1;
d=la/2;
thita1=90;
thita2=100;
fid1=2*pi*d*sin((90-thita1)*2*pi/360)/la;
fid2=2*pi*d*sin((90-thita2)*2*pi/360)/la;
afid1=[1;exp(j*fid1);exp(j*2*fid1);exp(j*3*fid1);exp(j*4*fid1);exp(j*5*fid1)];
afid2=[1;exp(j*fid2);exp(j*2*fid2);exp(j*3*fid2);exp(j*4*fid2);exp(j*5*fid2)];
c=[afid1,afid2];
g=[1,0]';
for thitaN=1:180
thita=thitaN*2*pi/360;
fi=2*pi*d*sin((pi/2)-thita)/la;
w0=2*pi*0.1;
N=100;
n=1:1000;
s1=cos(w0*n/N);
pn=0.5/100;
s1=s1+pn*randn(1,1000);
ad=[1;exp(j*fi);exp(j*2*fi);exp(j*3*fi);exp(j*4*fi);exp(j*5*fi)];
a=ad;
Rxx=zeros(6,6);
for i=1:N
s=(s1(i));
Rxx=(a*s)*(a*s)'+Rxx;
end
Rxx=Rxx/N+0.0001*eye(6,6);
wopt=inv(Rxx)*c*(inv((c)'*inv(Rxx)*c))*g;
pcbf(1,thitaN)=wopt'*Rxx*wopt;
pcbf(1,thitaN)=20*log(abs(pcbf(1,thitaN)));
end
thitaN=1:180;
plot(thitaN,pcbf(1,thitaN));
title('lcmv准则波束形成');
xlabel('空间角度');
ylabel('幅度db');
axis([0,180]);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?