作者:桂。

时间:2017-09-19  19:41:40

链接:http://www.cnblogs.com/xingshansi/p/7553746.html


前言

MUSIC(Multiple Signal Classification)算法通常用来进行到达角(DOA,Direction of arrival)估计。

一、MUSIC原理简介

根据前文的分析,模型依然建立在窄带信号的基础上:

X为接收阵元,F为入射信号,a为对应的导向矢量,W为噪声。可直接记作矩阵形式

通常借助相关矩阵求解:

实际上相关矩阵无法得出,一般基于随机信号1)平稳性;2)遍历性 假设,近似估计相关矩阵:

对相关矩阵进行特征值/奇异值分解

假设1)噪声与信号不相关;2)噪声为白噪声。 借助得到的特征向量,即可利用MUSIC算法求解角度:

具体原理可以参考子空间算法一文

二、相干情况分析

以两个信号为例

求相关矩阵

如果两个信号的相关系数ρ满足:

1)ρ=0,则认为两信号不相关;

2)0<ρ<1,则认为两信号相关;

3)ρ = 1,则两信号相干。

当两信号相干时,ρ=1,对于相关矩阵:

秩为1,这就造成了秩亏,对于子空间等空间谱估计算法便不再适用。

也可以换个角度理解:

两信号相干时,有,此时

b称为广义阵列流行或广义导向矢量。可以看出它通常并不对应两个来波方向,而是二者的矢量叠加方向。一般的思路是希望将秩亏缺加以恢复。

三、特征值与峰值的关系

一种观点是,相关矩阵可分解为:

且对于导向矢量有:

那么对于导向矢量a(theta):

aHS∑SHa

不应该受∑特征值的影响而改变?为什么多个信号的时候,不同的theta对应的a(theta),可以令峰值近似相等?或者说,为什么是对应真实角度时能量最大/最小?

aHS∑SHa可进一步拆解为:

aHS∑SHa = aHA[,0;0,]AHa+M

M为阵元个数,对于任意方向均为常数,可忽略不计。 以两个信号为例,简化后的表达式为:

仿真验证:信号分别来自[-45°,45°],功率近似相等:

幅度近似为2倍关系:

对于一维测向,假设坐标:

并认为一维线阵摆放在y轴上,对应的偏差为(打印为真实值,theta为理论值)

%目标坐标
dis = 400e3;%相距400km
theta = 50/180*pi ;%theta-[-50 50]
phi = 10/180*pi;
pos_tar = [dis*tan(phi), dis*sin(theta), dis*cos(theta)];
%阵元坐标
pos =[0 0 0;
0 0.1 0];%相隔10cm
AB = [0 0.1 0];
AC = pos_tar;
BC = pos_tar-pos(2,:);
90-acos((sum(AB.^2)+sum(AC.^2)-sum(BC.^2))/2/sqrt(sum(AB.^2))/sqrt(sum(AC.^2)))/pi*180

空间谱专题10:MUSIC算法的更多相关文章

  1. 空间谱专题02:波束形成(Beamforming)

    作者:桂. 时间:2017-08-22  10:56:45 链接:http://www.cnblogs.com/xingshansi/p/7410846.html 前言 本文主要记录常见的波束形成问题 ...

  2. 空间谱专题13:联合解算DOA(ML/AP)

    其中作者:桂. 时间:2017-10-16  07:51:40 链接:http://www.cnblogs.com/xingshansi/p/7675380.html 前言 主要记录二维测向中,分别利 ...

  3. 数据结构笔记01:编程面试过程中常见的10大算法(java)

    以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java的角度看问题,包含下面的这些概念: ...

  4. 高并发大流量专题---10、MySQL数据库层的优化

    高并发大流量专题---10.MySQL数据库层的优化 一.总结 一句话总结: mysql先考虑做分布式缓存,过了缓存后就做mysql数据库层面的优化 1.mysql数据库层的优化的前面一层是什么? 数 ...

  5. 数据挖掘10大算法(1)——PageRank

    1. 前言 这系列的文章主要讲述2006年评出的数据挖掘10大算法(见图1).文章的重点将偏向于算法的来源以及算法的主要思想,不涉及具体的实现.如果发现文中有错,希望各位指出来,一起讨论. 图1 来自 ...

  6. php面试专题---10、网络协议考点

    php面试专题---10.网络协议考点 一.总结 一句话总结: 网络的考点其实就是这些:常见状态码,常见协议,osi七层模型,http和https 1.HTTP/1.1中,状态码200.301.304 ...

  7. 算法专题 | 10行代码实现的最短路算法——Bellman-ford与SPFA

    今天是算法数据结构专题的第33篇文章,我们一起来聊聊最短路问题. 最短路问题也属于图论算法之一,解决的是在一张有向图当中点与点之间的最短距离问题.最短路算法有很多,比较常用的有bellman-ford ...

  8. 面试10大算法汇总——Java篇

    问题导读 1 字符串和数组 2 链表 3 树 4 图 5 排序 6 递归 vs 迭代 7 动态规划 8 位操作 9 概率问题 10 排列组合 11 其他 -- 寻找规律 英文版 以下从Java角度解释 ...

  9. 面试10大算法汇总+常见题目解答(Java)

    原文地址:http://www.lilongdream.com/2014/04/10/94.html(为转载+整理) 以下从Java的角度总结了面试常见的算法和数据结构:字符串,链表,树,图,排序,递 ...

随机推荐

  1. BZOJ4034 [HAOI2015]树上操作 树链剖分

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4034 题意概括 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三 ...

  2. BZOJ1260 [CQOI2007]涂色paint 动态规划

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1260 题意概括 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂 ...

  3. Visual Studio 代码补全功能有时候会失效的原因

    大部分时候失效是因为你的代码有的地方有错误!!

  4. fmod()函数 (对浮点数取模)

    头文件:#include <math.h> fmod() 用来对浮点数进行取模(求余),其原型为:    double fmod (double x); 设返回值为 ret,那么 x = ...

  5. C# 重启程序本身

    private static void Restart() { Thread thtmp = new Thread(new ParameterizedThreadStart(run)); object ...

  6. COGS.264.数列操作(分块 单点加 区间求和)

    题目链接 #include<cmath> #include<cstdio> #include<cctype> #include<algorithm> u ...

  7. POST数据中有特殊符号导致数据丢失的解决方法

    使用Ajax传送数据时,当数据中存在加号(+).连接符(&)或者百分号(%)时,服务器端接收数据时会丢失数据.分析Ajax传送数据的格式与Javascript的语法: 1. "+&q ...

  8. java三大特性--继承

    定义: 继承就是子类继承父类的特征和行为,使得子类具有父类的各种属性和方法,使得子类具有父类相同的行为. 继承的好处: 有效实现代码复用,避免重复代码的出现. 让类与类之间产生了关系,是多态的前提. ...

  9. Jenkins和maven自动化构建java程序

    转自:http://www.cnblogs.com/gao241/archive/2013/04/08/3008380.html,版权归原作者所有. Jenkins是一个非常出色的持续集成服务器,本文 ...

  10. 通过ZwQuerySystemInformation获取EPROCESS

    google一下,发现很多都是直接通过ZwQuerySystemInformation通过11号获取进程结构SYSTEM_PROCESS_INFORMATION,对于详细的进程信息表达不够.所以想要通 ...