CN104834216A - 一种基于bp神经网络调节pi控制器参数的电路及方法 - Google Patents

一种基于bp神经网络调节pi控制器参数的电路及方法 Download PDF

Info

Publication number
CN104834216A
CN104834216A CN201510198880.2A CN201510198880A CN104834216A CN 104834216 A CN104834216 A CN 104834216A CN 201510198880 A CN201510198880 A CN 201510198880A CN 104834216 A CN104834216 A CN 104834216A
Authority
CN
China
Prior art keywords
input
multiplier
implicit
export
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510198880.2A
Other languages
English (en)
Other versions
CN104834216B (zh
Inventor
严伟
王成
张文荣
陆健
杨维
王鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Produces Study Grinds Cooperation Education Base Of Peking University Software & Microelectronic College
SHANGHAI SINOMCU MICROELECTRONICS Co Ltd
Original Assignee
Wuxi Produces Study Grinds Cooperation Education Base Of Peking University Software & Microelectronic College
SHANGHAI SINOMCU MICROELECTRONICS Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Produces Study Grinds Cooperation Education Base Of Peking University Software & Microelectronic College, SHANGHAI SINOMCU MICROELECTRONICS Co Ltd filed Critical Wuxi Produces Study Grinds Cooperation Education Base Of Peking University Software & Microelectronic College
Priority to CN201510198880.2A priority Critical patent/CN104834216B/zh
Publication of CN104834216A publication Critical patent/CN104834216A/zh
Application granted granted Critical
Publication of CN104834216B publication Critical patent/CN104834216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Feedback Control In General (AREA)

Abstract

本发明公开一种基于BP神经网络调节PI控制器参数的电路,用于根据一状态参数输出该PI控制器的输入参数,包括:一输入层单元,用于根据该状态参数生成一输入层输出;一隐含层单元,用于根据该输入层输出以及一输入-隐含权值生成一隐含层输出;一输出层单元,用于根据该隐含层输出以及一隐含-输出权值生成该PI控制器的输入参数;一隐含-输出权值调整单元,用于根据该隐含层输出、该PI控制器的输入参数以及该状态参数生成该隐含-输出权值;一输入-隐含权值调整单元,用于根据该输入层输出、该隐含层输出以及该隐含-输出权值生成该输入-隐含权值。

Description

一种基于BP神经网络调节PI控制器参数的电路及方法
技术领域
本发明设计一种电机控制领域电机速度调节问题,涉及一种基于BP神经网络整定PI参数的电路实现方法。
背景技术在电机控制领域的实际应用中,被控对象具有非线性、时变不确定性、滞后性等特点,尤其是在噪声、负载扰动等因素的影响下,控制过程的参数甚至模型结构均会随时间推移受工作环境的变化而变化,而普通的控制方法不能很好的适应这种复杂多变的控制过程的变化而导致无法实现精确,快速地控制。
传统的电机控制算法在速度控制环节采用的是传统的PID控制算法(比例积分微分控制算法Proportion Integration Differentiation),而传统的PID算法的存在参数自整定难,且对于无精确的数学模型和非线性场合,不能达到理想的控制效果。
BP神经网络(Back Propagation),作为一种并行的计算模型,具有传统建模方法所不具有的优势:极佳的非线性映射能力,它一般无需预知被建模对象的结构、参数、动态特性等知识,只需给出被控对象的输入、输出数据,就可以通过网络自身的学习实现输入与输出变量的动态调节,使实际值与理论值的误差达到最小。基于以上优点,神经网络算法在智能控制领域具有很大的发展潜力。
目前对于BP神经网络调节PI参数的应用都停留在软件层面的仿真与编程,处理速度慢,无法满足实时性需求,且占用大量的CPU资源,从根本上失去了神经网络大量并行计算,分布式存储的优点,在实时控制领域存在很大的局限性。再者,由于纯软件方式意味着较高软件维护成本,其代码可靠性很大程度上依赖于编程以及测试人员的经验和专业性,不容易把控。如果能采用集成电路的数字实现方法,能够有效的克服以上问题,充分发挥神经网络并行处理,和分布式存储的优势,从而使神经网络的功能达到最佳。同时,对算法进行优化,节省了大量的硬件资源,且可通过编程配置神经元的个数,大大提高了其灵活性和适用性。
将BP神经网络整定PI参数硬件化,作为微处理器的一个外设,开发人员只需配置相应的参数,无需编程就可实现BP神经网络整定PI参数算法的应用,极大地降低技术门槛,无需精通BP神经网络等智能控制,缩短了开发周期,可靠性也更容易得到保证。硬件化还带来一个好处,几乎没有软件维护成本。
因此,提供一种基于BP神经网络数字电路,已成为本领域技术人员亟待解决的技术难题。
发明内容
为了克服现有技术中存在的缺陷,本发明提供一种通过硬件电路来实现的基于BP神经网络调节PI控制器参数的电路,以及一种基于BP神经网络调节PI控制器参数的方法。
为了实现上述发明目的,本发明公开一种基于BP神经网络调节PI控制器参数的电路,用于根据一状态参数输出该PI控制器的输入参数,包括:一输入层单元,用于根据该状态参数生成一输入层输出;一隐含层单元,用于根据该输入层输出以及一输入-隐含权值生成一隐含层输出;一输出层单元,用于根据该隐含层输出以及一隐含-输出权值生成该PI控制器的输入参数;一隐含-输出权值调整单元,用于根据该隐含层输出、该PI控制器的输入参数以及该状态参数生成该隐含-输出权值;一输入-隐含权值调整单元,用于根据该输入层输出、该隐含层输出以及该隐含-输出权值生成该输入-隐含权值。
更进一步地,该状态参数为输入量、输出量、误差量和反馈量。
更进一步地,该隐含层单元包括一计数器、一乘法器、累加器,以及一CORDIC运算单元,该输入层输出以及该输入-隐含权值作为该乘法器的输入值,该乘法器的输出值经该累加器累加后进入该CORDIC运算单元以生成该隐含层输出。
更进一步地,该输出层单元包括一计数器、一乘法器、累加器,以及一CORDIC运算单元,该隐含层输出以及该隐含-输出权值作为该乘法器的输入值,该乘法器的输出值经该累加器累加后进入该CORDIC运算单元以生成该输出层输出;或该输出层单元包括一计数器、一乘法器、累加器,该隐含层输出以及该隐含-输出权值作为该乘法器的输入值,该乘法器的输出值经该累加器累加后输出。
更进一步地,该隐含-输出权值调整单元包括一符号检测单元、计数器、第一、第二减法器、第一第二乘法器以及第一第二加法器,该符号检测单元的输出连接该第一乘法器的输入,该状态参数的反馈量经该第一减法器输出至该第一乘法器,该PI控制器的输入参数经该第二减法器输出至该第一乘法器,该隐含层输出与该第一乘法器的输出作为该第二乘法器的输入,该第二乘法器的输出值作为该第一加法器的输入值,该第一加法器的输出值返回至该第一乘法器,该第一加法器的输出值作为该第二加法器的累加值,直至生成该隐含-输出权值。
更进一步地,该隐含-输出权值调整单元还包括一惯性系数和/或学习速率,该惯性系数和/或学习速率作为该第二乘法器的输入值。
更进一步地,该输入-隐含权值调整单元包括一计数器、第一、第二、第三乘法器、第一、第二加法器、第一减法器以及第一、第二累加器,该隐含-输出权值为该第一乘法器的输入值,该第一乘法器的输出值经该第一累加器累加后至该第二乘法器;该隐含层输出分别经该第一加法器相加,该第一减法器相减后作为该第二乘法器的输入;该第二乘法器的输出及该输入层输出作为第三乘法器的输入值;该第三乘法器的输出值作为该第二加法器的输入值;该第二加法器的输出值返回至第三乘法器作为输入;该第二加法器的输出值经该第二累加器累加直至生成该输入-隐含权值。
更进一步地,该输入-隐含权值调整单元还包括一惯性系数和/或学习速率,该惯性系数和/或学习速率作为该第三乘法器的输入值。
更进一步地,该PI控制器包括一减法器、一乘法器以及加法器,该状态参数的误差量经该减法器输出至该乘法器,该PI控制器的输入参数作为该乘法器的另一输入值,该乘法器的输出值经该加法器相加后输出。
本发明同时公开一种基于BP神经网络调节PI控制器参数的方法,用于根据一状态参数输出该PI控制器的输入参数Ki,Kp,包括:步骤一、根据该状态参数生成一输入层输出Oi;步骤二、根据该输入层输出Oi和一输入-隐含权值Wji生成一隐含层输出Oj;步骤三、根据该隐含层输出Oj以及一隐含-输出权值Wli生成该PI控制器的输入参数Ki,Kp;隐含-输出权值Wli由该隐含层输出Oj、该PI控制器的输入参数Ki,Kp以及该状态参数生成,该输入-隐含权值Wji由输入层输出Oi、该隐含层输出Oj以及该隐含-输出权值Wli生成。
更进一步地,包括:该状态参数为输入量r(t)、输出量△(u)、误差量e(k)和反馈量y。
与现有技术相比较,本发明的优点如下:第一本发明是通过数字电路的方式,利用硬件设备实现神经网络的大量并行计算,实现分布式存储的优点。第二、本发明处理速度快,能充分利用BP神经网络优良的非线性函数逼近能力以及并行计算分布式存储的优点,在复杂多变的应用环境下,对电机速度进行实时控制,从而获得更好的控制效果。
附图说明
关于本发明的优点与精神可以通过以下的发明详述及所附图得到进一步的了解。
图1为本发明的基于BP神经网络调节PI参数的结构图;
图2为本发明的基于BP神经网络调节PI参数的整体硬件架构图;
图3为本发明的基于BP神经网络调节PI参数的隐含层单元结构图;
图4为本发明的基于BP神经网络调节PI参数的隐含层单元具体实例结构图;
图5为本发明的基于BP神经网络调节PI参数的输出层单元具体实例结构图;
图6为本发明的基于BP神经网络调节PI参数的输出层单元结构图;
图7为本发明的基于BP神经网络调节PI参数的隐含-输出权值调整单元结构图;
图8为本发明的基于BP神经网络调节PI参数的输入-隐含权值调整单元结构图;
图9为本发明的基于BP神经网络调节PI参数的PI单元结构图;
图10为三层BP神经网络的基本结构图。
具体实施方式
下面结合附图详细说明本发明的具体实施例。
对于BP神经网络,理论上已经证明,三层BP神经网络可以逼近任意复杂的非线性函数,因此本设计也为三层BP神经网络。请参看图10,为三层BP神经网络的基本结构图,包含输入层,隐含层,输出层三个单元。其中,输入层、隐含层、输出层神经元个数分别为M,P,Q。
由于电机速度变化的响应时间相对较慢,在PID控制器中,如果使用了D(微分)项,会导致SVPWM占空比的过调,从而影响矢量控制算法的正常运行,甚至可能会发生过流断电等突发情况,因此,输出层神经元数目为2个,即为PI(比例积分)控制器。如图1所示,图1为本发明的基于BP神经网络调节PI参数的结构图。本发明所提供的BP神经网络1向PI控制器2输出两个控制参数KP,KI,即2个输出层神经元数目。
基于BP神经网络调整PI参数的硬件电路实现架构,请参看图2,该BP神经网络硬件架构1包括输入层单元10、隐含层单元20、输出层单元50、输入-隐含权值调整单元30、隐含-输出权值调整单元40,PI单元2等六个单元。
其中,输入层单元10包括对输入数据的缓冲,其中包括对输入数据偏差的延时,以及对输入数据矩阵M×11×M维数的配置,也即当输入矩阵为X=[x1,x2K xM]T的矩阵,则输出矩阵为O(1)=X=[x1,x2,xiK xM]T,i=1,2K M,其中上标(1)输入层,最大维数M为3或4。
请参看图1,BP神经网络的输入层输入量可以为控制系统的状态量,如输入量r(t),输出量△u,误差量e(k),反馈量y等,输入层单元的输入数据经过归一化处理后,输送至网络,输出即为PI控制器的两个参数:KP,KI
对于所述隐含层单元,请参看图3。该隐含层单元20主要包括输入层单元10的输出数据,输入-隐含权值调整单元30的输出数据,计数器单元201,乘法器单元202,累加器单元203,CORDIC(Coordinate Rotation Digital Computer,坐标旋转数字计算方法)运算单元204等。
其中,输入-隐含权值调整单元30可根据用户需求通过控制寄存器配置隐含层神经元的个数,从而确定输入-隐含权值调整单元30中权值矩阵P×M的行数P的取值范围为5,6,7,8,则计数器201的取值范围为4,5,6或7。CORDIC(Coordinate Rotation Digital Computer,坐标旋转数字计算方法)运算单元204用来计算Sigmoid函数,而不是采用耗费大量硬件存储资源的查找表,且Sigmoid函数中涉及的除法运算,仍然采用CORDIC算法实现,节省了除法器。
下面详细介绍隐含层单元的具体实施方式。
选取隐含层的激活函数f(·)选为Sigmoid函数:
隐含层输入量、输出量分别为:
net j ( 2 ) ( k ) = Σ i = 1 M w ji ( 2 ) O i ( 1 )    (公式1)
O j ( 2 ) = f ( net j ( 2 ) ) , j = 1,2 . . . P    (公式2)
其中,上标(2)表示隐含层单元,为输入层与隐含层之间的权值。
以串行输入方式实施为例,请参看图4,假设用户配置输入层控制寄存器确定输入层单元10的输入神经元数目M为3,配置隐含层控制寄存器确定隐含层神经元数目P为5。此时,计数器201的计数值表示j的数值,计数最大值为4。并且,包含但不仅限于,乘法器,CORDIC运算单元等均含有计算结果有效标志位。
当计数器201为0时,将(o1 (1)),(o2 (1)),(),并行输入乘法器202,并将计算结果分别存入乘法结果寄存器,并将乘法结果有效标志位置1;将乘积结果输入至累加器203,加法计算结果存入加法结果寄存器,;当检测到乘法结果有效标志位为1时,CORDIC运算单元204读取加法结果寄存器的值,并将加法有效标志位清零,执行CORDIC计算,计算完成后将结果存入CORDIC结果寄存器,置CORDIC结果有效标志位为1,并将结果分别存入输出缓冲单元。
当检测到CORDIC运算单元204结果有效标志位为1时,计数器加1,将CORDIC运算单元结果有效标志位清零,同时将(o1 (1)),(o2 (1)),(),并行输入乘法器,重复以上步骤,即可求得隐含层单元的第二个计算结果。以此类推,当计数器计数到4时,可以得到隐含层单元中输出缓冲寄存器中的5个结果值。
其中,在CORDIC运算单元204中,选择双曲函数模式下的旋转模式,求得sinh(x),cosh(x),将双曲正余弦结果再次作为CORDIC运算单元204的输入,选择线性函数模式下的向量模式,即可求得tanh(x)的值。利用CORDIC(Coordinate Rotation Digital Computer,坐标旋转数字计算方法)运算单元204用来计算Sigmoid函数,而不是采用耗费大量硬件存储资源的查找表,且Sigmoid函数中涉及的除法运算,仍然采用CORDIC算法实现,节省了除法器。
对于以上所述输出层单元,请参看图5。该输出层单元包括隐含层单元20输出数据的缓冲,隐含-输出权值调整单元40,计数器单元501,乘法器单元502,累加器单元503,CORDIC(Coordinate Rotation Digital Computer,坐标旋转数字计算方法)运算单元504。在另一种实施方式中,可通过控制寄存器配置输出层的激活函数为线性函数,不经过输出层的CORDIC单元输出,即g(·)=x。
其中,隐含-输出权值调整单元40可根据用户需求通过控制寄存器配置隐含层的神经元个数,从而确定隐含-输出权值调整单元40中权值矩阵Q×P的列数P的最大值。CORDIC运算单元504用来计算Sigmoid函数。获得输出层的输出数据后产生中断,在中断程序中判断实际误差是否满足预期设定的误差,如满足,则结束权值更新,否则进行权值调整运算。并且,如果训练次数达到预先设置的最大迭代次数,则无论是否达到预期误差要求,都停止接下来的权值更新。
下面详细介绍输出层单元的具体实施方式。
选取输出层神经元数为2,由于输出KP,KI为非负值,因此选取输出层激活函数为非负的Sigmoid函数: g ( x ) = 1 2 ( 1 + tanh ( x ) ) = e x e x + e - x .
输出层输入、输出分别为:
net l ( 3 ) ( k ) = Σ l = 1 2 w lj ( 3 ) o j ( 2 )    (公式3)
Ol (3)(k)=g(netl (3)(k))(l=1,2)   (公式4)
其中,上标(3)表示输出层单元,为隐含层和输出层之间的权值,且输出层的两个输出分别为:O1 (3)(k)=KP,O2 (3)(k)=KI
承接隐含层所述实例,请参看图6,当用户配置控制寄存器确定输出层单元神经元数目Q为2,配置隐含层控制寄存器确定隐含层神经元数目P为6。此时,计数器501的计数值表示j的数值,计数最大值为5。并且,包含但不仅限于,乘法器,CORDIC运算单元等均含有计算结果有效标志位。
首先,当计数器为0时,将(),(),并行输入乘法器502,并将计算结果输入结果寄存器;将乘法结果寄存器的值输入至累加器503,累加计算结果存入累加结果寄存器;计数器加1,将(),(),并行输入乘法器,将计算结果输入乘法结果寄存器;将乘法结果寄存器的值输入至累加器,累加计算结果存入累加结果寄存器;以此类推,计数器累加至5时,将(),(),并行输入乘法器,将计算结果输入乘法结果寄存器;将乘法结果寄存器的值输入至累加器,累加计算结果存入累加结果寄存器。
接着,当6次累加计算完成后,将其中一个累加结果寄存器的值输入至CORDIC运算单元504;执行CORDIC计算,计算完成后将结果存入CORDIC结果寄存器,置CORDIC结果有效标志位为1;将CORDIC算法计算结果加1,并右移一位后,将计算结果存入输出缓冲单元。
同时,当检测到CORDIC运算单元504结果有效标志位1时,将另一个累加结果寄存器的值依次输入至CORDIC运算单元504,执行CORDIC计算,同时清除CORDIC结算结果有效标志,重复以上所描述的步骤,直至将最终CORDIC计算结果分别存入输出缓冲单元。
其中,在CORDIC运算单元504中,选择双曲函数模式下的旋转模式,求得sinh(x),cosh(x),将双曲正余弦结果再次作为CORDIC运算单元的输入,选择线性函数模式下的向量模式,即可求得tanh(x)的值。利用CORDIC(Coordinate Rotation Digital Computer,坐标旋转数字计算方法)运算单元用来计算Sigmoid函数,而不是采用耗费大量硬件存储资源的查找表,且Sigmoid函数中涉及的除法运算,仍然采用CORDIC算法实现,节省了除法器。
对于以上所述隐含-输出权值调整单元,请参看图7。该单元包括符号检测单元401,输出层单元50输出数据,隐含层单元20的输出数据,计数器单元405,学习速率以及惯性系数单元402,减法器单元403、404,乘法器单元406、407,加法器单元408、409。
其中,符号检测单元401为被控对象的输出值以及PI控制器输出值在前后两个时刻的大小判断,将判断后的符号,正或负,输入至乘法器406。外部参考输入与PI控制器所作用的被控对象反馈值的偏差缓冲,可以为ek、e(k-1),输出经过减法器403后,可为Δek。输出层单元50的输出经过减法器404后用来计算输出层的导数。隐含层单元20为隐含层各神经元的直接输出值。计数器单元405包含两个计数器,其中计数器1为输出层单元50计数,且计数最大值为输出层神经元个数Q减1,计数器2对隐含层神经元输出个数计数,且计数器的最大计数值为隐含层神经元的个数P减1。学习速率以及惯性系数单元402中的学习速率为计算新权值时所需学习速率,惯性系数是使搜索快速收敛至全局极小所添加的惯性项,可配置为可选。乘法器单元406、407、减法器单元403、404、加法器单元408、409执行算法过程中所涉及的乘法和加法。δl缓冲单元存储δl中间值为输入-隐含权值调整单元所用。
下面举例具体说明其实施方式:
承上实例,输入层神经元数目、隐含层神经元数目、输出层神经元数目分别为3,6,2。
选取性能指标函数为: E ( x ) = 1 2 ( r ( k ) - y ( k ) ) 2    (公式5)
按照梯度下降法修正权值系数,并叠加一个使搜索快速收敛至全局极小的惯性项:
Δ w lj ( 3 ) ( k ) = - η ∂ E ( k ) ∂ w lj ( 3 ) + αΔ w lj ( 3 ) ( k - 1 )    (公式6)
其中,η为学习速率,α为惯性系数。
接下来化解
∂ E ( k ) ∂ w lj ( 3 ) = ∂ E ( k ) ∂ y ( k ) g ∂ y ( k ) ∂ Δu ( k ) g ∂ Δu ( k ) ∂ O l ( 3 ) ( k ) g ∂ O i ( 3 ) ( k ) ∂ ne t ( 3 ) l ( k ) g ∂ net ( 3 ) l ( k ) ∂ w lj ( 3 ) ( k )
∂ net ( 3 ) l ( k ) ∂ w lj ( 3 ) ( k ) = O j ( 2 ) ( k ) ,
因为不知,所以可以用代替,即这样方式带来的计算精度问题可以通过调整学习速率η补偿。
∂ Δu ( k ) ∂ O 1 ( 3 ) = e ( k ) - e ( k - 1 ) , ∂ Δu ( k ) ∂ O 2 ( 3 ) ( k ) = e ( k )
因此,可求得隐含层至输出层的权值系数学习算法为:
Δwlj (3)(k)=αΔwlj (3)(k-1)+ηδl (3)Oj (2)(k)   (公式7)
wlj (3)(k)=Δwlj (3)(k)+wlj (3)(k-1)   (公式8)
δ l ( 3 ) = e ( k ) sgn ( ∂ y ( k ) ∂ Δu ( k ) ) ∂ Δu ( k ) ∂ O l ( 3 ) ( k ) g ′ ( net l ( 3 ) ( k ) ) ( 1 = 1,2 )    (公式9)
其中,g'(x)=2g(x)(1-g(x))。
工作过程如下:
a.当计数器1为0且计数器2为0时,偏差缓冲单元输出偏差值ek,同时,输出层输出缓冲单元输出值输入至减法器,与数值1作差,得到的值;对于符号检测单元,分别判断被控对象的输出值yk、y(k-1)以及PI控制器的输出值Δuk、Δu(k-1)的大小,将符号值,正或负,输入至乘法器。
b.依次计算两个ek的乘积,并附加符号检测单元的符号,并将最终结果左移两位后存入乘法结果寄存器与δl缓冲单元。
c.根据乘法结果寄存器的输出结果δ1 (3)与隐含层输出值以及学习速率η,上一时刻权值差值缓冲单元的输出值与惯性系数α,分别执行乘法运算,并将两个最终结果值输入至加法器,加法结果存入权值差值缓冲寄存器。注意,结构框图中的乘法器单元并不代表乘法器的个数。
d.将权值差值缓冲器与上一时刻的隐含-输出权值求和,得到新的隐含-输出权值,将其输入至隐含-输出新权值缓冲寄存器。
e.计数器2加1,重复步骤c-d,即将乘法结果寄存器的输出结果δ1 (3)与隐含层输出值以及学习速率η,上一时刻权值差值缓冲单元的输出值与惯性系数α,分别执行乘法运算。依此类推,直到计数器2的计数值达到5。
f.计数器1加1,计数器2清0,将偏差单元中的ek、e(k-1)输入至减法器后得到Δek,同时,将输出层输出缓冲单元输出值输入至减法器,与数值1作差,得到的值输入至乘法器。
g.依次计算ek、Δek)的乘积,并附加符号检测单元的符号,并将结果最终结果左移两位后存入乘法结果寄存器以及δl (3)缓冲单元。
h.计数器2加1,重复步骤c-e,直至计数器2的计数值达到5,完成所有隐含-输出权值的更新。
对于以上所述输入-隐含权值调整单元,请参看图8。该单元包括输入层单元10的输出数据,隐含层单元20的输出数据,隐含-输出权值调整单元40,计数器单元301,学习速率以及惯性系数单元302,减法器单元307,乘法器单元303、305、308,加法器单元306、309,累加器单元304、310。
其中,隐含层单元20的输出经过减法器后用来求隐含层输出的导数。隐含-输出权值调整输出缓冲单元为隐含-输出新权值以及δl的输出缓冲。计数器单元301包含三个计数器,其中计数器1为计数隐含层神经元计数,计数最大值为隐含层神经元的个数P减1,计数器2为输入层神经元输出个数计数,且计数最大值为输入层神经元个数M减1,计数器3为输出层神经元个数计数,且计数最大值为输出层神经元个数Q减1。学习速率以及惯性系数单元中的学习速率为计算新权值时所需学习速率,惯性系数是使搜索快速收敛至全局极小所添加的惯性项,可配置为可选。乘法器单元、减法器单元、加法器单元执行算法过程中所涉及的乘法和加法运算。下面举例具体说明其实施方式:
承上实例,输入层神经元数目、隐含层神经元数目、输出层神经元数目分别为3,6,2。
根据隐含层至输出层加权系数学习算法的推导原理,可得输入层至隐含层的加权系数学习算法为:
Δwji (2)(k)=αΔwji (2)(k-1)+ηδj (2)Oi (1)(k)   (公式10)
wji (2)(k)=Δwji (2)(k)+wji (2)(k-1)   (公式11)
δ j ( 2 ) = f ′ ( net j ( 2 ) ( k ) ) Σ l = 1 2 δ l ( 3 ) w lj ( 3 ) ( k ) ( j = 1,2 . . . P )    (公式12)
其中,f'(x)=1-f2(x)
工作过程如下:
a.当计数器1为0,计数器2为0,且计数器3为0时,隐含-输出权值调整输出值δ1 (3)相乘,并将乘法结果输入至累加器,累加器结果存储在累加器结果寄存器。
b.计数器3加1,隐含-输出权值调整输出缓冲单元输出值δ2 (3)相乘,将乘法结果输入至累加器后,与前一次计算结果累加。
c.计数器3清零,隐含层输出缓冲值分别经过加法器和减法器后得到与步骤b中的累加结果,依次输入至乘法器,依次计算的乘积,并将最终结果输入至乘法结果寄存器。
d.根据乘法结果寄存器的输出结果δ1 (2)与输入层单元输出值以及学习速率η,以及上一时刻权值差值缓冲单元的输出值与惯性系数α,分别执行乘法运算,并将两个最终结果值输入至加法器,加法结果存入权值差值缓冲寄存器。注意,结构框图中的乘法器单元并不代表乘法器的个数。
e.将权值差值缓冲器与上一时刻的输入-隐含权值求和,得到新的输入-隐含权值,将其输入至输入-隐含新权值寄存器。
f.计数器2加1,重复步骤d-e,(即将乘法结果寄存器的输出结果与输入层输出值以及学习速率η,上一时刻权值差值缓冲单元的输出值与惯性系数α,分别执行乘法运算)。依此类推,直到计数器2的计数值达到2。
g.计数器1加1,计数器2清0,重复步骤a-f,并更新相应的值。
h.重复步骤g,直至计数器1的值达到计数最大值5,完成所有输入-隐含权值的更新。
对于以上所述PI单元,请参看图9。该单元包括减法器211,乘法器212,加法器213。在另一种较佳实施方式中,PI单元内部可以不包含减法器211,而与隐含-输出权值调整单元共用减法器403的输出值。
其中,偏差缓冲单元为外部参考输入与PI控制器所作用的被控对象反馈值的偏差缓冲,可以为ek、e(k-1),经过加法器后,可为Δek。输出结果缓冲单元用来存储PI控制器的输出。
下面举例具体说明其实施方式:
承上实例,输入层神经元数目、隐含层神经元数目、输出层神经元数目分别为3,6,2,根据输出层神经元个数为2,可知采用的是PI控制算法。
根据数字PI控制算法:
其中,Kp为比例系数,Ti为积分常数。化简得:其中,根据递推原理得:两式相减,得到其数字增量式PI公式为:Δu(k)=KP[e(k)-e(k-1)]+KIe(k),式中,KP,KI分别为比例,积分系数。
工作过程如下:
将偏差ek、e(k-1)输入至减法器后得到Δek,与输出层输出缓冲单元的输出(也即KP,KI)分别依次输入至乘法器,执行乘法操作KPΔe(k),KIe(k),输出乘法结果输入至加法器,并将加法器的最终结果输入至输出结果缓冲寄存器,即为PI控制的输出Δu(k)。
本说明书中所述的只是本发明的较佳具体实施例,以上实施例仅用以说明本发明的技术方案而非对本发明的限制。凡本领域技术人员依本发明的构思通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在本发明的范围之内。

