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

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

程序可运行,有图有真相,MATLAB得事先装好cvx优化包。

clc;

clear;

close;

lambda=1;

d=lambda/2; %阵元间距离,取为入射波长的一半

K=500; %采样快拍数

theta=[-5 10]; %入射角度

SignalNum=length(theta); %入射信号数量

Nnum=5; %%阵列阵元数量

SNR1=-10; %%信噪比

Aratio=sqrt(10^(SNR1/10)); %信号幅度与噪声幅度比值,并假设信号幅度为1

Fs=5*10^3; %信号频率

Fc=[2*10^3,5*10^3,8*10^3]; %入射信号频率

fs=20*10^3;

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);

%%构造A矩阵

for k2=1:SignalNum

for k1=1:Nnum %1:12

At(k1)=exp(j*(k1-1)*2*pi*d*sin(theta(k2)*pi/180)/lambda);

A(k1,k2)=At(k1);

end

end

%%%构造信号矩阵和噪声矩阵

for k1=1:SignalNum

SignalVector(k1,:)=exp(j*2*pi*Fc(k1).*T_Vector); %信号

end

Xtt=A*SignalVector;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值