一种自适应滤波方法与流程

文档序号:12374626阅读:518来源:国知局
一种自适应滤波方法与流程

本发明属于自适应滤波领域,尤其涉及提高自适应滤波器的收敛速度及降低滤波方法稳态误差方面,一种可以平衡并优化这两方面性能的滤波方法。



背景技术:

在消除回波、自动均衡和雷达声呐的波束形成等通信领域方面,及其他的识别参数、抑制噪声、谱估计等信号处理领域方面,自适应滤波器都发挥着重要的作用。而在这些领域,在实际的应用问题中,接收设备所获取的接收信号当中往往伴随着由于环境所引起的干扰和噪声,由此导致的信号误码率上升会明显影响获取信号的准确性。干扰和噪声几乎存在于现实当中的所有应用领域。而自适应滤波器所要解决的核心问题就是在信号处理过程中从充满着干扰和噪声的混合信号中估计恢复出原始的纯信号。随着时间的推移,自适应滤波器自动的调节其自身的参数以此适应外界环境的变化。过去的几十年里,数字信号处理器得到了极大的发展,速度的加快、复杂性的提高、功耗的降低等都对我们的通信领域的自适应滤波方法提出了更高的要求。在自适应滤波器领域,随着人们研究的深入,其技术理论与实际操作也越来越成熟。

在之前提出的变动量项因子自适应滤波方法当中,通过变化的动量项因子来控制LMS方法的收敛速度和稳态误差,以期望在保持其稳态误差较小的情况下提高其收敛速度,但由于固定步长参数的限制,其最终的稳态误差最理想的情况下也是与传统LMS方法的稳态误差大约相等,因此我们说它的效果还是有一定的瓶颈的,滤波方法无法更大限度的降低稳态误差。



技术实现要素:

(1)发明目的

本发明所提出的滤波方法在加快收敛速度的同时,更大程度上降低稳态误差,最终的效果是相对于之前提出的变动量项因子自适应滤波方法,收敛速度相当,稳态误差减小,对比传统LMS方法,收敛速度加快,稳态误差减小。

(2)技术方案

本发明将两个具有不同大小步长的变动量因子系统组合起来,同时引入组合因子,通过组合因子的自适应调节来自适应的选择两个系统的步长参数在整个过程中所占的比重,具体包括以下步骤:1)动量项LMS迭代滤波,采用梯度下降法调节权向量;2)变动量项因子LMS迭代滤波,在迭代达到收敛之前或者非平稳环境下,通过自适应调节组合因子使步长相对较大从而提高滤波方法收敛速度,当逐渐达到收敛状态时,使步长相对较小从而降低稳态误差提高其稳定性;3)选择不同步长变动量项因子系统;4)双变动量项因子滤波;5)组合因子迭代;6)得到变化结果,实现滤波,得到均方误差的表示方法及动量项因子和组合因子的迭代方式,进而得到均方误差的收敛特性及动量项因子和组合因子的自适应变化结果。

(3)优点及积极效果

通过仿真,经过700次的蒙特卡洛实验,得到结果如图3,4,5,6所示。从仿真结果中可以看出,新的滤波方法在迭代次数大约为200的位置上实现收敛,与滤波方法1相当,相对而言维持了快的收敛速度,与此同时,稳态误差也比滤波方法1和滤波方法2都小,达到了作者所期待的效果。

该滤波方法通过自适应的调节两个不同步长的变动量项因子LMS系统的组合因子的方法调节步长所占比重,将两个动量项系统快速收敛与小稳态误差的优点合二为一,解决了两个系统所各自具有的缺陷,有效提高了滤波方法的整体滤波性能。

附图说明

图1变动量项因子自适应滤波的双系统步长组合滤波方法原理框图

图2滤波方法步骤流程图

图3μ1=0.012,μ2=0.003时滤波方法1,2与步长组合滤波方法的收敛性能比较

图4μ1=0.012时,滤波方法1的动量项因子变化情况

图5μ1=0.003时,滤波方法2的动量项因子变化情况

图6新步长组合滤波方法的组合因子变化情况

具体实施方式

具体实施方式包括以下步骤:

1)动量项LMS迭代滤波:为使均方误差达到最小,采用梯度下降法调节权向量,因此权向量的迭代公式为:

<mrow> <mi>w</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mi>w</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mi>&mu;</mi> <mo>&CenterDot;</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>J</mi> <mrow> <mo>(</mo> <mi>w</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mi>w</mi> </mrow> </mfrac> </mrow>

w(n)表示权向量,μ表示步长,J(w)表示代价函数。

其中,梯度可经过推导表示为-2p+2R·w(n),p=E[u(n)·d*(n)]为自相关向量,R=E[u(n)·uH(n)]为互相关矩阵,u(n)表示输入,d(n)表示期望响应,p,R的瞬态估计表示为u(n)·d*(n),u(n)·uH(n),代入权向量迭代公式中,得到:

<mrow> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&mu;</mi> <mo>&CenterDot;</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <msup> <mi>e</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

为提高收敛速度,在以上公式的基础上加入一个随着不同时刻变化的量,称为动量项。公式表示为

<mrow> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&mu;</mi> <mi>u</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mi>e</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <mo>&lsqb;</mo> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

其中e(n)是由期望响应d(n)与输出y(n)的差值所表示的估计误差,代表其动量项。

通过以上的权向量迭代公式,将各个时刻的输入与权值进行内积得到输出,输出与期望 响应的差值得到估计误差,从而得到均方误差。

2)变动量项因子LMS迭代滤波:在迭代达到收敛之前或者非平稳环境下,通过自适应调节组合因子使步长相对较大从而提高滤波方法收敛速度,当逐渐达到收敛状态时,使步长相对较小从而降低稳态误差提高其稳定性。

变动量项因子LMS方法的权向量迭代公式为:

<mrow> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mi>n</mi> </msub> <mo>+</mo> <mi>&mu;</mi> <mi>u</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mi>e</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&alpha;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>&lsqb;</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mi>n</mi> </msub> <mo>-</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&rsqb;</mo> </mrow>

其中u(n)表示输入,e(n)是由期望响应d(n)与输出y(n)的差值所表示的估计误差,输出y(n)由输入u(n)和n时刻权向量的内积得到,代表其动量项,α(n)即代表变化的动量项因子。

3)选择不同步长变动量项因子系统:选择两个动量项系统,它们的步长参数取不同的固定值,其中μ12,也即第一个系统的速度性能高于第二个系统,而第二个系统的稳态性能要高于第一个系统,在后面的实验当中分别记为系统1和系统2,它们的权向量迭代公式分别表示为:

<mrow> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&mu;</mi> <mn>1</mn> </msub> <msub> <mi>u</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>*</mo> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&alpha;</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>&lsqb;</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

<mrow> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&mu;</mi> <mn>2</mn> </msub> <msub> <mi>u</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msub> <mi>e</mi> <mn>2</mn> </msub> <mo>*</mo> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&alpha;</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>&lsqb;</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

优选的,步长参数分别取μ1=0.012,μ2=0.003,为保证初始收敛速度和合适的均方误差使不至于发散,动量项因子α1(n),α2(n)的初值均取0.85。

4)双变动量项因子滤波系统步长组合:在这两个步长参数的基础上,组合两个不同步长参数的系统,通过动态的调整两个步长参数在组合系统中所占的比重来调节系统,在原有变动量项因子滤波方法的基础上突破常规LMS方法的步长参数对它的限制,进一步减小稳态误差。在滤波方法迭代过程中,其可以自适应的根据需要实时调节总体组合步长的大小,并最终收敛后得到最优组合步长,实现滤波方法的最优化。变动量项因子组合滤波方法的原理框图如图1所示。

自适应动态组合两个系统的组合因子用λ(n)表示,具体组合公式如下:

<mrow> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <mo>&lsqb;</mo> <mn>1</mn> <mo>-</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

上式中,λ(n)表示组合因子,其取值范围为λ(n)∈[0,1]。

5)组合因子迭代实现:为使得组合因子最终达到新的步长组合滤波方法所具有的收敛速度和稳态性能,采用梯度下降的方法对组合因子的数值大小进行调节。因此自适应组合因子λ(n)的迭代公式可表示为:

<mrow> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>&epsiv;</mi> <msub> <mo>&dtri;</mo> <mi>&lambda;</mi> </msub> <mi>J</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msub> <mo>|</mo> <mrow> <mi>&lambda;</mi> <mo>=</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </msub> </mrow>

上式中,ε为一很小的常数,在试验中取值0.02;J(n)是LMS方法代价函数;表示J(n) 在λ=λ(n)处的梯度。梯度可用公式表示为:

<mrow> <msub> <mo>&dtri;</mo> <mi>&lambda;</mi> </msub> <mi>J</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msub> <mo>|</mo> <mrow> <mi>&lambda;</mi> <mo>=</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>J</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mfrac> <mrow> <mo>&part;</mo> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

其中根据LMS方法已知

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>J</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msup> <mi>e</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

而根据上面的组合公式可以得到:

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mover> <mi>w</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mo>&part;</mo> <mo>{</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <mo>&lsqb;</mo> <mn>1</mn> <mo>-</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>}</mo> </mrow> <mrow> <mo>&part;</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

将上面两式带入到梯度的表达式当中,进而得到组合因子的自适应迭代公式:

<mrow> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mi>&lambda;</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&epsiv;</mi> <mi>u</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msup> <mi>e</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>&lsqb;</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>w</mi> <mo>^</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

6)得到变化结果,实现滤波:得到均方误差的表示方法及动量项因子和组合因子的迭代方式,进而得到均方误差的收敛特性及动量项因子和组合因子的自适应变化结果。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1