目录

  • 一、Root-MUSIC算法
    • 1.1 经典MUSIC算法的困难
    • 1.2经典MUSIC到Root-MUSIC的转变
    • 1.3Root-MUSIC算法的原理介绍
      • 1.3.1 关于PMUSIC−1(ϕ)P^{-1}_{MUSIC}(\phi)PMUSIC−1​(ϕ)多项式的零点问题
    • 1.4 Root MUSIC算法的步骤
  • 二、Smooth-MUSIC
    • 2.1 算法描述
  • 参考文献(仅写文章的标题,以做记录)

注:本博文为本人阅读论文、文章后的原创笔记,未经授权不允许任何转载或商用行为,否则一经发现本人保留追责权利。有问题可留言联系,欢迎指摘批评,共同进步!!!

一、Root-MUSIC算法

1.1 经典MUSIC算法的困难

  1. 精度受到PMUSIC(ϕ)P_{MUSIC}(\phi)PMUSIC​(ϕ)函数离散化的限制;
  2. 需要人为确定MMM个最大峰值,或需要理解性搜索算法来确定峰值,这会有很高的计算复杂度

1.2经典MUSIC到Root-MUSIC的转变

经典MUSIC算法是估计输入数据流频谱的技术(频谱估计技术),它的最终产物是PMUSIC(ϕ)P_{MUSIC}(\phi)PMUSIC​(ϕ)函数。
Root-MUSIC算法是一种基于模型的参数估计技术,我们使用一个接收信号的模型作为DOA的函数。此处的模型就是旋转矢量,DOA则是模型中的一个参数。基于模型和接收的数据,我们就能估计这个参数。

1.3Root-MUSIC算法的原理介绍

定义:
z=ejkdcosϕz=e^{jkd\ cos\phi} z=ejkd cosϕ
则:
s(ϕ)=[1,z,z2,⋯,zN−1]T,⇒qmHs=∑n=0N−1qmn∗zn=qm(z),\begin{aligned} \bm{s(\phi)} &= [1,z,z^2,\cdots, z^{N-1}]^T, \\ \Rightarrow \mathbf{q^H_ms} &=\sum_{n=0}^{N-1}q^*_{mn}z^n=q_m(z), \end{aligned} s(ϕ)⇒qmH​s​=[1,z,z2,⋯,zN−1]T,=n=0∑N−1​qmn∗​zn=qm​(z),​
由经典MUSIC算法可知,寻找的方向ϕ\phiϕ的条件是使得qm⊥s(ϕ)\mathbf{q_m} \perp \mathbf{s(\phi)}qm​⊥s(ϕ),m=(M+1),⋯,N,m=(M+1),\cdots,N,m=(M+1),⋯,N,即,我们要寻找的就是多项式qm(z)=0q_m(z)=0qm​(z)=0的根
首先,我们要找到这个多项式:
PMUSIC−1(ϕ)=sH(ϕ)QnQnHs(ϕ)=sH(ϕ)Cs(ϕ)其中,C=QnQHn⇒PMUSIC−1(ϕ)=∑m=0N−1∑n=0N−1znCmnz−m=∑m=0N−1∑n=0N−1zn−mCmn\begin{aligned} P^{-1}_{MUSIC}(\phi) &= \mathbf{s}^H(\phi) \mathbf{Q_nQ}^H_{\mathbf{n}} \mathbf{s(\phi)} \\ &= \mathbf{s}^H(\phi) \mathbf{Cs(\phi)} \\ 其中,\mathbf{C} &= \mathbf{Q_n}\mathbf{Q^H}_n\\ \Rightarrow P^{-1}_{MUSIC}(\phi) &= \sum^{N-1}_{m=0}\sum^{N-1}_{n=0}z^nC_{mn}z^{-m} = \sum^{N-1}_{m=0}\sum^{N-1}_{n=0}z^{n-m}C_{mn} \end{aligned} PMUSIC−1​(ϕ)其中,C⇒PMUSIC−1​(ϕ)​=sH(ϕ)Qn​QnH​s(ϕ)=sH(ϕ)Cs(ϕ)=Qn​QHn​=m=0∑N−1​n=0∑N−1​znCmn​z−m=m=0∑N−1​n=0∑N−1​zn−mCmn​​

