APP下载

基于人工蜂群算法的FIR滤波器设计

2014-05-12张立毅张晋斌

山西电子技术 2014年2期
关键词:频率响应蜂群适应度

刘 婷,张立毅,2,张晋斌

(1.天津商业大学信息工程学院,天津300134;2.天津大学电子信息工程学院,天津300072;3.宜昌测试技术研究所,湖北 宜昌443003)

随着全球信息化的推进,数字信号处理的理论与应用得到了飞跃式发展。数字信号处理器的设计一直是数字信号处理领域的重点研究课题之一,无限长单位抽样响应(Finite Impulse Response,FIR)滤波器以其系统稳定性、易于满足线性相位和硬件实现容易等特点[1],在通信、雷达、生物医学、地震勘探等领域得到广泛的应用。

最优化FIR滤波器设计是指在满足一定优化准则下,使设计的FIR滤波器性能最优的一种设计方法[2],它可以归结为一个最优化问题,采用最优化理论来求解。近年来,许多学者采用启发式算法来实现最优化FIR滤波器设计,取得了较好的优化效果,例如基于遗传算法的FIR滤波器[3]、基于粒子群算法的FIR滤波器[4]和基于差分文化算法的FIR滤波器[5]。人工蜂群算法是一种模拟蜂群寻找最优食物源的智能优化算法,函数优化测试表明,ABC算法比遗传算法、差分进化算法和粒子群算法具有更好的优化性能[6]。本文将人工蜂群算法用于求解最优化FIR滤波器设计问题,提出了一种基于人工蜂群算法的FIR滤波器设计,并进行了计算机仿真。

1 人工蜂群算法

人工蜂群算法分为三种角色:引领蜂、跟随蜂和侦察蜂。引领蜂有保持优良食物源的作用,具有精英特性;跟随蜂增加较好食物源对应的蜜蜂数,加快算法的收敛;侦察蜂随机搜索新食物源,帮助算法跳出局部最优[7]。人工蜂群算法的基本实现步骤总结如下[8]:

1)初始化

随机生成SN个食物源,每一个食物源对应一个引领蜂,并设引领蜂与跟随蜂个数相等。每个食物源Xi=(Xi1,Xi2,…,XiD)(i=1,2,…,SN)对应优化问题的一个解,其中D为问题维数。按照下式初始化Xi。

其中,d∈{1,2,…,D},Xid,max,和 Xid,min分别是 Xid的上限和下限;rand为(0,1)之间的一个随机数。

在最小化问题中,利用下式计算各食物源的食物浓度(适应度值)。

其中,fiti和fi分别为第i个食物源的食物浓度(适应度值)和对应优化问题的目标函数值。

2)引领蜂行为

引领蜂首先采用“贪婪原则”对相应的食物源进行一次邻域搜索,如果新食物源的食物浓度优于旧食物源,则替换旧食物源,否则保留旧食物源。

引领蜂对食物源Xi进行领域搜索,产生新食物源Vi=(Vi1,Vi2,…,ViD).

其中,m为[1,SN]之间的随机整数且 m≠i;drand为[1,D]之间的随机整数;rid∈[-1,1]是一个随机数,控制邻域搜索的范围。上式说明,Vi和Xi相比只有一个分量更新,因此蜂群算法属于单维更新算法。

3)跟随蜂行为

所有的引领蜂完成搜索后,把食物源的信息传达给跟随蜂。跟随蜂根据轮盘赌的方式选择食物源。食物源i被选中的概率Pi为:

同样,跟随蜂在选中食物源的附近也采用“贪婪原则”利用式(3)进行邻域搜索,当跟随蜂搜索新食物源的食物浓度大于原引领蜂的旧食物源时,替换原引领蜂的旧食物源,完成角色互换;反之,保持不变。

4)侦察蜂行为

引领蜂经贪婪选择后,与之对应的食物源的食物浓度连续limit次没有被更新,表明该食物源陷入局部最优,应该放弃。此时,引领蜂变为侦察蜂,并根据式(1)生成新的食物源。

5)结束

记录到目前为止的最优解,并判断是否满足结束条件。若不满足,返回继续执行引领蜂、跟随蜂和侦察蜂行为,直到满足结束条件后,循环结束。

2 基于人工蜂群算法的FIR滤波器设计

2.1 FIR滤波器设计

设FIR滤波器的单位抽样响应为h(n),则其频率响应为:

其中,N为滤波器的阶数。

最优化FIR滤波器的设计,就是选取合适的滤波器系数h(0),h(1),…,h(N-1)使目标函数最小。根据频域最小均方误差准则,目标函数选为M个频率点{ωi|i=1,2,…,M}上,所设计滤波器频率响应H(ejω)与理想滤波器频率响应|Hd(ejω)|的误差平方和,即

从上式可以看出,目标函数是滤波器系数h(0),h(1),…,h(N-1)的非线性函数。

2.2 基于人工蜂群算法的FIR滤波器设计

