基于FPGA的神经元自适应PID控制器设计

发布者:好的哎最新更新时间:2010-02-09 来源: 电子设计应用关键字:神经元  PID  FPGA  BP神经网络 手机看文章 扫描二维码
随时随地手机看文章

引言

    迄今为止,PID控制器因其具有结构简单、容易实现等特点,仍是实际工业过程中广泛采用的一种比较有效的控制方法。但当被控对象存在非线性和时变特性时,传统的PID 控制器往往难以获得满意的控制效果。神经网络以其强大的信息综合能力为解决复杂控制系统问题提供了理论基础,许多学者也通过软件仿真的形式验证了神经网络控制的可行性并提出了一些新的算法,但由于目前没有相应的硬件支持,只通过软件编程,利用串行方法来实现神经网络控制必然导致运算速度低,难以保证实时控制。FPGA结构灵活、通用性强、速度快、功耗低,用它来构造神经网络,可以灵活地实现各种运算功能和学习规则,并且设计周期短、系统速度快、可靠性高。

    本文主要介绍了用FPGA实现单神经元自适应PID控制器的方法,并对基于BP神经网络整定的PID控制器的FPGA设计做了概述。

神经元自适应PID控制器的基本原理和算法

    单神经元PID控制器的结构

    三输入单神经元模型如图1所示。其中x1,x2,x3是输入量,w1、w2、w3是对应的权值,K为比例系数。

    与传统PID控制器经离散处理后的增量表达式

