基于FPGA的模糊控制器的设计.doc
文本预览下载声明
现场可编程门阵列FPGA是近年来发展迅速的大规模可编程逻辑器件,它具有设计周期短,片内资源丰富,可无限次加载和现场可编程等特点。在FPGA上实现模糊控制器是一种介于专用集成电路(ASIC )和通用处理器之间的方案,具有电子产品的高速度、高可靠性、小型化、集成化、低功耗、保密性能好、具有自主知识产权、产品上市快等优势。模糊控制器不需要控制对象的精确数学模型,是一种基于规则的控制,依据操作人员的控制经验和专家的知识,通过查表得到控制量。因此,模糊控制器具有响应快,超调量小,鲁棒性强等特点。它能够克服系统中模型参数变化和非线性等不确定因素,在大滞后、非线性系统中得到广泛应用。
随着EDA技术的发展,FPGA在数字逻辑系统中发挥越来越重要的作用,采用硬件描述语言的硬件电路设计方法得到了广泛应用。本文利用VHDL硬件描述语言在FPGA芯片上设计一种简化的模糊控制器。
一模糊控制器的结构及其FPGA实现流程
图1 模糊控制器的组成框图
图2 模糊控制器机构图
由于一维模糊控制器的动态性能不能令人满意,三维及三维以上的模糊控制器结构复杂,建立模糊控制规则比较困难,因此一般采用双输入单输出的二维模糊控制器。典型的两输人单输出模糊控制器的结构如图2所示,它由知识库、模糊化、模糊推理和逆模糊化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,5]。则ke=2,kc=4,ku=1。25。
FPGA设计流程如图3所示
图3 模糊控制器的fpga实现流程图
㈡模糊化模块
1.隶属函数的选取
模糊化过程需要用到隶属函数,隶属函数是模糊控制中的关键问题。。3条原则:表示隶属函数的模糊集合必须是凸模糊集合;变量所取隶属函数是对称和平衡的;隶属函数要遵从语意顺序和避免不恰当的重叠。E和C的隶属函数形状如图4所示
图4 E和EC的隶属函数形状
2.隶属函数的存储
将上述隶属函数存在2个RAM表中,则在模糊化处理时可进行并行处理,处理方便,且速度提高一倍。4所示。
图5 隶属函数的存储方式
在图4中 ,三角形是等腰三角形,梯形的下底是上底的2倍。。(实际宽度的一半),用3个位(bit)表示底边中点位置。8个字节,以及8个3位就可以表示了:
底边宽度表示为:width0widthl,……………,width7
底边中点表示为:center0centerl,……………,center7
这部分信息存于一个奇数表和一个偶数表中,分别表示标号为奇数和偶数的底边宽度和底边中点信息隶属度的计算
模糊化模块的功能主要包括2部分:把输人的精确量进;将己变换到论域范围的输入量进行模糊化处理,主要是计算各个输人量的隶属度。A/D转换器采样后输人的值为8位,其范围是0一255,均匀量化后各个论域表示见表1。5所示。
表1 论域f化和表示方法
图6 隶属度图
据图6 ,输人变量为1时,其隶属度为
为实现上述计算,需要用到一个加法器,一个减法器和一个除法器。。8位,使分子变成16位,而分母是8位,因此,计算结果是8位。16位除以8位的除法器的实现上。
除法器采用普通的除法运算,并配合移位一减法方式来实现,可节省硬件制作成本。除法运算的算法流程如图所示,图中:a为被除数;b为除数;q为商;为余数;为控制除法运算开始执行的控制信号;done表示运算完成;为减法计数器的计数值。
图7 除法运算的算法流程图
据上述算法编写VHDL程序,可实现除法器运算。
㈢模糊推理模块
模糊控制器的核心是模糊推理,模糊推理的基础是模糊控制规则。。
模糊推理常采用Mamdani推理,也称为Max-Min推理。设两输人单输出模糊控制器的输人量是x IS a’ AND y IS b’,则根据模糊控制规则进行推理,可以得出输出模糊控制量:(用模糊集合C’表示):
式中包括了3种主要的模糊逻辑运算:and运算,通常采用求交(取小)的方法;蕴含运算“”采用求交法;合成运算。”,采用Max-Min方法。假设有如下2条模糊控制规则
则Mamdani推理的机理如图7所示。图中,C,C:通过最小化运算求出,最右边的模糊量图形C通过最大化运算求出,C就是最终的推理结果。可见,模糊推理主要包括
显示全部