DOA算法3:Matrix Pencil
介绍Matrix Pencil在DOA计算中的应用,着重理解广义特征值,读者可以设定特殊的N、M、L值进行理解,计算一遍会有更深的印象。
注:本博文为本人阅读论文、文章后的原创笔记,未经授权不允许任何转载或商用行为,否则一经发现本人保留追责权利。有问题可留言联系,欢迎指摘批评,共同进步!!!
为什么需要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
更多推荐
所有评论(0)