目录
注:本博文为本人阅读论文、文章后的原创笔记,未经授权不允许任何转载或商用行为,否则一经发现本人保留追责权利。有问题可留言联系,欢迎指摘批评,共同进步!!!
一、Root-MUSIC算法
1.1 经典MUSIC算法的困难
- 精度受到 P M U S I C ( ϕ ) P_{MUSIC}(\phi) PMUSIC(ϕ)函数离散化的限制;
- 需要人为确定 M M M个最大峰值,或需要理解性搜索算法来确定峰值,这会有很高的计算复杂度
1.2经典MUSIC到Root-MUSIC的转变
经典MUSIC算法是估计输入数据流频谱的技术(频谱估计技术),它的最终产物是
P
M
U
S
I
C
(
ϕ
)
P_{MUSIC}(\phi)
PMUSIC(ϕ)函数。
Root-MUSIC算法是一种基于模型的参数估计技术,我们使用一个接收信号的模型作为DOA的函数。此处的模型就是旋转矢量,DOA则是模型中的一个参数。基于模型和接收的数据,我们就能估计这个参数。
1.3Root-MUSIC算法的原理介绍
定义:
z
=
e
j
k
d
c
o
s
ϕ
z=e^{jkd\ cos\phi}
z=ejkd cosϕ
则:
s
(
ϕ
)
=
[
1
,
z
,
z
2
,
⋯
,
z
N
−
1
]
T
,
⇒
q
m
H
s
=
∑
n
=
0
N
−
1
q
m
n
∗
z
n
=
q
m
(
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(ϕ)⇒qmHs=[1,z,z2,⋯,zN−1]T,=n=0∑N−1qmn∗zn=qm(z),
由经典MUSIC算法可知,寻找的方向
ϕ
\phi
ϕ的条件是使得
q
m
⊥
s
(
ϕ
)
\mathbf{q_m} \perp \mathbf{s(\phi)}
qm⊥s(ϕ),
m
=
(
M
+
1
)
,
⋯
,
N
,
m=(M+1),\cdots,N,
m=(M+1),⋯,N,即,我们要寻找的就是多项式
q
m
(
z
)
=
0
q_m(z)=0
qm(z)=0的根。
首先,我们要找到这个多项式:
P
M
U
S
I
C
−
1
(
ϕ
)
=
s
H
(
ϕ
)
Q
n
Q
n
H
s
(
ϕ
)
=
s
H
(
ϕ
)
C
s
(
ϕ
)
其
中
,
C
=
Q
n
Q
H
n
⇒
P
M
U
S
I
C
−
1
(
ϕ
)
=
∑
m
=
0
N
−
1
∑
n
=
0
N
−
1
z
n
C
m
n
z
−
m
=
∑
m
=
0
N
−
1
∑
n
=
0
N
−
1
z
n
−
m
C
m
n
\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(ϕ)QnQnHs(ϕ)=sH(ϕ)Cs(ϕ)=QnQHn=m=0∑N−1n=0∑N−1znCmnz−m=m=0∑N−1n=0∑N−1zn−mCmn
为什么能写成上述的下标形式呢?看下面具体的例子:
假设N=3,M=2
那么:
s ( ϕ ) = [ z 0 , z 1 , z 2 ] T , s H ( ϕ ) = [ z − 0 , z − 1 , z − 2 ] , Q n = [ q m 11 , q m 12 , q m 13 ] T , Q n H = [ q m 11 , q m 12 , q m 13 ] \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(ϕ)QnQnH=[z0,z1,z2]T,=[z−0,z−1,z−2],=[qm11,qm12,qm13]T,=[qm11,qm12,qm13]
C = Q n Q n H = [ q m 11 2 q m 11 q m 12 q m 11 q m 13 q m 12 q m 11 q m 12 2 q m 12 q m 13 q m 13 q m 11 q m 13 q m 12 q m 13 2 ] \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=QnQnH=⎣⎡qm112qm12qm11qm13qm11qm11qm12qm122qm13qm12qm11qm13qm12qm13qm132⎦⎤
P M U S I C − 1 = s H ( ϕ ) C s ( ϕ ) = [ z 0 z 1 z 2 ] [ q m 11 2 q m 11 q m 12 q m 11 q m 13 q m 12 q m 11 q m 12 2 q m 12 q m 13 q m 13 q m 11 q m 13 q m 12 q m 13 2 ] [ z 0 z − 1 z − 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(ϕ)=[z0z1z2]⎣⎡qm112qm12qm11qm13qm11qm11qm12qm122qm13qm12qm11qm13qm12qm13qm132⎦⎤⎣⎡z0z−1z−2⎦⎤
设
l
=
n
−
m
l=n-m
l=n−m,则可以把上述两个累加运算减少到一个,其中
−
(
N
−
1
)
≤
l
≤
(
N
−
1
)
-(N-1) \le l \le (N-1)
−(N−1)≤l≤(N−1):
⇒
P
M
U
S
I
C
−
1
(
ϕ
)
=
∑
l
=
−
(
N
−
1
)
(
N
−
1
)
C
l
z
l
,
其
中
C
l
=
∑
n
−
m
=
l
C
m
n
\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)Clzl,=n−m=l∑Cmn
注意, C m n C_{mn} Cmn的下标中, m m m是列数, n n n是行数.同样假设 N = 3 , M = 2 N=3,M=2 N=3,M=2
C m n = [ C 00 C 10 C 20 C 01 C 11 C 21 C 02 C 12 C 22 ] 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 C_{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=⎣⎡C00C01C02C10C11C12C20C21C22⎦⎤C−2=C20,C−1=C10+C21,C0=C00+C11+C22,C1=C01+C12,C2=C02
显然, C l C_l Cl就是矩阵 C \mathbf{C} C中第 n n n个对角线的所有元素相加的结果。
1.3.1 关于 P M U S I C − 1 ( ϕ ) P^{-1}_{MUSIC}(\phi) PMUSIC−1(ϕ)多项式的零点问题
- 首先明确, P M U S I C − 1 ( ϕ ) P^{-1}_{MUSIC}(\phi) PMUSIC−1(ϕ)是个复杂度为 ( 2 N − 2 ) (2N-2) (2N−2)、有 ( 2 N − 2 ) (2N-2) (2N−2)个零点的多项式,但是并不是所有的零点都是独立的。
- 如果 z z z是多项式 P M U S I C − 1 ( ϕ ) P^{-1}_{MUSIC}(\phi) PMUSIC−1(ϕ)的零点之一,那么它的共轭倒数 1 z ∗ \frac{1}{z^*} z∗1也一定是零点。
- 因此,多项式 P M U S I C − 1 ( ϕ ) P^{-1}_{MUSIC}(\phi) PMUSIC−1(ϕ)的零点是成对出现的。
重要的注意点:
- 我们的目的是要得到信号角度 ϕ \phi ϕ,从 z z z的定义可以得知,只有相位包含了我们想要的角度信息。且 z z z和 1 z ∗ \frac{1}{z^*} z∗1关于单位圆对称的,有相同的相位,因此最终寻找时只需要找单位圆内的 ( N − 1 ) (N-1) (N−1)个零点就行。
- 在没有噪声影响时, z z z和 1 z ∗ \frac{1}{z^*} z∗1相等,且都位于单位圆上;
- 在有噪声影响时,所要寻找的M个零点就是单位圆内离单位圆最近的M个零点 z m ( m = 1 , ⋯ , M ) z_m(m=1, \cdots, M) zm(m=1,⋯,M)
1.4 Root MUSIC算法的步骤
-
使用式 R = 1 K ∑ k = 1 K x k x k H \mathbf{R}=\frac{1}{K}\sum_{k=1}^{K}\mathbf{x_kx_k}^H R=K1∑k=1KxkxkH来估计相关矩阵 R \mathbf{R} R,再对其进行特征分解: R = Q Λ Q H \mathbf{R}=\mathbf{Q\Lambda Q}^H R=QΛQH;
-
分解矩阵 Q \mathbf{Q} Q得到矩阵 Q n \mathbf{Q_n} Qn,它对应于矩阵 Q \mathbf{Q} Q中的 ( N − M ) (N-M) (N−M)个最小的特征向量。再得到矩阵 C = Q n Q n H \mathbf{C}=\mathbf{Q_nQ^H_n} C=QnQnH;
-
通过将矩阵 C \mathbf{C} C中的第 l l l个对角线元素相加,得到 C l C_l Cl;
-
找到多项式的 ( N − 1 ) (N-1) (N−1)对零点
-
处于单位圆内的 ( N − 1 ) (N-1) (N−1)个根中,找出 M M M个最靠近单位圆的零点 z m ( m = 1 , ⋯ , M ) z_m(m=1, \cdots, M) zm(m=1,⋯,M)
-
得到DOA:
注:Root-MUSIC算法只关心根的相位,而在幅度上的误差是没有关系的。
二、Smooth-MUSIC
从经典的MUSIC算法中,有一个矩阵 A \mathbf{A} A是对角阵,这是因为我们假设了入射信号都是不相关的。但现实中信号往往相互联系,因此在去除相关性的限制后,就要使用Smooth-MUSIC算法来解决问题。
信号间一旦有相关性,就会减小信号相关矩阵 R s \mathbf{R_s} Rs的秩,导致噪声特征值的数量比 ( N − M ) (N-M) (N−M)更大。
2.1 算法描述
- 将阵列的 N N N个元素分解到 L L L个重叠的子阵列中,每个子阵列有 P P P个元素。例如,0号子阵列包括0到(P-1)个阵列元素,1号子阵列包括1到P个阵列元素。因此 L = N − P + 1 L=N-P+1 L=N−P+1;
- 使用每个子阵列上的数据,产生 L L L个相关矩阵 R l ( l = 0 , ⋯ , L − 1 ) R_l(l=0, \cdots, L-1) Rl(l=0,⋯,L−1),每个相关矩阵的维度都是 P × P P \times P P×P;
- MUSIC算法就使用的相关矩阵如下:
R L = 1 L ∑ l = 0 L − 1 R l \mathbf{R_L}=\frac{1}{L} \sum_{l=0}^{L-1}\mathbf{R}_l RL=L1l=0∑L−1Rl
这个方法能够检测最多高达 ( L − 1 ) (L-1) (L−1)个数量信号的DOA,这是因为信号相关矩阵 R L \mathbf{R_L} RL的分量又变成满秩的了。
参考文献(仅写文章的标题,以做记录)
[1]. Direction of Arrival Estimation