版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、现场可编程门阵列FPGA是近年来发展迅速的大规模可编程逻辑器件,它具有设计周期短,片内资源丰富,可无限次加载和现场可编程等特点。在FPGA上实现模糊控制器是一种介于专用集成电路(ASIC )和通用处理器之间的方案,具有电子产品的高速度、高可靠性、小型化、集成化、低功耗、保密性能好、具有自主知识产权、产品上市快等优势。模糊控制器不需要控制对象的精确数学模型,是一种基于规则的控制,依据操作人员的控制经验和专家的知识,通过查表得到控制量。因此,模糊控制器具有响应快,超调量小,鲁棒性强等特点。它能够克服系统中模型参数变化和非线性等不确定因素,在大滞后、非线性系统中得到广泛应用。随着EDA技术的发展,F
2、PGA在数字逻辑系统中发挥越来越重要的作用,采用硬件描述语言的硬件电路设计方法得到了广泛应用。本文利用VHDL硬件描述语言在FPGA芯片上设计一种简化的模糊控制器。一模糊控制器的结构及其FPGA实现流程输出数据库规则库模糊化接口推理机解模糊接口图1 模糊控制器的组成框图给定值模糊量化处理模糊控制规则模糊决策非模糊化处理传感器被控对象执行机构ked/dtkcku图2 模糊控制器机构图由于一维模糊控制器的动态性能不能令人满意,三维及三维以上的模糊控制器结构复杂,建立模糊控制规则比较困难,因此一般采用双输入单输出的二维模糊控制器。典型的两输人单输出模糊控制器的结构如图2所示,它由知识库、模糊化、模糊
3、推理和逆模糊化4部分构成。知识库向模糊化模块提供模糊量的隶属函数形态,使模糊化模块在接收到外部的精确量输人之后,能够将其转换成相对应时模糊量及隶属度。同时,知识库向模糊推理模块提供控制规则,由模糊推理模块执行推理过程,由输人的模糊量推出输出的模糊量。知识库也向反模糊化模块提供模糊量的隶属函数形态,反模糊化接口则将输出的模糊量及隶属度转换成与之对应的精确量。论域和模糊状态应根据问题的实际情况而定,现在假设e,ec和u的模糊子集均为NB,NM,NS,ZO,PS,PM,PB,模糊论域均为-4,-3,-2,-1,0,1,2,3,4,设e的基本论域为-2,2,ec的基本论域为-1,1,u的基本论域为-5
4、,5。则ke2,kc4,ku1。25。模糊控制器的FPGA设计流程如图3所示模糊控制器功能定义模糊控制器算法设计确定总体结构划分功能模块对个功能模块进行vhdl语言描述综合,仿真Fpga配置下载硬件测试图3 模糊控制器的fpga实现流程图模糊化模块1.隶属函数的选取模糊化过程需要用到隶属函数,隶属函数是模糊控制中的关键问题。隶属函数大多依赖经验或处理方便而选取。选取时至少要遵循3条原则:表示隶属函数的模糊集合必须是凸模糊集合;变量所取隶属函数是对称和平衡的;隶属函数要遵从语意顺序和避免不恰当的重叠。因此,此文确定的E和C的隶属函数形状如图4所示图4 E和EC的隶属函数形状2.隶属函数的存储将上
5、述隶属函数存在2个RAM表中,则在模糊化处理时可进行并行处理,处理方便,且速度提高一倍。表示方法如图4所示。图5 隶属函数的存储方式在图4中 ,三角形是等腰三角形,梯形的下底是上底的2倍。可见由底边宽度和底边中点就可以确定隶属函数的所有信息。分别用一个字节表示每个语言变量的底边宽度(实际宽度的一半),用3个位(bit)表示底边中点位置。这样,全部信息只需要8个字节,以及8个3位就可以表示了:底边宽度表示为:width0,widthl,width7底边中点表示为:center0,centerl,center7这部分信息存于一个奇数表和一个偶数表中,分别表示标号为奇数和偶数的底边宽度和底边中点信息
6、。3.隶属度的计算模糊化模块的功能主要包括2部分:把输人的精确量进行尺度变换,变换到相应的论域范围;将己变换到论域范围的输入量进行模糊化处理,主要是计算各个输人量的隶属度。为了简化处理,将输人值进行均匀量化。由于A/D转换器采样后输人的值为8位,其范围是0一255,均匀量化后各个论域表示见表1。这样模糊化模块的主要工作就是计算输人值的隶属度,如图5所示。表1 论域f化和表示方法图6 隶属度图据图6 ,输人变量为1时,其隶属度为为实现上述计算,需要用到一个加法器,一个减法器和一个除法器。由隶属度的性质可知,计算的结果肯定是小数。为了实现方便,可将分子的计算结果左移8位,使分子变成16位,而分母是
7、8位,因此,计算结果是8位。加法器和减法器的实现比较容易,重点放在16位除以8位的除法器的实现上。 除法器采用普通的除法运算,并配合移位一减法方式来实现,可节省硬件制作成本。除法运算的算法流程如图7所示,图中:a为被除数;b为除数;q为商;r为余数;s为控制除法运算开始执行的控制信号;done表示运算完成;c为减法计数器的计数值。图7 除法运算的算法流程图据上述算法编写VHDL程序,可实现除法器运算。除法器是模糊化模块的关键部件,完成了除法器的设计,也就基本上完成了模糊化模块的数据处理模糊推理模块模糊控制器的核心是模糊推理,模糊推理的基础是模糊控制规则。模糊控制规则是用语言表示的模糊条件语句,
8、存放在模糊控制器的知识库中,可以通过接口由控制专家输人或修改。两输人单输出的模糊控制规则形式为模糊推理常采用Mamdani推理,也称为Max-Min推理。设两输人单输出模糊控制器的输人量是x IS a AND y IS b,则根据模糊控制规则进行推理,可以得出输出模糊控制量:(用模糊集合C表示): 式中包括了3种主要的模糊逻辑运算:and运算,通常采用求交(取小)的方法;蕴含运算“”采用求交法;合成运算“。”,采用Max-Min方法。假设有如下2条模糊控制规则则Mamdani推理的机理如图7所示。图中,C1,C2:通过最小化运算求出,最右边的模糊量图形C通过最大化运算求出,C就是最终的推理结果
9、。可见,模糊推理主要包括最小化运算模块和最大化运算模块。图8 Maindani推理的机理此处知识库中的模糊控制规则,每一条可用一个字节来存储,具体存储格式为:000000XX000001XX000010XX000011XX111100XX111111XX这样就可以把输人的语言值作为规则表的地址进行查找。由隶属函数的特点可知,对于每个输人变量,最多可以并行输出2个语言值和2个隶属度。对于两输人系统,最多输出4个语言值和4个隶属度。这样,对于一个两输人系统,最多激活4条模糊规则,即这样,最终模糊量C的推理过程与只有2条规则时完全类似,只需要最小化运算和最大化运算。实现最小化运算的关键是设计出一个最
10、小比较器。由于每个前件最多激活2条模糊规则,所以设x1和x2是第1个前件的隶属度,y1和y2是第2个前件的隶属度,c1和c2分别是对应于4条模糊控制规则的输出量的隶属度。比较器的行为可以描述如下最小化运算的结果,c1和c4再输人到最大化模块中,用于完成模糊规则合并的过程。最大化模块与最小化模块的实现方法类似。逆模糊化模块反模糊化通常采用加权平均法,对于论域为离散的情况有 由于隶属函数采用8位二进制表示,而所涉及的模糊规则最多为4条,所以分子运算需要4个8位x2位的乘法器,3个10位加法器,分母需要3个8位加法器。此外,还需要一个12位/10位的除法器。除法器的设计方法与模糊化模块中的设计方法相
11、同。而乘法器的设计方法有多种,可以利用工具软件自带的参数可设置兆功能块LPM一multiplier进行定制。由上所述,反模糊化模块需要乘法器和除法器,因此它是最浪费芯片资源,也是最耗时的一个模块。设计模糊控制器 根据模糊控制器的特点及上述描述原理,采用模块化设计方法,本文将模糊控制模块分为四块分别进行设计,如图9所示。clk为全局时钟,g和f为输入给定和反馈,u为输出控制量,设g,f,和u的位数为八位。模糊控制模块内部架构分为四个模糊:减法器模块,离散化模块,建表模块和处理模块。用VHDL硬件描述语言在altera公司的quartusii50进行描述,形成四个模块并进行综合,见图9所示。 图9
12、 模糊控制器各个模块的作用分别如下描述: 减法器模块(jianfaqi)主要是利用给定值g和反馈值f计算误差e和误差变化率ec。进行减法运算时,总是数值大的减去数值小的,正负号分别由eo和co标识,不需要考虑溢出和借位等问题。离散化模块(lisanhua)的作用时把减法器模块得到的误差e和误差变化率ec在各自的论域范围内进行离散处理。离散时把量化因子ke和kc乘入。建表模块(jianbiao)的作用是把控制总表用vhdl语言的形式描述,此控制表是模糊控制表乘上比例因子ku后的实际值。 由于控制表中的数是当前控制变化量,还不能直接作用于被控对象,处理模块的作用是根据当前控制变化量,在前一次控制量
13、的基础上进行运算得到此次控制量。同时规定控制量的上下限,上限根据具体情况而定,下限是零。仿真仿真波形如下图,从仿真图可以看出,在给定值g不变的情况下,控制量u随着反馈值f的变化而变化,变化规律与理论上的模糊控制系统的输出规律基本一致.图10 仿真波形图 结束语 本文采用VHDL硬件描述语言在altera公司的quartusii50实现了模糊控制器,并且进行了仿真,仿真发现该模糊控制器基本符合模糊控制器的性能要求。附表:模糊控制器各个模块vhdl语言描述:减法器模块的vhdl语言的程序如下:LIBRARY IEEE;uSE IEEE。STD_LOGIC_1164。ALL;uSE IEEE。STD
14、_LOGIC_ARITH。ALL;eNTITY mhu ISpORT(g:IN STD_LOGIC_VECTOR(7 DOWNTO 0); f:IN STD_LOGIC_VECTOR(7 DOWNTO 0); clk:IN STD_LOGIC; e:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ec:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); eo:OUT STD_LOGIC; co:OUT STD_LOGIC);eND mhu;aRCHITECTURE rtl OF mhu IS SIGNAL a,b:STD_LOGIC_VECTOR(7 DOW
15、NTO 0); signal m,n:STD_LOGIC;beginprocess(clk)beginif clkevent and clk=1 thenif f=g thena=f-g;m=1;elsif fg thena=g-f;m=0;end if;b=a;n=b then ec=b-a; co=0;elsif ab then ec=b-a; co=1;elsif m=0 and n=1 then ec=a+b; co=0;elsif m=1 and n=0 then ec=a+b; co=b then ec=a+b; co=1;elsif ab then ec=b-a; co=0;en
16、d if;end if;end process;end rtl;离散化模块的vhdl语言的程序如下:LIBRARY IEEE;USE IEEE。STD_LOGIC_1164。ALL;USE IEEE。STD_LOGIC_ARITH。ALL;ENTITY lisanhua IS PORT(e:IN STD_LOGIC_VECTOR(7 DOWNTO 0); ec:IN STD_LOGIC_VECTOR(7 DOWNTO 0); eo:IN STD_LOGIC; co:IN STD_LOGIC; clk:IN STD_LOGIC; elunyu:OUT STD_LOGIC_VECTOR(3 DOW
17、NTO 0); eclunyu:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END lisanhua;ARCHITECTURE c OF lisanhua is SIGNAL b:STD_LOGIC_VECTOR(7 DOWNTO 0);begin process(clk)beginif clkevent and clk=1 thenif eo=0 then if e=0000001 then elunyu=0000; elsif 00000001e and e=00000011 then elunyu=0001; elsif 00000011e and e=000001
18、01 then elunyu=0010; elsif 00000101e and e=00000111 then elunyu=0011; elsif 00000111e and e=1111111 then elunyu=0100; elsif eo=1 thenif e=00000001 then elunyu=0000; elsif 00000001e and e=0000011 thenelunyu=1001;elsif 00000011e and e=00000111 thenelunyu=1010;elsif 00000101e and e=00000111 thenelunyu=1011;elsif 00000111e and e=11111111 thenelunyu=1100; end if; end if;end process;process(clk) beginif clkevent and clk=1 then if co=0 then if ec=0000001 then eclunyu=0000; else if 00000001ec and ec=00000011 then eclunyu=0001; else if 00000011ec and ec=00000101 then eclunyu=0010; else
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年河南省洛阳市初中数学七年级期末下册点睛提升黑金考题附答案
- PCR混采检测专项考核试题及详细答案
- 铜冶炼吹炼工安全操作规程
- 2026年配电箱线路绝缘检测理论与实操模拟试卷及答案
- 2025-2026学年江苏省南通市初中历史七年级期末上册高分黑金试卷详细参考解析
- OUM运营管理岗位实操考核试题(含详细答案)
- 帕金森病吞咽障碍饮水安全照护规范共识
- 线上处方药学审核要点专家共识(2025版)
- 老旧厂区拆除及场地平整施工方案
- 中级刨工理论考试题库及答案
- 2026年现代自动化控制理论的研究进展
- 2026年合理用药知识培训课件
- 高考导数大题10种核心题型导学案(全真题详解)
- 2026年浙江省选调生笔试《综合能力测试》真题及答案解析
- 2026年信息系统监理师基础知识真题
- 知识清单-2026-2027学年统编版道德与法治九年级上册
- 2026年4月自考00158资产评估试题及答案
- 医疗设备全生命周期管理与维护制度
- 2026年宗教教职人员备案测试题
- 万邑通在线测评题库及答案
- 河北肥料行业现状分析报告
评论
0/150
提交评论