基于自适应变异粒子群优化算法的自适应滤波器设计

作者:邹锋;李全;仉树杰 刊名:信息技术与信息化 上传者:蒙桂梅

【摘要】本文提出了设计一种基于自适应变异粒子群优化算法的振动信号的自适应滤波模型,然后重点研究了自适应数字滤波器设计的粒子群优化算法及其实现步骤。该滤波模型在计算机仿真测试中,获得了很高的效率和良好的结果。

全文阅读

1引言所谓自适应滤波,就是利用前一时刻已获得滤波器参数等结果,自动地调节现时刻的滤波器参数,以适应信号或噪声未知的或随时间变化的统计特性,从而实现最优滤波。自适应滤波器的相关信号由输入信号x(n)、输出信号y(n)、期望响应d(n)和误差信号e(n)构成。一旦输入信号发生变化,自适应滤波器能够跟踪其变化并自动调整参数,使滤波器性能重新达到最佳。自适应滤波原理框图如图1所示。图1自适应滤波原理框图自适应滤波的核心是自适应算法,其实质是按某种优化准则求最优解的问题。自适应滤波算法可以分为两类最基本的算法:最小均方误差(LMS)算法和递推最小二乘(RLS)算法。其中LMS算法遵循最小均方的寻优准则,RLS算法遵循最小平方的寻优准则。本文将改进的粒子群优化算法用于自适应数字滤波器设计,提出了设计自适应数字滤波器的粒子群优化算法。采用粒子群优化算法来实现自适应滤波的基本思想也遵循最小平方的寻优准则,即:利用粒子群优化算法的优化能力,寻找一组权系数w1、w2、w3、……wn,使得代价函数达到最小。2自适应变异粒子群优化算法粒子群优化算法(ParticleSwarmOptimization--PSO)是由Eberhart博士与Kennedy博士发明的一种新的全局优化进化算法。基本粒子群优化算法通过数学描述可以是:假设在一个d维的目标搜索空间中,有m个代表潜在问题解的粒子组成的一个种群,其中Xi={Xi1、Xi2、Xi3…、Xid},i=1、2、……、m。表示第i个粒子在d维解空间的一个矢量点。将X代入一个与求解问题相关的目标函数可以计算出相应的适应值。用Pi={Pi1、Pi2、Pi3、…、Pid},i=1、2、……、m记录第i个粒子自身搜索到的最好点(所谓最好,是指计算得到的适应值为最小,即pbest)。而在Vi={vi1、vi2、…、vid}这个种群中,至少有一个粒子是最好的,将其编号记为g,则凡Pg={Pg1、Pg2、Pg3、…、Pgd}就是种群搜索到的最好值(即gbest),其中g{1、2、3、…、m}。而每个粒子还有一个速度变量,可以用i=1、2、……、m。表示第i个粒子的速度。PSO算法一般是采用下面的公式对粒子进行操作的:ViK+1=w*V1k+cl*rl*(Pik-Xik)+c2*r2*(Pgk-Xik)(1)Xik+1=Xik+Vik+1(2)W=Wmax-WmaxK-WminK(3)其中粒子的标号i=1、2、……、m,k为迭代代数;学习因子cl,c2是两个正常数,一般取值为2;rl,r2是均匀分布于[0,1]之间的两个随机数。为了控制V-ik和-Xik的值在合理的区域内,需要指定Vmax和Xmax来限制。wmax`wmin分别为最大、最小加权系数,k为当前迭代次数,K为算法迭代总次数。(3)式的作用是避免算法后期出现粒子在全局最优解的附近“振荡”的现象。粒子群优化算法无论是早熟收敛还是全局收敛,粒子群中的粒子都会出现在全局最优解的附近“振荡”的现象。为此,引入群体适应度方差2及对gBest的变异操作。群体适应度方差2反映的是粒子群中所有粒子的“收敛”程度。2越小,则粒子群趋于收敛;反之,粒子群则处于随机搜索阶段。2=ni=1fi-ffavg(4)f=max|fi-favg|,max|fi-favg|>11,其它(5)其中:粒子群的粒子数目为n,fi为第i个粒子的适应度,favg为粒子群目前的平均适应度,2为粒子群的群体适应度方差。考虑到粒子在当前gBest的作用下可能发现更好的位置,因此新算法将变异操作设计成一个随机算子,即对满足变异条件的g

参考文献

引证文献

问答

我要提问