基于人工蜂群算法的FIR数字滤波器设计
2017-11-18刘晓丽兰英
刘晓丽+兰英
摘 要: 人工蜂群算法是一种基于蜜蜂采蜜行为的新兴群体智能算法,已得到广泛的应用。有限长单位脉冲响应(FIR)数字滤波器的设计已日趋成熟,它的一种典型设计方法是频率采样法,其中的过渡带参数优化是一个值得研究的问题。提出采用人工蜂群算法来选择和优化过渡带插值点参数,利用MATLAB进行仿真,取得了满意的仿真结果。与雷米兹法的比较,证明了算法的可行性和有效性,为FIR滤波器的设计提供了一种新的思路。
关键词: FIR; 数字滤波器; 人工蜂群算法(ABC); 频率采样; 参数优化
中图分类号:TP301.6;TN911.7 文献标志码:A 文章编号:1006-8228(2017)11-05-04
Designing FIR digital filter with artificial bee colony algorithm
Liu Xiaoli1, Lan Ying2
(1. Wuchang Institute of Technology, Wuhan, Hubei 430065, China; 2. The Engineering and Technical College of Chengdu University of Technology)
Abstract: Artificial bee colony algorithm (ABC) is a new swarm intelligence algorithm based on bee honey collection behavior, which has been widely used. The design of finite impulse response (FIR) digital filter has been maturing and the frequency sampling method is one of the typical design methods, and its transition zone parameter optimization is a problem worthy of study. In this paper, the artificial bee colony algorithm is proposed to select and optimize the interpolation point parameters of the transition zone, by simulating with MATLAB, the satisfied results are obtained. Compared with the Remez method, the feasibility and effectiveness of the algorithm are proved, which provides a new idea for designing the FIR filters.
Key words: FIR; digital filter; artificial bee colony algorithm (ABC); frequency sampling; parameter optimization
0 引言
信號的获取、传输、处理等都离不开滤波技术,数字滤波器比模拟设备有更多的优点,如精度高、灵活性好、可靠性高,已广泛应用于电视、雷达、通信、遥感、图像、生物医学等各个领域,数字滤波技术也成为数字信号分析和处理技术的重要分支。
按照单位抽样响应的时域特性,数字滤波器可以分为无限长单位脉冲响应(IIR)滤波器和有限长单位脉冲响应(FIR)滤波器。FIR 数字滤波器的突出优点在于可以做到严格的线性相位,同时也可以具有任意的幅度特性,此外,它的传递函数没有极点,保证了设计出的滤波器一定是稳定的[1-2]。
简单地说,设计数字滤波器就是要找到一组能满足特定滤波要求的系数向量。FIR数字滤波器的设计方法很多,较为典型的是窗函数法、最优化设计法和频率采样法。其中,频率采样法中常用于增大阻带衰减的方法有三种。
⑴ 加宽过渡带宽,以牺牲过渡带换取阻带衰减的增加。
⑵ 增大N,代价是滤波器阶数增加,运算量增加。
⑶ 过渡带的优化设计,利用最优化方法确定过渡带采样点的值,得到要求的滤波器的最佳逼近。
针对第三种方法,文献[3]采用遗传算法确定过渡带样本值,解决了传统查表法不能保证数据是最优的问题,实验说明通过遗传算法设计的FIR滤波器性能较查表法得到了改善。以此为参考,本文采用人工蜂群算法进一步改进设计结果。
人工蜂群算法(Artificial Bee Colony Algorithm,简称ABC算法)是模仿蜜蜂行为得到的一种优化方法[4-5],是集群智能思想的一个具体应用,它的主要优点是不用了解问题的特殊信息,只需对结果进行优劣比较,通过人工蜂个体的局部寻优行为,最终在群体中使全局最优值凸现出来,有着较快的收敛速度。目前已有很多改进版本,并且应用于许多科学和工程领域[6-7]。
1 频率采样法
频率采样法是从频域出发,根据频域采样定理,对给定的理想滤波器的频率响应进行等间隔抽样,得到:
进而可求得FIR滤波器的单位脉冲响应:
频率响应:
系统函数:
具有线性相位的FIR滤波器,其单位脉冲响应h(n)是实序列,且满足
由此得到的幅频和相频特性,就是对H(k)的约束。
例如,要设计I型线性相位FIR滤波器,即N为奇数,h(n)偶对称,则endprint
则幅度必须满足偶对称性:
相位:
在每个采样点上,频率响应严格与理想频率响应的采样值H(k)相等,逼近误差为零。而在各采样点之间的频率响应则是内插函数延伸叠加的结果,逼近误差的大小取决于理想频率响应曲线的形状,曲线越平缓,则误差越小。为了提高逼近的质量,可以适当地在频率响应的过渡带内插入采样点,扩展过渡带使其相对连贯,从而使得通带和阻带之间的变化坡度变缓,以达到减少逼近误差的目的。因此,过渡点的选取显得至关重要也颇有难度。
2 蜂群算法
2005年Karaboga D成功地将蜜蜂采蜜原理应用于函数的数值优化,并提出比较系统的人工蜂群算法。目前,关于ABC算法研究与应用还处于初级阶段,但由于其控制参数少、计算简洁、易于实现、鲁棒性强等特点,已成为群体智能领域的研究热点之一,得到越来越多学者的关注。
在ABC算法中,人工蜂群由引领蜂、跟随蜂和侦察蜂三部分组成。优化问题的可能解由蜜源的位置表示,解的适应度由蜜源的花蜜量表示,解的数量和引领蜂数量相等。首先ABC算法随机产生SN个初始解。每个解都是一个D维的向量,D是待优化参数的个数。经过初始化后,蜂群的位置随着引领蜂、跟随蜂和侦察蜂搜索开始改变。引领蜂根据记忆中的局部信息调整其位置并检查新蜜源的花蜜量。如果新位置的花蜜量比原来的多,则蜜蜂记住新的位置忘记旧的位置,否则保留旧的位置。在所有引领蜂完成搜索过程后,它们将在舞蹈区与跟随蜂分享蜜源的花蜜信息和位置信息。跟随蜂据此按与花蜜量相关的概率选择一个蜜源位置,像引领蜂那样根据记忆中的位置做一定的调整,并检查新候选位置的花蜜量。如果新位置的花蜜量优于旧位置的花蜜量,則忘掉旧的位置记住新位置。
初始化时,按照式⑴随机产生SN个解。
其中,和是的上下限;rand是(0,1)之间的一个随机数。
引领蜂和跟随蜂依据式⑵进行解的更新
其中,vij代表蜜源的位置,xkj代表在xij附近产生的一个新解,k∈{1,2,…,SN},j∈{1,2,…,D},k和j都是随机选取的,k是i邻域的一个解,所以k≠i;rij∈[-1,1]是随机数,它控制xij邻域的生成范围。
跟随蜂对新位置的选择是通过观察引领蜂的摇摆舞来判断的,并依据选择概率的大小来决定跟随哪个引领蜂。适应度值和选择概率的计算公式如下:
其中,fi是第i个解的目标函数值。
在ABC算法中,还有一个控制参数limit,用来记录某个解被更新的次数。假定某个解连续limit次循环之后没有得到改善,表明这个解陷入局部最优,就要被抛弃,那么该蜜源处的采蜜蜂成为侦察蜂,该蜜源位置将被解空间内随机产生的一个位置所代替。假设被抛弃的解是xi,将通过式⑴随机产生一个新解来代替原来解xi。
ABC算法的具体实现步骤可描述如下:
Step1 初始化,产生SN个食物源;
Step2 引领蜂收集每个食物源的信息,根据式⑶计算出其相对应食物源的适应度值;
Step3 跟随蜂根据食物源适应度值选择食物源,选择概率见式⑷;
Step4 通过公式⑵更新每次迭代后食物源的位置;
Step5 根据食物源位置的更新,来更新适应度值并进行比较,如果更新后的适应度值大于或者等于先前的值,则保留更新的食物源位置;反之,则依旧保留先前的食物源的位置;
Step6 如果一个食物源在循环一定的次数后依然没有改进,则抛弃该食物源,利用公式⑴来跳出食物源所在的位置,确定新食物源的位置;
Step7 判断算法是否满足蜂群算法结束的条件,若不满足,则跳到Step3继续,若满足则输出最优值。
3 仿真研究
设计一个线性相位FIR数字带通滤波器,要求通带波动小于0.3dB,阻带衰减大于60dB,其理想特性为
先利用数字信号处理工具箱中的remezord和 remez函数实现FIR数字滤波器的最优化设计,得到满足要求的滤波器的最低阶数为39,最小阻带衰减为-63.8845dB,最大通带波动为-0.2797dB,实验结果如图1所示。
再利用ABC优化过渡带采样点的值,采样点数 N=40,设置属于(0,1)区间内的2个过渡点,根据指标要求,计算得到:
反复运行后完成了所需滤波器的设计,其中5次的运行结果如表1所示,T1和T2是优化后的过渡点,As是最小阻带衰减,Rp是最大通带波动,显示出人工蜂群算法的可行性。
可以看出,蜂群算法优化的频率采样法设计出的滤波器比雷米兹法的通带波动有所改善。
4 结束语
随着信息时代的来临,数字滤波技术的重要性日益突出。本文给出了一种基于人工蜂群算法的线性相位FIR滤波器过渡带参数整定方法,并将其应用于带通滤波器的设计中,仿真结果验证了该方法的有效性.下一步的研究可以对人工蜂群算法进行改进,也可与滤波器设计的其他方法相结合。
参考文献(References):
[1] 程佩青.数字信号处理[M].清华大学出版社,2009.
[2] Rajib Kar, Durbadal Mandal, Sangeeta Mondal, et al.
Craziness based particle swarm optimization algorithm for FIR band stop filter design[J]. Swarm and Evolutionary Computation,2012.7:58-64
[3] 黄猛,唐琳,甄玉,张杰.基于自适应遗传算法FIR数字滤波器的
优化设计[J].现代电子技术,2010.2:143-146
[4] 胡珂,李迅波,王振林.改进的人工蜂群算法性能[J].计算机应
用,2011.31(4):1107-1110
[5] 曹金保.人工蜂群算法研究综述[J].电子设计工程,2013.21
(23):35-38
[6] 罗钧,李研.具有混沌搜索策略的蜂群优化算法[J].控制与决
策,2010.25(12):1913-1916
[7] 康飞,李俊杰,许青.混合蜂群算法及其在混凝土坝动力材料
参数反演中的应用[J].水利学报,2009.40(6):736-742endprint