mvdr2.txt
来自「mvdr,程序」· 文本 代码 · 共 28 行
TXT
28 行
function [Pmv,theta]=MVDR(x,f0,d,Nbeam,DL)
% minimum variance distortionless response
% x: the signal received by the array
% d: distance of interelement.
% Nbeam: 波束数 DL: diagonal loading
% revised 2003.5.26 copyright by b.jiang
c=1500;
[M,N]=size(x); %xrow:number of array elements
R=zeros(M,M);
R=x*x'/N;%简易求法,存整个矩阵
%
R=R+eye(M)*DL;%diagonal loading
R=inv(R);%inverse matrix
pos=d*(0:M-1)';
wavenum=2*pi*f0/c;
theta=linspace(-90,90,Nbeam);
Pmv=zeros(1,Nbeam);
for k=1:Nbeam
steerVec=exp(j*wavenum*pos*sin(theta(k)*pi/180));
Pmv(k)=1/abs(steerVec'*R *steerVec);
end
Pmv=Pmv/max(Pmv);
plot(theta,10*log10(Pmv));
axis([-90 90 -60 0]);
xlabel('方位 (度)');
ylabel('功率 (d');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?