基于遗传算法的Volterra滤波器

2018-06-11 01:49甘慧萍
科学与财富 2018年12期
关键词:级数遗传算法滤波器

摘 要:为了消除信号收集过程中的噪声干扰,提出一种基于遗传算法的 Volterra 滤波器的信号消噪方法。利用 Volterra级数建立一个非线性滤波器模型,并采用经典遗传算法对其核参数进行寻优求解,从而达到消噪的目的。最后将这一研究理论通过 Matlab 进行反复的仿真实验,并将本文提出的消噪方法的仿真结果与研究者常用的典型的基于 Wiener 模型的维纳滤波器的消噪结果进行比较,通过实验结果发现,本文提出的基于遗产算法的 Volterra 滤波器的滤波效果优于 Wiener 滤波器,其可行性和有效性得到了验证。

关键词:遗传算法 Volterra 级数 滤波器

0 引 言

在研究中,几乎所有的实际应用系统都可以当作非线性系统来进行研究[2].Wiener 模型是一种典型的非线性系统,在工业生产过程中的应用非常之广泛,如 PH 中和过程、热交换过程和流体控制等[3]。然而随着非线性系统复杂度的提高,Wiener 模型已经不能满足现代工业生产的需求。Volterra 级数实际是具有记忆能力的 Taylor 级数的扩展,故可逼近任意连续的非线性系统,由此得到研究者们的重视和青睐[4]~[10],并且取得了阶段性的成果。Volterra 模型是一种借助输入、输出进行表示的非线性系统模型,其输出是输入的非线性函数的线性组合 [4] 。

基于 Volterra 级数的非线性系统滤波研究,即在信号采集中,用 Volterra 级数模型针对原始信号中的噪声信号进行滤除,以求将原始信号恢复到最佳状态,能对系统进行最客观的研究和评价。本文在研究 Volterra 滤波器在非线性系统滤波的基础上,通过遗传算法对 Volterra 级数核进行优化,得到基于遗传算法的 Volterra滤波器。与 Wiener 滤波器相比,基于遗传算法的 Volterra滤波器在非线性系统的滤波中表现出更加优越的性能,更易于工程实现。

1 非线性系统的 Volterra 级数

2 基于遗传算法的自适应 Volterra 滤波器

2.1 遗传算法(GA)的基本思想

遗传算法依据生物在自然界中的进化过程而总结出的一种自适应全局优化概率搜索算法。该算法具有很强的稳定性,它不依赖于问题的领域和种类,可以适应于很多复杂的系统优化问题。用GA求解问题时,可以对该算法进行一定的设计。这样可以克服基于迭代原理的各种数值方法对适用问题的局限以及无法保证可以收敛到全局最优解的缺点[11]。

同时遗传算法的适应度(目标函数)不仅不受连续可微的约束,甚至不要求其连续,而且其定义域可以任意设定,因此极大地扩展了遗传算法的应用范围[12]。经典的遗传算法实现过程如图1所示:

2.2 遗传算法对 Volterra 级数核系数的优化

2.2.1 适应度函数确定与适应度计算

遗传算法是根据给定的目标函数作为寻优的目标,而该目标函数一般由待求问题给出。本文待解决问题的目标函数为Volterra 滤波器的实际输出和理想输出的均方误差,进化的结果是使该值最小,故可将该均方误差作为目标函数(即自适应函数),这样,遗传算法的进化过程就是适应度函数值不断减小直至最优解出现的过程。

在进化过程中,需对种群中每个个体的优劣性进行判断,即要计算出个体的适应度值。具体计算方法为:首先由个体基因碼解码计算出该个体对应的 Volterra 滤波器核系数,然后根据核系数,计算针对所有给定样本的 Volterra 滤波器的实际输出和理想输出误差平方,将该误差平方作为该个体的适应度,

2.2.2 遗传操作及新一代种群产生

选择—根据适应度函数计算得出的适应度值的大小来选择重组或交叉的个体。具体操作可采用多种方法来实现,本文采用轮盘赌选择方法,即适应度值越大该个体被选中的几率就越大,反之,则被选中的几率越小。

交叉—即基因重组,是由已知的两个父个体重组产生新个体的过程,该过程可为群体增加更多的新鲜血液。根据研究者采用的个体编码方法不同,相应的交叉操作也有多种,本文采用一种线性交叉法:

3.基于遗传算法的 Volterra 滤波器及其 MATLAB 仿真

Volterra 滤波器的滤波原理:给出一个种群样本后,它能够按照GA自适应地调节核参数,从而寻求最优解。自适应 Volterra 滤波器常用算法是 LMS,但是该算法收敛速度和稳定性难以保证。而本文采用的遗传算法是通用的优化算法,对寻优参数基本无要求,能够很快地收敛到全局最优解,因而遗传算法能够有效地应用于非线性 Volterra 滤波器的核系数的寻优问题。

3.1 Volterra 滤波器

