资源简介

利用L1-SVD算法对信号进行稀疏重构,并且得到DOA估计,在信噪比低及信号相距很近时同样具有很好的效果

资源截图

代码片段和文件信息


clear; clc; close all;
%% Parameter defination
j = sqrt(-1);
C = 3e8;
Fc = 300e6;           %载波频率为100MHz
lamda = C/Fc;         %波长为1
Nsensor = 8;         %阵元数目
Nsample = 200;      %信号采样长度
Nsnapshot = Nsample;%快拍数
Nsource = 2;          %假设信源数已知
d = lamda/2;          %阵元间距为半波长

source_doa=[10 60];%两个信号的入射角度相差10度
Rxx = zeros(NsensorNsnapshot);
w = [0.10.1];                    %来波信号的频率 
SNR =[10 10];
for i=1:Nsnapshot;     %信号的幅度随机产生,保证信号之间是不相关的
    signal0=sqrt(10.^(SNR(1)/10))*randn(1)*exp(j*w(1)*(i-1));  %信噪比是15dB
    signal1=sqrt(10.^(SNR(2)/10))*randn(1)*exp(j*w(2)*(i-1));  %信噪比是30dB
    noise=1/sqrt(2);                       %噪声功率为0dB
    x(:i)=signal0*exp(j*2*pi*1/2*sin(source_doa(1)*pi/180)*[0:Nsensor-1]‘)+...
           signal1*exp(j*2*pi*1/2*sin(source_doa(2)*pi/180)*[0:Nsensor-1]‘)+...
           noise*(randn(Nsensor1)+j*randn(Nsensor1));
  %表示接收信号,且噪声的幅度和相位随机产生,保证噪声与信号之间是不相关的
end
%%------用L1-SVD准则恢复原始信号 xx为恢复得到的信号-------
%%稀疏基矩阵为:角度估计精度为0.1度
Searching_doa = -90:1:90;
theta_len = length(Searching_doa);                 %角度参量搜索长度
A = zeros(Nsensortheta_len);  %初始化稀疏基矩阵
for m

评论

共有 条评论