y(k)=kie(k)+kp(e(k)-e(k-1)+kd(e(k)-2e(k-1)+e(k-2))

    比较而知,图1是用单神经元实现了自适应PID控制,权值w1、w2、w3分别对应于传统PID控制器的ki,kp和kd。

    学习算法

    经过大量的实际应用,实践表明PID参数的在线学习修正主要与芿(k)和e(k)有关。因此可将单神经元自适应PID控制算法中的加权系数学习修正部分进行修改.

    本文里用FPGA实现的单神经元学习算法就采用了这种基于改进规则的方法。

神经元算法在FPGA上的实现

    FPGA上浮点数的运算

    浮点加、减、乘、除运算单元的设计

    神经元PID算法离不开浮点运算,浮点运算在高级语言中使用很方便,但是通过硬件来实现就比较复杂,所以大多数的EDA软件目前还不支持浮点运算,浮点运算器件只能自行设计,其中主要考虑的是运算精度、运算速度、资源占用以及设计复杂度。

    浮点数的加法和减法需要经过对阶、尾数运算、规格化、舍入操作和判断结果正确性5个步骤,其设计原理图如图2所示,整个运算过程由op_state状态机控制,op输入端决定运算法则(0为加法,1为减法),a、b两端分别输入24位浮点数格式的加数和被加数,经过float_add_minus模块的对阶、尾数加(减)、舍入操作和判断结果正确性四步运算,再由result_ normalization模块规格化处理后输出。

    浮点乘法相对比较简单,两个浮点数相乘,其乘积的阶码是两个数的阶码之和,乘积的尾数是两个数尾数的乘积,符号是相乘数符号的异或,结果一样需要规格化。

    同理,浮点除法运算中,商的阶码是两个数的阶码之差(被除数减除数),商的尾数是两个数尾数的商,符号是两个数符号的异或,注意这里结果的规格化与以往不同,是向右规格化操作。
由于篇幅所限,本文在此不再给出乘法器和除法器的详细设计图,在具体实现中,乘法器的尾数乘积运算采用了booth算法,除法器的尾数相除运算采用了移位相减的方法。

    二进制与十进制浮点数相互转换电路的设计

    系统输入值、从传感器反馈回来的系统输出值以及送给DAC的输出控制量都不是上述二进制的浮点数类型,因此就需要能够将两种类型的数据进行相互转换的电路。完成二进制浮点数转换成十进制浮点数的全部操作所需要的时钟数取决于二进制浮点数的大小,最少232个,最多1069个;而十进制浮点数转换成二进制浮点数时,不论浮点数的大小,都只需要194个时钟周期。

    神经元算法在FPGA上的实现

    有了以上加、减、乘、除浮点运算模块以及进制转换模块,要实现神经元算法只需合理地把他们组织到一起。在FPGA里,是通过一个状态机来完成这一功能的。状态转换图如图3所示,在图中每个标有计算字样的状态里,所有运算都是并行完成的,大大节省了运算时间。图中的START信号可以由微控制器给出,需要注意的是,并不只是在最后的状态里START=0才使状态机复原到IDLE状态,实际情况是,任意时刻只要START=0,状态机都会复原。这一点由于篇幅所限没能在图上标示出来,在此做一简要说明。

    使用 Synplify Pro 7.1在Xilinx Virtex2 XC2V1500fg676-4上实现了该系统的综合,时钟频率为98.4MHz,LUT资源占用率为76%。

基于BP神经网络整定的PID控制器的FPGA设计概述

    基于BP(Back Propagation)网络的PID控制系统参数整定结构如图4所示,控制器由两部分构成:

    (1) 经典的PID控制器:直接对被控对象进行闭环控制,三个参数kp、ki、kd为在线调整方式;

    (2)神经网络:根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化。即使输出层神经元的输出状态对应于PID控制器的三个可调参数kp、ki、kd,通过神经网络的自学习、加权系数调整,使神经网络的输出对应于某种最优控制率下的PID控制器参数。

    用FPGA实现BP神经网络,除了各个浮点运算模块之外,还需要实现隐层神经元的活化函数——正负对称的Sigmoid函数和输出层神经元的活化函数——非负的Sigmoid函数:

    其中超越函数ex的实现,常用的有两大类:一是多项式迭代,该方法实现速度快,但需要乘法器,当计算精度较高时,硬件成本大;二是移位加迭代,此方法只需加法器,结构简单易于实现,但实现速度慢。参考文献2中还提到了一种采用分段线性化的方法,虽然实现容易,但是精度较低。笔者拟在现有浮点四则运算模块的基础上,采用指数函数幂级数展开式前n项和的形式实现超越函数ex。这虽然也是采用了多项式迭代的方式,但采用FPGA实现,可以在保证精度的前提下,减少硬件成本。有了这一模块后,经过合理安排BP算法的运算顺序,就可以在FPGA上实现基于BP神经网络整定的PID控制器了。

结语

    当今神经网络的应用大多以软件方式完成核心算法,但受限于微处理器(或DSP)工作频率太慢或PC机体积较大的弱点,难以大规模应用。鉴于此,本文提出了一种基于FPGA、以硬件方式完成神经网络算法的方案,在保证运算精度的前提下,运算速度可比同频率的处理器以软件方式实现快上百倍。另外,文中各个浮点运算模块的实现还有一些有待优化的地方,因此可以在硬件资源上更为节省。由此可见,硬神经网络是解决其学习速度慢、满足实时控制需要的必由之路。

关键字:神经元  PID  FPGA  BP神经网络 引用地址:基于FPGA的神经元自适应PID控制器设计

上一篇:基于CAN总线和DSP的双层数据采集系统的设计
下一篇:说话人语音特征子空间分离及识别应用

推荐阅读最新更新时间:2024-05-02 21:00

基于DSP和FPGA的机器人声控系统设计与实现
1 引言 机器人听觉系统主要是对人的声音进行语音识别并做出判断,然后输出相应的动作指令控制头部和手臂的动作,传统的机器人听觉系统一般是以PC机为平台对机器人进行控制,其特点是用一台计算机作为机器人的信息处理核心通过接口电路对机器人进行控制,虽然处理能力比较强大,语音库比较完备,系统更新以及功能拓展比较容易,但是比较笨重,不利于机器人的小型化和复杂条件下进行工作,此外功耗大、成本高。本次设计采用了性价比较高的数字信号处理芯片TMS320VC5509作为语音识别处理器,具有较快的处理速度,使机器人在脱机状态下,独立完成复杂的语音信号处理和动作指令控制,FPGA系统的开发降低了时序控制电路和逻辑电路在pcb板所占的面积 ,使机器
[嵌入式]
基于SystemC/TLM方法学的IP开发及FPGA建模
  随着系统级芯片技术的出现,设计规模正变得越来越大,因而变得非常复杂,同时上市时间也变得更加苛刻。通常RTL已经不足以担当这一新的角色。上述这些因素正驱使设计师开发新的方法学,用于复杂IP(硬件和软件)以及复杂系统的验证。ST公司建立了一个设计流,它从高级抽象开始,易于将模型写入IP的精密周期或RTL模型中。当转入低级抽象时,建模变得复杂,故IP验证也复杂。我们的方案最适合于这种应用场景,因为它允许人们在各地相似的环境中运行相同的测试平台和测试场景,因而允许在整个开发周期里高效地复用所有的测试范例和环境。   在半导体领域,开发产品的第一步就是以高级抽象开发规范的模型,通常用C/C++来实现。这里,SystemC和C++库提供
[嵌入式]
基于SystemC/TLM方法学的IP开发及<font color='red'>FPGA</font>建模
一种基于FPGA的A超数字式探伤系统的研究
摘要:简略介绍了超声探伤的基本原理,并在此基础上提出了一种基于FPGA的A型数字式超声系统的构成方式,着重介绍了系统的硬件构成。其中,基于FPGA的数字信号处理模块从根本上解决了传统A型探伤仪的采样速度低、处理速度慢的问题。 关键词:MCS196kc单片机 无损检测 超声波探伤 FPGA 数字信号处理 DAC曲线 超声波是一种机械波,机械振动与波动是超声波探伤的物理基础。超声波在媒介中传播,有波的叠加、反射、折射、透射、衍射、 散射及吸收衰减等特性,一般遵循几何光学的原则。A超探伤仪采用幅度调制(Amplitude Modulation)显示,在显示屏幕上以横坐代表被测物的深度,纵坐标代表回放脉冲的幅度。 超声波探伤的
[应用]
Stratix II FPGA系统电源设计
0 引言 Stratix II是ALTERA公司生产的一款高性能FPGA器件。它采用TSMC的90 nm低k绝缘工艺技术生产,等价逻辑单元(LE)高达180 k,嵌入式存储器容量达到9 MB。该器件不但具有极高的性能和密度,而且还针对器件总功率进行了优化,同时可以支持高达1 Gbps的高速差分I/O信号,因而是一款超快的FPGA。该芯片中所含的高性能嵌入式DSP块的运行频率高达370 MHz。另外Stratix II还有12个可编程PLL,并具有健全的时钟管理和频率合成能力。能实现最大的系统性能。 MAX1951是MAXIM公司的一款高效的DC-DC电源转换芯片,主要用于DSP、FPGA、ASIC的内核及I/O口供电。其高达9
[电源管理]
基于FPGA的语音信号LPC参数提取算法的实现
    摘要: 介绍语音信号LPC分析中部分相关系数的舒尔递推算法的FPGA实现,给出了电路设计思想及具体电路结构,并对其工作过程进行了详细分析说明,为嵌入式系统设计提供了一种有效手段。     关键词: 部分相关系数 舒尔递推算法 FPGA 并行处理技术 随着语音技术应用的发展,越来越多的语音信号数字处理系统需要按照实时方式或在线方式工作,特别在嵌入式系统设计中,对系统的硬件环境要求更高。随着语音处理算法的日益复杂,用普通处理器对语音信号进行实时处理,已显得力不从心。本文将采用新一代现场可编程门阵列FLEX10K系列的FPGA芯片实现语音信号的LPC分析,并通过舒尔(Schur)递推算法,提取语音信号算是中
[应用]
FPGA+DSP的高速通信接口设计与实现
  TigerSHARC系列DSP芯片与外部进行数据通信主要有两种方式:总线方式和链路口方式。链路口方式更适合于FPGA与DSP之间的实时通信。随着实时信号处理运算量的日益增加,多DSP并行处理的方式被普遍采用,它们共享总线以互相映射存储空间,如果再与FPGA通过总线连接,势必导致FPGA与DSP的总线竞争。同时采用总线方式与FPGA通信,DSP的地址、数据线引脚很多,占用FPGA的I/O引脚资源太多。而采用链路口通信不但能有效缓解DSP总线上的压力,而且传输速度快,与FPGA之间的连线相对也少得多,故链路口方式更适合于FPGA与DSP之间进行实时数据通信。     1 TS101和TS201的链路口分析与比较   TS10
[嵌入式]
写给使用FPGA的数字工程师:如何简化FPGA供电
我不得不承认,随着时间的推移为 FPGA 供电变得越来越复杂,本文提供一些建议,希望可以帮助简化 FPGA 的电源解决方案,使用户能够创建出快速便捷的解决方案。   在为 FPGA 供电时需要考虑若干电源设计方面的问题,比如:   1.增加了输出电压轨数量   2.需要为电轨设置设定点精度   3.需要优化设计中的无源板面布局才能实现极低的纹波噪声   4.需要 AC 瞬态响应,以及补偿环路   另外,不要忘了还有排序以及更多所需功能。图 1 显示了 FPGA 开发套件中典型的 FPGA 电源解决方案。设计该方案除了要选择正确的器件和电感器外,还需要具备一些其它的专业知识。例如,需要考虑部件放置和板面布局方面的细节。
[模拟电子]
写给使用<font color='red'>FPGA</font>的数字工程师:如何简化<font color='red'>FPGA</font>供电
超高数据流通量FPGA新品类中的Block RAM级联架构
概述 随着数据中心、人工智能、自动驾驶、5G、计算存储和先进测试等应用的数据量和数据流量不断增大,不仅需要引入高性能、高密度FPGA来发挥其并行计算和可编程硬件加速功能,而且还对大量数据在FPGA芯片内外流动提出了更高的要求。于是,在FPGA芯片中集成包括片上二维网络(2D NoC)和各种最新高速接口的新品类FPGA芯片应运而生,成为FPGA产业和相关应用的新热点。 拉开这场FPGA芯片创新大幕的是全球最大的独立FPGA技术和产品提供商Achronix半导体公司,其采用7nm工艺打造的Achronix Speedster7t FPGA不仅拥有诸多高性能外围Hard IP,而且是全球首次在FPGA的逻辑阵列上集成了2D N
[嵌入式]
超高数据流通量<font color='red'>FPGA</font>新品类中的Block RAM级联架构
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved