冯英 徐松林
摘 要:中频数字信号处理(DSP)是现今研究的热门议题,其应用范围包含语音辨识、语音合成、影像处理以及马达控制等,其中信号的表示、转换及应用更是中频数字信号处理器中重要的一环,而如何设计数字滤波器则成为中频数字信号处理领域中很重要的论点。在这种背景下,本文重点从改良型粒子群最优化演算法着手,对于数字滤波器的设计进行了分析。
关键词:中频数字接收机;数字滤波器;设计;粒子群最优化演算法
1 中频数字接收机的数字滤波器应用及特征
滤波器可以用相当简单的手法改变信号的本质,设计者可以自由选择所需的频段,并滤除其他不需要的部分。例如,当输入一信号通过低通滤波器后,便可以让低频部分的信号通过并能消除高频部分的信号;反之,高通滤波器也可让高频部分的信号通过,并消除低频部分的信号。一般而言,数字滤波器主要可分为有限脉冲响应(Finite impulse response,FIR)及无限脉冲响应(Infinite impulse response,IIR)滤波器两种,这两者最大的差别在于FIR滤波器必须使用更多的阶数才能达成和IIR滤波器同样的效果,不过FIR滤波器在设计时不用考虑稳定性;反之,IIR滤波器在设计时必须考虑到稳定性的影响。
在滤波器研究方面数字滤波器会比类比滤波器拥更更高的精准度,在杂讯方面,数字滤波器通过电脑模拟可以排除不必要的杂讯,而类比滤波器却要考虑杂讯影响,在稳定度上类比滤波器要考虑电子元件、电路、温度,经过时间长短而改变,在数字滤波器上却没有此问题。
2 传统数字滤波器设计技术
一是人工蜜蜂群演算法(Artificial Bee Colony algorithm,ABC algorithm),這是Dervis Karaboga学者在2006年观察蜜蜂的觅食行为所提出,人工蜜蜂群演算法包含三种群体的蜜蜂,也即工蜂、观察蜂与侦查蜂,而蜜蜂的主要目的是搜寻食物来源以及发现拥有最大花蜜量的食物来源,再配合自己与同伴的经验来选择,最后通过迭代次数寻求最优解。
二是粒子群最优化演算法(Particle Swarm Optimization,PSO),这是由Russell Eberhart和James Kennedy两位学者在1995年研究自然界生物群聚行为,所发展出以生物群体为背景的计算技术,借助模拟单一个体所组成的群聚行为,个体间的行为不但会受到过去经验影响,同时也会受到整体群聚行为影响。
三是微分演化演算法(Differential Evolution,DE),这是由Storn和Price两位学者于1997年提出,是近年来最优化演算法的热门选择之一,经由实数进行突变、交配与选择最后通过迭代以搜寻最优解,而在过去文献中发现,其均能表现出不错的成效,并广泛地被应用在各项领域当中,其优势包含参数设定数少、稳健、实作容易、高准确性。
3 基于改良型粒子群最优化演算法的数字滤波器设计
3.1 粒子群最优化演算法
粒子群最优化演算法(particle swarm optimization, PSO)是模拟鸟、鱼群觅食行为的智慧演算法,经由粒子间信息的交换并更新其向量来求解最优化的问题,而改良型粒子群最优化演算法在信息的交换并更新向量之间,除了考虑原有的粒子最优解与全域最优解之外,新增的区域最优解可以使演算法在求解最优化问题时更有效率的搜寻到最优解的位置,进而缩短求解最优化问题所需的时间。
在粒子群优演算法中,每一个个体被称为粒子,每一个粒子都有各自的位置以及移动速度,粒子位置以Xid来表示,粒子的移动速度则以Vid来表示,其中i代表第i个粒子,d代表粒子中第d个系数。在求解与迭代过程中,所有粒子经过适应函数(Fitness Function)的计算后会得到各自的适应值(Fitness Value),每一个粒子与之前的自己比较后会得知自己的最佳位置Pid,这称之为每个粒子的各自最优解,同时在与其他粒子比较后也会得知目前群体中的最佳位置Gd,这称之为群体最优解,最后利用更新的方程式来更新粒子的位置与速度。最常被使用的更新法则有以下三种,分别为惯性权重法(Inertia weight method)、最大速度法(Max method)和收缩系数法(Constriction factor method)。
3.2 改良型粒子群最优化演算法
改良型粒子群最优化演算法是以传统粒子群最优化演算法为基础,除了考虑各自最优解与全域最优解外,新增的区域最优解可以帮助粒子更有效率的在空间搜寻最优解的位置。在求解过程中,把族群内的粒子再平均分成p个小群体,所有粒子经过适应函数的计算会得到各自的适应值,所有小群体会比较各自群体内所有粒子的适应值来找出小群体各自的最佳位置Spd与最佳适应值Sd,这称之为区域最优解,并把该因素加进惯性权重法内可以得到新的惯性权重法。
3.3 改良型粒子群最优化演算法流程
步骤1:设定粒子的数量,即为族群大小(Population Size,PS),族群大小为可调参数之一,其值如果设定太大,虽然可以加快找到最优解的机会,但却也会增加系统运算的时间,如果设定太小则容易提早收敛,因此必需视最优化问题的复杂度来调整群体大小,才不会影响系统的搜寻效率,而每一个粒子的初始位置(Xi1,Xi2,…,Xid)则是以随机乱数的方式产生。步骤2:计算适应值以评估每一个粒子对最优化问题的适应程度。步骤3:比较由步骤2所计算的适应值,根据适应程度的优劣来决定各自最优解、区域最优解以及全域最优解的位置与适应值。步骤4:利用所选择的更新法则计算每个粒子的速度与其更新后的位置。步骤5:判断是否已达设定的最大迭代次数,若是,则结束搜寻;若否,则跳回。
[参考文献]
[1]魏朝晖.数字滤波器的设计与实现的研究[J].机电产品开发与创新,2009(02).
[2]葛建新.数字滤波器的设计与实现方法[J].电脑知识与技术,2009(08).