为什么能写成上述的下标形式呢?看下面具体的例子:
假设N=3,M=2
那么:
s(ϕ)=[z0,z1,z2]T,sH(ϕ)=[z−0,z−1,z−2],Qn=[qm11,qm12,qm13]T,QnH=[qm11,qm12,qm13]\begin{aligned} \mathbf{s(\phi)} &= [z^0, z^1, z^2]^T, \\ \mathbf{s^H(\phi)} &= [z^{-0}, z^{-1}, z^{-2}],\\ \mathbf{Q_n} &= [q_{m_{11}}, q_{m_{12}}, q_{m_{13}}]^T,\\ \mathbf{Q^H_n} &= [q_{m_{11}}, q_{m_{12}}, q_{m_{13}}] \end{aligned} s(ϕ)sH(ϕ)Qn​QnH​​=[z0,z1,z2]T,=[z−0,z−1,z−2],=[qm11​​,qm12​​,qm13​​]T,=[qm11​​,qm12​​,qm13​​]​
C=QnQnH=[qm112qm11qm12qm11qm13qm12qm11qm122qm12qm13qm13qm11qm13qm12qm132]\begin{aligned} \mathbf{C} &= \mathbf{Q_nQ^H_n} \\ &= \begin{bmatrix} q^2_{m_{11}} & q_{m_{11}}q_{m_{12}} & q_{m_{11}}q_{m_{13}}\\ q_{m_{12}}q_{m_{11}} & q^2_{m_{12}} & q_{m_{12}}q_{m_{13}}\\ q_{m_{13}}q_{m_{11}} & q_{m_{13}}q_{m_{12}} & q^2_{m_{13}} \end{bmatrix} \end{aligned} C​=Qn​QnH​=⎣⎡​qm11​2​qm12​​qm11​​qm13​​qm11​​​qm11​​qm12​​qm12​2​qm13​​qm12​​​qm11​​qm13​​qm12​​qm13​​qm13​2​​⎦⎤​​
PMUSIC−1=sH(ϕ)Cs(ϕ)=[z0z1z2][qm112qm11qm12qm11qm13qm12qm11qm122qm12qm13qm13qm11qm13qm12qm132][z0z−1z−2]\begin{aligned} P^{-1}_{MUSIC} &= \mathbf{s^H(\phi)}\mathbf{C}\mathbf{s(\phi)} \\ &= \begin{bmatrix} z^0 & z^1 & z^2\\ \end{bmatrix} \begin{bmatrix} q^2_{m_{11}} & q_{m_{11}}q_{m_{12}} & q_{m_{11}}q_{m_{13}}\\ q_{m_{12}}q_{m_{11}} & q^2_{m_{12}} & q_{m_{12}}q_{m_{13}}\\ q_{m_{13}}q_{m_{11}} & q_{m_{13}}q_{m_{12}} & q^2_{m_{13}} \end{bmatrix} \begin{bmatrix} z^0 \\ z^{-1} \\ z^{-2}\\ \end{bmatrix} \end{aligned} PMUSIC−1​​=sH(ϕ)Cs(ϕ)=[z0​z1​z2​]⎣⎡​qm11​2​qm12​​qm11​​qm13​​qm11​​​qm11​​qm12​​qm12​2​qm13​​qm12​​​qm11​​qm13​​qm12​​qm13​​qm13​2​​⎦⎤​⎣⎡​z0z−1z−2​⎦⎤​​

