MVDR波束形成严谨推导深入细节

本文深入探讨了MVDR(最小方差无畸变响应)算法在信号处理中的应用,主要涉及远场、线阵和窄带条件下的空间阵列模型。通过推导最优权,解释了如何在保留感兴趣信号的同时抑制干扰和噪声,最终得出最优权的表达式Wopt。这一过程涉及到复数矩阵的求导和拉格朗日乘子法,对理解MVDR波束形成原理及其实际应用具有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先定义如下MVDR(最小方差无畸变响应)算法的适用条件:远场,线阵,窄带

空间阵列模型:

在这里插入图片描述
假设接收了空间中有M个复信号,以不同的的角度射入阵列。接收天线的个数为N,则在t时刻阵列接收信号有如下表达式:
Y ( t ) N × 1 = ∑ i = 1 M x i ( t ) a ( θ i ) + N  oise  ( t ) = ∑ i = 1 M x i ( t ) [ 1 , e − j 2 π d sin ⁡ ( θ ) λ … . , e − j 2 π ( N − 1 ) d sin ⁡ ( θ ) λ ] N × 1 + N  oise  ( t ) \begin{aligned} Y(\mathrm{t})_{N \times 1} &=\sum_{i=1}^{M} x_{i}(t) a\left(\theta_{i}\right)+N \text { oise }(\mathrm{t}) \\ &=\sum_{i=1}^{M} x_{i}(t)\left[1, e^{-j 2 \pi \frac{d \sin (\theta)}{\lambda}} \ldots ., e^{-j 2 \pi \frac{(N-1) d \sin (\theta)}{\lambda}}\right]_{N \times 1}+N \text { oise }(\mathrm{t}) \end{aligned} Y(t)N×1=i=1Mxi(t)a(θi)+N oise (t)=i=1Mxi(t)[1,ej2πλdsin(θ).,ej2πλ(N1)dsin(θ)]N×1+N oise (t)
a ( θ ) a\left(\theta\right) a(θ)为阵列导向向量,反应复信号到达不同天线的相位差/时延

假设我们只对 θ d \theta_{d} θd方向的来波 x d ( t ) x_{d}(t) xd(t)感兴趣,并希望抑制其他方向 θ j \theta_{j} θj的干扰信号 x j ( t ) x_{j}(t) xj(t)
则阵列接收信号可以写为
Y ( t ) = x d ( t ) ⋅ a ( θ d ) + ∑ j = 1 M − 1 x j ( t ) ⋅ a ( θ j ) + N ( t ) Y(t)=x_{d}(t) \cdot a\left(\theta_{d}\right)+\sum_{j=1}^{M-1} x_{j}(t) \cdot a\left(\theta_{j}\right)+N(t) Y(t)=xd(t)a(θd)+j=1M1xj(t)a(θj)+N(t)
先假设有一复自适应权W作用于阵列接收信号,并希望经过自适应权后的输出 d ^ ( t ) \hat{d}(t) d^(t)尽可能逼近 x d ( t ) x_{d}(t) xd(t)
d ^ ( t ) 1 × 1 = W N × 1 H ⋅ Y ( t ) N × 1 \hat{d}(t)_{1 \times 1}=W_{N \times 1}^{H} \cdot Y(t)_{N \times 1} d^(t)1×1=WN×1HY(t)N×1
现在推导MVDR是如何实现这一目的的。
首先经过自适应滤波后,输出信号的平均功率可以写为:
P = E ( ∣ d ^ ( t ) ∣ 2 ) = E ( d ^ ( t ) ∗ ⋅ d ^ ( t ) ) = W H E ( Y ∗ Y T ) W = W H ( a ( θ d ) E ( ∣ x d ( t ) ∣ 2 ) a ( θ d ) H + ∑ j = 1 M − 1 a ( θ j ) E ( ∣ x j ( t ) ∣ 2 ) a ( θ j ) H + E ( ∣ N ( t ) ∣ 2 ) ) W = W H ( σ d 2 a ( θ d ) a ( θ d ) H + ∑ j = 1 M − 1 σ j 2 a ( θ j ) a ( θ j ) H + σ n 2 I ) W = W H R W \begin{aligned} P &=E\left(|\hat{d}(t)|^{2}\right)=E\left(\hat{d}(t)^{*} \cdot \hat{d}(t)\right) \\ &=W^{H} E\left(Y^{*} Y^{T}\right) W^{} \\ &=W^{H}\left(a\left(\theta_{d}\right) E\left(\left|x_{d}(t)\right|^{2}\right) a\left(\theta_{d}\right)^{H}+\sum_{j=1}^{M-1} a\left(\theta_{j}\right) E\left(\left|x_{j}(t)\right|^{2}\right) a\left(\theta_{j}\right)^{H}+E\left(|N(t)|^{2}\right)\right) W \\ &=W^{H}\left(\sigma_{d}^{2} a\left(\theta_{d}\right) a\left(\theta_{d}\right)^{H}+\sum_{j=1}^{M-1} \sigma_{j}^{2} a\left(\theta_{j}\right) a\left(\theta_{j}\right)^{H}+\sigma_{n}^{2} I\right) W \\ &=W^{H} R W \end{aligned} P=E(d^(t)2)=E(d^(t)d^(t))=WHE(YYT)W=WH(a(θd)E(xd(t)2)a(θd)H+j=1M1a(θj)E(xj(t)2)a(θj)H+E(N(t)2))W=WH(σd2a(θd)a(θd)H+j=1M1σj2a(θj)a(θj)H+σn2I)W=WHRW
为了保留感兴趣的信号,去掉干扰信号以及噪声,我们希望最小化输出平均功率,但是保持 W H a ( θ d ) = 1 W^{H} a\left(\theta_{d}\right)=1 WHa(θd)=1

