维纳滤波、维纳霍夫方程及矩阵形式

本文探讨了如何通过维纳霍夫方程解决FIR滤波器的权系数优化问题,涉及正交性原理、复数信号处理和误差性能曲面。关键步骤包括梯度向量计算、自相关矩阵与互相关函数的定义,以及工程上的矩阵形式求解方法。

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

给定输入序列u(0),u(1),u(2)...,通过一个FIR线性滤波器h(n),权系数是w_0,w_1,w_2...

n时刻,FIR滤波器的输出:

y(n)=\sum_{k=0}^\infty {w_{k}^*u(n-k)}

n时刻滤波器期望的输出是d(n),期望响应与实际的输出的差值为:

e(n)=d(n)-y(n)

随着输入u(n)的变化,要让滤波器实际输出逼近期望响应,需要求解新的滤波器抽头系数,求解过程是一个基于统计优化问题的数学求解。

该数学问题有两种方法进行阐述

通过正交性原理推导最优解需满足的条件

J=E[e(n)^*e(n)]

如果假定u(n),w_k都是复数,w_k=a_k+j b_k

e(n)=d(n)-y(n) \\ =d(n)-\sum _{k=n-M+1}^M w_k^*u(k)\\ =d(n)-\sum _{k=n-M+1}^M (a_k-j b_k)u(k)\\ =d(n)+\sum _{k=n-M+1}^M (-a_k+j b_k)u(k)

e(n)求偏导得

\frac{\partial e(n)}{\partial a_k}=-u(n-k) \\ \frac{\partial e(n)}{\partial b_k}=j u(n-k) \\ \frac{\partial e(n)^*}{\partial a_k}=-u^*(n-k) \\ \frac{\partial e(n)}{\partial a_k}=-ju^*(n-k) \\

多维梯度向量

\triangledown_k J=E[\frac{\partial e(n)}{\partial a_k}e^* (n) + \frac{\partial e^* (n)}{\partial a_k}e (n) +\frac{\partial e(n)}{\partial b_k}j e^* (n) + \frac{\partial e^* (n)}{\partial b_k}j e(n) ] \\ =E[-u(n-k)e^*(n)-u^*(n-k)e(n)+ju(n-k)je^*(n)-ju^*(n-k)*j e(n)] \\ =-2E[u(n-k)e^*(n)]

上面是考虑了复数权系数和复数随即信号的推倒过程,更加简单的推导是

y(n)=\sum _{k=0}^\infty h(n)u(n-k)

e(n)h(n)求偏导的

\frac{\partial e(n)}{h(n)}=u(n-k)

\frac{\partial J}{h(n)}=-E[2 e(n)u(n-k)]=-2E[u(n-k)e(n))]

 

\triangledown_k J等于0时,e(n)取得最优值。

也就是u(n)e(n)正交时,实际输出y(n)与期望响应d(n)更加接近

E[y(n)e^*(n)]=E[\sum_{k=0}^\infty {w_{k}^*u(n-k)e^* (n)}]=0

e(n)取最优值时,y(n)e(n)正交,e(n),y(n),d(n)构成一个直角三角形,d(n)是斜边,e(n)y(n)是直角边,e(n)最小时y(n)接近d(n)

维纳-霍夫方程

e(n)取得最优解时,

E[u(n-k)e^*(n)]=E[u(n-k)(d^*(n)-\sum_{i=0}^\infty w_{oi}u^*(n-i))]=0

k=0,1,2,...

\sum_{i=0}^\infty w_{oi}E[u^*(n-i)u(n-k))]=E[u(n-k)d^*(n)]

u(n)的自相关函数定义为

r(i-k)=E[u(n-k)u^*(n-i)]

u(n)d(n)的互相关函数定义为

p(-k)=E[u(n-k)d^* (n)]

上面的方程可以写为

\sum_{i=0}^\infty w_{oi}r(i-k)=p(-k)\\ k=0,1,2...

w_{oi}是维纳滤波器的最优系数,上面的方程叫做维纳霍夫方程。

通过误差性能曲面推导最优解需满足的条件

J=E[e(n)e^*(n)] \\ =E[(d(n)-\sum_{k=0}^{M-1} w_k^*u(n-k))(d^*(n)-\sum_{k=0}^{M-1} w_k u^*(n-k))] \\ =E[|d(n)|^2] - \sum_{k=0}^{M-1} w_k^*E[u(n-k)d^*(n) ]- \sum_{k=0}^{M-1} w_k E[u^*(n-k)d(n) ]+ \sum_{k=0}^{M-1}\sum_{i=0}^{M-1} w_k^*w_i u(n-k)u^*(n-i)] \\ = \sigma_d^2 - \sum_{k=0}^{M-1} w_k^*p(-k) - \sum_{k=0}^{M-1} w_k p^*(-k) + \sum_{k=0}^{M-1}\sum_{i=0}^{M-1} w_k^*w_i r(i-k)

上式成立的条件是抽头输入u(n)与期望响应d(n)联合平稳,此时代价函数J是关于权系数w_0,w_1,...,w_{M-1}的二次函数

可以把J看作是一个M阶的碗状曲面,对w_k求J的梯度向量可得

\triangledown_kJ=\frac{\partial J}{a_k} + j \frac{\partial J}{b_k} \\ = -2p(-k) + 2\sum_{i=0}^Mw_ir(i-k)

\triangledown_kJ = 0得到维纳霍夫方程

\sum_{i=0}^\infty w_{oi}r(i-k)=p(-k)\\ k=0,1,2...

维纳霍夫方程的矩阵形式求解

u(n)的自相关矩阵

\mathbf{R}=E[\mathbf{u}(n)\mathbf{u}^H(n)] \\ \mathbf{u}(n) = [u(n-1), u(n-2), ... u(n-M+1)]^T \\ \mathbf{p }= E[\mathbf{u}(n)d^*(n)] \\ \mathbf{p} = [p(0), p(-1),..., p(1-M))]^T

\mathbf{R}\mathbf{w}_o = \mathbf{p}

\mathbf{w}_o = \mathbf{R}^{-1}\mathbf{p}

工程上求解维纳霍夫方程不是直接求输入抽头自相关矩阵的逆矩阵,而是通过递归的方法求w_k系数

 

参考《自适应滤波器原理》第五版 Simon Haykin著

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值