式(1)表示的非线性系统有无限个 Volterra 核参数,但在实际应用时必须作截断处理。而截断处理包括阶数 p 和记忆深度 N 两个方面。很多研究者在研究的过程中都采用二阶 Volterra 进行研究,但是二阶 Volterra 级数很难达到非线性系统的高精度要求。本文在研究的过程中用三阶截断,即阶数 p=3,并假设 h0=0,记忆深度为 N,N=4。综上,该系统可可表示为:

在式(7)中,已假设 Volterra 核是对称的,即对任何p!个 m1,m2,…,mp 的换位,hp(m1,m2,…,mp)都相等,这样式(7)中共有 34 个 Volterra 核。定义系统输入矢量 X(n),核矢量H(n),式(7)也可以表示成式(8)的式。

3. 2 基于 Volterra 滤波器参数

在用遗传算法进行 Volterra 级数滤波器的优化时,涉及到很多参数,如种群(popsize)的大小、最大迭代次数的选择(max-length)、以及 Volterra 核系数 h 和采样点的大小。首先要确定以上这些参数的取值,因为这些参数的取值大小不仅会影响计算的快慢,占用计算机的内存,还会直接影响到系统的最终优化结果,最终影响的是该算法的优越性。经过反复运行,发现参数的取值为以下范围或取值时,算法的优化效果比较理想。

3.2 基于遗传算法 Volterra 滤波器 MATLAB 仿真

上面给出了三阶 Volterra 级数的形式,并对相关遗传算法的参数进行了优选。基于遗传算法的 Volterra 滤波器相比于以前的滤波器,对于非线性系统能很好进行描述。现就维纳滤波器和基于遗传算法的三阶 Volterra 滤波器进行 Matlab仿真。在 Matlab 中分别进行 50 次有效地仿真运行。

通过图2—图5可以看到,基于遗传算法的三阶Volterra滤波器比维纳滤波器的性能和运行结果更加稳定,该方法滤波性能优良,更加接近于最优值。

4 结论

本文介绍了Volterra滤波器的基本原理及遗传算法基本进化原理,并针对信号消噪问题,提出将遗传算法引入自适应Volterra滤波器的核系数的优化过程,以得到最优的核参数。最后将基于遗传算法的自适应Volterra滤波器应用于非线性系统的滤波过程,文中通过Matlab仿真实验结果证明了基于遗传算法的自适应Volterra滤波器滤波的的可行性和消噪的优良性能。仿真结果说明本文提出的基于遗传算法自适应Volterra滤波器有较好的消噪效果,具有一定的工程应用价值。

参考文献:

[1]王小平,曹立明.遗传算法:理论、应用与软件实现[M].西安交通大学出版社 ,2002,1.

[2]KARABOGA Dervis.An idea based on honey bee swarm for numerical optimization[J]. Erciyes University Press,2005.

[3]张朝龙,佘春日,江善和等.基于自适应云粒子群算法的 Wiener 模型辨识[J].计算机应用研究,2012,29(11)

[4]吴立勋,梁虹.volterra 级数模型的一种并行辨识算法[J].石家庄学院报,2007,9(6).

[5]胡钋 .volterra 级 数的 物理模型 推导及 应用 [J]. 水利电力科技.1996,23(1).

[6]欧文,韩崇昭.volterra 泛函级数辨识中维数灾难的一种解决方法[J] 西安交通大学学报,2001,35(6).

[7]宋志平,程礼,魏瑞轩.航空发动机的一种 volterra 级数非线性动态模型[J].航空动力学报,2004,19(4)

[8]韩海涛,谭力宁,马红光等.基于 GA 理论的 volterra 核辨识的多音激励设计[J].计算机工程与设计,2013,34(4).

[9]Tang H,Liao YH,Cao JY.Fault diagnosis approach based on volterra models[J].Mechanical system and signal processing,2010,24(4):1099-1113.

[10]赵知劲,郑晓华,尚俊娜.一种全解耦分组二阶 Volterra 自适应滤波算法[J].数字信号处理,2010,34(7).

[11]杨福宝. 基于遗传算法的 FIR 数字滤波器的优化设计[J].武汉理工大学学报, 2002,26(4): 478-480

[12]王家齐,孙青,孙勇等.遗传算法在波导滤波器优化设计中的应用[J].导弹与制导学报,2006,26(1):446-448.

[13]王曉芳.基于遗传算法的自适应滤波器设计与实例仿真[J].山东轻工业学院学报,2006,20(2):24-28.

作者简介:

甘慧萍(1988-),女,甘肃永登人,柳州铁道职业技术学院教师,研究方向:非线性算法的优化计算。

猜你喜欢
级数遗传算法滤波器
从滤波器理解卷积
Dirichlet级数及其Dirichlet-Hadamard乘积的增长性
开关电源EMI滤波器的应用方法探讨
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
几个常数项级数的和
基于Canny振荡抑制准则的改进匹配滤波器
基于TMS320C6678的SAR方位向预滤波器的并行实现
p级数求和的两种方法