本科毕业设计基于人工鱼群传算法的iir数字滤波器的设计.docx
- 文档编号:24886916
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:29
- 大小:268.37KB
本科毕业设计基于人工鱼群传算法的iir数字滤波器的设计.docx
《本科毕业设计基于人工鱼群传算法的iir数字滤波器的设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计基于人工鱼群传算法的iir数字滤波器的设计.docx(29页珍藏版)》请在冰豆网上搜索。
本科毕业设计基于人工鱼群传算法的iir数字滤波器的设计
基于人工鱼群算法的IIR数字滤波器的设计
课程名称:
数字信号处理
专业班级:
小组组员:
摘要4
Abstract5
1鱼群模式概论6
1.1鱼群模式6
1.2鱼群行为分析6
1.3人工鱼7
1.4问题的解决8
2人工鱼群算法9
2.1人工鱼模型9
2.2相关定义9
2.3行为描述10
2.3.1觅食行为10
2.3.2聚群行为10
2.3.3追尾行为10
2.2.4随机行为11
2.2.5行为选择11
2.4算法描述11
3数字滤波器14
3.1数字滤波器的简介14
3.2FIR和IIR数字滤波器的概述14
3.2.1FIR数字滤波器14
3.2.2IIR数字滤波器15
3.2.3FIR数字滤波器与IIR数字滤波器的区别15
3.3数字滤波器的设计要求16
3.4数字滤波器的设计方法17
4基于人工鱼群算法的IIR数字滤波器的设计18
4.1IIR数字滤波器优化模型18
4.2IIR数字滤波器设计19
4.3IIR数字滤波器的仿真结果20
4.3.1仿真图形20
5小结22
6参考文献23
附件24
摘要
IIR数字滤波器设计一直是数字信号处理领域的重要课题之一。
优化算法是数字滤波器设计的一种主要方法,它是在一定优化准则下,使设计的滤波器性达到最优,但由于这些算法都是非线性优化算法,优化过程中容易陷入局部最小值。
近年来,随着智能优化算法的广泛研究,已经有学者将遗传算法(GA)和粒子群算法(PSO)应用到IIR数字滤波器设计中。
但是遗传算法运行速度慢,有时会陷入局部最优解的缺点;粒子群算法虽然运行速度快,算法简单,但是仍有很大的可能陷入局部最优解。
为了克服以上的缺点,采用新的全局优化技术提高IIR数字滤波器的设计质量,是一个值得研究的课题。
人工鱼群算法是新近提出的一种全局优化算法。
它将基于行为的人工智能思想通过动物自治体的模式引入优化命题的解决中,构造了一种解决问题的架构一鱼群模式,并由此产生了一种高效的智能优化算法。
将人工鱼群算法用于IIR
数字滤波器的设计,发现该算法实现简单,有较强的跳出局部最优解的能力,并且具有算法灵活,简单,收敛速度快和全局收敛性好等优点。
人工鱼群算法从具体的实施算法到总体的设计理念,都不同于传统的设计和解决方法,同时它又具有与传统方法相融合的基础,相信该算法将来会被广泛地应用于问题求解、机器学习、信号处理、智能控制和人工生命等领域。
关键词:
IIR数字滤波器人工鱼群算法全局优化
Abstract
IIRdigitalfilterdesignhasbeenanimportanttopicinthefieldofdigitalsignalprocessing.Optimizationalgorithmisamajormethodofdigitalfilterdesign,whichisoptimizedundercertaincriteria,sothatthedesignoftheoptimalfilter,butbecausethesealgorithmsarenonlinearoptimizationalgorithm,theoptimizationprocessiseasytofallintolocalminimum.Inrecentyears,alongwithawiderangeofintelligentoptimizationalgorithm,scholarshavegeneticalgorithm(GA)andparticleswarmoptimization(PSO)isappliedtoIIRdigitalfilterdesign.However,thegeneticalgorithmisrunningslow,andsometimesfallintolocaloptimalsolution;PSOalgorithmalthoughfast,simplealgorithm,butthereisstillmuchmorelikelytofallintolocaloptima.Toovercomethesedrawbacks,theuseofanewglobaloptimizationtechniquestoimprovethedesignqualityIIRdigitalfilterisasubjectworthyofstudy.
AFSAisaglobaloptimizationalgorithmrecentlyproposed.AIthoughtitthroughanimalbehavior-basedautonomousbodyofthemodelintotheoptimizationsolutionproposition,andconstructaframeworktosolvetheproblemofafishpattern,andthusproducedahighlyintelligentoptimizationalgorithms.TheAFSAforIIR
Digitalfilterdesign,foundthatthealgorithmissimple,thereisastrongabilitytojumpoutoflocaloptima,andhasaflexiblealgorithmissimpleandfastconvergenceandglobalconvergenceandgood.
AFSAalgorithmfromspecificimplementationintotheoveralldesignconcept,aredifferentfromthetraditionaldesignsandsolutions,butitalsohastheinfrastructureandtheintegrationoftraditionalmethods,Ibelievethatthefutureofthealgorithmiswidelyusedinproblemsolving,machinelearning,signalprocessing,intelligentcontrolandartificiallife,andotherfields.
Keywords:
IIRdigitalfilterAFSAglobaloptimization
1鱼群模式概论
1.1鱼群模式
在动物的进化过程中,经过漫长的自然界的优胜劣汰,形成了形形色色的觅食和生存方式,这些方式为人类解决问题的思路带来了不少启发和鼓舞。
鱼群模式便是一种基于鱼群行为的自治体寻优模式。
一个集群通常定义为一群自治体的集合,他们通过相互间直接的或者
间接的通讯,从而通过全体的活动来解决一些分布式的难题。
在集群的过程中没有所谓的领导者,单个个体的行为也相对比较简单,个体看上去是盲目与随机的,但整体的行为却是有序与有目的的。
这样就使得该类问题的设计不同于传统设计方法,从而引入了自下而上的设计方法—动物自治体模式。
本设计将动物自治体的概念引入优化算法中,采用了自下而上的思路,应用了基于行为的人工智能方法,形成了一种新的解决问题的模式,因为是从分析鱼类的活动出发的,所以称为鱼群模式。
1.2鱼群行为分析
鱼类与我们的关系相当密切,也较为我们所熟知,通常我们可以观察
到如下的鱼类行为:
觅食行为:
这是生物的一种最基本的行为,也就是趋向食物的一种活
动;一般可以认为它是通过视觉或味觉来感知水中的食物量或浓度来选择
趋向的,因此,以上所述的视觉概念可以应用于该行为。
聚群行为:
这是鱼类较常见的一种现象,大量或少量的鱼都能聚集成
群,这是它们在进化过程中形成的一种生存方式,可以进行集体觅食和躲
避敌害。
追尾行为:
当某一条鱼或几条鱼发现食物时,它们附近的鱼会尾随其后快速游过来,进而导致更远处的鱼也尾随过来。
随机行为:
鱼在水中悠闲的自由游动,基本上是随机的,其实它们也是为了更大范围的寻觅食物或同伴。
以上是鱼的几个典型行为,这些行为在不同时刻会相互转换,而这种
转换通常是鱼通过对环境的感知来自主实现的,这些行为与鱼的觅食和生
存都有着密切的关系,并且与我们优化问题的解决也有着密切的关系。
1.3人工鱼
在一片水域中,鱼往往能自行或尾随其它鱼找到营养物质多的地方,因而鱼生存数目最多的地方一般就是本水域中营养物质最多的地方。
人工鱼群算法就是根据这一特点,通过构造人工鱼来模仿鱼群的各种行为,从而实现寻优。
人工鱼是真实鱼个体的一个虚拟实体,用来进行问题的分析和说明。
借助于面向对象的分析方法,可以认为人工鱼就是一个封装了自身数据信息和一系列行为的一个实体,可以通过感官来接收环境的刺激信息,并通过控制尾鳍来作出相应的应激活动。
人工鱼所在的环境主要是问题的解空间和其他人工鱼的状态,它在下
一时刻的行为取决于目前自身的状态和目前环境的状态(包括问题当前解的优劣和其他同伴的状态),并且通过自身活动影响环境,进而影响其他同伴的活动。
图1.1人工鱼实体
1.4问题的解决
问题的解决是通过自治体在自主的活动过程中以某种形式表现出来的。
在寻优过程中,通常会有两种方式表现出来:
一种形式是通过人工鱼最终的分布情况来确定最优解的分布,通常随着寻优过程的进展,人工鱼往往会聚集在极值点的周围,而且,全局最优的极值点周围通常能聚集较多的人工鱼;
另一种形式是在人工鱼的个体状态之中表现出来的,即在寻优的过程中,跟踪记录最优个体的状态。
鱼群模式不同于传统的问题解决方法,提出了一种新的模式,从而在下文引出了一种新的优化模式—人工鱼群算法,使得这一模式具备并行分布处理、参数和初值的鲁棒性强等能力。
2人工鱼群算法
2.1人工鱼模型
算法基于动物自治体模式,采用了自下而上的设计方法,所以,首先着重构造人工鱼的模型。
这里主要采用了面向对象的技术,并用C++语言的伪代码形式来说明。
通常,人工鱼的模型可以用右边的类来描述:
classArtificial_fish
{
Various:
floatAF_X[n];//人工鱼的各个变量
floatAF_step;//人工鱼的步长
floatAF_visual;//人工鱼的视野
floattry_number;//人工鱼觅食行为中尝试的次数
floatdelta;//拥挤度因子
Functions:
floatAF_foodconsistence();//人工鱼的食物浓度
voidAF_move();//人工鱼移动到下一个位置
floatAF_follow();//人工鱼的追尾行为
floatAF_prey();//人工鱼的觅食行为
floatAF_swarm();//人工鱼的群聚行为
intAF_evaluate();//人工鱼行为的评价与选择
voidAF_init();//人工鱼的初始化
artificial_fish();
virtual~Artificial_fish();
};
这样,人工鱼的自身信息和一些行为封装在一个类里面,并且它的状
态可以为其它同伴所感知到。
2.2相关定义
人工鱼个体的状态可表示为向量X=(x1,x2,…,xn),其中xi(i=1,…,n)为欲寻优的变量;人工鱼当前所在位置的食物浓度表示为Y=f(X),其中Y为目标函数值;人工鱼个体的距离表示为di,j=//Xi-Xj//;Visual表示人工鱼的感知距离;Step表示人工鱼的最大步长;δ为拥挤度因子。
在算法中设立一个公告板,定义为一条人工鱼,用于记录最优人工鱼的状态。
每条人工鱼在每次行动后,将自身的当前状态与公告板的状态进行比较,如果自身状态优于公告板,则用自身状态取代公告板状态。
2.3行为描述
2.3.1觅食行为
设人工鱼的当前状态为Xi在其感知范围内随机选择一个状态Xj,如果在求极大问题中,Yi
2.3.2聚群行为
设人工鱼当前状态为Xi,探索当前邻域内(即di,j 及中心位置 ,如果 ,表明伙伴中心有较多的食物并且不太拥挤,则朝伙伴中心位置方向前进一步,否则执行觅食行为。 2.3.3追尾行为 设人工鱼当前状态为Xi,探索当前邻域内(即di,j ,表明伙伴中心有较多的食物并且不太拥挤,则 朝伙伴中心位置方向前进一步,否则执行觅食行为。 2.2.4随机行为 随机行为的实现较简单,就是在视野中随机选择一个状态,然后向该方向移动,其实,它是觅食行为的一个缺省行为。 2.2.5行为选择 根据所要解决的问题性质,对人工鱼当前所处的环境进行评价,从而选择一种行为。 如较常用的评价方法就是选择各行为中使得向最优方向前进最大的行为,也就是各行为中使得人工鱼的下一个状态最优的行为,如果没有能使下一状态优于当前状态的行为,则采取随机行为。 2.4算法描述 鉴于以上描述的人工鱼模型及其行为,每个人工鱼探索它当前所处的环境状况(包括目标函数的变化情况和伙伴的变化情况),从而选择一种行为,最终,人工鱼集结在几个局部极值的周围,一般情况下,在讨论求极大问题时,拥有较大的AF_foodconsistence值的人工鱼一般处于值较大的极值域周围,这有助于获取全局极值域,而值较大的极值区域周围一般能集结较多的人工鱼,这有助于判断并获取全局极值。 如图2.1所示,满意解域S就是所获取的全局极值域,再根据该域的特性来获取较精确的极值,如通常情况下,可以选择域内各人工鱼的重心作为极值。 图2.1算法示意图 算法的描述如图2.2所示。 算法对变量的初值要求不高,通常由: : AF_init()来初始化AF为随机分布在变量域内的值;算法的终止条件可以根据实际情况设定,如通常的方法是判断连续多次所得值的均方差是否小于预期的误差,或者直接规定迭代的次数。 图2.2AFSA的算法描述 人工鱼群算法基本流程操作如图2.3所示。 图2.3人工鱼群算法基本流程图 3数字滤波器 3.1数字滤波器的简介 数字滤波器是对数字信号进行滤波处理以得到期望的响应特性的离散时间系统。 是一个离散时间系统,按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能的装置。 也可以说成是通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。 数字滤波器一般由寄存器、延时器、加法器和乘法器等基本数字电路实现。 随着集成电路技术的发展,其性能不断提高而成本却不断降低,数字滤波器的应用领域也因此越来越广。 数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方法不同,数字滤波器具有比模拟滤波器精度高、稳定、不要求阻抗匹配等特点。 应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。 数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。 为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。 3.2FIR和IIR数字滤波器的概述 3.2.1FIR数字滤波器 FIR(FiniteImpulseResponse)滤波器: 有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。 因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。 有限长单位冲激响应(FIR)滤波器有以下特点: (1)系统的单位冲激响应h(n)在有限个n值处不为零; (2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(因果系统); (3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。 3.2.2IIR数字滤波器 IIR(InfiniteImpulseResponse)数字滤波器,又名“无限长冲激响应数字滤波器”,或“递归滤波器”。 递归滤波器,也就是IIR数字滤波器,顾名思义,具有反馈,一般认为具有无限的冲激响应。 IIR滤波器有以下几个特点: (1)封闭函数: IIR数字滤波器的系统函数可以写成封闭函数的形式。 (2)IIR数字滤波器采用递归型结构: IIR数字滤波器采用递归型结构,即结构上带有反馈环路。 IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。 由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 (3)借助成熟的模拟滤波器的成果: IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。 在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 (4)需加相位校准网络: IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。 3.2.3FIR数字滤波器与IIR数字滤波器的区别 (1)单位响应 IIR数字滤波器单位响应为无限脉冲序列,而FIR数字滤波器单位响应为有限的;FIR滤波器,也就是“非递归滤波器”,没有引入反馈。 这种滤波器的脉冲响应是有限的。 (2)幅频特性 IIR数字滤波器幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。 (3)实时信号处理 FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 3.3数字滤波器的设计要求 实际中通常用的数字滤波器一般属于选频滤波器,数字滤波器的频响特性函数H(ejw)一般为复函数,所以通常表示为 H(ejw)=|H(ejw)|e 其中,|H(ejw)|称为幅频特性函数, (w)称为相频特性函数。 幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。 一般来说,对于IIR滤波器,相频特性不做要求,而对于有线相位要求的滤波器,一般采用FIR滤波器来实现。 图3.1低通滤波器的幅值特性 图3-1为低通滤波器的幅值特性, 和 分别称为通带截止频率和阻带截止频率。 通带频率范围为 在通带中要求 ,阻带频率范围为 ,在阻带中要求 ,从 至 称为过渡带。 通带内所允许的最大衰减(dB)和阻带内所允许的最小衰减(dB)分别为 和 ,分别定义为: 一般要求: 当 时, 当 时, 3.4数字滤波器的设计方法 实际中的数字滤波器设计都是用有限精度算法实现的线性非移变系统。 一般的设计内容和步骤包括: (1)根据实际需要确定数字滤波器的技术指标。 例如滤波器的频率响应的幅度特性和截止频率等。 (2)用一个因果稳定的离散线性非移变系统函数去逼近这些性能指标。 具体来说,就是用这些指标来计算系统函数H(z)。 (3)利用有限精度算法来实现这个系统函数。 这里包括选择运算结构、进行误差分析和选择合适的字长等。 (4)实际的数字滤波器实现技术,包括采用通用的计算机软件或专用的数字滤波器硬件来实现,或采用通用或专用的数字信号处理器(DSP)来实现。 4基于人工鱼群算法的IIR数字滤波器的设计 4.1IIR数字滤波器优化模型 IIR数字滤波器的传递函数为 (1) 如果采用 (1)式进行IIR数字滤波器设计,则待优化的参数共有M+N+2个,且各参数的取值范围难以确定。 因此,当利用优化算法进行IIR数字滤波器设计时,通常采用 (1)式的二阶节的级联结构形式: (2) 式中 是常数,N为二阶节的个数, , , 是待优化参数。 与 (2)式相对应的IIR数字滤波器的频率响应为: (3) 其中: (4) 假设IIR滤波器的理想幅频响应为 ,则IIR滤波器频域最小均方差优化设计就是要求在离散频率点 上,使所设计的滤波器的幅频响应 与所要求的幅频响应的平方误差: (5) 为最小。 由(3)和(5)式可以看出,目标函数E是增益A和滤波器系数 , , , (k=1,2,,N)的非线性函数。 因此E是一个有(4N+1)个未知参数的函数,用下式表示为: (6) 其中向量 为: 对上面的函数,可以推导出最佳增益A的解析表达式,令 (7) 从而有: (8) 由于只考虑幅度误差,所以 的正负对结果没有影响。 为了保证所设计出的滤波器是稳定的,需要对优化参数范围进行限定。 由(3)式可知,只要使每个二阶节的极点都在Z平面的单位圆内,即 的零点 满足 ,由此可确定 、 的取值范围为: 若参数在此范围内取值,优化结果仍出现不稳定的极点,可以用其倒数来代替该极点,从而在不改变滤波器幅频响应的情况下保证得到稳定的数字滤波器。 4.2IIR数字滤波器设计 在鱼群算法的IIR数字滤波器设计中,人工鱼个体的状态表示欲寻优的变量,即: ;人工鱼所处位置的食物浓度由目标函数表示,即: 综上所述,将人工鱼群算法用于IIR数字滤波器的设计,算法步骤如下所示: (1)设定鱼群算法的参数,包括鱼群规模的大小,最大迭代次数,人工鱼的感知范围Visual,最大移动步长Step,拥挤度因子 等。 (2)在参数区间内随机生成N个人工鱼个体,作为初始鱼群。 (3)根据A的表达式计算它的模,并利用目标函数计算初始人工鱼个体当前位置的食物浓度,并比较其大小,取Y值最小者进入公告板,并保存其状态。 (4)人工鱼分别模拟执行追尾行为和聚群行为,选择行动后Y值较小的行为为实际执行,本文缺省行为为觅食行为。 (5)人工鱼每行动一次后,评价自身的Y值与公告板的Y值,如果小于公告板中的值,则以自
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 基于 人工 鱼群 算法 iir 数字滤波器 设计