MUSIC算法是一种基于子空间分解的频谱方法,通过对信号子空间进行分析,能够准确地估计出多个信号的到达方向。
MUSIC(Multiple Signal Classification)算法概述
Matlab文档-MUSIC Super-Resolution DOA Estimation
Wiki-MUSIC (algorithm)
MUSIC算法是一种基于在阵列上观察到的传感器协方差矩阵的特征值分解的高分辨率方向搜索算法。MUSIC 属于基于子空间的方向搜索算法家族。
MUSIC的基本原理可以概括为:根据传感器阵列可以得到到达矢量(arrival vector) a(ω),多个目标的到达矢量组成到达矢量矩阵 A,根据多个通道的接受信号得到样本传感器协方差矩阵,从样本传感器协方差矩阵中估计传感器协方差矩阵 Rx,计算特征向量得到信号子空间 Us 和噪声子空间 Un 的基。 ω ,因此任意一个到达矢量 a(ω) 和噪声子空间的基正交。遍历 ω ,当 ω 和待检测目标角度一致时 ∣aH(ω)UN∣ 得到最小值。
信号模型
假设存在 p 个目标和 M 个传感器(包括MIMO得到的虚拟通道)
x(n)=As(n)+n(n)
A=[a(ω)1,a(ω)2,...a(ω)p]
s(n)=[s1(n),s2(n),...,sp(n)]′
- x(n): M×1 矩阵传感器接收到的(离散)信号,是信号处理时的已知量
- A: M×p 矩阵,到达矢量(arrival vector)矩阵,,由每个目标的导向矢量组合而成
- s(n): p×1 矩阵,表示信号源的信号,假设不同信号源的信号互不相关
- n(n): M×1 矩阵,噪声,假设噪声之间和噪声与信号之间都互不相关
到达矢量
到达矢量用于表示
a(θ)=1e−jλ2πdsin(θ)e−jλ2πd2sin(θ)⋮e−jλ2πd(M−1)sin(θ)
信号子空间与噪声子空间
计算自相关矩阵
Rxx=E{xxH}=N1n=1∑Nx(n)x(n)H
将式 (1) 代入得:
Rxx=E{(As(n)+n(n))(As(n)+n(n))H},s(n)与n(n)不相关=ARssAH+σ2I
可见 Rxx 为厄尔米特(Hermitian)矩阵,令其特征值分解为:
Rxx=UΣUH
其中 U为特征向量矩阵,每一列为一个特征向量, U=[v1,v2,...,vM], Σ为特征值矩阵(对角线上为特征向量对应的特征值,其余位置为0)。
由于 rank(ARssAH)=p<M ,对构建有效信号 ARssAH 做出主要贡献的特征向量实际上只有 p 个,其余特征向量张成噪声子空间。 将 代入 得到:
RxxUHRxxUΣΣ=ARssAH+σ2UUH=UHARssAHU+σ2IM×M=diag(α12,...,αp2,0,...,0)+σ2IM×M=diag(α12+σ2,...,αp2+σ2,σ2,...,σ2)
当信噪比较高时,可以从取出 p个特征值较大的特征向量组成 Us=[v1,v2,...,vp],上下几个特征值较小的特征向量组成 Un=[vp+1,...,vM]。分别可以张成信号子空间 US和噪声子空间 Un 。用 [Us,Un]替换 U可以得到:
Rxx=[Us,Un]Σ[Us,Un]HRxxUn=[Us,Un]Σ[0I]RxxUn=σ2Un
Rxx=ARssAH+σ2UUHRxxUn=ARssAHUn+σ2Un
由(8)和(9)得: ARssAHUn=0,即
AHUn=0
也就是说任意一个目标对应的到达矢量 a(ωp)都与噪声特征向量矩阵 Un 正交。
aH(ω)Un=0,a(ω)∈A
MUSIC伪谱(MUSIC pseudospectrum)
根据式(11),我们可以遍历可能的角度,从而搜索搜索所有与噪声子空间正交的到达向量。为了进行搜索,MUSIC构建了一个依赖于到达角度的功率表达式,称为MUSIC伪谱:
PMUSIC(ω)=∣∣a(ω)HUn∣∣2aH(ω)a(ω)=aH(ω)UnUnHa(ω)aH(ω)a(ω)