Claims (12)

1.一种基于BP神经网络调节PI控制器参数的电路,用于根据一状态参数输出所述PI控制器的输入参数,其特征在于,包括:
一输入层单元,用于根据所述状态参数生成一输入层输出;
一隐含层单元,用于根据所述输入层输出以及一输入-隐含权值生成一隐含层输出;
一输出层单元,用于根据所述隐含层输出以及一隐含-输出权值生成所述PI控制器的输入参数;
一隐含-输出权值调整单元,用于根据所述隐含层输出、所述PI控制器的输入参数以及所述状态参数生成所述隐含-输出权值以及一隐含-输出权值中间量;
一输入-隐含权值调整单元,用于根据所述输入层输出、所述隐含层输出、所述隐含-输出权值以及所述隐含-输出权值中间量生成所述输入-隐含权值。
2.如权利要求1所述的基于BP神经网络调节PI控制器参数的电路,其特征在于,所述状态参数为以下参数的一种或多种:输入量、输出量、误差量和反馈量。
3.如权利要求1所述的基于BP神经网络调节PI控制器参数的电路,其特征在于,所述隐含层单元包括一计数器、一乘法器、累加器,以及一CORDIC运算单元,所述输入层输出以及所述输入-隐含权值作为所述乘法器的输入值,所述乘法器的输出值经所述累加器累加后进入所述CORDIC运算单元以生成所述隐含层输出。
4.如权利要求1所述的基于BP神经网络调节PI控制器参数的电路,其特征在于,所述输出层单元包括一计数器、一乘法器、累加器,以及一CORDIC运算单元,所述隐含层输出以及所述隐含-输出权值作为所述乘法器的输入值,所述乘法器的输出值经所述累加器累加后进入所述CORDIC运算单元以生成所述输出层输出;或所述输出层单元包括一计数器、一乘法器、累加器,所述隐含层输出以及所述隐含-输出权值作为所述乘法器的输入值,所述乘法器的输出值经所述累加器累加后输出。
5.如权利要求1所述的基于BP神经网络调节PI控制器参数的电路,其特征在于,所述隐含-输出权值调整单元包括一符号检测单元、计数器、第一、第二减法器、第一第二乘法器以及第一第二加法器,所述符号检测单元的输出连接所述第一乘法器的输入,所述状态参数的反馈量经所述第一减法器输出至所述第一乘法器,所述PI控制器的输入参数经所述第二减法器输出至所述第一乘法器,所述隐含层输出与所述第一乘法器的输出作为所述第二乘法器的输入,所述第二乘法器的输出值作为所述第一加法器的输入值,所述第一加法器的输出值返回至所述第一乘法器,所述第一加法器的输出值作为所述第二加法器的累加值,直至生成所述隐含-输出权值。
6.如权利要求5所述的基于BP神经网络调节PI控制器参数的电路,其特征在于,所述隐含-输出权值调整单元还包括一惯性系数和/或学习速率,所述惯性系数和/或学习速率作为所述第二乘法器的输入值。
7.如权利要求1所述的基于BP神经网络调节PI控制器参数的电路,其特征在于,所述输入-隐含权值调整单元包括一计数器、第一、第二、第三乘法器、第一、第二加法器、第一减法器以及第一、第二累加器,所述隐含-输出权值以及所述隐含-输出权值中间量为所述第一乘法器的输入值,所述第一乘法器的输出值经所述第一累加器累加后至所述第二乘法器;所述隐含层输出分别经所述第一加法器相加,所述第一减法器相减后作为所述第二乘法器的输入;所述第二乘法器的输出及所述输入层输出作为所述第三乘法器的输入值;所述第三乘法器的输出值作为所述第二加法器的输入值;所述第二加法器的输出值返回至所述第三乘法器作为输入;所述第二加法器的输出值经所述第二累加器累加直至生成所述输入-隐含权值。
8.如权利要求7所述的基于BP神经网络调节PI控制器参数的电路,其特征在于,所述输入-隐含权值调整单元还包括一惯性系数和/或学习速率,所述惯性系数和/或学习速率作为所述第三乘法器的输入值。
9.如权利要求1所述的基于BP神经网络调节PI控制器参数的电路,其特征在于,所述PI控制器包括一减法器、一乘法器以及加法器,所述状态参数的误差量经所述减法器输出至所述乘法器,所述PI控制器的输入参数作为所述乘法器的另一输入值,所述乘法器的输出值经所述加法器相加后输出。
10.如权利要求5所述的基于BP神经网络调节PI控制器参数的电路,其特征在于,所述PI控制器包括一乘法器以及加法器,所述状态参数的反馈量经所述第一减法器输出至所述乘法器,所述PI控制器的输入参数作为所述乘法器的另一输入值,所述乘法器的输出值经所述加法器相加后输出。
11.一种基于BP神经网络调节PI控制器参数的方法,用于根据一状态参数输出所述PI控制器的输入参数Ki,Kp,其特征在于,包括:
步骤一、根据所述状态参数生成一输入层输出Oi;
步骤二、根据所述输入层输出Oi和一输入-隐含权值Wji生成一隐含层输出Oj;
步骤三、根据所述隐含层输出Oj以及一隐含-输出权值Wli生成所述PI控制器的输入参数Ki,Kp;隐含-输出权值Wli由所述隐含层输出Oj、所述PI控制器的输入参数Ki,Kp以及所述状态参数生成,所述输入-隐含权值Wji由输入层输出Oi、所述隐含层输出Oj以及所述隐含-输出权值Wli生成。
12.如权利要求11所述的基于BP神经网络调节PI控制器参数的方法,其特征在于,包括:所述状态参数为以下参数的一种或多种:输入量r(t)、输出量△(u)、误差量e(k)和反馈量y。
CN201510198880.2A 2015-04-22 2015-04-22 一种基于bp神经网络调节pi控制器参数的电路及方法 Active CN104834216B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510198880.2A CN104834216B (zh) 2015-04-22 2015-04-22 一种基于bp神经网络调节pi控制器参数的电路及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510198880.2A CN104834216B (zh) 2015-04-22 2015-04-22 一种基于bp神经网络调节pi控制器参数的电路及方法