设l=n−ml=n-ml=n−m,则可以把上述两个累加运算减少到一个,其中−(N−1)≤l≤(N−1)-(N-1) \le l \le (N-1)−(N−1)≤l≤(N−1):
⇒PMUSIC−1(ϕ)=∑l=−(N−1)(N−1)Clzl,其中Cl=∑n−m=lCmn\begin{aligned} \Rightarrow P^{-1}_{MUSIC}(\phi) &= \sum^{(N-1)}_{l=-(N-1)}C_lz^l, \\ 其中C_l &= \sum_{n-m=l}C_{mn} \end{aligned} ⇒PMUSIC−1​(ϕ)其中Cl​​=l=−(N−1)∑(N−1)​Cl​zl,=n−m=l∑​Cmn​​

注意,CmnC_{mn}Cmn​的下标中,mmm是列数,nnn是行数.同样假设N=3,M=2N=3,M=2N=3,M=2
Cmn=[C00C10C20C01C11C21C02C12C22]C−2=C20,C−1=C10+C21,C0=C00+C11+C22,C1=C01+C12,C2=C02C_{mn}= \begin{bmatrix} C_{00} & C_{10} & C_{20}\\ C_{01} & C_{11} & C_{21}\\ C_{02} & C_{12} & C_{22} \end{bmatrix} \\ C_{-2}=C_{20}, C_{-1} = C_{10}+C_{21},\\ C_{0} = C_{00}+C_{11}+C_{22},\\ C_{1} = C_{01}+C_{12}, C_{2} = C_{02} Cmn​=⎣⎡​C00​C01​C02​​C10​C11​C12​​C20​C21​C22​​⎦⎤​C−2​=C20​,C−1​=C10​+C21​,C0​=C00​+C11​+C22​,C1​=C01​+C12​,C2​=C02​
显然,ClC_lCl​就是矩阵C\mathbf{C}C中第nnn个对角线的所有元素相加的结果。

1.3.1 关于PMUSIC−1(ϕ)P^{-1}_{MUSIC}(\phi)PMUSIC−1​(ϕ)多项式的零点问题

  • 首先明确,PMUSIC−1(ϕ)P^{-1}_{MUSIC}(\phi)PMUSIC−1​(ϕ)是个复杂度为(2N−2)(2N-2)(2N−2)、有(2N−2)(2N-2)(2N−2)个零点的多项式,但是并不是所有的零点都是独立的。
  • 如果zzz是多项式PMUSIC−1(ϕ)P^{-1}_{MUSIC}(\phi)PMUSIC−1​(ϕ)的零点之一,那么它的共轭倒数1z∗\frac{1}{z^*}z∗1​也一定是零点。
  • 因此,多项式PMUSIC−1(ϕ)P^{-1}_{MUSIC}(\phi)PMUSIC−1​(ϕ)的零点是成对出现的。

重要的注意点:

  • 我们的目的是要得到信号角度ϕ\phiϕ,从zzz的定义可以得知,只有相位包含了我们想要的角度信息。且zzz和1z∗\frac{1}{z^*}z∗1​关于单位圆对称的,有相同的相位,因此最终寻找时只需要找单位圆内的(N−1)(N-1)(N−1)个零点就行。
  • 在没有噪声影响时,zzz和1z∗\frac{1}{z^*}z∗1​相等,且都位于单位圆上;
  • 在有噪声影响时,所要寻找的M个零点就是单位圆内离单位圆最近的M个零点zm(m=1,⋯,M)z_m(m=1, \cdots, M)zm​(m=1,⋯,M)

