旋转不变子空间( ESPRIT) 算法

发布于:2025-07-03 ⋅ 阅读:(16) ⋅ 点赞:(0)

旋转不变子空间( ESPRIT) 算法

1.1 ESPRIT 算法模型

以均匀线阵为研究背景,假设有阵元数为img,阵元间距为img的平面等间距线性天线阵列。设窄带远场信号的 DOA 估计的数学模型为 img (1)

式中,img为阵列流型阵( 导向矢量阵) 。

1.2 ESPRIT 算法原理

ESPRIT 算法的概念是由Roy和Kailath提出的。将阵列分成两个相同的子阵列。由于两个子阵的结构完全相同,对于同一个信号而言,两个子阵的输出只有一个相位差。下面假设两个子阵的接收数据如下:

img (2)

img (3)

子阵1的阵列流型 img,子阵2的阵列流型img

从上面的数学模型可知,需要求解的是信号的方向,而信号的方向信息包含在imgimg中,由于img是一个对角阵,所以下面只考虑这个矩阵,即:

img (4)

由上可知,只要得到两个子阵间的旋转不变关系img,就可以方便得到关于信号到达角的信息。下面的任务就是从式(2)和(3)中得到两个子阵间的关系。先将两个子阵的模型进行合并,即,

img (5)

在理想条件下,可得上式的协方差矩阵:

img (6)

对上式进行特征分解,可得:

img (7)

此时,存在一个惟一的非奇异矩阵,使得:

img (8)

显然上述的结构对两个子阵都成立,所以有:

img (9)

此时可知两个子阵的信号子空间的关系如下:

img (10)

如果阵列流型是满秩矩阵,则由式( 10) 可以得到:

img (11)

所以上式中img的特征值组成的对角阵一定等于img,而矩阵img的各列就是矩阵img的特征矢量。所以一旦得到上述的旋转不变关系矩阵img,就可以直接利用式(4)得到信号的入射角度。这正是 ES-PRIT 研究中的核心关系。

1.3 ESPRIT****算法实现

1.3.1 LS-ESPRIT 算法

直接给出LS的旋转不变子空间算法的步骤:

① 两个子阵的接收数据,分别得到两个子阵的数据协方差矩阵。

② 将矩阵对img进行特征分解,从而得到两个数据矩阵的信号子空间imgimg

③ 按照img得到矩阵img,然后对其进行特征值分解,得到img个特征值就可以得到对应的img个信号的波达方向。

1.3.2 TLS-ESPRIT 算法

TLS ESPRIT 求解 DOA 的算法步骤:

① 两个子阵的接收数据,得到数据协方差矩阵。

② 将矩阵对img进行特征分解,从而得到两个数据矩阵的信号子空间 img

③ 由img构造矩阵img ,并按照式 img进行特征值分解得到矩阵img,然后按照式img将矩阵分为4个小的矩阵。

④ 按照式 img得到矩阵img,然后对其进行特征值分解,得到img个特征值就可以得到对应的img个信号的波达方向。

1.3.3 TAM 算法

Toeplitz 近似简称 TAM 算法,其求解的准则是利用了空间的旋转不变性,也可以看成为 ESPRIT算法中的一种。下面就介绍其基本实现步骤:

① 数据协方差矩阵得到信号子空间及其特征值。

② 按式img构造矩阵img,从而进一步得到img的前img行与后img行构成的矩阵imgimg

③ 按照式 img得到矩阵img。其中 imgimg的前img行,imgimg的后img行。

④ 对矩阵img进行特征分解,由特征值就可以得到对应的img个信号的到达角。

总结上述所说,可以得到ESPRIT算法的流程图,如图所示。img
ls_esprit算法和tls_esprit算法matlab仿真


网站公告

今日签到

点亮在社区的每一天
去签到