Publications (2)

Publication Number Publication Date
CN104834216A true CN104834216A (zh) 2015-08-12
CN104834216B CN104834216B (zh) 2018-05-08

Family

ID=53812170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510198880.2A Active CN104834216B (zh) 2015-04-22 2015-04-22 一种基于bp神经网络调节pi控制器参数的电路及方法

Country Status (1)

Country Link
CN (1) CN104834216B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106255259A (zh) * 2016-07-26 2016-12-21 浙江大学 一种基于bp神经网络pi控制方法的反激式led驱动电路
CN106406340A (zh) * 2016-08-29 2017-02-15 广西师范大学 四旋翼无人飞行器及其控制方法
CN108181812A (zh) * 2017-12-28 2018-06-19 浙江工业大学 一种基于bp神经网络的阀门定位器pi参数整定方法
CN109343343A (zh) * 2018-09-19 2019-02-15 广州大学 基于深度学习与深度神经网络的舵机控制系统及方法
CN109478253A (zh) * 2016-05-19 2019-03-15 国立大学法人北海道大学 神经网络电路以及神经网络集成电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04229361A (ja) * 1990-11-22 1992-08-18 Ricoh Co Ltd ニューラルネットワークの学習方法及びこの方法を用いた信号処理装置
US5471381A (en) * 1990-09-20 1995-11-28 National Semiconductor Corporation Intelligent servomechanism controller
CN101493677A (zh) * 2008-06-30 2009-07-29 李华嵩 一种神经网络的系统控制器结构及系统辨识结构
CN101968629A (zh) * 2010-10-19 2011-02-09 天津理工大学 基于rbf辨识的弹性积分bp神经网络的pid控制方法
CN204695010U (zh) * 2015-04-22 2015-10-07 上海晟矽微电子股份有限公司 一种基于bp神经网络调节pi控制器参数的电路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471381A (en) * 1990-09-20 1995-11-28 National Semiconductor Corporation Intelligent servomechanism controller
JPH04229361A (ja) * 1990-11-22 1992-08-18 Ricoh Co Ltd ニューラルネットワークの学習方法及びこの方法を用いた信号処理装置
CN101493677A (zh) * 2008-06-30 2009-07-29 李华嵩 一种神经网络的系统控制器结构及系统辨识结构
CN101968629A (zh) * 2010-10-19 2011-02-09 天津理工大学 基于rbf辨识的弹性积分bp神经网络的pid控制方法
CN204695010U (zh) * 2015-04-22 2015-10-07 上海晟矽微电子股份有限公司 一种基于bp神经网络调节pi控制器参数的电路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
盛荣菊: "神经网络 PID 飞行控制算法的 FPGA 实现研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109478253A (zh) * 2016-05-19 2019-03-15 国立大学法人北海道大学 神经网络电路以及神经网络集成电路
CN109478253B (zh) * 2016-05-19 2022-11-01 国立大学法人东京工业大学 神经网络电路以及神经网络集成电路
CN106255259A (zh) * 2016-07-26 2016-12-21 浙江大学 一种基于bp神经网络pi控制方法的反激式led驱动电路
CN106255259B (zh) * 2016-07-26 2018-05-01 浙江大学 一种基于bp神经网络pi控制方法的反激式led驱动电路
CN106406340A (zh) * 2016-08-29 2017-02-15 广西师范大学 四旋翼无人飞行器及其控制方法
CN108181812A (zh) * 2017-12-28 2018-06-19 浙江工业大学 一种基于bp神经网络的阀门定位器pi参数整定方法
CN109343343A (zh) * 2018-09-19 2019-02-15 广州大学 基于深度学习与深度神经网络的舵机控制系统及方法

