您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > MVDR算法matlab程序
clcclearallcloseall%%常量定义Freqs=1.6e9;%工作频率c=3e8;%光速lamda=c/Freqs;%波长d=0.5*lamda;%单元间距M=16;%天线阵元数fs=2e6;%采样频率pd=10;%快拍数%%模型建立%--------------第一个干扰模型--------------------thetaJ1=20*pi/180;%干扰方向FreqJ1=5e5;%第一个干扰的频率J1NR=sqrt(10^(60/10));J1one=J1NR*exp(j*(2*pi*FreqJ1*(1:1:pd)/fs));%1*pd%--------------第二个干扰模型--------------------ThetaJ2=60*pi/180;%干扰方向FreqJ2=6e5;%第二个干扰的频率J2NR=sqrt(10^(60/10));J2one=J2NR*exp(j*(2*pi*FreqJ2*(1:1:pd)/fs));%1*pd%--------------信号模型--------------------ThetaS=30*pi/180;FreqS=7e5;SNR=sqrt(10^(40/10));Sone=SNR*exp(j*(2*pi*FreqS*(1:1:pd)/fs));%1*pd%--------------空域处理-------------------------I1=zeros(M,1);I2=zeros(M,1);IS=zeros(M,1);forn=1:MI1(n)=exp(j*2*pi*(n-1)*d*sin(thetaJ1)/lamda);I2(n)=exp(j*2*pi*(n-1)*d*sin(ThetaJ2)/lamda);IS(n)=exp(j*2*pi*(n-1)*d*sin(ThetaS)/lamda);endJ1=I1*J1one;J1=J1.';J2=I2*J2one;J2=J2.';%------------产生噪声-------------------------noise=sqrt(1/2)*randn(pd,M)+j*sqrt(1/2)*randn(pd,M);%------------产生接收信号-------------------------XX=J1+noise+J2;%%MVDR算法Rxx=zeros(M,M);Rxx=(XX.'*(XX.')')/pd;%M*M维detaS=IS;Wmvdr=inv(Rxx)*detaS*inv(detaS'*inv(Rxx)*detaS);%MVDR算法%%直线阵布阵p=-pi/2:pi/180:pi/2;forjj=1:1:length(p)%空间角度扫描w_scan=zeros(M,1);scan=p(jj);forn=1:1:Mw_scan(n)=exp(j*2*pi*(n-1)*d*sin(scan)/lamda);end%空间导向矢量1*MFmvdr(jj)=abs(Wmvdr'*w_scan);end%%画出方向图Fmax=max(max(Fmvdr));Fa=Fmvdr./Fmax;Fa=20*log10(Fa);figure(1);plot(180*p/pi,Fa,'b-')
本文标题:MVDR算法matlab程序
链接地址:https://www.777doc.com/doc-1281832 .html