DOA算法3:Matrix Pencil


注:本博文为本人阅读论文、文章后的原创笔记,未经授权不允许任何转载或商用行为,否则一经发现本人保留追责权利。有问题可留言联系,欢迎指摘批评,共同进步!!!

为什么需要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=1MAmzmn+nn
其中 z m = e j k d   c o s ϕ m △ t z_m=e^{jkd\ cos{\phi_m}\bigtriangleup t} zm=ejkd cosϕmt就是系统的极点(不用记), 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 (NL)×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= x0x1xNL1x1x2xNLxL1xLxN2 ,X1= x1x2xNLx2x3xNL+1xLxL+1xN1
其中, 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} {MLNLN是偶数MLNL+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,=Z1Z2,
其中矩阵 Φ \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= 1z1z1(NL1)1z2z2(NL1)1zMzM(NL1) (NL)×M= 111z1z2zMz1L1z2L1zML1 M×L= z1000z2000zM M×M= α1000α2000α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} 相同,都是 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 M1。此时矩阵不满秩,那么行列式 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])的估计。

算法步骤

  1. 给定 N N N M M M,并且选择合适的 L L L;
  2. 创建矩阵 X 0 \mathbf{X_0} X0 X 1 \mathbf{X_1} X1
  3. 求矩阵 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])的估计;
  4. 用下式计算DOA:
    在这里插入图片描述

参考文献(仅写文章的标题,以做记录)

[1]. Direction of Arrival Estimation

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值