注:本博文为本人阅读论文、文章后的原创笔记,未经授权不允许任何转载或商用行为,否则一经发现本人保留追责权利。有问题可留言联系,欢迎指摘批评,共同进步!!!
为什么需要Matrix Pencil算法?
注意到,之前所述的DOA经典算法如MUSIC、ESPRIT算法都需要首先估计出相关矩阵 R \mathbf{R} R。而要估计出这个矩阵是非常消耗计算量的:对于数据向量 x \mathbf{x} x,需要至少 K K K次的快照,并且要求 K > 2 N K>2N K>2N。
算法介绍
Matrix Pencil最初是用于确定系统极点的。
在第
n
n
n个时隙所接收到的信号可以建模为:
x
n
=
∑
m
=
1
M
A
m
z
m
n
+
n
n
x_n=\sum^{M}_{m=1}{\mathbf{A}_mz^n_m+n_n}
xn=m=1∑MAmzmn+nn
其中
z
m
=
e
j
k
d
c
o
s
ϕ
m
△
t
z_m=e^{jkd\ cos{\phi_m}\bigtriangleup t}
zm=ejkd cosϕm△t就是系统的极点(不用记),
n
n
n_n
nn代表加性高斯白噪声。目标就是给定接收信号
x
n
x_n
xn来估计极点
z
m
z_m
zm。
数理基础——广义特征值
存在 λ \lambda λ,使得式 A x = λ B x \mathbf{A x= \lambda Bx} Ax=λBx存在非0解向量,那么 λ \lambda λ就称作矩阵 A \mathbf{A} A对 B \mathbf{B} B的广义特征值;相应的 x \mathbf{x} x是广义特征向量。
- 显然,当 B = E \mathbf{B=E} B=E时,就是普通的求特征值问题;
- 当 B ≠ E \mathbf{B} \neq \mathbf{E} B=E时,就是广义特征值问题。
同理,等式可以化为如下形式:
(
A
−
λ
B
)
x
=
0
(\mathbf{A-\lambda B}) \mathbf{x} =0
(A−λB)x=0
这是个齐次方程组
齐次方程组要有非零解,那么系数矩阵所形成的的行列式必定为0
根据要求,那么使得 d e t ( A − λ B ) = 0 det(\mathbf{A-\lambda B})=0 det(A−λB)=0即可解出广义特征值。
算法原理
与ESPRIT算法相似,Matrix Pencil也需要分解矩阵,它分解的就是接收信号矩阵
X
\mathbf{X}
X. 首先我们定义两个
(
N
−
L
)
×
L
(N-L) \times L
(N−L)×L大小的矩阵
X
0
\mathbf{X_0}
X0和
X
1
\mathbf{X_1}
X1:
X
0
=
[
x
0
x
1
⋯
x
L
−
1
x
1
x
2
⋯
x
L
⋮
⋮
⋱
⋮
x
N
−
L
−
1
x
N
−
L
⋯
x
N
−
2
]
,
X
1
=
[
x
1
x
2
⋯
x
L
x
2
x
3
⋯
x
L
+
1
⋮
⋮
⋱
⋮
x
N
−
L
x
N
−
L
+
1
⋯
x
N
−
1
]
\mathbf{X_0}= \begin{bmatrix} x_0 & x_1 & \cdots & x_{L-1}\\ x_1 & x_2 & \cdots & x_L\\ \vdots & \vdots & \ddots & \vdots\\ x_{N-L-1} & x_{N-L} & \cdots & x_{N-2} \end{bmatrix}, \mathbf{X_1}= \begin{bmatrix} x_1 & x_2 & \cdots & x_L\\ x_2 & x_3 & \cdots & x_{L+1}\\ \vdots & \vdots & \ddots & \vdots\\ x_{N-L} & x_{N-L+1} & \cdots & x_{N-1} \end{bmatrix}
X0=⎣
⎡x0x1⋮xN−L−1x1x2⋮xN−L⋯⋯⋱⋯xL−1xL⋮xN−2⎦
⎤,X1=⎣
⎡x1x2⋮xN−Lx2x3⋮xN−L+1⋯⋯⋱⋯xLxL+1⋮xN−1⎦
⎤
其中,
L
\mathbf{L}
L必须满足的条件是:
{
M
≤
L
≤
N
−
L
N
是偶数
M
≤
L
≤
N
−
L
+
1
N
是奇数
\begin{cases} M \le L \le N-L \qquad N是偶数\\ M \le L \le N-L+1 \quad N是奇数 \end{cases}
{M≤L≤N−LN是偶数M≤L≤N−L+1N是奇数
在Matrix Pencil矩阵中,我们可以得到如下矩阵等式:
X
0
=
Z
1
A
Z
2
,
X
1
=
Z
1
A
Φ
Z
2
,
\begin{aligned} \mathbf{X_0} &= \mathbf{Z_1AZ_2}, \\ \mathbf{X_1} &= \mathbf{Z_1A\Phi Z_2}, \end{aligned}
X0X1=Z1AZ2,=Z1AΦZ2,
其中矩阵
Φ
\mathbf{\Phi}
Φ就是与ESPRIT算法中相同的对角矩阵
Φ
\mathbf{\Phi}
Φ.上面等式中的四个矩阵分别给定为:
Z
1
=
[
1
1
⋯
1
z
1
z
2
⋯
z
M
⋮
⋮
⋱
⋮
z
1
(
N
−
L
−
1
)
z
2
(
N
−
L
−
1
)
⋯
z
M
(
N
−
L
−
1
)
]
(
N
−
L
)
×
M
Z
2
=
[
1
z
1
⋯
z
1
L
−
1
1
z
2
⋯
z
2
L
−
1
⋮
⋮
⋱
⋮
1
z
M
⋯
z
M
L
−
1
]
M
×
L
Φ
=
[
z
1
0
⋯
0
0
z
2
⋯
0
⋮
⋮
⋱
⋮
0
0
⋯
z
M
]
M
×
M
A
=
[
α
1
0
⋯
0
0
α
2
⋯
0
⋮
⋮
⋱
⋮
0
0
⋯
α
M
]
M
×
M
\begin{aligned} \mathbf{Z_1} &= \begin{bmatrix} 1 & 1 & \cdots & 1\\ z_1 & z_2 & \cdots & z_M\\ \vdots & \vdots & \ddots & \vdots\\ z^{(N-L-1)}_1 & z^{(N-L-1)}_2 & \cdots & z^{(N-L-1)}_M \end{bmatrix}_{(N-L) \times M}\\ \mathbf{Z_2} &= \begin{bmatrix} 1 & z_1 & \cdots & z^{L-1}_1\\ 1 & z_2 & \cdots & z^{L-1}_2\\ \vdots & \vdots & \ddots & \vdots\\ 1 & z_M & \cdots & z^{L-1}_M \end{bmatrix}_{M \times L}\\ \mathbf{\Phi} &= \begin{bmatrix} z_1 & 0 & \cdots & 0\\ 0 & z_2 & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & z_M \end{bmatrix}_{M \times M}\\ \mathbf{A} &= \begin{bmatrix} \alpha_1 & 0 & \cdots & 0\\ 0 & \alpha_2 & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & \alpha_M \end{bmatrix}_{M \times M} \end{aligned}
Z1Z2ΦA=⎣
⎡1z1⋮z1(N−L−1)1z2⋮z2(N−L−1)⋯⋯⋱⋯1zM⋮zM(N−L−1)⎦
⎤(N−L)×M=⎣
⎡11⋮1z1z2⋮zM⋯⋯⋱⋯z1L−1z2L−1⋮zML−1⎦
⎤M×L=⎣
⎡z10⋮00z2⋮0⋯⋯⋱⋯00⋮zM⎦
⎤M×M=⎣
⎡α10⋮00α2⋮0⋯⋯⋱⋯00⋮αM⎦
⎤M×M
在无噪声的情况下,
L
L
L也满足约束条件,我们可以看到:矩阵
Z
1
\mathbf{Z_1}
Z1和
Z
2
\mathbf{Z_2}
Z2都是满秩矩阵,因此矩阵
X
0
\mathbf{X_0}
X0和
X
1
\mathbf{X_1}
X1的秩与中间的对角阵
Φ
\mathbf{\Phi}
Φ和
A
Φ
\mathbf{A\Phi}
AΦ相同,都是
M
M
M.
考虑矩阵
X
1
−
λ
X
0
=
Z
1
A
[
Φ
−
λ
I
]
Z
2
\mathbf{X_1- \lambda X_0} = \mathbf{Z_1A[\Phi-\lambda I]Z_2}
X1−λX0=Z1A[Φ−λI]Z2。注意到中间的
Φ
−
λ
I
\mathbf{\Phi-\lambda I}
Φ−λI部分:
- 当 λ ≠ z m ( m ∈ [ 1 , M ] ) \lambda \neq z_m(m \in [1, M]) λ=zm(m∈[1,M])时, Φ − λ I \mathbf{\Phi-\lambda I} Φ−λI的秩还是 M M M,因此 X 1 − λ X 0 \mathbf{X_1-\lambda X_0} X1−λX0的秩还是 M M M;
- 当 λ = z m ( m ∈ [ 1 , M ] ) \lambda =z_m(m \in [1, M]) λ=zm(m∈[1,M])时, Φ − λ I \mathbf{\Phi-\lambda I} Φ−λI的秩就减小为 M − 1 M-1 M−1。此时矩阵不满秩,那么行列式 d e t ( X 1 − λ X 0 ) = 0 det(\mathbf{X_1-\lambda X_0})=0 det(X1−λX0)=0恒成立。
回顾到广义特征值的性质,我们可以看到, λ = z m ( m ∈ [ 1 , M ] ) \lambda=z_m(m \in [1, M]) λ=zm(m∈[1,M])时,刚好可以作为矩阵 X 1 \mathbf{X_1} X1对 X 0 \mathbf{X_0} X0的广义特征值.
矩阵 X 0 \mathbf{X_0} X0对 X 1 \mathbf{X_1} X1的广义特征值就是求 使得式 X 0 x = λ X 1 x \mathbf{X_0 x} = \lambda \mathbf{X_1 x} X0x=λX1x存在非零解的特征值 λ \lambda λ。由推导可以知道,就是求 使得行列式 d e t ( X 1 − λ X 0 ) = 0 det(\mathbf{X_1- \lambda X_0})=0 det(X1−λX0)=0恒成立的 λ \lambda λ。根据上面所述,当 λ = z m ( m ∈ [ 1 , M ] ) \lambda=z_m(m \in [1, M]) λ=zm(m∈[1,M])时,可满足条件。因此,我们可以通过找出矩阵 X 1 \mathbf{X_1} X1对 X 0 \mathbf{X_0} X0的 M M M个广义特征值来作为对 z m ( m ∈ [ 1 , M ] ) z_m(m \in [1, M]) zm(m∈[1,M])的估计。
算法步骤
- 给定 N N N和 M M M,并且选择合适的 L L L;
- 创建矩阵 X 0 \mathbf{X_0} X0和 X 1 \mathbf{X_1} X1;
- 求矩阵 X 1 \mathbf{X_1} X1对 X 0 \mathbf{X_0} X0的 M M M个广义特征值 λ m ( m ∈ [ 1 , M ] ) \lambda_m(m \in [1, M]) λm(m∈[1,M]),这些特征值就是对 z m ( m ∈ [ 1 , M ] ) z_m(m \in [1, M]) zm(m∈[1,M])的估计;
- 用下式计算DOA:
参考文献(仅写文章的标题,以做记录)
[1]. Direction of Arrival Estimation