Also Published As

Publication number Publication date
CN104834216B (zh) 2018-05-08

Similar Documents

Publication Publication Date Title
TWI825596B (zh) 用於執行類神經網路計算之電路、方法及非暫時性機器可讀儲存裝置
CN104834216A (zh) 一种基于bp神经网络调节pi控制器参数的电路及方法
Patrinos et al. An accelerated dual gradient-projection algorithm for embedded linear model predictive control
Ding Decomposition based fast least squares algorithm for output error systems
Dinh et al. Adjoint-based predictor-corrector sequential convex programming for parametric nonlinear optimization
US7630868B2 (en) Computer method and apparatus for constraining a non-linear approximator of an empirical process
Khani et al. Robust model predictive control of nonlinear processes represented by Wiener or Hammerstein models
CN104239194A (zh) 基于bp神经网络的任务完成时间预测方法
CN108446761A (zh) 一种神经网络加速器及数据处理方法
WO2019119726A1 (zh) 一种基于循环神经网络的动态模型辨识
Quirynen et al. Auto generation of implicit integrators for embedded NMPC with microsecond sampling times
CN106933649A (zh) 基于移动平均和神经网络的虚拟机负载预测方法及系统
Corner et al. Adjoint sensitivity analysis of hybrid multibody dynamical systems
CN204695010U (zh) 一种基于bp神经网络调节pi控制器参数的电路
Necoara Computational complexity certification for dual gradient method: Application to embedded MPC
US10410140B1 (en) Categorical to numeric conversion of features for machine learning models
Chen et al. I-SMOOTH: Iteratively smoothing mean-constrained and nonnegative piecewise-constant functions
RU2517316C1 (ru) Адаптивное цифровое прогнозирующее устройство
Serra et al. An IV-QR algorithm for neuro-fuzzy multivariable online identification
Maass Agnostic PAC-learning of functions on analog neural nets
CN104537224B (zh) 基于自适应学习算法的多状态系统可靠性分析方法及系统
CN102156802B (zh) 一种均匀分布的波动数据预测方法
Elomda et al. Fuzzy cognitive map with linguistic values
Jing Time-delay Hammerstein system identification using modified cross-correlation method and variable stacking length multi-error algorithm
RU2679225C2 (ru) Способ и устройство для определения градиента основанной на данных функциональной модели

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant