基于压缩感知的doa估计程序

基于压缩感知的doa估计程序

ID:34754214

大小:48.61 KB

页数:3页

时间:2019-03-10

基于压缩感知的doa估计程序_第1页
基于压缩感知的doa估计程序_第2页
基于压缩感知的doa估计程序_第3页
资源描述:

《基于压缩感知的doa估计程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、程序可运行,有图有真相,MATLAB得事先装好cvx优化包。clc;clear;close;lambda=1;d=lambda/2;%阵元间距离,取为入射波长的一半K=500;%采样快拍数theta=[-510];%入射角度SignalNum=length(theta);%入射信号数量Nnum=5;%%阵列阵元数量SNR1=-10;%%信噪比Aratio=sqrt(10^(SNR1/10));%信号幅度与噪声幅度比值,并假设信号幅度为1Fs=5*10^3;%信号频率Fc=[2*10^3,5*10^3,8*10^3];%入射信号频率fs=20*10^3

2、;thetatest=(-90*pi/180:1*pi/180:90*pi/180);%theta角度搜索范围thetanum=length(thetatest);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算信号协方差矩阵%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T_Vector=(1:K)/fs;A=zeros(Nnum,SignalNum);SignalVector=zeros(SignalNum,K);%NoiseVector=zeros(Nnum,K);Xt=zeros(Nnum,K);%%构

3、造A矩阵fork2=1:SignalNumfork1=1:Nnum%1:12At(k1)=exp(j*(k1-1)*2*pi*d*sin(theta(k2)*pi/180)/lambda);A(k1,k2)=At(k1);endend%%%构造信号矩阵和噪声矩阵fork1=1:SignalNumSignalVector(k1,:)=exp(j*2*pi*Fc(k1).*T_Vector);%信号endXtt=A*SignalVector;%NoiseVector=sqrt(0.5)*(randn(Nnum,K)+j*randn(Nnum,K));fo

4、rkk=1:NnumXt(kk,:)=awgn(Xtt(kk,:),SNR1,'measured');endRx=(Xt*Xt')./K;Rs=(SignalVector*SignalVector')./K;sigm_s=Rs(:,1);%%%%%%%%%%%%%%%%%%%%%%%%%%%-----特征值分解----%M%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[V,D]=eig(Rx);%X*V=V*DDD=diag(D);%对角阵变矢量%[DDidx]=sort(DD,'descend');%按从大往小排

5、序特征值Un=V(:,1:Nnum-SignalNum);%噪声子空间Us=V(:,Nnum-SignalNum+1:end);%信号子空间e1=[1,zeros(1,Nnum-1)].';sigm_n=min(DD);%最小特征值^作为的估计I=eye(Nnum);fork1=1:thetanumAtemp0=exp(j*2*pi*d/lambda*sin(thetatest(k1))*[0:Nnum-1]).';S(k1)=1/(Atemp0'*Un*Un'*Atemp0);endfigure(1)plot(thetatest.*180./pi,

6、10*log10(abs(S)/(max(abs(S)))));%输出功率(dB)gridon;gridon;title('Music')xlabel('方位角(度)')ylabel('输出功率(dB)')%%%%%%%%%%%%%%%%%%%%%%%%%%----构造--G--selection矩阵%%%%%%%%%%%%%%M=Nnum;G=zeros(M*M,2*M-1);J0=eye(M);G(:,M)=J0(:);%fork=1:M-1fori=1:M-1J=[zeros(M-i,i),eye(M-i);zeros(i,i),zeros(i

7、,M-i)];G(:,M-i)=J(:);J1=J';G(:,M+i)=J1(:);end%%%%%%----Bthita------%%%%Bthita=zeros(2*M-1,thetanum);Bt=zeros(1,2*M-1);fork2=1:thetanum%相当于文章thita1---thitaQfork1=1:MBt(1,k1+M-1)=exp(-j*(k1-1)*2*pi*d*sin(thetatest(k2))/lambda);Bt(1,k1)=exp(j*(M-k1)*2*pi*d*sin(thetatest(k2))/lambd

8、a);Bthita(:,k2)=Bt';endend%%%----u---K稀疏矢量----u=zeros(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。