在上式第二行到第三行推导中,假设期望信号,干扰,噪声之间统计独立。

同时由于零均值信号的方差就是平均功率(零均值化是信号中的一般预处理操作),所以最小化平均功率就等于最小方差,这也是MVDR名字的含义。

介绍一些常见的复数的求导法则:
∂ w H R w ∂ w = R T w ∗ \frac{\partial \mathbf{w}^{H} \mathbf{R} \mathbf{w}}{\partial \mathbf{w}}=\mathbf{R}^{T} \mathbf{w}^{*} wwHRw=RTw ∂ w H R w ∂ w H = R w \frac{\partial \mathbf{w}^{H} \mathbf{R} \mathbf{w}}{\partial \mathbf{w}^{H}}=\mathbf{R}\mathbf{w} wHwHRw=Rw ∂ Tr ⁡ ( w w H ) ∂ w = w ∗ ∂ Tr ⁡ ( w w H ) ∂ w ∗ = w \begin{aligned} &\frac{\partial \operatorname{Tr}\left(\mathbf{w} \mathbf{w}^{H}\right)}{\partial \mathbf{w}}=\mathbf{w}^{*} &\frac{\partial \operatorname{Tr}\left(\mathbf{w} \mathbf{w}^{H}\right)}{\partial \mathbf{w}^{*}}=\mathbf{w} \end{aligned} wTr(wwH)=wwTr(wwH)=w ∂ Tr ⁡ ( a H w ) ∂ w = a ∗ \frac{\partial \operatorname{Tr}(a^{H} w)}{\partial w}=a^{*} wTr(aHw)=a ∂ Tr ⁡ ( w H a ) ∂ w = 0 \frac{\partial \operatorname{Tr}(w^{H} a)}{\partial w}=0 wTr(wHa)=0 ∂ Tr ⁡ ( w H a ) ∂ w H = a \frac{\partial \operatorname{Tr}(w^{H} a)}{\partial w^{H}}=a wHTr(wHa)=a
参考:Matrix Cookbook
知乎:关于复求导和实求导
知乎:复数矩阵求导的转置和共轭转置问题
stackproblem

推导最优权

为了普适性, θ d \theta_{d} θd写为 θ \theta θ

