阻塞矩阵预处理

BMP

基本步骤:首先估计空间中主瓣干扰的入射角度(需要精确估计入射角,但在工程中很难实现),再根据估计出的角度来构造阻塞矩阵B,接着对雷达接收到的数据进行变换处理以消除主瓣干扰分量,最后再做一般自适应波束形成抑制旁瓣干扰。(BMP 方法将会损失一个有效的阵列单元自由度

在这里插入图片描述

详细步骤:

  1. 实际数据的协方差矩阵: R x = E [ X X H ] = A R s A H + σ n 2 I R_{x}=E[XX^{H}]=AR_{s}A^{H}+\sigma _{n}^{2}I Rx=E[XXH]=ARsAH+σn2I一般无法得到,所以我们采用样本协方差矩阵 R ^ x = 1 N X X H \hat{R}_{x}=\frac{1}{N}XX^{H} R^x=N1XXH来作为实际协方差矩阵的估计。阵列接收信号中干扰信号的强度比噪声信号的强度大很多,并且假设在主瓣内只有一个干扰信号,所以我们可以选取比较简单的Capon 法来估计,由于仅仅需要估计主瓣干扰的方向,仅需要在方向图的主瓣内进行角度搜索即可,采用Capon估计主瓣干扰的入射角度 α 1 \alpha_{1} α1 α 1 = max ⁡ α , a l p h a ∈ m a i n l o b e 1 a H ( α ) R ^ x − 1 a ( α ) \alpha_{1}=\max \limits_{\alpha,alpha\in mainlobe}\frac{1}{a^{H}(\alpha)\hat{R}{_{x}}^{-1}a(\alpha)} α1=α,alphamainlobemaxaH(α)R^x1a(α)1
  2. 用估计得到的 α 1 \alpha_{1} α1构造阻塞矩阵:
    B = [ 1 − e − j u 1 0 ⋯ 0 0 0 1 − e − j u 1 ⋯ 0 0 ⋮ ⋮ ⋮ ⋮ 0 0 ⋯ 1 − e − j u 1 0 0 ⋯ 0 1 − e − j u 1 ] B=\begin{bmatrix} 1& -e^{-ju_{1}}& 0& \cdots & 0& 0\\ 0& 1& -e^{-ju_{1}}& \cdots & 0& 0\\ \vdots & \vdots & & & \vdots & \vdots \\ 0& 0& \cdots & 1& -e^{-ju_{1}}& \\ 0& 0& \cdots & 0& 1& -e^{-ju_{1}} \end{bmatrix} B=1000eju11000eju11000eju1100eju1
    其中 u 1 = 2 π ( d / λ ) s i n α 1 u_{1}=2\pi (d/\lambda) sin\alpha _{1} u1=2π(d/λ)sinα1 α 1 \alpha _{1} α1为主瓣干扰的入射角,这里的阻塞矩阵是 ( N − 1 ) × N (N-1)\times N (N1)×N的。 N N N为阵元数,通过这个方式,可以在不损失期望信号的前提下由邻近的传感器消除主瓣干扰。由于引入阻塞矩阵会导致一个自由度的损失,但是预处理数据 X B l o c k X_{Block} XBlock中不再含有主瓣干扰。
  3. 对数据进行预处理: X B l o c k = B X X_{Block}=BX XBlock=BX
    可以得到预处理之后的数据的协方差矩阵的估计: R ^ y = B R ^ x B H \hat{R}_{y}=B\hat{R}_{x}B^{H} R^y=BR^xBH,这里的 R ^ y \hat{R}_{y} R^y ( N − 1 ) × ( N − 1 ) (N-1)\times (N-1) (N1)×(N1)维。
  4. 进行常规的自适应波束形成:构造权矢量 w a d p t = R ^ x − 1 a ˉ ( α 0 ) a ˉ H ( α 0 ) R ^ x − 1 a ˉ ( α 0 ) w_{adpt}=\frac{\hat{R}{_{x}}^{-1}\bar{a}(\alpha_{0})}{\bar{a}^{H}(\alpha_{0})\hat{R}{_{x}}^{-1}\bar{a}(\alpha_{0})} wadpt=aˉH(α0)R^x1aˉ(α0)R^x1aˉ(α0)
    其中, a ˉ ( α 0 ) \bar{a}(\alpha_{0}) aˉ(α0) ( N − 1 ) × 1 (N-1)\times 1 (N1)×1维。
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
阻塞矩阵预处理是一种在矩阵计算中常用的优化技术,可以提高计算效率和准确性。在MATLAB中,我们可以使用一些内置的预处理函数来处理阻塞矩阵阻塞矩阵是一种将大的矩阵分为多个小的矩阵块的方法。预处理阻塞矩阵可以通过以下几个步骤来完成: 1. 定义阻塞矩阵:首先,我们需要定义一个阻塞矩阵,将大的矩阵分为多个小的矩阵块。这些小矩阵块可以是正方形的,也可以是不规则的。 2. 定义预处理函数:接下来,我们需要定义一个处理每个小矩阵块的预处理函数。这个函数可以是任何对小矩阵块进行预处理的方法,例如LU分解、Cholesky分解等。在MATLAB中,我们可以使用例如“linsolve”和“ichol”这样的内置函数来进行预处理。 3. 调用预处理函数:一旦我们定义了预处理函数,我们可以将其应用于阻塞矩阵的每个小矩阵块。使用MATLAB的循环语句,我们可以依次对每个小矩阵块进行预处理。 4. 使用预处理矩阵预处理阻塞矩阵后,我们可以将其用于其他计算任务中,例如求解线性方程组或进行矩阵乘法等。使用预处理后的阻塞矩阵可以提高计算效率和准确性。 通过预处理阻塞矩阵,我们可以减少计算的时间和内存消耗。这对于大规模的矩阵计算任务非常重要,特别是在科学和工程领域。因此,在使用MATLAB进行阻塞矩阵计算时,预处理是一个重要的技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值