写点题外话,最近,一直在研究Malioutouv的

这是他毕业论文摘出来的一篇论文,他的毕业论文下载地址:D. M. Malioutov. (2003, Jul.) A Sparse Signal Reconstruction Perspective for Source Localization With Sensor Arrays. M.S. thesis, Mass. Inst. Technol., Cambridge, MA. [Online]. Available: http://ssg.mit.edu/~dmm/publications/malioutov_MS_thesis.pdf

虽然毕业论文还是有一些错误,但是对这篇论文的解释比较详尽,有看不懂的地方可以回本科论文里面找,基本都能解释清楚。

其实我是想说,人和人的天资是天差地别的,最近对压缩感知的学习,让我深深地为自己的理解能力和数学基础感到忧虑。上一篇LP球,我是占个位置,因为我还不是很清楚LP与稀疏性的关系,留着以后想清楚了再补充吧。

//正文

论文中的方法说明

示意图:

步骤:

1.获得观测值(与MUSIC算法得到Y=AS+N类似)

2.对观测值进行奇异值分解(SVD())

3.对观测值和稀疏信号进行降维

 观测值(阵元数*快拍数)->(阵元数*信元数)

 稀疏信号(网格数(可能存在的位置数,如果你认为从1:180都有可能存在,那他的网格数就是181,对应文中的N_θ)*快拍数)->(网格数*信元数)

 由于信元数远远小于快拍数(在多快拍的情况下),所以大大减小了这两个矩阵的维度

 【这里想快拍数到底什么意思想了很久,现在认为快拍就是对信号进行若干次采样,采样次数多了,得到的结果比较准确,就好比检测产品合格率,你不能拿到一个好的产品就认为这一批产品全是好的,也不能拿到一个坏的就认为这批产品全坏了,因此要选取大量的样本,才能保证结果的准确性。这里暂时理解到这里,回头跟我导讨论一下再来补充】

4.计算Ssv每一行的L2范数

 这块卡了很久,没看明白‘spatial index i’到底什么意思?空间索引?很方,当时觉得怎么出现了空间这个问题,后来看了几遍才看明白,i表示的是

N_θ,也就是可能出现点的位置。也就是说如果我们是从0:180°以1°为步长画网格,那我们的i就是(1:1:181)的意思,就是位置,他要是用location表达,可能我就不会看这么费劲,还是要好好学英语啊

5.用约束条件进行最优化

其中约束条件用框图中的直接写是解不出来的,我试了。。。(好尴尬)

要用附录中的说明方法解

其中Ysv就是我们降维后的矩阵(阵元数*信源数),已知

"1"代表(网格数*1)的全1向量

p,q,r,Ssv是变量

pqr都是网格数的实变量

Ssv是(网格数*信源数)的复变量

lamda的选值很复杂,严格来讲应该一次一次试,通过迭代得到一个结果最稳定最适合这个模型的值,当然我是随便写的,2

贴代码:

%2017.6.6
%author:Lola
%功能:实现稀疏矩阵l1-SVDDOA估计
%reference:A Sparse Signal Reconstruction Perspective for Source
%Localization With Sensor Arrays [Malioutov]
clc
clear all
close allM = 8;                                                                 %阵元数
K = 2;                                                                 %信源数
L= 100;                                                           %快拍数
d_lamda =0.5;                                                  %阵元间距半波长
fc=[2*10^3 ,5*10^3];                                         %信号频率
fs=[20*10^3];                                                      %采样频率
theta1 = [0 15];                                               %信号来向
snr=20;                                                              %信噪比
for k=1:Ks=sqrt(10.^(snr/10))*[randn(K,L)+1j*2*pi*fc'*[1:L]/fs];                         %信号(信源数*快拍数)for kk=1:MA(kk,k)=exp(-1j*2*pi*(kk-1)*d_lamda*sin(theta1(k)*pi/180));                               %阵列流型(阵元数*信源数)end
end
X=A*s;
Y=awgn(X,snr);                                                 %加入高白噪声,得到观测信号
Searching_doa=-90:90;
for m=1:length(Searching_doa)AA(:,m) = exp(-1j*(0:M-1)*d_lamda*2*pi*sin(Searching_doa(m)*pi/180));  %构造一度为网格间距的完备基矩阵
end
Y=X;                  %得到观测数据矩阵
Dk1=eye(K);
Dk2 = zeros(K,L-K);
Dk = [Dk1,Dk2].';
[U,D,V] = svd(Y);       %进行奇异值分解
Ysv = Y*V'*Dk;
Sumvector=ones(length(Searching_doa),1);
cvx_begin quiet
variables p q
variables r(length(Searching_doa))
variable SSV1(length(Searching_doa),K)  complex;
expression xsv(length(Searching_doa),1)
expressions Zk(M,K) complex
minimize(p+2*q);
subject toZk = Ysv-AA*SSV1;
Zvec = vec(Zk);         %把矩阵转化为向量
norm(Zvec) <=p;         %第一个不等式约束
Sumvector'*r<=q;        %第二个不等式约束for i=1:length(Searching_doa)       %第三个不等式约束xsv(i,:)=norm(SSV1(i,:));
end
for i=1:length(Searching_doa)xsv(i)<=r(i);
end
cvx_end
power=10*log10(abs(SSV1(:,1))/max(abs(SSV1(:,1))));
plot(Searching_doa,power,'r');
xlabel('DOA/degree');
ylabel('PowerdB');

继续好好学数学

论文不给附录我肯定是不知道那个问题要用二阶锥解得,就算告诉我用二阶锥方法解我也不知道怎么解。这个仿真从研究到写到调试用了差不多五个小时。。。理解能力太差,受到了深深的打击。。。

L1_SVD方法的稀疏矩阵的DOA估计相关推荐

  1. 宽带信号doa matlab,宽带信号DOA估计处理方法研究

    学术研究 DOI:10. 3969/j. issn. 1001-3824. 2012. 06. 008 宽带信号 DOA 估计处理方法研究 收稿日期:2012-06-14 闫 杰1,周 围1,2,杜晓 ...

  2. 基于毫米波的DOA估计方法浅谈

    关于毫米波信道的几种建模 <存在相位校准误差的毫米波大规模天线阵列角度估计算法研究(2018)>一文中,将毫米波建模为"带有相位误差的宽带DOA"进行处理. 原因做几点 ...

  3. 【通信】基于非相干信号子空间(ISM)的宽带源DOA估计方法

    1 简介 智能天线技术作为未来移动通信系统的关键技术之一,是当前通信领域的研究重点.智能天线系统通过天线阵列扩展了空间域,充分利用了空间扩展所提供的资源,能有效提高系统容量.能提供更大带宽和降低多径效 ...

  4. 阵列信号DOA估计系列(一).概述

    阵列信号DOA估计系列 之 概述 1.从相位差说起 2.空间相位差的来源 3.从"空间相位差"到"DOA估计" 3.1 时域 3.2 空域 3.3 DOA估计 ...

  5. 【阵列信号处理】DOA估计算法

    DOA估计中的ESPRIT算法 ESPRIT算法时一种利用子空间旋转法估计DOA参数的方法,其算法的基本思想是将阵列在结构上分成两个完全一致的子列,两个子列相应阵元偏移的距离相等,也就是说阵列的阵元被 ...

  6. 基于空间平滑MUSIC算法的相干信号DOA估计(1)

    空间平滑MUSIC算法(1) 1. 前言 在上一篇博客中有提到,当多个入射信号相干时,传统MUSIC算法的效果就会不理想.具体原因是多个入射信号相干时,有部分能量就会散发到噪声子空间,使得MUSIC算 ...

  7. 阵列信号DOA估计系列(三).MVDR/Capon波束形成(附代码)

    标题阵列信号DOA估计系列(三).MVDR/Capon波束形成 MVDR算法得基本思路是在频域/空间形成一个窄带滤波器,从此出发,可见MVDR不但对噪声有抑制作用,来对观察频率/角度之外的信号有抑制作 ...

  8. 阵列信号DOA估计系列(二).导向矢量与空间FFT(附代码)

    阵列信号DOA估计系列(二).导向矢量 在DOA估计里面,经常会看到导向矢量这个名词,也有的地方叫方向矢量,方向矩阵,基本上都是array steering vector 的翻译. 本文首先对均匀线阵 ...

  9. 基于空间平滑MUSIC算法的相干信号DOA估计(2)

    空间平滑MUSIC算法(2) 继续上一篇博客,继续讲后向空间平滑和前/后向空间平滑MUSIC算法. 基于空间平滑MUSIC算法的相干信号DOA估计(1) 2.3 后向空间平滑算法 后向空间平滑更准确的 ...

最新文章

  1. 智能老旧模糊照片修复——C++实现GFPGAN模型推理
  2. django项目更新图片后,页面图片不更新
  3. uCOS-II核心算法分析(μCOS-Ⅱ)
  4. php实战搭建博客,yii2项目实战-博客管理平台的搭建
  5. 信息奥赛一本通(1180:分数线划定)——插入排序
  6. Unity3D之NGUI基础6.1:按钮交互
  7. Postgre使用笔记之按id顺序排序意义
  8. 同一页面中加载两个相同的控件,结果只能出来一个,这是为什么
  9. 《Java技术》预备作业总结
  10. Vue3 非常好用的中文文档以及一份 Vue 3 新文档学习笔记
  11. python井字格游戏_python实现简单井字棋游戏
  12. 如何查看 Codeigniter 版本号?
  13. Atlas 200 DK登录密码 制卡安装DDK和lib
  14. 基于单片机的智能花盆
  15. python如何画点_python matplotlib 如何画点 而不要画点之间的连线?
  16. java用下拉框实现出生日期_纯JS实现出生日期[年月日]下拉菜单效果
  17. 【Shader与ShaderToy 】画一个五角星
  18. 阿里云服务器|centos查看并发数调优
  19. 怪异的JavaScript系列(三)
  20. Velocity详解及demo

热门文章

  1. 基于C#winform的学生信息管理与成绩评价系统
  2. 报错JDBC Connection [com.mysql.jdbc.JDBC4Connection@184c65da] will not be managed by Spring
  3. PMP项目管理-PMP答题思路
  4. rtmp支持h265推流
  5. ps切图(6)——参考线及辅助
  6. BAT替换文件中指定字符串
  7. JDK、JRE、JVM三者间的联系与区别
  8. CSS一级导航-天蓝色(带阴影)
  9. linux ubuntu配置要求,Ubuntu Server 14.04和Kylin 14.04 Enhanced Release amd64最低硬件配置要求...
  10. word快捷键粘贴不能用