作者:桂。

时间: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. Codeforces Round #321 (Div. 2) E - Kefa and Watch

    题目大意:给你一个由0-9组成的字符串,有m个询问,两种操作,第一种将l到r的字符全部变成c,第二种问l到r这段 字符串的循环节是不是d. 思路:首先我们要知道怎么判断字符串的循环节的长度是不是d,如 ...

  2. 第六章|网络编程-socket开发

    1.计算机基础 作为应用开发程序员,我们开发的软件都是应用软件,而应用软件必须运行于操作系统之上,操作系统则运行于硬件之上,应用软件是无法直接操作硬件的,应用软件对硬件的操作必须调用操作系统的接口,由 ...

  3. Python4 - 文件操作

    对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 文件的内存对象-包含 文件名.字符集.大小.在硬盘上的起止位置... 通过句柄对文件进行操作 关闭文件 open 方法 open()函数打开一个 ...

  4. Codeblocks 常用快捷键

    编辑部分: Ctrl + A:全选Ctrl + C:复制Ctrl + X: 剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + S:保存Ctrl + Y / Ctrl + Shift + Z ...

  5. Django 面向对象orm

    django支持三种风格的模型继承: 1. 抽象类继承: 父类继承自models.Model, 但不会在数据库中生成相应的数据表.父类的属性列存储在其子类的数据表中 2. 多表继承: 多表继承的每个类 ...

  6. PHP文本处理 中文汉字字符串 转换为数组

    在PHP中我们可以通过str_split 将字符串转换为数组,但是却对中文无效,下面记录一下个人将中文字符串转换为数组的方法. 用到的PHP函数 mb_strlen — 获取字符串的长度 functi ...

  7. rabbitmq使用(三)

    Publish/Subscribe In the previous tutorial we created a work queue. The assumption behind a work que ...

  8. BZOJ 5381 or & Codeforces 623E Transforming Sequence DP+NTT

    两道题题意都是一样的 不过$CF$的模数是$10^9+7$ 很简单的分析发现$A_i$项一定要有一个之前没有出现过的二进制位才能满足条件 考虑$DP$来做 设$f_{i,j}$表示$i$个数用了二进制 ...

  9. Oracle 增加 修改 删除 列

    语法结构如下: alter table tablename add (column datatype [default value][null/not null],….); alter table t ...

  10. db2 codepage

    首先分两个层面,DB2 CODEPAGE和OS CODEPAGE(DB2SET DB2CODEPAGE相当于设定了当前实例的OS的CODEPAGE) Linux系统查看CODEPAGE的方法:在终端输 ...