把最优化FIR滤波器设计搜索最佳滤波器系数的过程看作是人工蜂群算法寻找最丰富食物源的过程,即可得到基于人工蜂群算法的FIR滤波器设计。

在基于人工蜂群算法的FIR滤波器设计中,选择式(6)为目标函数,目标函数越小,所设计滤波器的频率响应H(ejω)与理想滤波器的频率响应|Hd(ejω)|越接近。算法结束后,蜜蜂寻找到的最丰富食物源对应于FIR滤波器的最优滤波器系数 h(0),h(1),…,h(N -1)。

基于人工蜂群算法FIR滤波器的设计步骤如下:

1)给出理想滤波器的频率响应Hd(ejω)。

2)人工蜂群算法初始化。

设定食物源数量SN,最大循环次数MCN和引领蜂变为侦察蜂的条件limit,随机生成SN个初始食物源X={X1,X2,…,XSN}

3)人工蜂群算法执行循环

(a)引领蜂根据式(3)进行邻域搜索产生新解Vi,计算其适应度值;

(b)在Xi和Vi之间进行“贪婪选择”;

(c)依据(b)中较好解的适应度值,由式(4)计算其转移概率;

(d)依据转移概率,跟随蜂使用“轮盘赌”方式选择引领蜂进行跟随,利用式(3)跟随蜂进行邻域搜索并“贪婪选择”,完成角色转化;

(e)判断是否有需要放弃的解。如果有,引领蜂变成侦察蜂,利用随机生成新解代替旧解,找到新解后侦察蜂又变为引领蜂;

(f)记录到目前为止的最优解。判断是否满足算法的终止条件。若满足,输出找到的最优解h(0),h(1),…,h(N-1),否则继续循环。

3 实验仿真

为了验证设计方法的有效性,利用MATLAB对几种FIR滤波器进行了仿真实验。在实验中,人工蜂群算法的参数设置为:SN=200,MCN=500,limit=30,参数维数 dimension=12。

实验一:设计一个阶数为12的FIR低通数字滤波器,其技术指标为:

图1为该低通FIR滤波器的适应度和归一化幅频响应曲线。

图1 低通FIR滤波器的适应度和归一化幅频响应曲线

实验二:设计一个12阶的FIR带通数字滤波器,其技术指标为:

图2为该带通FIR滤波器的适应度和归一化幅频响应曲线。

图2 带通FIR滤波器的适应度和归一化幅频响应曲线

以上两个实验说明基于人工蜂群算法的FIR滤波器设计的幅频响应曲线具有比较理想的通带和阻带性能,因此该方法是一种有效的设计方法。

4 结论

本文研究了人工蜂群算法的实现步骤,讨论了最优化FIR滤波器设计的基本原理,分析了人工蜂群算法用于求解最优化F IR滤波器设计的可行性,提出了基于人工蜂群算法的FIR滤波器设计。通过低通和带通滤波器的仿真实验,验证了算法的可行性和有效性。

[1]兰成章,高洪元,李诗桓.基于差分文化算法的FIR数字滤波器设计[J].自动化技术与应用,2010,29(6):65 -68,73.

[2]夏利霞,谢菊芳,杨艳芹,等.基于粒子群优化算法的FIR数字滤波器设计[J].湖北大学学报(自然科学版),2006,28(1):51 -53,56.

[3]邹娟,贾世杰,曾洁.基于遗传算法的FIR滤波器设计[J].大连交通大学学报,2010,31(4):22 -25.

[4]李辉,张安,赵敏,等.粒子群优化算法在FIR数字滤波器设计中的应用[J].电子学报,2005,33(7):1338-1341.

[5]Karaboga N,Cetinkaya B.Design of Digital FIR Filters U-sing Differential Evolution Algorithm[J].Circuits,Systems and Signal Processing,2006,25(5):649 -660.

[6]KARABOGA D,BASTURK B.A Powerful and Efficient Algorithm for Numerical Function Optimization:Artificial Bee Colony(ABC)algorithm[J].Journal of Global Optimization,2007,39(3):459 -471.

[7]刘婷,张立毅,鲍韦韦,等.基于改进二进制人工蜂群算法的多用户检测器[J].计算机应用,2013,33(1):171 -174,178.

[8]刘婷,张立毅,邹康,等.基于差分演化二进制人工蜂群算法的多用户检测[J].电路与系统学报,2013,18(1):5-11.

猜你喜欢

频率响应蜂群适应度
改进的自适应复制、交叉和突变遗传算法
“蜂群”席卷天下
研究1kW中波发射机频率响应的改进
一种基于改进适应度的多机器人协作策略
一种测量交流伺服系统扰动频率响应方法
大口径空间相机像质的微振动频率响应计算
基于空调导风板成型工艺的Kriging模型适应度研究
改进gbest引导的人工蜂群算法
基于改进静止频率响应试验的同步电机参数辨识
蜂群夏季高产管理