登录
首页 » Others » 基于DSP的PID高精度温度控制系统的设计

基于DSP的PID高精度温度控制系统的设计

于 2020-12-10 发布
0 235
下载积分: 1 下载次数: 3

代码说明:

DSP的PID高精度温度控制DSP的PID高精度温度控制DSP的PID高精度温度控制DSP的PID高精度温度控制DSP的PID高精度温度控制DSP的PID高精度温度控制

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 反向传播算法推导—全连接神经网络
    反向传播算法是人工神经网络训练时采用的一种通用方法,在现代深度学习中得到了大 规模的应用。全连接神经网络(多层感知器模型,MLP),卷积神经网络(CNN),循环神 经网络(RNN)中都有它的实现版本。算法从多元复合函数求导的链式法则导出,递推的 计算神经网络每一层参数的梯度值。算法名称中的“误差”是指损失函数对神经网络每一层 临时输出值的梯度。反向传播算法从神经网络的输出层开始,利用递推公式根据后一层的误 差计算本层的误差,通过误差计算本层参数的梯度值,然后将差项传播到前一层(w, x,)+b这个神经元接受的输入信号为向量(),向量()为输入向量的组合权重,为徧置项,是标量。神经儿对输入冋量进行加权求和,并加上偏置项最后经过激活函数变换产生输出为表述简洁,我们把公式写成向量和矩阵形式。对每个神经元,它接受的来自前一层神经元的输入为向量,本节点的权重向量为,偏置项为,该神经元的输出值为先计算输入向量与权重向量的内积,加上偏置项,再送入一个函数进行变换,得到输出这个函数称为激活函数,典型的是函数。为什么需要激活函数以及什么样的函数可以充当激活函数,在之前的公众号文章“理解神经网终的激活函数”中已经进行了介绍。神绎网络一般有多个层。第一层为输入层,对应输入向量,神绎元的数量等于特征向量的维数,这个层不对数据进行处理,只是将输入向量送入下一层中进行计算。中间为隐含层,可能有多个。最后是输出层,神经元的数量等于要分类的类别数,输出层的输岀值被用来做分类预测。下面我们来看一个简单神经网络的例了,如下图所示这个网络有层。第一层是输入层,对应的输入向量为,有个神经元,写成分量形式为(),它不对数据做任何处理,直接原样送入下一层。中间层有个神经元,接受的输入数据为向量,输出向量为,写成分量形式为。第三个层为输出层,接受的输入数据为向量,输出向量为,写成分量形式为()。第一层到第层的权重矩阵为(,第二层到第三层的权重矩阵为()。权重矩阵的每一行为一个权重向量,是层所有神经元到本层某一个神经儿的连接权重,这里的上标表小层数如果激活函数选用函数,则第二层神经元的输出值为+(-(+0)+(1+(0)(-(()第三层神经元的输出值为如果把代入上面二式中,可以将输出向量表示成输出向量的函数。通过调整权重矩阵和偏置项可以实现不同的函数映射,因此神经网终就是一个复合函数需要解决的·个核心问题是·旦神经网络的结构(即神经元层数,每层神经元数量)桷定之后,怎样得到权重矩阵和偏置项。这些参数是通过训练得到的,这是本文推导的核心任务个简单的例子首先以前面的层神经网络为例,推导损失函数对神经网络所有参数梯度的计算方法假设训练样本集中有个样本()。其中为输入向量,为标签向量。现在要确定神经网络的映射函数:什么样的函数能很好的解释这批训练栟本?答案是神经网络的预测输出要尽可能的接近样本的标签值,即在训练集上最小化预测误差,如果使用均方误差,则优化的目标为:∑‖()-其中()和都是向量,求和项内部是向量的范数平方,即各个分量的平方和。上面的误差也称为欧氏距离损失函数,除此之外还可以使用其他损失函数,如交叉熵、对比损失等。优化目标函数的自变量是各层的权重矩阵和梯度向量,一般情况下无法保证目标函数是凸函数,因此这不是一个凸优化问题,有陷入局部极小值和鞍点的风险(对于这些概念和问题之前的公众号文章“理解梯度下降法”,“理解凸优化”中己经做了详细介绍)这是神经网络之前一直被诟病的一个问题。可以使用梯度下降法进行求解,使用梯度下降法需要计算出损失函数对所有权重矩阵、偏置向量的梯度值,接下来的关键是这些梯度值的计算。在这里我们先将问题简化,只考虑对单个样本的损失函数()-‖后面如果不加说明,都使用这种单样木的损失函数。如果计算出了对单个样木损失函数的棁度值,对这些梯度值计算均值即可得到整个目标函数的梯度值。和(要被代入到网络的后一层中,是复合函数的内层变量,我们先考虑外层的和。权重矩阵是一个x的矩阵,它的两个行分别为向量(和是个维的列向量,它的两个元素为()和()。网络的输入是向量,第一层映射之后的输出是向量首先计算损失函数对权重矩阵每个元素的偏导数,将欧氏距离损尖函数展开,有((+))(())6(如果,即对权重矩阵第行的元素求导,上式分了中的后半部分对来说是常数。根据链式法则有S()+()O如果,即对矩阵第二行的元素求导,类似的有:可以统一写成可以发现,第一个下标决定了权重矩阵的第行和偏置向量的第个分量,第二个下标决定了向量的第个分量。这可以看成是一个列向量与一个行向量相乘的结果,写成矩阵形式为上式中乘法⊙为向量对应元素相乘,第二个乘法是矩阵乘法。是个维列向量,+也是一个维列向量,两个向量执行⊙运算的结果还是个维列向量。是一个元素的列向量,其转置为维行向量,前面这个:维列向量与的乘积为的矩阵,这正好与矩阵的尺寸相等。在上面的公式中,权重的偏导数在求和项中由部分组成,分别是网络输出值与真实标签值的误差激活区数的导数+(),本层的输入值。神经网络的输出值、激活函数的导数值本层的输入值都可以在正向传播吋得到,因此可以晑效的计算出来。对所有训练样本的偏导数计算均值,可以得到总的偏导数对偏置项的偏导数为:如果上式分子中的后半部分对来说是常数,有:()⊥()如果类似的有这可以统写成:写成矩阵形式为偏置项的导数由两部分组成,分别是神经网络预测值与真实值之间的误差,激活函数的导数值,与权重矩阵的偏导数相比唯一的区别是少了。接下来计算对和的偏导数,由于是复合函数的内层,情况更为复杂。()是个的短阵,它的个行向量为(),(,(,(。偏置项()是维向量,个分量分别是(),(,(),(。首先计算损失函数对的元素的偏导数:而上式分子中的两部分都有,因此都与有关。为了表述简活,我们令:根据链式法则有:其巾((和和都是标量和()是两个()向量的内积,的每一个分量都是()的函数。接下来计算和这里的一是个向量,衣示的每个分量分别对求导。当时有:后面个分量相对于求导变量(都是常数。类似的当时有:()0)(()和时的结果以此类推。综合起来有:同理有:()十如果令合并得到()()[()-)。()。()写成矩阵形式为()最后计算偏置项的偏导数()类似的我们得到:合并后得到()写成矩阵形式为:(0)至此,我得到了这个简单网络对所有参数的偏导数,接下来我们将这种做法推广到更般的情况。从上面的结果可以看岀一个规律,输出层的权重矩阵和偏置向量梯度计算公式中共用了()-)()对」隐含层也有类似的结果完整的算法现在考虑一般的情况。假设有个训练样本(),其中为输入向量,为标签向量。训练的目标是最小化样木标签值与神经网络预测值之闩的误差,如果使用均方误差,则优化的目标为:其中为神经网络所有参数的集合,包括各层的权重和偏置。这个最优化问题是·个不带约束条件的问题,可以用梯度下降法求解。上面的误差函数定义在整个训练样本集上,梯度下降法每一次迭代利用了所有训练样本,称为批量棁度卜降法。如果样木数量很大,每次迭代都用所有样木进计算成木太高。为了解决这个问题,可以采用单样本梯度下降法,我们将上面的损失函数写成对单个样本的损失函数之和:定义对单个样本()的损失函数为)=-()如果采用单个样本进行迭代,梯度下降法第次迭代时参数的更新公式为:nV如果要用所有样本进行迭代,根据单个样本的损失函数梯度计算总损失梯度即可,即所有样本梯度的均值用梯度下降法求解需要初始化优化变量的值。一般初始化为一个随机数,如用正态分布(a)产生这些随机数,其中G是一个很小的正数到日前为止还有一个关键问题没有解决:日标函数是一个多层的复合函数,因为神经网络中每一层都有权重矩阵和偏置向量,且每一层的输出将会作为下一层的输入。因此,直接计算损失函数对所有权重和偏置的梚度很复杂,需要使用复合函数的求导公式进行递推计算几个重要的结论在进行推导之前,我们首先来看下面几种复合函数的求导。又如下线性映射函数:其中是维向量,是×的矩阵,是维向量。问题:假设有函数,如果把看成常数,看成的函数,如何根据函数对的梯度值Ⅴ计算函数对的梯度值Ⅴ?根据链式法则,由于只和有关,和其他的≠无关,因此有:c∑(对于的所有元素有:写成矩阵形式为:问题:如果将看成常数,将看成的函数,如何根据V计算Ⅴ?由于任意的和所有的都有关系,根据链式法则有写成矩阵形式为这是一个对称的结果,在计算函数映射时用矩阵乘以向量得到,在求梯度时用矩阵的转置乘以的梯度得到的梯度。问题:如果有向量到向量的映射:
    2020-12-09下载
    积分:1
  • matlab模型预测控制
    介绍MPC,简介预测控制动态矩阵能直接处理带有纯滞后的对象,对大惯性有很强的适应能力,又有良好的跟踪性能和较强的鲁棒性,并且对模型精度要求低,所以在工业过程中有很强的适用性。本文针对DMC算法进行研究,并在此基础上用matlab进行了系统仿真验证了该算法的优点。口经验交流口仪器仪表用户P已知的情况下,控制时域长度M越小,越难保证输出在各采能的 Window标准图形用户界面,使优化问题操作简单方便。样点紧密跟踪期望输出值,系统的响应速度比较慢,但容易得在 Matlab制作图形用户界而(GUI)的设计环境下,用M文件到稳定的控制和较好的鲁棒性;控制时域长度M越大,控制来进行CU编程,使GU设计变得简单、快捷。的机动性越强,能够改善系统的动态响应,增大了系统的灵活首先在Meab的命令窗下输人 guide命令或者利用文件性和快速性,提高控制的灵敏度,但是系统的稳定性和鲁棒性菜单中的new选项下的GUI,即可以进入CUI设计窗口。从变差。因此,控制时域长度的选择应兼顾快速性和稳定性。窗口的左侧工具栏中选取需要的控件,绘制在右侧锥形窗口;4)控制加权系数双击各控件图标,即打开该控件属性对话框,对其进行属性设控制加权系数主要用于限制控制增量的剧烈变化,使控置。保存图形界面时,系统将直动生成一个同名的m文件,打制量的变化趋于平缓,以防止超出限制范围或发生剧烈振荡,开此程序文件,对图形界面各控廾的回调函数 Callback()增减少对系统的过大冲击。增加控制值加权系数的值,控制作加所需的程序代码,以完成各种操作。设计完成之后的得到用减弱,闭环系统稳定,输出响应速度减慢,有益于增加系统的界面如图4所示。的稳定性;但过人的控制加权系数会使控制量的变化极为缓动态矩阵控制算法仿真慢,系统得不到及时的调节,反而会使动态特性变坏7。拴制牌出图积样周期预測时域斑度「F动态矩阵控制算法的优点I)直接在控制算法中考虑预测变量和控制变量的约束条控制时域长度M=1件,用满足约束条件的范围求出最优预测值输入戏象横型控淛权系数2)把控制变量与预测变量的权系数矩阵作为设计参数,系统设定值在设计过程中通过仿真调节鲁棒性好的参数值。3)预测变量和控制变量较多的场合,或者控制变量的的设定在给出的目标值范围内,只是具有自由度,预测变量的定图4动态矩阵控制算法界面设计常状态值被认为是有无数组组合。5结束语4)从受控对象动态特性设定到最后作为仿真来确定控制性由上述仿真结果可以知道,动态矩阵控制效果比传统能为止。DMC算法以直接作为控制量,在控制中包含了数字积PID的控制效果好。动态矩阵控制采用工程上容易得到的阶分环节,因此,即使在模型失配的情况下,也能得到无静差控制。跃响应作为数学模型、运算量小、算法简单、在线实时方便,具4仿真研究有良好的调节品质和很强的鲁棒性,能抑制被控对象的大迟针对被控对象C(s)=12滞特性,能够满足生产现场的需要,获得满意的控制效果,因17.2s+进行仿真,取采样周期而有良好的应用前景。同时基于 Matlab汝计实现了动态矩阵T=2s,模型时域长度为N=90,预测时域长度P=6,控制时控制算法图形用户界面,为动态矩阵控制算法提供了一个简域长度M=1,控制权系数A=1,系统设定值y,=1。对模型在单实用的平台。由于 Matlab具有良好、开放的可扩展性,在应用阶跃扰动下进行仿真,得到如图2所示的控制曲线,可以知道中,用户可以根据实际问题编写相应的函数文件,在CU平台输控制效果较好。入要修改的参数即可完成优化求解操作简单、非常实用。口与传统的PID控制器的控制效果进行比较,其中传统参考文献PD的参数采用工程整定法中的动态特性参数法(又称Z-NL1]李国勇.智能控制及其 MATLAB实现[M]北京:电子工业整定法),得到的参数为Kp=1.5,T1=1,T=0.5,仿真结果出版社,2005:285-289如图3所示。2]席裕庚预测控制[M].北京:国防工业出版社,1993[3]周福恩,毕效辉.动态矩阵控制算法在过程控制中的应用研究[J].南通航运职业技术学院学报,2005,4(1)4345[4]何同祥,常宁青.动态矩阵控制算法在工业电加热炉温度控制中的应用[J.仪器仪表用户,2011,(01):28-3004[5}李玉红,刘红军,王东风,韩璞.一种新型的动态矩阵控制算法及仿真研究[J]计算机学报,2005,22(2):103-1091015公23[6]周忠海,张涛,陈哓高.基于动态矩阵控制算法的电加热炉图2DMC仿真纬果图图3传统Pm仿真结果图温度控制系统[J].山东科学,2005,18(5):7073我们知道传统的PID控制超调量过大,稳定时间长,控制7]触晓红,周佳精通GUI图形界面编程[M].北京:北京大学模型和参数需要比较精确,否则控制性能不会很好,而采用动出版社,2003作者简介:杨丽华(1987-),女,在读硕士研究生,主要从事预测控制方态矩阵控制算法则大大地抑制了超调量,消除了振荡,也缩短面的研究工作;赵文杰(1969-),男,华北电力大学控制科学与工程学了平衡时间,控制效果好。院副教授,主要从事热工过程的信息融合与先进控制方面的研究根据上述动态矩阵控制算法的基本流程及其操作编制成工作相应的m函数文件。这个设计包含动态矩阵控制算法优化功收稿日期2012041866EcVo.192012No,4欢迎光临本刊网站http://www.yqybyh.com
    2020-12-02下载
    积分:1
  • Android测试网速源码
    Android测试网速源码,还带有酷炫的仪表盘动画效果。测速的基本原理是通过上传、下载文件。算出一定时间内上传下载的字节数就是网速了。
    2020-12-06下载
    积分:1
  • Excel vba串口通信(UART.xlsm)
    Excel vba串口通信(UART.xlsm)
    2020-05-10下载
    积分:1
  • PCD点云文件
    这是一个点云的PCD文件,十几兆的大小,描述了一个桌子。
    2020-12-06下载
    积分:1
  • GSM物理信道MATLAB仿真
    本程序实现了GSM物理层协议!包含信道编解码及GMSK调制解调!
    2021-05-06下载
    积分:1
  • BSM1建模指导及Simulink
    本次分享的文件包括的Benchmarking Simulation Model No.1的建模手册以及对应的Matlab/Simulink程序。初步学习污水处理建模的同学,若有兴趣可参考此资源。
    2020-06-29下载
    积分:1
  • LabView的打地鼠小游戏源码
    该代码由Labview进行编写,说明了图形化编译语言正在逐步成为一种通用语言。
    2020-07-01下载
    积分:1
  • 识别0-9十个数字,BP神经网络数字识别源代码.rar
    识别0-9十个数字,BP神经网络数字识别源代码使用说明第一步:训练网络。使用训练样本进行训练。(此程序中也可以不训练,因为笔者已经将训练好的网络参数保存起来了,读者使用时可以直接识别)第二步:识别。首先,打开图像(256色);再次,进行归一化处理,点击“一次性处理”;最后,点击“R”或者使用菜单找到相应项来进行识别。识别的结果显示在屏幕上,同时也输出到文件result.txt中。该系统的识别率一般情况下为90%。此外,也可以单独对打开的图片一步一步进行图像预处理工作,但要注意,每一步工作只能执行一遍,而且要按顺序执行。具体步骤为:“256色位图转为灰度图”-“灰度图二值化
    2020-12-04下载
    积分:1
  • 正态分布模式下的贝叶斯分类
    用MatLab编写的正态分布模式下的贝叶斯分类器。很多模式识别的课设就有相关题目。不仅有样本分类而且会在二维坐标系下画出,正确分类与错误分类的点都会有不同的标志。
    2020-12-08下载
    积分:1
  • 696518资源总数
  • 105873会员总数
  • 12今日下载