基于改进遗传算法的FIR数字滤波器的优化设计

时间:2022-09-22 12:05:37

基于改进遗传算法的FIR数字滤波器的优化设计

摘要: 提出了利用基于BP(BackPropagation)神经网络的遗传算法来设计FIR数字滤波器的方法。针对遗传算法很难实现全局最优和搜索速度比较慢的缺陷,提出了改进算法,该算法充分利用了遗传算法的全局搜索功能强和BP神经网络的搜索效率高,优化了搜索时间,提高了算法性能,对于解决大规模多极值优化问题特别有效。最后,以设计低通滤波器的实例验证算法的可行性。

Abstract: FIR filter is designed by the genetic algorithm based on BP neural network. Aimed at the difficulty of global optimization and the slow computational rate, an improved method is given. The algorithm takes advantage of the global search capabilities of genetic algorithm and the strong search efficiency of BP neural network. It optimizes the search time and improves the performance of the algorithm. It is particularly effective for solving large-scale optimization problems. The example of low-pass filter designed by the improved algorithm shows its feasibility.

关键词: FIR滤波器;遗传算法;BP神经网络

Key words: FIR filter;genetic algorithm;BP neural network

中图分类号:TP39 文献标识码:A文章编号:1006-4311(2011)17-0037-02

0引言

在数字信号处理中,滤波器一直占有重要的地位,数字滤波器在语音、图像处理和谱分析等应用中经常使用,其优化设计一直受到广大研究者和工程人员的关注。其中FIR数字滤波器有自己突出的优点:系统总是稳定的,易于实现线性相位,允许设计多通带或多阻带滤波器等。因此FIR滤波器在数字信号处理中得到广泛的应用。

窗函数法设计数字滤波器是最常见方法,但是一些常见窗口函数,如矩形窗、汉宁窗等,窗口形状固定,不能很好地满足多样性需求[1]。而利用凯塞给出的经验公式则需要多次尝试。利用Parks-McClellan算法能够设计出性能最优的数字滤波器,但是算法实现过程十分复杂。FIR数字滤波器设计的问题是一个多变量多极值的寻优问题。遗传算法正是求解最优问题的有效方法,所以在滤波器设计中应用广泛。但是其本身也存在一些缺陷,所以可以对遗传算法进行改进,使其达到更优的效果。

1改进的遗传算法

遗传算法(Genetic Algorithm,简称GA)是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。它提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的领域和种类,具有很强的鲁棒性。

但是,遗传算法很难实现全局最优,为了使所求的解尽量靠近全局最优,避免早熟现象的出现,虽然曾有人提出对算法的流程进行改进,但是结果收敛速度非常慢,需要花十几分钟才能得到一个较满意的结果,此时对于那些对时间要求苛刻的系统就很难满足要求了[2]。通过参考相关文献[2][3],结合BP(BackPropagation)神经网络的优点,将BP神经网络引入遗传算法,这就是改进的遗传算法,即基于BP神经网络的遗传算法,充分利用遗传算法全局搜索功能强和BP神经网络算法局部搜索能力强的特点,对于求解大规模多极值优化问题特别有效。

2FIR滤波器

2.1 FIR数字滤波器的频率特性数字滤波器是对一个数字信号按照一定的要求进行运算,然后以数字形式输出的系统。输出仅与过去以及现在的输入有关的数字滤波器称为有限冲激响应FIR数字滤波器。可以表示为[4] [5]:

3改进的遗传算法的实现

将BP神经网络与遗传算法相融合,一方面由遗传算法保证学习的全局收敛性,克服BP对初始值的依赖性和局部收敛问题;另一方面,与BP算法的结合也克服了单纯遗传算法所带有的随机性和概率性问题,而有助于提高它的搜索效率。该算法实现的基本思想[7][8]是:在遗传算法每完成一定代数的进化后,保存当前最优个体,对其余个体进行一次神经网络的优化汁算,产生新的个体,这些新个体和保存的最优个体一起,形成新的一代种群,再参与到下一代的进化中。

具体流程[2][9]如下:

第1步:随机产生初始种群,个体数目一定,每个个体表示为染色体的基因编码;

第2步:分成三个小的步骤,分别如下:

A.判断进化代数或者误差是否满足设定值,若满足则转C;

B.计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束训算;否则转向第3步;

C.保留最优个体,其余个体参加BP神经网络的优化计算,产生的新个体和保留的最优个体一起构成新的种群,转B。

第3步:依据适应度选择再生个体,适应度高的个体破选中的概率高,适应度低的个体可能被淘汰;

第4步:按照一定的交叉概率和交叉方法,生成新的个体;

第5步:按照一定的变异概率和变异方法,生成新的个体;

第6步:按照交叉和变异产生新一代的种群,返回第2步。

在选择BP神经网络算子时,每当进化进行了指定的代数,便保留最优个体,其余的个体全部参加BP神经网络算法,产生全新的个体。我们选择这个代数为10至20代。

下面以一个实例进行说明:

例设计一个低通滤波器,其参数分别为wp=0.2?仔,ws=0.3?仔,ap=0.25dB,as=50dB,初始阶数可以由文献[5]确定为M=42。

在此例中,选定初始种群为600,截断概率为0.5,交叉概率为0.1,变异概率为0.01。在运用BP网络时,设置网络隐含层的神经元数为5个(当神经元数为3,4,5时,其输出精度都相仿。一般的讲,网络神经元的选择原则是:在能够解决问题的前提下,再加上一个到两个神经元用以加快误差的下降速度。而当神经元数过大时,会产生其它的问题)。在隐含层选择作为传递函数,用作为网络训练函数,则由改进的遗传算法设计出来的结果M=48(窗函数法设计M=61,频率采样法M=61)。

4结论

本文方法对遗传算法进行了改进,利用改进的遗传算法成功地完成了对FIR低通滤波器的优化设计。例子表明文中的滤波器设计的结果优于窗函数法和频率采样法,得到了较低的滤波器阶数。也进一步证明了遗传算法全局搜索功能强和BP神经网络算法局部搜索能力强。通过改变参数,也可以实现其他类型的优化设计。

参考文献:

[1]王秋生,袁海文,黄娇英.基于遗传算法和余弦序列的数字滤波器设计[J].电子测量与仪器学报,2008增刊:212.

[2]邵仕泉.基于BP神经网络的遗传算法在数字滤波器设计中的应用[D].成都:电子科技大学,2005.

[3]周燕.遗传算法与BP神经网络相结合的说话人识别系统[J].传感器与微系统,2009,28(6):98-99.

[4]Robert Meddins. Introduction to Digital Signal Processing[M]. Newnes,2000.

[5]余成波.数字信号处理及MATLAB实现(第2版)[M].北京:清华大学出版社,2008.

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

[7]胡玉兰,苑薇薇,王雷.基于改进的混合基因算法的-./数字滤波器设计[J].数据采集与处理,2006,21(2):223-224.

[8]张丽飞.基于遗传算法的BP神经网络在数字滤波器中的应用研究[D].成都:西华大学,2006.

[9]周明,孙树栋.遗传算法原理与应用[M].北京:国防工业出版社,1999.

上一篇:精细设备配套建设,强化实验条件保障 下一篇:精细油藏描述技术在榆树林油田升382井区注水调...