{ min ⁡ W H R W s . t W H a ( θ ) = 1 , a H ( θ ) W = 1 \left\{\begin{array}{l}\min \mathbf{W}^{\mathrm{H}} \mathbf{R} \mathbf{W} \\ \mathbf{s . t} \mathbf{W}^{\mathrm{H}} \mathbf{a}(\mathbf{\theta})=\mathbf{1}, \mathbf{a}^{\mathrm{H}}(\boldsymbol{\theta}) \mathbf{W}=\mathbf{1}\end{array}\right. {minWHRWs.tWHa(θ)=1,aH(θ)W=1
W为最优权,R为阵列接收信号的协方差矩阵

构造拉格朗日函数:

L ( W ) = W H R W − λ ( W H a ( θ ) − 1 ) − λ ∗ ( a H ( θ ) W − 1 ) L(W)=W^{H} R W-\lambda\left(W^{H} a(\theta)-1\right)-\lambda^{*}\left(a^{H}(\theta) W-1\right) L(W)=WHRWλ(WHa(θ)1)λ(aH(θ)W1)

*表示共轭
W H W^{H} WH 求复梯度并令其为零得:
∂ L ( W ) ∂ W H = R W − λ a ( θ ) − 0 = 0 \frac{\partial L(W)}{\partial W^{H}}= R W-\lambda a(\theta)-0=0 WHL(W)=RWλa(θ)0=0

可得
{ R W = λ a ( θ ) ( 1 ) W H a ( θ ) = 1 ( 2 ) \left\{\begin{array}{l} R W=\lambda a(\theta) (1)\\ W^{H} a(\theta)=1 (2) \end{array}\right. {RW=λa(θ)1WHa(θ)=12

由(1)得:
W = λ R − 1 a ( θ ) W=\lambda R^{-1} a(\theta) W=λR1a(θ)
两边同乘导向向量的共轭转置
a H ( θ ) W = λ a H ( θ ) R − 1 a ( θ ) a^{H}(\theta) W=\lambda a^{H}(\theta) R^{-1} a(\theta) aH(θ)W=λaH(θ)R1a(θ)
1 = λ a H ( θ ) R − 1 a ( θ ) \mathbf{1}=\lambda a^{H}(\theta) R^{-1} a(\theta) 1=λaH(θ)R1a(θ)
λ = 1 a H ( θ ) R − 1 a ( θ ) \lambda=\frac{1}{a^{H}(\theta) R^{-1} a(\theta)} λ=aH(θ)R1a(θ)1

λ \lambda λ带入上面可得最优权
W o p t = R − 1 a ( θ ) a H ( θ ) R − 1 a ( θ ) W_{\mathrm{opt}}=\frac{R^{-1} a(\theta)}{a^{H}(\theta) R^{-1} a(\theta)} Wopt=aH(θ)R1a(θ)R1a(θ)

同时还可以引申出空间谱估计。将上式 W o p t W_{\mathrm{opt}} Wopt带入P的表达式 W H R W \mathbf{W}^{\mathrm{H}} \mathbf{R} \mathbf{W} WHRW可得
P ( θ ) = 1 a ( θ ) H R − 1 a ( θ ) = σ θ P(\theta)=\frac{1}{a(\theta)^{H} R^{-1} a(\theta)}=\sigma_{\theta} P(θ)=a(θ)HR1a(θ)1=σθ

### MVDR算法的实现原理 MVDR(Minimum Variance Distortionless Response)算法的核心目标是最小化输出信号的方差,同时保持对期望信号的方向无失真响应。通过引入空间滤波的概念,MVDR能够有效抑制来自特定方向的干扰信号,从而提升功率谱估计的质量。 #### 原理概述 MVDR算法基于阵列接收数据的协方差矩阵 \( R \),并通过求解最优权向量 \( w_{\text{opt}} \) 来最小化输出噪声能量。具体而言,优化问题可以表示为: \[ J(w) = w^H R w \] 其中约束条件为 \( w^H a(\theta_0) = 1 \),\( a(\theta_0) \) 是对应于期望信号到达角 \( \theta_0 \) 的导向矢量[^2]。 为了满足上述约束条件,通常采用拉格朗日乘子法解决此最优化问题。最终得到的权重向量形式如下: \[ w_{\text{opt}} = \frac{R^{-1}a(\theta_0)}{a^H(\theta_0)R^{-1}a(\theta_0)} \] 这表明,MVDR算法的关键在于计算输入信号的协方差矩阵及其逆矩阵,并结合导向矢量完成加权操作。 --- ### MATLAB代码示例 以下是基于SVD的MVDR算法的一个典型MATLAB实现示例: ```matlab % 加载传感器数据 load('sensor_data.mat'); % 数据文件应包含变量 'sensor_data' X = sensor_data; % 参数初始化 N = size(X, 1); % 阵元数量 L = size(X, 2); % 快拍数 d = 0.5; % 阵元间距 (单位: 波长) fs = 1; % 归一化的采样频率 c = 1; % 归一化的声速 f = linspace(-1/2, 1/2, L); % 频率范围 [-0.5, 0.5] theta0 = 0; % 期望信号入射角度 (度) % 构造导向矢量 k = 2 * pi * f / c; steering_vector = exp(1j * k' * d * (-N/2:N/2-1)' * sin(theta0*pi/180)); % 协方差矩阵估计 Rxx = X * X' / L; % 使用奇异值分解(SVD)降维 [U, S, V] = svd(Rxx); U_noise = U(:, N:end); % 提取噪声子空间 % 计算MVDR权值 w_mvdr = zeros(N, length(f)); for i = 1:length(f) Rx_inv_a = pinv(U_noise * diag(diag(S)) * U_noise') * steering_vector(i,:); w_mvdr(:,i) = Rx_inv_a ./ (steering_vector(i,:)' * Rx_inv_a); end % 功率谱密度估计 P_mvdr = abs(sum(conj(w_mvdr).*X)).^2; % 绘制结果 figure; plot(f, 10*log10(P_mvdr), 'LineWidth', 1.5); xlabel('Normalized Frequency'); ylabel('Power Spectrum Density (dB)'); title('MVDR Power Spectrum Estimate'); grid on; ``` 以上代码实现了以下功能: 1. **加载数据**:从外部文件 `sensor_data.mat` 中读取传感器接收到的数据。 2. **参数定义**:设定阵列配置、信号频率范围以及其他必要参数。 3. **构建导向矢量**:根据期望信号的角度构造对应的导向矢量。 4. **协方差矩阵估计**:通过对快拍数据进行平均运算获得协方差矩阵。 5. **奇异值分解**:提取噪声子空间以降低维度复杂性。 6. **MVDR权值计算**:依据理论推导公式得出最佳权值。 7. **绘图展示**:绘制功率谱密度曲线以便直观分析结果。 --- ### 注意事项 在实际应用中需要注意以下几个方面: - 输入数据质量直接影响协方差矩阵的准确性,进而影响最终的结果。 - 干扰源的存在可能显著改变协方差结构,需合理设计实验场景。 - 数值稳定性是一个重要考量因素,在求逆过程中可能会遇到病态矩阵的情况,建议使用伪逆函数 `pinv()` 替代传统矩阵求逆方法[^1]。 ---
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值