《基于遗传算法的IIR数字滤波器的设计与仿真(28页).doc》由会员分享,可在线阅读,更多相关《基于遗传算法的IIR数字滤波器的设计与仿真(28页).doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于遗传算法的IIR数字滤波器的设计与仿真-第 24 页基于遗传算法的IIR数字滤波器的设计与仿真 班级: 组员: 目录摘要1Abstract21 遗传算法31.1 遗传算法的产生与发展31.2 遗传算法的概述41.3 遗传算法的特点41.4 遗传算法基本流程操作52 数字滤波器82.1数字滤波器的简介82.2 FIR和IIR数字滤波器的概述82.2.1 FIR数字滤波器82.2.2 IIR数字滤波器92.2.3 FIR数字滤波器与IIR数字滤波器的区别103 数字滤波器的设计方法113.1数字滤波器的设计要求114 基于遗传算法的IIR数字滤波器的设计与仿真144.1 Matlab软件的概
2、述144.2 IIR数字滤波器的设计144.2.1数字滤波器设计的简要分析144.2.2实例比较一般算法设计思路和遗传算法设计思路164.3 IIR数字滤波器的仿真结果204.3.1 仿真图形205 小结216 参考文献22附件23摘要无限脉冲响应数字滤波器(IIR)具有频特性精度高、实现简单等优点,在数字信号处理领域得到了广泛应用;遗传算法是一类依自然环境的进化规律适者生存优胜劣汰遗传机制,演化而来的随机化搜索方法。它是由美国J.Holland教授1975年最先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定,具有内在的隐并行性和更好的全局寻优能力,采用概率化的寻优方法
3、,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质已被广泛地应用于问题求解、机器学习、信号处理、智能控制和人工生命等领域。它是现代有关智能计算中的关键技术,因而将其应用在数字滤波器算法的优化上。 关键词: IIR数字滤波器 遗传算法 AbstractDigital filter with Finite Impulse Response(FIR)has lots of advantages,such as systemic stability,linear phase,etcIt has been widely used in digital signa
4、l processingThe genetic algorithm has lots of merits,such as the memorability,distribution,and diversityIt is widespread in the fields of intelligent computation,pattern recognition and optimization designThis paper presents a designing method of digital filterIt is based on the combination genetic
5、algorithm with the cosine sequencesThe window function is constructed effectively by weighting cosine sequencesThe corresponding weighting coefficients are computed b,the genetic algorithmDigital filter is realized finally by windowing approachIn order to accelerate the convergent speed and improve
6、the precision,elitist model and floating-point coding are adoptedThe efficiency of the proposed method is validated by simulation experiments taking on designing low pass digital filtersThe designing method presented in this paper has some advantages,such as ood flexibility,universality,and so onKey
7、words: IIR digital filter Genetic algorithm1 遗传算法1.1 遗传算法的产生与发展遗传算法(GeneticAlgorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1974年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。随后经过20余年的发展,取得了丰硕的应用成果和理论研究的进展,无论是理论研究还是应用研究都成了
8、十分热门的课题。尤其是遗传算法的应用研究显得格外活跃,不但它的应用领域扩大,而且利用遗传算法进行优化和规则学习的能力也显著提高,同时产业应用方面的研究也在摸索之中。此外一些新的理论和方法在应用研究中亦得到了迅速的发展,这些无疑均给遗传算法增添了新的活力。遗传算法的应用研究已从初期的组合优化求解扩展到了许多更新、更工程化的应用方面。近几年来,遗传算法主要在复杂优化问题求解和工业工程领域应用方面,取得了一些令人信服的结果,所以引起了很多人的关注。在发展过程中,进化策略、进化规划和遗传算法之间差异越来越小。遗传算法成功的应用包括:作业调度与排序、可靠性设计、车辆路径选择与调度、成组技术、设备布置与分
9、配、交通问题、组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。 随着遗传算法的不断发展, 关于遗传算法的国际学术活动越来越多, 遗传算法已成为一个多学科、多领域的重要研究方向。1.2 遗传算法的概述遗传算法是从代表问题可能潜在的解集的一个种群开始的,而一个种群则由一定数量的经过了基因编码的个体组成。每个个体实际上是染色体带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现为某种基因组合(即基因型),它决定了个体形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射
10、,即编码工作。由于仿照基因编码的工作很复杂,我们往往将其简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度大小选择个体,并借助于自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码,可以作为问题近似最优解。1.3 遗传算法的特点遗传算法是解决搜索问题的一种通用算法,对于各种通用问题都可以使用。搜索算法的共同特征为:(1)首先组成一组候选解;(2)依据某些适应性条件测算这些候选解的适应度; (3)根据适应度
11、保留某些候选解,放弃其他候选解; (4)对保留的候选解进行某些操作,生成新的候选解。在遗传算法中,上述几个特征以一种特殊的方式组合在一起:基于染色体群的并行搜索,带有猜测性质的选择操作、交换操作和突变操作。这种特殊的组合方式将遗传算法与其它搜索算法区别开来。 遗传算法还具有以下几方面的特点: (1) 遗传算法从问题解的串集开始嫂索,而不是从单个解开始。这是遗传算法与传统优化算法的极大区别。传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始搜索,覆盖面大,利于全局择优。(2)许多传统搜索算法都是单点搜索算法,容易陷入局部的最优解。遗传算法同时处理群体中的多个个体,即
12、对搜索空间中的多个解进行评估,减少了陷入局部最优解的风险,同时算法本身易于实现并行化。 (3)遗传算法基本上不用搜索空间的知识或其它辅助信息,而仅用适应度函数值来评估个体,在此基础上进行遗传操作。适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。这一特点使得遗传算法的应用范围大大扩展。 (4)遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导他的搜索方向。 (5)具有自组织、自适应和自学习性。遗传算法利用进化过程获得的信息自行组织搜索时,硬度大的个体具有较高的生存概率,并获得更适应环境的基因结构。 1.4 遗传算法基本流程操作图1-4-1 解决实际问题时遗传算法流程图图1-4-
13、2 遗传过程(1)编码:确定用何种码制, 然后将问题参数编码形成基因码链,每一个码链代表一个个体, 表示优化问题的一个解。(2)初始化:随机产生一个规模为P的初始种群, 其中每个个体为一定长度的码链, 该群体代表优化问题的一些可能解的集合。(3)估计适应度:计算种群中每个个体的适应度, 适应度为群体进化时的选择提供了依据。一般来说适应度越高, 解的素质越好。适应度函数可以根据目标函数而定。(4)再生(选择):根据每个个体的相对适应度, 计算每个个体的再生次数, 并进行再生操作, 产生新的个体加人下一代群体中, 一般再生的概率与其适应度成正比。(5)交叉:从种群中随机选择两个染色体, 按一定的概
14、率进行基因交换,交换位置的选取是随机的。(6)变异:从种群中随机地选择一个染色体, 按一定的变异概率P进行基因变异,GA的搜索能力主要是由选择与交叉赋于的, 变异算子则保证了算法能搜索到问题空间的每一点, 从而使算法具有全局最优性, 它进一步增强了GA的能力。(7)重复:若发现最优解, 则算法停止, 否则转3 ,对产生的新一代群体进行重新评价、选择、交叉、变异操作, 如此循环往复, 使群体中最优个体的适应度和平均适应度不断提高。2 数字滤波器2.1数字滤波器的简介数字滤波器一词出现在60年代中期。由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件
15、实时实现。滤波器是指用来对输入信号进行滤波的硬件和软件。所谓数字滤波器是一个离散时间系统,按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能的装置。也可以说成是通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方法不同,数字滤波器具有比模拟滤波器精度高、稳定、不要求阻抗匹配等特点。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即12抽样频率点呈镜像对称
16、。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。一般用两种方法来实现数字滤波器:一是采用通用计算机,把滤波器所要完成的运算编程通过计算机来执行,也就是采用计算机软件来实现;二是设计专用的数字处理硬件。2.2 FIR和IIR数字滤波器的概述2.2.1 FIR数字滤波器FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。有限长单位冲激响
17、应(FIR)滤波器有以下特点: (1)系统的单位冲激响应h (n)在有限个n值处不为零; (2)系统函数H(z)在|z|0处收敛,极点全部在z = 0处(因果系统); (3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。2.2.2 IIR数字滤波器IIR(Infinite Impulse Response)数字滤波器,又名“无限脉冲响应数字滤波器”,或“递归滤波器”。递归滤波器,也就是IIR数字滤波器,顾名思义,具有反馈,一般认为具有无限的脉冲响应。IIR滤波器有以下几个特点: (1)封闭函数:IIR数字滤波器的系统函数可以写成封闭函数的
18、形式。 (2)IIR数字滤波器采用递归型结构:IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 (3)借助成熟的模拟滤波器的成果:IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转
19、换成数字滤波器的公式。(4)需加相位校准网络:IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。2.2.3 FIR数字滤波器与IIR数字滤波器的区别(1)单位响应IIR数字滤波器单位响应为无限脉冲序列,而FIR数字滤波器单位响应为有限的;FIR滤波器,也就是“非递归滤波器”,没有引入反馈。这种滤波器的脉冲响应是有限的。(2)幅频特性IIR数字滤波器幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。(3)实时
20、信号处理FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。3 数字滤波器的设计方法3.1数字滤波器的设计要求我们通常用的数字滤波器一般属于选频滤波器,数字滤波器的频响特性函数H(ejw)一般为复函数,所以通常表示为 H(ejw)=|H(ejw)|e 其中,|H(ejw)|称为幅频特性函数,(w)称为相频特性函数。幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。一般来说,对于IIR滤波器,相频特性不做要求,而对于有线相位要求的滤波器,一般采用FIR滤波器来实现。图3-1 低通滤
21、波器的幅值特性图3-1为低通滤波器的幅值特性,和分别称为通带截止频率和阻带截止频率。通带频率范围为,在通带中要求,阻带频率范围为,在阻带中要求,从至称为过渡带。通带内所允许的最大衰减(dB)和阻带内所允许的最小衰减(dB)分别为和,分别定义为:一般要求:当时,当时,3.2 IIR数字滤波器的典型方法设计利用模拟滤波器设计IIR数字滤波器的设计步骤如下: (1)将给定的而数字滤波器的性能指标,按某一变换(映射)规则转换成响应的模拟滤波器的性能指标。 (2)如果要设计的不是数字低通滤波器,则还需将步骤(1)中变换所得到的相应的(高通、带通、带阻)模拟滤波器性能指标变换成模拟滤波器的性能指标,这是因
22、为只有模拟低通滤波器才有图形和表格可以利用。 (3)用所得到得模拟低通滤波器的性能指标,利用某种模拟滤波器的逼近方法,设计查表求得此模拟低通滤波器的系统函数,以它作为设计数字滤波器的“样本”。 (4)利用(1)、(2)中的同一变换规则,将此作为“样本”的模拟原型低通滤波器的系统函数,最终变换成所需的而数字各型滤波器的系统函数。其实,利用模拟滤波器来设计数字滤波器,就是要把s平面映射到z平面,使模拟系统函数变换成所需的数字滤波器的系统函数,这种由复变量s到复变量z之间的的映射(变换)关系,必须满足两条基本要求:1) 的频率响应要能模仿的频率响应,即s平面的虚轴必须映射到z平面的单位圆上,也就是频
23、率轴要对应。2) 因果稳定的应能映射成因果稳定的。也就是s平面的左半平面Res0必须映射到z平面单位圆的内部|z|0temp=Cmin+objvalue(i);elsetemp=0.0;endfitvalue(i)=temp;endfitvalue=fitvalue;% 选择复制% 选择或复制操作是决定哪些个体可以进入下一代。程序中采用赌轮盘选择法选择,这种方法较易实现。% 根据方程 pi=fi/fi=fi/fsum ,选择步骤:% 1) 在第 t 代,由(1)式计算 fsum 和 pi % 2) 产生 0,1 的随机数 rand( .),求 s=rand( .)*fsum% 3) 求 fis
24、 中最小的 k ,则第 k 个个体被选中% 4) 进行 N 次2)、3)操作,得到 N 个个体,成为第 t=t+1 代种群%遗传算法子程序%Name: selection.m%选择复制function newpop=selection(pop,fitvalue)totalfit=sum(fitvalue); %求适应值之和fitvalue=fitvalue/totalfit; %单个个体被选择的概率fitvalue=cumsum(fitvalue); %如 fitvalue=1 2 3 4,则 cumsum(fitvalue)=1 3 6 10 px,py=size(pop);ms=sort(
25、rand(px,1); %从小到大排列fitin=1;newin=1;while newin=pxif(ms(newin)fitvalue(fitin)newpop(newin)=pop(fitin);newin=newin+1;elsefitin=fitin+1;endend%交叉% 交叉(crossover),群体中的每个个体之间都以一定的概率 pc 交叉,即两个个体从各自字符串的某一位置% (一般是随机确定)开始互相交换,这类似生物进化过程中的基因分裂与重组。例如,假设2个父代个体x1,x2为:% x1=0100110% x2=1010001% 从每个个体的第3位开始交叉,交又后得到2个
26、新的子代个体y1,y2分别为:% y10100001% y21010110% 这样2个子代个体就分别具有了2个父代个体的某些特征。利用交又我们有可能由父代个体在子代组合成具有更高适合度的个体。% 事实上交又是遗传算法区别于其它传统优化方法的主要特点之一。%遗传算法子程序%Name: crossover.m%交叉function newpop=crossover(pop,pc)px,py=size(pop);newpop=ones(size(pop);for i=1:2:px-1if(randpc)cpoint=round(rand*py);newpop(i,:)=pop(i,1:cpoint)
27、,pop(i+1,cpoint+1:py);newpop(i+1,:)=pop(i+1,1:cpoint),pop(i,cpoint+1:py);elsenewpop(i,:)=pop(i);newpop(i+1,:)=pop(i+1);endend%变异% 变异(mutation),基因的突变普遍存在于生物的进化过程中。变异是指父代中的每个个体的每一位都以概率 pm 翻转,即由“1”变为“0”,% 或由“0”变为“1”。遗传算法的变异特性可以使求解过程随机地搜索到解可能存在的整个空间,因此可以在一定程度上求得全局最优解。%遗传算法子程序%Name: mutation.m%变异function
28、 newpop=mutation(pop,pm)px,py=size(pop);newpop=ones(size(pop);for i=1:pxif(randpm)mpoint=round(rand*py);if mpoint=0mpoint=1;endnewpop(i)=pop(i);if any(newpop(i,mpoint)=0newpop(i,mpoint)=1;elsenewpop(i,mpoint)=0;endelsenewpop(i)=pop(i);endend%求出群体中最大得适应值及其个体%遗传算法子程序%Name: best.m%求出群体中适应值最大的值function bestindividual,bestfit=best(pop,fitvalue)px,py=size(pop);bestindividual=pop(1,:);bestfit=fitvalue(1);