1.4 Root MUSIC算法的步骤

  1. 使用式R=1K∑k=1KxkxkH\mathbf{R}=\frac{1}{K}\sum_{k=1}^{K}\mathbf{x_kx_k}^HR=K1​∑k=1K​xk​xk​H来估计相关矩阵R\mathbf{R}R,再对其进行特征分解:R=QΛQH\mathbf{R}=\mathbf{Q\Lambda Q}^HR=QΛQH;

  2. 分解矩阵Q\mathbf{Q}Q得到矩阵Qn\mathbf{Q_n}Qn​,它对应于矩阵Q\mathbf{Q}Q中的(N−M)(N-M)(N−M)个最小的特征向量。再得到矩阵C=QnQnH\mathbf{C}=\mathbf{Q_nQ^H_n}C=Qn​QnH​;

  3. 通过将矩阵C\mathbf{C}C中的第lll个对角线元素相加,得到ClC_lCl​;

  4. 找到多项式的(N−1)(N-1)(N−1)零点

  5. 处于单位圆内的(N−1)(N-1)(N−1)根中,找出MMM个最靠近单位圆的零点zm(m=1,⋯,M)z_m(m=1, \cdots, M)zm​(m=1,⋯,M)

  6. 得到DOA:

注:Root-MUSIC算法只关心根的相位,而在幅度上的误差是没有关系的。

二、Smooth-MUSIC

从经典的MUSIC算法中,有一个矩阵A\mathbf{A}A是对角阵,这是因为我们假设了入射信号都是不相关的。但现实中信号往往相互联系,因此在去除相关性的限制后,就要使用Smooth-MUSIC算法来解决问题。

信号间一旦有相关性,就会减小信号相关矩阵Rs\mathbf{R_s}Rs​的秩,导致噪声特征值的数量比(N−M)(N-M)(N−M)更大

2.1 算法描述

  1. 将阵列的NNN个元素分解到LLL个重叠的子阵列中,每个子阵列有PPP个元素。例如,0号子阵列包括0到(P-1)个阵列元素,1号子阵列包括1到P个阵列元素。因此L=N−P+1L=N-P+1L=N−P+1;
  2. 使用每个子阵列上的数据,产生LLL个相关矩阵Rl(l=0,⋯,L−1)R_l(l=0, \cdots, L-1)Rl​(l=0,⋯,L−1),每个相关矩阵的维度都是P×PP \times PP×P;
  3. MUSIC算法就使用的相关矩阵如下:
    RL=1L∑l=0L−1Rl\mathbf{R_L}=\frac{1}{L} \sum_{l=0}^{L-1}\mathbf{R}_l RL​=L1​l=0∑L−1​Rl​

这个方法能够检测最多高达(L−1)(L-1)(L−1)个数量信号的DOA,这是因为信号相关矩阵RL\mathbf{R_L}RL​的分量又变成满秩的了。

参考文献(仅写文章的标题,以做记录)

[1]. Direction of Arrival Estimation

