分享
分销 收藏 举报 申诉 / 31
播放页_导航下方通栏广告

类型基于遗传算法的iir数字滤波器的设计与仿真-毕业论文.doc

  • 上传人:可****
  • 文档编号:2724480
  • 上传时间:2024-06-04
  • 格式:DOC
  • 页数:31
  • 大小:468.50KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 遗传 算法 iir 数字滤波器 设计 仿真 毕业论文
    资源描述:
    武汉理工大学《数字信号处理》 基于遗传算法的IIR数字滤波器的设计与仿真 班级: 组员: 武汉理工大学《数字信号处理》 目录 摘要 1 Abstract 2 1 遗传算法 3 1.1 遗传算法的产生与发展 3 1.2 遗传算法的概述 4 1.3 遗传算法的特点 4 1.4 遗传算法基本流程操作 5 2 数字滤波器 8 2.1数字滤波器的简介 8 2.2 FIR和IIR数字滤波器的概述 8 2.2.1 FIR数字滤波器 8 2.2.2 IIR数字滤波器 9 2.2.3 FIR数字滤波器与IIR数字滤波器的区别 10 3 数字滤波器的设计方法 11 3.1数字滤波器的设计要求 11 4 基于遗传算法的IIR数字滤波器的设计与仿真 14 4.1 Matlab软件的概述 14 4.2 IIR数字滤波器的设计 14 4.2.1数字滤波器设计的简要分析 14 4.2.2实例比较一般算法设计思路和遗传算法设计思路 16 4.3 IIR数字滤波器的仿真结果 20 4.3.1 仿真图形 20 5 小结 21 6 参考文献 22 附件 23 摘要 无限脉冲响应数字滤波器(IIR)具有频特性精度高、实现简单等优点,在数字信号处理领域得到了广泛应用;遗传算法是一类依自然环境的进化规律——适者生存优胜劣汰遗传机制,演化而来的随机化搜索方法。它是由美国J.Holland教授1975年最先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定,具有内在的隐并行性和更好的全局寻优能力,采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质已被广泛地应用于问题求解、机器学习、信号处理、智能控制和人工生命等领域。它是现代有关智能计算中的关键技术,因而将其应用在数字滤波器算法的优化上。 关键词: IIR数字滤波器 遗传算法 Abstract Digital filter with Finite Impulse Response(FIR)has lots of advantages,such as systemic stability,linear phase,etc.It has been widely used in digital signal processing.The genetic algorithm has lots of merits,such as the memorability,distribution,and diversity.It is widespread in the fields of intelligent computation,pattern recognition and optimization design.This paper presents a designing method of digital filter.It is based on the combination genetic algorithm with the cosine sequences.The window function is constructed effectively by weighting cosine sequences.The corresponding weighting coefficients are computed b,,the genetic algorithm.Digital filter is realized finally by windowing approach.In order to accelerate the convergent speed and improve the precision,elitist model and floating-point coding are adopted.The efficiency of the proposed method is validated by simulation experiments taking on designing low pass digital filters.The designing method presented in this paper has some advantages,such as ood flexibility,universality,and so on. Keywords: IIR digital filter Genetic algorithm 1 遗传算法 1.1 遗传算法的产生与发展 遗传算法(GeneticAlgorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1974年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。 随后经过20余年的发展,取得了丰硕的应用成果和理论研究的进展,无论是理论研究还是应用研究都成了十分热门的课题。尤其是遗传算法的应用研究显得格外活跃,不但它的应用领域扩大,而且利用遗传算法进行优化和规则学习的能力也显著提高,同时产业应用方面的研究也在摸索之中。此外一些新的理论和方法在应用研究中亦得到了迅速的发展,这些无疑均给遗传算法增添了新的活力。遗传算法的应用研究已从初期的组合优化求解扩展到了许多更新、更工程化的应用方面。 近几年来,遗传算法主要在复杂优化问题求解和工业工程领域应用方面,取得了一些令人信服的结果,所以引起了很多人的关注。在发展过程中,进化策略、进化规划和遗传算法之间差异越来越小。遗传算法成功的应用包括:作业调度与排序、可靠性设计、车辆路径选择与调度、成组技术、设备布置与分配、交通问题、组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。 随着遗传算法的不断发展, 关于遗传算法的国际学术活动越来越多, 遗传算法已成为一个多学科、多领域的重要研究方向。 1.2 遗传算法的概述 遗传算法是从代表问题可能潜在的解集的一个种群开始的,而一个种群则由一定数量的经过了基因编码的个体组成。每个个体实际上是染色体带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现为某种基因组合(即基因型),它决定了个体形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射,即编码工作。由于仿照基因编码的工作很复杂,我们往往将其简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度大小选择个体,并借助于自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码,可以作为问题近似最优解。 1.3 遗传算法的特点 遗传算法是解决搜索问题的一种通用算法,对于各种通用问题都可以使用。搜索算法的共同特征为: (1)首先组成一组候选解; (2)依据某些适应性条件测算这些候选解的适应度; (3)根据适应度保留某些候选解,放弃其他候选解; (4)对保留的候选解进行某些操作,生成新的候选解。 在遗传算法中,上述几个特征以一种特殊的方式组合在一起:基于染色体群的并行搜索,带有猜测性质的选择操作、交换操作和突变操作。这种特殊的组合方式将遗传算法与其它搜索算法区别开来。 遗传算法还具有以下几方面的特点: (1) 遗传算法从问题解的串集开始嫂索,而不是从单个解开始。这是遗传算法与传统优化算法的极大区别。传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始搜索,覆盖面大,利于全局择优。 (2)许多传统搜索算法都是单点搜索算法,容易陷入局部的最优解。遗传算法同时处理群体中的多个个体,即对搜索空间中的多个解进行评估,减少了陷入局部最优解的风险,同时算法本身易于实现并行化。 (3)遗传算法基本上不用搜索空间的知识或其它辅助信息,而仅用适应度函数值来评估个体,在此基础上进行遗传操作。适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。这一特点使得遗传算法的应用范围大大扩展。 (4)遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导他的搜索方向。 (5)具有自组织、自适应和自学习性。遗传算法利用进化过程获得的信息自行组织搜索时,硬度大的个体具有较高的生存概率,并获得更适应环境的基因结构。 1.4 遗传算法基本流程操作 图1-4-1 解决实际问题时遗传算法流程图 图1-4-2 遗传过程 (1)编码:确定用何种码制, 然后将问题参数编码形成基因码链,每一个码链代表一个个体, 表示优化问题的一个解。 (2)初始化:随机产生一个规模为P的初始种群, 其中每个个体为一定长度的码链, 该群体代表优化问题的一些可能解的集合。 (3)估计适应度:计算种群中每个个体的适应度, 适应度为群体进化时的选择提供了依据。一般来说适应度越高, 解的素质越好。适应度函数可以根据目标函数而定。 (4)再生(选择):根据每个个体的相对适应度, 计算每个个体的再生次数, 并进行再生操作, 产生新的个体加人下一代群体中, 一般再生的概率与其适应度成正比。 (5)交叉:从种群中随机选择两个染色体, 按一定的概率进行基因交换,交换位置的选取是随机的。 (6)变异:从种群中随机地选择一个染色体, 按一定的变异概率P进行基因变异,GA的搜索能力主要是由选择与交叉赋于的, 变异算子则保证了算法能搜索到问题空间的每一点, 从而使算法具有全局最优性, 它进一步增强了GA的能力。 (7)重复:若发现最优解, 则算法停止, 否则转3 ,对产生的新一代群体进行重新评价、选择、交叉、变异操作, 如此循环往复, 使群体中最优个体的适应度和平均适应度不断提高。 2 数字滤波器 2.1数字滤波器的简介 数字滤波器一词出现在60年代中期。由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。滤波器是指用来对输入信号进行滤波的硬件和软件。所谓数字滤波器是一个离散时间系统,按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能的装置。也可以说成是通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。 数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方法不同,数字滤波器具有比模拟滤波器精度高、稳定、不要求阻抗匹配等特点。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。 一般用两种方法来实现数字滤波器:一是采用通用计算机,把滤波器所要完成的运算编程通过计算机来执行,也就是采用计算机软件来实现;二是设计专用的数字处理硬件。 2.2 FIR和IIR数字滤波器的概述 2.2.1 FIR数字滤波器 FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。 有限长单位冲激响应(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数字滤波器的系统函数可以写成封闭函数的形式。 (2)IIR数字滤波器采用递归型结构:IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 (3)借助成熟的模拟滤波器的成果:IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 (4)需加相位校准网络:IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。 2.2.3 FIR数字滤波器与IIR数字滤波器的区别 (1)单位响应   IIR数字滤波器单位响应为无限脉冲序列,而FIR数字滤波器单位响应为有限的;FIR滤波器,也就是“非递归滤波器”,没有引入反馈。这种滤波器的脉冲响应是有限的。 (2)幅频特性   IIR数字滤波器幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。 (3)实时信号处理   FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 3 数字滤波器的设计方法 3.1数字滤波器的设计要求 我们通常用的数字滤波器一般属于选频滤波器,数字滤波器的频响特性函数H(ejw)一般为复函数,所以通常表示为 H(ejw)=|H(ejw)|e 其中,|H(ejw)|称为幅频特性函数,(w)称为相频特性函数。幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。一般来说,对于IIR滤波器,相频特性不做要求,而对于有线相位要求的滤波器,一般采用FIR滤波器来实现。 图3-1 低通滤波器的幅值特性 图3-1为低通滤波器的幅值特性,和分别称为通带截止频率和阻带截止频率。通带频率范围为,在通带中要求,阻带频率范围为,在阻带中要求,从至称为过渡带。通带内所允许的最大衰减(dB)和阻带内所允许的最小衰减(dB)分别为和,分别定义为: 一般要求: 当时, 当时, 3.2 IIR数字滤波器的典型方法设计 利用模拟滤波器设计IIR数字滤波器的设计步骤如下: (1)将给定的而数字滤波器的性能指标,按某一变换(映射)规则转换成响应的模拟滤波器的性能指标。 (2)如果要设计的不是数字低通滤波器,则还需将步骤(1)中变换所得到的相应的(高通、带通、带阻)模拟滤波器性能指标变换成模拟滤波器的性能指标,这是因为只有模拟低通滤波器才有图形和表格可以利用。 (3)用所得到得模拟低通滤波器的性能指标,利用某种模拟滤波器的逼近方法,设计查表求得此模拟低通滤波器的系统函数,以它作为设计数字滤波器的“样本”。 (4)利用(1)、(2)中的同一变换规则,将此作为“样本”的模拟原型低通滤波器的系统函数,最终变换成所需的而数字各型滤波器的系统函数。 其实,利用模拟滤波器来设计数字滤波器,就是要把s平面映射到z平面,使模拟系统函数变换成所需的数字滤波器的系统函数,这种由复变量s到复变量z之间的的映射(变换)关系,必须满足两条基本要求: 1) 的频率响应要能模仿的频率响应,即s平面的虚轴必须映射到z平面的单位圆上,也就是频率轴要对应。 2) 因果稳定的应能映射成因果稳定的。也就是s平面的左半平面Re[s]<0必须映射到z平面单位圆的内部|z|<1。 从模拟滤波器映射成数字滤波器,也就是使数字滤波器能模仿模拟滤波器的特性,主要的有以下几种映射方法:冲激响应不变法、阶跃响应不变法、双线性变换法。 下面来介绍下模拟滤波器的数字化方法: 设模拟滤波器的系统函数只有单个极点,且假定分母的阶次大于分子的阶次(一般都满足这一要求,因为只有这样才相当于一个稳定的模拟系统)。因此可将展开称部分分式表达式: 其相应的冲激响应是的拉普拉斯反变换,即: 其中是连续时间的单位阶跃函数。在冲激响应不变法中,要求数字滤波器的单位抽样响应等于的抽样,即: 对求变换,即得数字滤波器的系统函数 或者直接根据求出 ,其中。 4 基于遗传算法的IIR数字滤波器的设计与仿真 4.1 Matlab软件的概述 Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。  Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,其高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;具有完备的图形处理功能,实现计算结果和编程的可视化;友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。 Matlab的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。 4.2 IIR数字滤波器的设计 4.2.1数字滤波器设计的简要分析 IIR数字滤波器的系统函数可表示为: 滤波器的频率响应特性为: 若设IIR滤波器的理想幅频响应为,则IIR滤波器频域最小均方差优化设计就是要求在离散频率点上,使所涉及的滤波器的幅频响应与给定的幅频响应的均方误差 为最小,即: 从此可以看出,目标函数E是增益和滤波器系数的非线性函数。由于共有N个二阶节,因此E是有(4n+1)个未知数的函数。 设向量为: 它表示除以外的其余4N个优化变量,这样E可表示为和的函数,即: 所以应用遗传算法我们可以首先推导出最佳增益的解析表达式,然后用遗传算法求解滤波器系数。 增益的计算,根据公式(4-12)对求偏导并令其为零,则有 因此求出最佳增益为: 由于只考虑幅度误差,所以的正负对结果没有影响。 参数区间的确定,为了应用遗传算法,滤波器的每个参数都要用一个有限长的二进制字符串进行编码。因此为了提高参数表示精度,应给出尽可能小的取值范围。由公式可知,为了确保滤波器的稳定性,要求每个二阶节的极点都位于z平面的单位圆内,即,使的零点满足,由此可确定、的取值范围为: 若在此范围内,优化结果仍出现了使滤波器不稳定的极点,那么可用其倒数代替该极点,这样可在不改变幅频响应的前提下,保证得到稳定的滤波器。此外,若要求滤波器同时具有最小相移特性,对可做与相同的处理。 4.2.2实例比较一般算法设计思路和遗传算法设计思路 以此题为例: 试设计一个数字低通巴特沃思滤波器。要求通带截止频率,通带最大衰减,阻带起始频率,阻带最小衰减,采样频率。 解:若采用一般方法求解: (1)求阶数N,模拟巴特沃斯低通滤波器的幅度平方函数为 (4-21) 将性能指标带入此表达式,可得 (4-22) 由此联立求解,得出 (4-23) 因而解出所需滤波器阶数N为 (4-24) 取大于此数的整数N=4。 (2)求极点。由 (4-25) 可得系统的4个极点为 (4-26) (3)求模拟低通滤波器的系统函数。 由于 , (4-27) 所以 (4-28) 将共轭极点组合起来,可得 (4-29) 实际上,在求出N=4后,不必求出极点,只要查表即可得到归一化的4阶巴特沃斯模拟低通滤波器的系统函数为 (4-30) 在此归一化模拟低通滤波器中,用代替其中的s,实际上就是利用,即可得到与上述一致的系统函数。 (4)求数字低通滤波器的系统函数。根据公式(3-26),或者根据公式(3-27),其中来计算。 若用遗传算法: 由于,,则理想低通滤波器的截止频率,阻带起始频率为,设计理想低通滤波器的技术指标如下: (4-31) 遗传算法参数的选择:由于滤波器的阶数为4,则遗传算法中N=2;初始化种群,假设群体规模(染色体)群体大小,交叉频率,变异概率,适应度的个体生存概率,最大世代数,滤波器参数的编码长度,这样遗传算法中个体的编码长度为。 应用遗传算法设计本例题的具体步骤如下: 编码:为了用遗传算法求解公式(4-17)中的非线性优化问题,我们应对优化变量进行适当编码,以形成遗传算法中的个体。设参数表示中的任意一个变量,其取值范围为:,对该变量用L位二进制字符串进行编码,那么二者之间的对应关系为: 根据上述方法,对式(4-17)中的向量的每个元素都进行L位二进制字符串编码,于是向量变为如下二值向量: ,其中 (4-32) 这样,我们选择上式中的向量作为遗传算法中的个体。显然,它是对优化参数的二进制字符串编码,其中的第个到第个元素,就是对式(4-17)中优化变量的第n个元素的编码。 (2)适应度函数的选择:我们选择式(4-14)作为遗传算法中的适应度函数。显然E值越小,说明该个体对应的滤波器参数其均方误差就越小,那么,该个体就越适应环境。 在遗传算法中使用的交叉算子、突变算子和竞争生存策略如上述描述。 至此,我们就可以用式(4-19)中的表达式和遗传算法中的非线性优化问题,实现IIR数字滤波器的优化设计。下面给出用遗传算法设计IIR数字滤波器的具体步骤: 1)设定遗传算法中的参数,并由式(4-20)决定的参数区间中随机初始化第0代群体中的每个个体; 2)由式(4-18)计算;对每个个体进行编码并由式(4-17)计算每个个体的适应度; 3)让群体中的个体进行生存争斗,优胜劣汰; 4)对群体中的个体进行交叉和突变运算,以产生新的一代; 4)重复2)~4)步,直至满足精度要求或达到预先设定的世代数; 6)对适应度最高的个体编码,从而求出IIR数字滤波器的系数。 4.3 IIR数字滤波器的仿真结果 4.3.1 仿真图形 图4-3-1 一般算法的仿真结果 图4-3-2 遗传算法的仿真结果 5 小结 数字滤波器的设计方法的研究已持续二十多年,现正处于稳定发展阶段,应用遗传算法等优化算法对数字滤波器的性能指标的优化以及仿真实现IIR和FIR数字滤波器是当前的研究热点之一。近几年来,遗传算法主要在复杂优化问题求解和工业工程领域应用方面,取得了一些令人信服的结果,所以引起了很多人的关注。在发展过程中,进化策略、进化规划和遗传算法之间差异越来越小。 然而,基本的遗传算法结构简单,在应用一些具体问题时,其速度和效率仍然有限,而且存在群体大小、交叉变异概率难以选择等问题。最重要的是随机性太强,既是优点也是缺点,造成最有的选择也很随机,而不是每次都能现实最有结果。以后还需要在这个问题上作进一步的研究和讨论。 6 参考文献 [1] 唐艳.基于改进遗传算法的滤波器优化设计.网络出版年期,2009,2. [2] 刘泉,阙大顺,郭志强.数字信号处理原理与实现(第二版).电子工业出版社.2009,6. [3] 姚建红,陈秋影,付强等.改进遗传算法在滤波器优化配置中的应用.化工自动化及仪表,2010,37(9):74-78. [4] 邹理和.数字滤波器[M].北京:国防工业出版社,1979. [5] 董长虹,余啸海,高成等.Matlab信号处理与应用[M].北京:国防工业出版社,2004. 附件 普通算法设计IIR滤波器的MATLAB程序 fs=20000; fp=2000;fst=4000; wp=fp/fs*2*pi; ws=fst/fs*2*pi; Ap = 3;As = 20; % 频率预畸 omegap = (2*fs)*tan(wp/2); % Prewarp Prototype Passband freq omegas = (2*fs)*tan(ws/2); % Prewarp Prototype Stopband freq %设计巴特沃斯低通滤波器原型 N = ceil((log10((10^(Ap/10)-1)/(10^(As/10)-1)))/(2*log10(omegap/omegas))); omega0 = omegap/((10^(Ap/10)-1)^(1/(2*N))); [z,p,k] = buttap(N); %获取零极点参数 p = p*omega0; k = k*omega0^N; B = real(poly(z)); b0 = k; cs = k*B; ds = real(poly(p)); [b,a] = bilinear(cs,ds,fs); %双线性变换 freqz(b,a,fs); %绘制结果 遗传算法设计IIR数字滤波器的MATLAB程序 I 相关函数 % 初始化(编码) % initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度), % 长度大小取决于变量的二进制编码的长度(在本例中取10位)。 %遗传算法子程序 %Name: initpop.m %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % rand随机产生每个单元为 {0,1} 行数为popsize,列数为chromlength的矩阵, % roud对矩阵的每个单元进行圆整。这样产生的初始种群。 % 计算目标函数值 %将二进制数转化为十进制数(1) %遗传算法子程序 %Name: decodebinary.m %产生 [2^n 2^(n-1) ... 1] 的行向量,然后求和,将二进制转化为十进制 function pop2=decodebinary(pop) [px,py]=size(pop); %求pop行和列数 for i=1:py pop1(:,i)=2.^(py-i).*pop(:,i); end pop2=sum(pop1,2); %求pop1的每行之和 % 将二进制编码转化为十进制数 % decodechrom.m函数的功能是将染色体(或二进制编码)转换为十进制,参数spoint表示待解码的二进制串的起始位置 % (对于多个变量而言,如有两个变量,采用160为表示,每个变量10为,则第一个变量从1开始,另一个变量从11开始。本例为1), % 参数1ength表示所截取的长度(本例为10)。 %遗传算法子程序 %Name: decodechrom.m %将二进制编码转换成十进制 function pop2=decodechrom(pop,spoint,length) pop1=pop(:,spoint:spoint+length-1); pop2=decodebinary(pop1); % 计算目标函数值 % calobjvalue.m函数的功能是实现目标函数的计算,其公式采用本文示例仿真,可根据不同优化问题予以修改。 %遗传算法子程序 %Name: calobjvalue.m %实现目标函数的计算 function [objvalue]=calobjvalue(pop) temp1=decodechrom(pop,1,10); %将pop每行转化成十进制数 x1=temp1*10/1023; %将二值域中的数转化为变量域的数 temp2=decodechrom(pop,1,10); x2=temp2*10/1023; temp3=decodechrom(pop,1,10); x3=temp3*10/1023; temp4=decodechrom(pop,1,10); x4=temp4*10/1023 objvalue=impz(x1,x2,x3,x4); %计算目标函数值 % 计算个体的适应值 %遗传算法子程序 %Name:calfitvalue.m %计算个体的适应值 function fitvalue=calfitvalue(objvalue) global Cmin; Cmin=0; [px,py]=size(objvalue); for i=1:px if objvalue(i)+Cmin>0 temp=Cmin+objvalue(i); else temp=0.0; end fitvalue(i)=temp; end fitvalue=fitvalue'; % 选择复制 % 选择或复制操作是决定哪些个体可以进入下一代。程序中采用赌轮盘选择法选择,这种方法较易实现。 % 根据方程 pi=fi/∑fi=fi/fsum ,选择步骤: % 1) 在第 t 代,由(1)式计算 fsum 和 pi % 2) 产生 {0,1} 的随机数 rand( .),求 s=rand( .)*fsum % 3) 求 ∑fi≥s 中最小的 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(rand(px,1)); %从小到大排列 fitin=1; newin=1; while newin<=px if(ms(newin))<fitvalue(fitin) newpop(newin)=pop(fitin); newin=newin+1; else fitin=fitin+1; end end %交叉 % 交叉(crossover),群体中的每个个体之间都以一定的概率 pc 交叉,即两个个体从各自字符串的某一位置 % (一般是随机确定)开始互相交换,这类似生物进化过程中的基因分裂与重组。例如,假设2个父代个体x1,x2为: % x1=0100110 % x2=1010001 % 从每个个体的第3位开始交叉,交又后得到2个新的子代个体y1,y2分别为: % y1=0100001 % y2=1010110 % 这样2个子代个体就分别具有了2个父代个体的某些特征。利用交又我们有可能由父代个体在子代组合成具有更高适合度的个体。 % 事实上交又是遗传算法区别于其它传统优化方法的主要特点之一。 %遗传算法子程序 %Name: crossover.m %交叉 function [newpop]=crossover(pop,pc) [px,py]=size(pop); newpop=ones(size(pop)); for i=1:2:px-1 if(rand<pc) cpoint=round(rand*py); newpop(i,:)=[pop(i,1:cpoint),pop(i+1,cpoint+1:py)]; newpop(i+1,:)=[pop(i+1,1:cpoint),pop(i,cpoint+1:py)]; else newpop(i,:)=pop(i); newpop(i+1,:)=pop(i+1); end end %变异 % 变异(mutation),基因的突变普遍存在于生物的进化过程中。变异是指父代中的每个个体的每一位都以概率 pm 翻转,即由“1”变为“0”, % 或由“0”变为“1”。遗传算法的变异特性可以使求解过程随机地搜索到解可能存在的整个空间,因此可以在一定程度上求得全局最优解。 %遗传算法子程序 %Name: mutation.m %变异 function [newpop]=mutation(pop,pm) [px,py]=size(pop); newpop=ones(size(pop)); for i=1:px if(rand<pm) mpoint=round(rand*py); if mpoint<=0 mpoint=1; end newpop(i)=pop(i); if
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:基于遗传算法的iir数字滤波器的设计与仿真-毕业论文.doc
    链接地址:https://www.zixin.com.cn/doc/2724480.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork