内容发布更新时间 : 2024/12/25 22:38:33星期一 下面是文章的全部内容请认真阅读。
设计
[摘 要] 本文通过分析遗传程序设计和粒子群算法的思想及实现方式,并综合考虑有源滤波器的电路结构特点,采用遗传程序设计和粒子群算法相结合实现二阶带通有源滤波器的进化设计思想,即先用GP去设计一个结构不固定的有源滤波器电路结构,然后用PSO算法优化该电路结构的参数,将电路结构和电路参数放在一起完成整个有源滤波器电路的设计,最后用Mulitisim 8仿真工具对电路进行功能测试。
[关键词] 遗传程序设计 粒子群算法 二阶带通有源滤波器 仿真
1.前言
自二十世纪以来,电子电路的生产就是一个非常重要的工业。随着科学技术的发展,电子产品的更新换代进一步加快,现代电子设计技术已进入一个全新的阶段。从中小规模的通用集成芯片构成电路系统,到应用微处理器、单片机构成数字系统,这一过程克服了中小规模集成电路在系统设计中的一些缺点,同时也为电子设计技术提供了一种软件设计的手段。然而,随着大规模、高密度的现场可编程门阵列等可编程逻辑器件的出现,电路的规模和复杂度越来越高,而传统的手工设计、现代电子设计自动化技术(Electronic Design Automation,EDA)都必须依靠多年的电路设计经验和规则来设计电路,这样电子电路设计的一个瓶颈也随之出现。近年来从生物进化中获得灵感的进化型硬件(Evolvable Hardware,EHW),正在为我们揭示一种全新的电路设计方法――电路进化设计。
电路进化设计以进化算法作为组合优化和全局搜索的主要工具, 以电路结构和参数为进化对象,模拟自然进化过程,可不依赖先验知识和规则而探索更为广阔的设计空间,获得新奇的或更好的设计结果,并可望完全实现电路设计自动化,因而成为国际性的研究热点,现已取得重要进展并展现出广阔的应用前景。
2.GP基本理论
GP的基本思想是:随机产生一个适用于所给问题环境的初始群体(即问题的搜索空间),构成群体的个体都有一个评价其解决问题能力好坏的适应度,根据达尔文适者生存原理,基于适应度按概率方式从群体中选出个体进行复制、交叉、变异等遗传操作形成新的个体,从而产生下一代群体,经过一代代繁衍,最终产生一个适应度高的个体,即所给问题的解或近似解。
总结上述过程,GP解决问题的步骤如下:
(1)确定输入及控制参量,主要包括:①确定函数集和终止符集,根据问题域的特点确定问题解决可能需要的函数集合及终止符集合(包括变量和常数);②确定适应度评价方法,群体中的每个个体是否适应环境影响着其遗传操作,必须设计某种方法评价其适应度;③确定控制参量,如种群大小、迭代次数、交叉概率、变异概率等;④程序运行终止规则,决定何时最终停止运行GP;⑤最优结果确定及其它参数。
(2)随机产生初始群体:依指定的形成规则,随机生成初始群体,即初始解。
(3)循环执行下列各步直到满足终止准则为止:
①运行群体中的每个计算机程序(即个体),并对其进行评价,根据其解决问题的效果为其指定一个适应度值;
②运行下面两个主要操作产生新的计算机程序群体:
i)复制:根据概率准则,选择适应度高的个体复制到新一代种群中。
ii)交叉:随机选择适应度较高的两个个体,并随机交换它们的相应部位(交叉操作),产生新一代个体。
根据情况还可加入一些辅助操作,如变异、倒置等。
(4)当满足停止准则时,把在最后一代中出现的计算机程序(即个体)指定为GP运行的结果,这个结果可能是问题的解或近似解。
3.基本PSO算法
3.1算法原理
PSO算法来自于对鸟群的捕食行为的模拟。设想这样一个场景:一群鸟在随机搜索食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但它们知道当前的位置离食物还有多远,那么找到食物的最优策略就是搜寻目前离食物最近的鸟的周围区域。PSO算法从这种模型中得到启示并应用于解决优化问题。
在PSO算法中,每个优化问题的解都是搜索空间的一只鸟,称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应度,每个粒子还有一个速度决定它们飞翔的方向和距离,然后粒子就追随当
前的最优粒子在解空间中搜索。PSO算法首先初始化为一群随机粒子,然后通过叠代找到最优解。在每次叠代中,粒子通过跟踪两个“极值”来更新自己,第一个是粒子本身所找到的最优解,称为个体极值pbest;另一个极值是整个种群目前找到的最优解,称为全局极值gbest。
PSO算法的这些观点某种程度上可以通过心理学加以解释:在寻求一致的认知过程中,个体往往记住它们的信念,同时考虑同伴们的信念,当个体察觉同伴的信念较好时,它将根据同伴的信念进行适应性地调整。
3.2参数设置
PSO算法一个最大的优点就是无需调节太多的参数,但是算法中的少数几个参数却直接影响着算法的性能及收敛性。目前,算法的理论研究尚属初级阶段,参数设置在很大程度上还依赖于经验。
下面是算法中一些参数的作用及其经验设置。
(1)种群规模P:种群中的粒子总数,一般取20?40。试验表明,对于多数问题,30个粒子已足够取得好的结果,不过对于比较难的问题或者特定类别的问题,粒子数可以取到100或200。粒子数目越多,算法搜索的空间范围就越大,也就更容易发现全局最优解,当然,算法运行的时间也较长。
(2)粒子维度D:问题解空间的维度,也称粒子长度,由具体的优化问题决定。
(3)粒子活动范围x:由具体优化问题决定,通常问题的参数取值范围设置为粒子的活动范围。粒子每一维可以设定不同的范围。
(4)最大速度vmax:决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度。
(5)学习因子c1和c2:代表将每个粒子推向pbest和gbest位置的统计加速项的权重。较低值允许粒子在被拉回之前可以在目标区域外徘徊,而较高值则导致粒子突然的冲向或越过目标区域。c1和c2通常等于2,也有其它的取值,但是一般c1等于c2并且范围在0和4之间。
(6)算法终止条件:与GP相似,PSO算法的终止条件一般可以设置为达到最大迭代次数或者满足一定的误差准则。
(7)适应度函数:PSO算法的适应度函数选择比较简单,通常可以直接把目标函数作为适应度函数。当然,也可以对目标函数进行变换,变换方法可以借鉴GP中的适应度函数变换方法。
4.GP算法和PSO算法相结合实现二阶带通有源滤波器的进化设计
4.1 GP进化设计有源滤波器的电路结构
(1)确定函数集和终止符集
建立符合进化设计要求的基本电路单元的模型库,为GP提供函数集,即F=(减法器,减法器,积分器);将电路中的输入、输出、地作为GP的终止符集,即T=(输入,输出,地)。
(2)建立个体树与电路结构的匹配规则
在GP中,每个个体树与相应的电路结构对应,每个有效的个体树节点都与基本电路单元或输入、输出、地端口相对应,从而使经GP进化产生的最终个体树结构即为符合要求的电路结构。
(3)生成初始群体
随机生成一系列有根的、有节点的、带标记的具有有序分支的树状结构的程序组成初始群体。其中,个体树的根节点从函数集中随机选取,本文限定为函数集中的减法器或积分器;个体树的中间节点从函数集和终止符集中随机选取;叶子节点从终止符集中随机选取。
(4)计算个体的适应度
4.2适应度评价方式
由于GP部分主要进化设计有源滤波器结构,因而本文将传递函数作为判断电路结构是否满足设计要求的依据,即将当前个体(即电路结构)的传递函数与目标有源滤波器的传递函数的吻合程度作为GP的适应度评价标准。
4.3 PSO算法优化GP进化设计出的有源滤波器电路结构的参数
用GP进化设计出有源滤波器的电路结构后,接下来就要应用PSO算法去优化此电路结构的参数。
(1)初始化粒子群:将由GP进化设计出的最优有源滤波器电路结构的电阻、电容当成PSO算法的粒子,在定义空间Rn中随机产生100个粒子x1,x2,…,x100组成初始种群X(t),并随机设定各粒子的初始位置X和初始速度V以及各粒子的位移变化。同时将学习因子c1和c2均设置为2;粒子维度D为待优化的参数个数;最大进化代数Tmax将依电路结构的复杂程度而定,电路越复杂,Tmax越大。
(2)评价种群:对群体中的每个粒子,计算其适应度。适应度函数依具体问题而定,本文用多目标评价方式。
(3)对每个粒子,将其适应度值与自身最优值pbest(个体极值)作
比较,若当前值比pbest更优,则置pbest为当前值,并置pbest位置为n维空间中的当前位置。
(4)对每个粒子,将其适应度值与种群最优值gbest(全局极值)作比较,若当前值比gbest更优,则置gbest为当前值,gbest对应的序号为当前粒子序号。
(5)根据(3-1)和(3-2)式更新粒子的速度和位置,产生新一代种群。
(6)检查结束条件,若满足,则结束寻优;否则转第二步。
5.仿真及实验验证
以T(s)=(ωn,ξ为任意常数)作为目标函数,利用GP进化设计二阶高通有源滤波器的电路结构,多次运行程序,有很多个电路结构都能达到此设计目标,从中选取所用模块较少的电路结构。
6.结论
本章主要介绍了GP和PSO算法相结合实现有源滤波器的进化设计的思想、方法、步骤,完成了二阶带通滤波器,得到了比较令人满意的结果。由于各种原因,针对高阶有源滤波器的进化设计只进行了初步研究,今后的研究将进一步扩大电路设计类型和规模,针对模拟电路的进化设计建立一个进化平台还需要做很多工作。
参 考 文 献
[1]Garis H D.Evolvable Hardware:Genetic Programming of a Darwin Machine [C].In:Albrecht R F,Reeves C R,Steele N C,eds.Proceedings of Artificial Neural Nets and Genetic Algorithms.Innsbruck,Austria:Springer Verlag,1993.441-449.
[2]Thompson A,Layzell P,Zebulum R S.Explorations in Design Space:Unconventional Electronics Design through Artificial Evolution[J].IEEE Transactions on Evolutionary Computation,1999,3(3):167-196.
[3]赵曙光,杨万海,刘贵喜.基于进化的电路自动设计方法[J].电路与系统学报,2002,7(1):72-78.
[4]Higuchi T,Iwata M,Keymeulen D,et al.Real-World Applications of Analog and Digital Evolvable Hardware[J].IEEE Transactions on Evolutionary Computation,1999,3(3):220-235.
[5]曹宏庆,康立山,陈毓屏,胡庆丰.常微分
方程组并行演化建模的实验研究.软件学报,2003,14(3):443-450