DOA算法1:MUSIC算法(二)相关推荐

  1. 经典算法研究系列:二、Dijkstra 算法初探

    经典算法研究系列:二.Dijkstra 算法初探  July   二零一一年一月 ====================== 本文主要参考:算法导论 第二版.维基百科. 写的不好之处,还望见谅. 本 ...

  2. R语言 lightgbm 算法优化:不平衡二分类问题(附代码)

    来源:大数据文摘本文约10000字,建议阅读10分钟本文以kaggle比赛的数据为例,为你讲解不平衡二分类问题的解决方法. 本案例使用的数据为kaggle中"Santander Custom ...

  3. 人工智能算法通俗讲解系列(二):逻辑回归

    2019独角兽企业重金招聘Python工程师标准>>> 今天,我们介绍的机器学习算法叫逻辑回归.它英语名称是Logistic Regression,简称LR. 跟之前一样,介绍这个算 ...

  4. leetcode算法题--不同的二叉搜索树

    原题链接:https://leetcode-cn.com/problems/unique-binary-search-trees/ 相关题目:leetcode算法题--不同的二叉搜索树 II 1.递归 ...

  5. 【数据挖掘】K-Means 二维数据聚类分析 ( K-Means 迭代总结 | K-Means 初始中心点选择方案 | K-Means 算法优缺点 | K-Means 算法变种 )

    文章目录 K-Means 二维数据 聚类分析 数据样本及聚类要求 二维数据曼哈顿距离计算 K-Means 算法 步骤 第一次迭代 : 步骤 ( 1 ) 中心点初始化 第一次迭代 : 步骤 ( 2 ) ...

  6. 双指针算法之快慢指针(二):力扣【寻找链表的第N个点】leetcode-876、19

    双指针算法之快慢指针(二):力扣[寻找链表的第N个点]leetcode-876.19 看完本文,可以去解决力扣的 867 题和 19 题 以往参考:双指针算法之快慢指针(一):力扣[判断链表是否有环] ...

  7. 交换排序图解_排序算法学习分享(二)交换排序---冒泡排序与快速排序

    排序,也称为排序算法,可以说是我们学习算法的过程中遇到的第一个门槛,也是实际应用中使用得较为频繁的算法,我将自己对所学的排序算法进行一个归纳总结与分享,如有错误,欢迎指正! (一)排序的分类 排序算法 ...

  8. 区块链教程Fabric1.0源代码分析流言算法Gossip服务端二

    区块链教程Fabric1.0源代码分析流言算法Gossip服务端二 Fabric 1.0源代码笔记 之 gossip(流言算法) #GossipServer(Gossip服务端) 5.2.commIm ...

  9. 机器学习——人工神经网络之BP算法编程(python二分类数据集:马疝病数据集)

    目录 一.理论知识回顾 1.神经网络模型 2.明确任务以及参数 1)待估参数: 2)超参数: 3)任务 3.神经网络数学模型定义 1)激活函数 ​ 2)各层权重.阈值定义 3)各层输入输出定义 4.优 ...

  10. 聚类算法学习指南(二)

    http://hi.baidu.com/catfool/blog/item/c06bec3931a0efcad4622524.html 聚类算法学习指南(二) 2009-05-06 20:49 下图 ...

最新文章

  1. java虚拟机线程调优与底层原理分析_Java并发编程——多线程的底层原理
  2. @2021高考生,用 Python 分析专业“钱景”
  3. SystemCenter2012SP1实践(5)SCVMM管理HyperV
  4. 6条 Tips 为你照亮 GitHub 寻宝之路
  5. ECSHOP 如何去掉配送区域
  6. select、poll和epoll
  7. mos 控制交流_小米智能排插的220V交流电压信号的开关控制电路设计
  8. 资产管理界的风控大师-贝莱德BlackRock集团
  9. 为什么说Mobileye最辉煌的5年就是落后的5年
  10. R语言加载xlsl软件包
  11. border-shadow
  12. 浪潮计算机密码,计算机BIOS通用密码大全
  13. SIFT算法关键点定位中对尺度空间DoG函数进行曲线拟合求极值点的数学过程
  14. 适合旅游时住的各地旅馆 超级便宜,绝对实用,谢谢分享!有好东西大家共享!
  15. 华为鸿蒙 OS 2.0 系统流畅度实测:差距到底多大?
  16. 关于keil-C51中code、idata以及xdata
  17. MPI C++ jacobi迭代
  18. CSS之咖啡菜单网页设计
  19. 在3G中实现LBS的定位技术和GIS系统
  20. 中国版GDPR《个人信息安全规范》解读:国内企业如何保障信息安全?

热门文章

  1. STM32电机库(ST-MC-Workbench)学习记录——电流采样参数设置
  2. android 位移传感器 坐标,鼠标的工作原理及位移测量的实现方法
  3. SPSS中介效应与调节效应插件Process简介(1)
  4. 控制沟通-监控过程组
  5. CSDN如何上传文件
  6. java 2 实用教程部分课后答案
  7. Matlab基础知识
  8. 深入浅出设计模式(十四):23种设计模式概念总结
  9. 计算机设计大赛答辩提问,电子设计大赛答辩常见问题合集
  10. sqlserver2008彻底卸载