clc;
clear all;
close all;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 初始化 %%%%%%%%%%%%%%%%%%%%%%%%
lambda=1;
d=lambda/2; % 阵元间距离,取为入射波长的一半
N=500; % 采样快拍数
DOA=[-45,-35,-25,0,10,20,40];
% DOA=[-20,10];
SignalNum=length(DOA); % 入射信号数量
ULA_ratio1=3; % 线阵1间距与d的倍率
ULA_ratio2=4; % 线阵2间距与d的倍率
M1=ULA_ratio2; % 线阵1阵元数量
M2=2*ULA_ratio1-1; % 线阵2阵元数量
M=M1+M2; % 总阵元数
SNR=0;
Fc=[2*10^3,3*10^3,4*10^3,5*10^3,6*10^3,7*10^3,8*10^3]; % 入射信号频率
fs=20*10^3;
% Fc=[2*10^3,2*10^3,2*10^3,2*10^3,2*10^3,2*10^3,2*10^3]; % 相干入射信号频率
thetatest=(-90*pi/180:1*pi/180:90*pi/180); % theta角度搜索范围
thetanum=length(thetatest);
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%信号生成%%%%%%%%%%%%%%%%%%%%%%%
T_Vector=(1:N)/fs;
mm=[0 3 4 6 8 9 12 16 20];
A1=zeros(M1,SignalNum);
A2=zeros(M2,SignalNum);
A3=zeros(length(mm),SignalNum);
SignalVector1=zeros(SignalNum,N);
SignalVector2=zeros(SignalNum,N);
SignalVector3=zeros(SignalNum,N);
%%%%%%构造线阵1信号
% for k1=1:SignalNum
% A1(:,k1)=exp(-1j*(0:M1-1)'*2*pi*d*sin(DOA(k1)*pi/180)/lambda);
% SignalVector1(k1,:)=exp(1j*2*pi*Fc(k1).*T_Vector); %信号
% end
% Xt1=A1*SignalVector1;
%
% %%%%%%构造线阵2信号
% for k2=1:SignalNum
% A2(:,k2)=exp(-1j*(1:M2)'*2*pi*d*sin(DOA(k2)*pi/180)/lambda);
% SignalVector2(k2,:)=exp(1j*2*pi*Fc(k2).*T_Vector); %信号
% end
% Xt2=A2*SignalVector2;
%%%%%%%构造非均匀线阵信号
for k3=1:SignalNum
A3(:,k3)=exp(-1j*mm'*2*pi*d*sin(DOA(k3)*pi/180)/lambda);
SignalVector3(k3,:)=exp(1j*2*pi*Fc(k3).*T_Vector); %信号
end
Xt3=A3*SignalVector3;
%%%% 信号加噪
% for m1=1:M1
% Xt1(m1,:)=awgn(Xt1(m1,:),SNR,'measured');
% end
% for m2=1:M1
% Xt2(m2,:)=awgn(Xt2(m2,:),SNR,'measured');
% end
for m3=1:length(mm)
Xt3(m3,:)=awgn(Xt3(m3,:),SNR,'measured');
end
%%%%%%%%%%
% %%%%%%%%%%%%%%% 原文方法 S_MUSIC 算法 %%%%%%%%%%%%%%%%%%%%%%%
%%%
R=Xt3*Xt3'/N; %%%%
Vecter_R=R(:);
%% -M1*M2:1:M1*M2 字典对应信息 %%%%%%%%%%
r=Vecter_R([7,54,35,6,5,53,4,14,3,2,22,12,1,20,30,10,19,38,28,69,37,46,67,78,55]);
MM=(length(r)+1)/2;
Rx1=zeros(MM,MM);
RX=cell(1,MM);
for t=1:MM
RX{1,t}=r(t:MM-1+t)*r(t:MM-1+t)';
end
for tt=1:MM
Rx1=Rx1+RX{1,tt};
end
Rx=Rx1/MM;
%%%%%%%%%%-----特征值分解----%M%%%%%%%%%%%
[V, D] = eig(Rx); % X*V = V*D
DD = diag(D); % 对角阵变矢量
[DD idx] = sort(DD, 'descend'); % 按从大往小排序特征值
Un = V(:, 1:MM-SignalNum); % 噪声子空间
Us = V(:, MM-SignalNum+1 : end); % 信号子空间
e1=[1,zeros(1,MM-1)].';
sigm_n=min(DD); % 最小特征值作为噪声的估计
sigm_n1=mean(DD((SignalNum+1:M),1)); % 特征值均值
I=eye(M);
Pmusic=zeros(length(thetatest),1);
for t=1:length(thetatest)
aa=exp(1j*2*pi*sin(thetatest(t))*(0:MM-1)'*d/lambda);
Pmusic(t)=1/abs((aa'*Un)*(Un'*aa));
end
%%%
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%%%%%%%%%%%%%%%%%%% 改进算法 稀疏求解 %%%%%%%%%%%%%%%%%%%%%%%
%%%%%%
%%%%%%
%%%%计算对应字典的接收矢量
Position=[1 0 0 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0 1 ]; % 阵元位置信息
for p=0:length(Position)-1 % 平移次数
temp=bitand(Position(p+1:end),Position(1:end-p));
for q=1:length(temp)
if(temp(q)==1)
qq=length(find(Position(1:q)==0)); % 平移阵列前面0的个数
pp=length(find(Position(1:q+p)==0)); % 固定线阵前面0个数
rr1(p+1)=Xt3(p+q-pp,:)*Xt3(q-qq,:)'/N;
break;
end
end
end
R=Xt3*Xt3'/N;
Vecter_R=R(:);
%%% -M1*M2:1:M1*M2 字典对应信息 %%%%%%%%%%
rr1=rr1(end-8:-1:1).';
%% 稀疏求解
for k4=1:thetanum
% Dict(:,k4)=exp(-1j*(MM-1:-1:-MM+1)'*2*pi*d*sin(thetatest(k4))/lambda);
Dict(:,k4)=exp(-1j*(MM-1:-1:0)'*2*pi*d*sin(thetatest(k4))/lambda);
end
% rr(MM)
beita=sqrt(rr1(MM)^2-norm(rr1,2)^2/length(rr1));
cvx_begin
variable bb(thetanum,1);
minimize(norm(bb,1));
subject to
Temp=rr1-Dict*bb;
norm(Temp,2)<=beita;
cvx_end
%%%%%%
%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure;
plot(thetatest.*180/pi,Pmusic,'b');
title('S-MUSIC');
figure;
plot(thetatest.*180/pi,bb);
title('稀疏表示');
beita
没有合适的资源?快使用搜索试试~ 我知道了~
基于MATLAB实现的互质阵列中稀疏表示理论完成DOA估计算法+使用说明文档.rar
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共3个文件
m:2个
md:1个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 111 浏览量
2024-05-23
21:04:23
上传
评论
收藏 7KB RAR 举报
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的互质阵列中稀疏表示理论完成DOA估计算法+使用说明文档.rar 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 3 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
IT狂飙
- 粉丝: 4785
- 资源: 2656
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)