导航:首页 > 源码编译 > smith控制算法

smith控制算法

发布时间:2022-06-19 12:20:17

⑴ 如果smith补偿器采用了不准确的过程数学模型将会对系统产生什么影响

补偿柜主要是用来降低无用功的,就是提高负载的功率因素,如果负载都是阻性的,就没必要补偿,如果负载包含大功率的感性或者容性负载,如果没有补偿器就会浪费很多电在无功上,电力局对大用户的功率因素有要求,不能太低,低了要罚款,高了有奖励,所以越高越好。

提出了一种改进型Smith预估补偿控制新方法。在被控对象的输入端施加一阶跃输入信号,根据其阶跃响应估计出被控对象的数学模型,再根据此估计模型在线地修正Smith预估补偿器,从而克服了传统的Smith预估补偿控制方法因模型误差而使控制品质变坏的缺点。

(1)smith控制算法扩展阅读:

史密斯预估控制,或称史密斯预测补偿控制,是一种纯滞后补偿控制手段。

经过史密斯预估器的补偿,纯滞后环节被转移到了闭环控制回路之外,因而不会对系统产生不利影响。由拉氏变换的位移定理可知,纯滞后特性只是将原输出信号推移了时间,不会改变输出信号的波形和性能表现。

在工业过程中,被控对象或多或少存在一定的纯滞后特性,纯滞后特性往往使系统稳定性降低,动态性能变坏,可能引起超调和振荡;史密斯预估器的引入很好的补偿了大迟延对象的纯滞后特性,提高了系统的稳定性和动态性能。对于以稳定性为首要要求、快速性为次要要求的系统,史密斯预估器十分有效。

⑵ smith waterman算法中的动态规划中怎么将所有的路径显示出来

function fib(n)
var previousFib := 0, currentFib := 1
if n = 0
return 0
else if n = 1
return 1
repeat n-1 times
var newFib := previousFib + currentFib
previousFib := currentFib
currentFib := newFib
return currentFib
在这两个例子,我们都只计算fib(2)一次,然后用它来计算fib(3)和fib(4),而不是每次都重新计算。

2. 一种平衡的0-1矩阵
考虑n*n矩阵的赋值问题:只能赋0和1,n为偶数,使每一行和列均含n/2个0及n/2个1。例如,当n=4时,两种可能的方案是:
+ - - - - + + - - - - +
| 0 1 0 1 | | 0 0 1 1 |
| 1 0 1 0 | | 0 0 1 1 |
| 0 1 0 1 | | 1 1 0 0 |
| 1 0 1 0 | | 1 1 0 0 |
+ - - - - + + - - - - +
问:对于给定n,共有多少种不同的赋值方案。
至少有三种可能的算法来解决这一问题:穷举法(brute force)、回溯法(backtracking)及动态规划(dynamic programming)。穷举法列举所有赋值方案,并逐一找出满足平衡条件的方案。由于共有C(n, n/2)^n种方案(在一行中,含n/2个0及n/2个1的组合数为C(n,n/2),相当于从n个位置中选取n/2个位置置0,剩下的自然是1),当n=6时,穷举法就已经几乎不可行了。回溯法先将矩阵中部分元素置为0或1,然后检查每一行和列中未被赋值的元素并赋值,使其满足每一行和列中0和1的数量均为n/2。回溯法比穷举法更加巧妙一些,但仍需遍历所有解才能确定解的数目,可以看到,当n=8时,该题解的数目已经高达116963796250。动态规划则无需遍历所有解便可确定解的数目(意思是划分子问题后,可有效避免若干子问题的重复计算)。
通过动态规划求解该问题出乎意料的简单。考虑每一行恰含n/2个0和n/2个1的k*n(1<=k<=n)的子矩阵,函数f根据每一行的可能的赋值映射为一个向量,每个向量由n个整数对构成。向量每一列对应的一个整数对中的两个整数分别表示该列上该行以下已经放置的0和1的数量。该问题即转化为寻找f((n/2,n/2),(n/2,n/2),...,(n/2,n/2))(具有n个参数或者说是一个含n个元素的向量)的值。其子问题的构造过程如下:
1) 最上面一行(第k行)具有C(n, n/2)种赋值;
2) 根据最上面一行中每一列的赋值情况(为0或1),将其对应整数对中相应的元素值减1;
3) 如果任一整数对中的任一元素为负,则该赋值非法,不能成为正确解;
4) 否则,完成对k*n的子矩阵中最上面一行的赋值,取k=k-1,计算剩余的(k-1)*n的子矩阵的赋值;
5) 基本情况是一个1*n的细小的子问题,此时,该子问题的解的数量为0或1,取决于其向量是否是n/2个(0, 1)和n/2个(1, 0)的排列。
例如,在上面给出的两种方案中,向量序列为:
((2, 2) (2, 2) (2, 2) (2, 2)) ((2, 2) (2, 2) (2, 2) (2, 2)) k = 4
0 1 0 1 0 0 1 1
((1, 2) (2, 1) (1, 2) (2, 1)) ((1, 2) (1, 2) (2, 1) (2, 1)) k = 3
1 0 1 0 0 0 1 1
((1, 1) (1, 1) (1, 1) (1, 1)) ((0, 2) (0, 2) (2, 0) (2, 0)) k = 2
0 1 0 1 1 1 0 0
((0, 1) (1, 0) (0, 1) (1, 0)) ((0, 1) (0, 1) (1, 0) (1, 0)) k = 1
1 0 1 0 1 1 0 0
((0, 0) (0, 0) (0, 0) (0, 0)) ((0, 0) (0, 0), (0, 0) (0, 0))
动态规划在此的意义在于避免了相同f的重复计算,更进一步的,上面着色的两个f,虽然对应向量不同,但f的值是相同的,想想为什么吧:D。
该问题解的数量(序列a058527在OEIS)是1, 2, 90, 297200, 116963796250, 6736218287430460752, ...
下面的外部链接中包含回溯法的Perl源代码实现,以及动态规划法的MAPLE和C语言的实现。

3. 棋盘
考虑n*n的棋盘及成本函数C(i,j),该函数返回方格(i,j)相关的成本。以5*5的棋盘为例:
5 | 6 7 4 7 8
4 | 7 6 1 1 4
3 | 3 5 7 8 2
2 | 2 6 7 0 2
1 | 7 3 5 6 1
- + - - - - -
| 1 2 3 4 5
可以看到:C(1,3)=5
从棋盘的任一方格的第一阶(即行)开始,寻找到达最后一阶的最短路径(使所有经过的方格的成本之和最小),假定只允许向左对角、右对角或垂直移动一格。
5 |
4 |
3 |
2 | x x x
1 | o
- + - - - - -
| 1 2 3 4 5
该问题展示了最优子结构。即整个问题的全局解依赖于子问题的解。定义函数q(i,j),令:q(i,j)表示到达方格(i,j)的最低成本。
如果我们可以求出第n阶所有方格的q(i,j)值,取其最小值并逆向该路径即可得到最短路径。
记q(i,j)为方格(i,j)至其下三个方格((i-1,j-1)、(i-1,j)、(i-1,j+1))最低成本与c(i,j)之和,例如:
5 |
4 | A
3 | B C D
2 |
1 |
- + - - - - -
| 1 2 3 4 5
q(A) = min(q(B),q(C),q(D)) + c(A)
定义q(i,j)的一般形式:
|- inf. j<1 or j>n
q(i,j) = -+- c(i,j) i=1
|- min(q(i-1,j-1),q(i-1,j),q(i-1,j+1))+c(i,j) otherwise.
方程的第一行是为了保证递归可以退出(处理边界时只需调用一次递归函数)。第二行是第一阶的取值,作为计算的起点。第三行的递归是算法的重要组成部分,与例子A、B、C、D类似。从该定义我们可以直接给出计算q(i,j)的简单的递归代码。在下面的伪代码中,n表示棋盘的维数,C(i,j)是成本函数,min()返回一组数的最小值:
function minCost(i, j)
if j < 1 or j > n
return infinity
else if i = 1
return c(i,j)
else
return min(minCost(i-1,j-1),minCost(i-1,j),minCost(i-1,j+1))+c(i,j)
需要指出的是,minCost只计算路径成本,并不是最终的实际路径,二者相去不远。与Fibonacci数相似,由于花费大量时间重复计算相同的最短路径,这一方式慢的恐怖。不过,如果采用自下而上法,使用二维数组q[i,j]代替函数minCost,将使计算过程快得多。我们为什么要这样做呢?选择保存值显然比使用函数重复计算相同路径要简单的多。
我们还需要知道实际路径。路径问题,我们可以通过另一个前任数组p[i,j]解决。这个数组用于描述路径,代码如下:
function computeShortestPathArrays()
for x from 1 to n
q[1, x] := c(1, x)
for y from 1 to n
q[y, 0] := infinity
q[y, n + 1] := infinity
for y from 2 to n
for x from 1 to n
m := min(q[y-1, x-1], q[y-1, x], q[y-1, x+1])
q[y, x] := m + c(y, x)
if m = q[y-1, x-1]
p[y, x] := -1
else if m = q[y-1, x]
p[y, x] := 0
else
p[y, x] := 1
剩下的求最小值和输出就比较简单了:
function computeShortestPath()
computeShortestPathArrays()
minIndex := 1
min := q[n, 1]
for i from 2 to n
if q[n, i] < min
minIndex := i
min := q[n, i]
printPath(n, minIndex)
function printPath(y, x)
print(x)
print("<-")
if y = 2
print(x + p[y, x])
else
printPath(y-1, x + p[y, x])

⑶ 设计史密斯预估器需要注意什么问题

您好整合进程伴时滞是最经常遇到的行业,特别是在共同的水平和接口级系统。也有一些一阶过程大时间常数通常视为集成系统[ 1 ] [ 2 ] 。这项研究整合进程具有时滞是全面的,许多控制算法,提出现在。集成系统的小时滞常规PI控制器可以做更好的工作和大滞后系统的Smith预估器的最佳选择,但根据负载扰动和模型的过程中总是不匹配的结果稳步错误导致这种控制器确实无用。为了消除稳态误差多种改性史密斯预测器和控制器设计,定点跟踪和干扰抑制分别为[ 3 ] [ 4 ] [ 5 ] 。随着巨大的成功的模型预测控制,许多研究人员采用这一战略,设计控制器的不确定集成系统[ 6 ] [ 7 ] [ 8 ] 。一种双预测PI控制器的目的是在一个简单的调整方式为这种类型的进程,并适用于温度控制的生物发酵罐较好的业绩[ 9 ] 。

⑷ DCS控制系统能应用先进控制算法吗

可以。
部分DCS系统会提供采用“先进控制算法”(预测、模糊、神经网络)的功能块。
有些是免费的,有些则需要根据现场的控制需求做定制开发。
可采用OPC接口,读取DCS的实时和历史数据,并据此做数学模型识别或给出控制信号

⑸ 汽车巡航控制系统的软件设计采用什么算法

Smith补偿与大林算法的比较
摘要:研究了两类用于时滞系统控制的方法,即包括自整定PID控制Smith预估控制和Dahlin算法在内的经典控制方法和包括模糊控制,神经网络控制和模糊神经网络拉制在内的智能控制方法,经过比较后认为经典控制结构简单,可靠性及实用性强,而智能控制则具有自适应性和坚固性好,抗干扰能力强的优势,因而将这两种控制方法结合起来是控制时滞系统有效实用的方法,具有很好的应用前景.
1引言
在工业生产过程中,具有时滞特性的控制对象是非常普遍的,例如造纸生产过程,精馏塔提馏级温度控制过程,火箭发动机燃烧室中的燃烧过程等都是典型的时滞系统.为解决纯滞后时间对系统控制性能带来的不利影响,许多学者在理论和实氏
上做了大量的研究工作,提出了很多行之有效的方法.本文主要介绍其中两类研究得比较多的控制方法,即最早在时滞系统控制中应用的几种经典控制方法和近年来受到广泛关注的智能控制方法.
2经典控制
所谓经典控制方法是指针对时滞系统控制问题提出并应用得最早的控制策略,主要包括自整定PID控制,Smith预估控制,大林算法这几种方法.这些方法虽然理论上比较简单,但在实际应用中却能收到很好的控制效果,因而在工业生产实践中获得了广泛的应用.
2.1自整定PID控制
PID控制器由于具有算法简单,鲁棒性好和可靠性高等特点,因而在实际控制系统设计中得到了广泛的运用,据统计PID控制是在工业过程控制中应用最为广泛的一种控制算法.PID控制的难点在于如何对控制参数进行整定,以求得到最佳控制
效果.较早用来整定PID控制器参数的方法有:Ziegler-Nichols动态特性法,Cohen-Coon响应曲线法,基于积分平方准则ISE的整定法等.但是这些方法只能在对象模型精确己知的情况下,
Cui,Kunfln Zhang,Yifei实现PID参数的离线整定,当被控对象特性发生变化时,就必须重新对系统进行模型辨识.为了能在对象特性发生变化时,自动对控制器参数进行在线调整,以适应新的工况,PID参数的自整定技术就应运而生了.目前用于自整定的方法比较多,如继电型自整定技术,基于过程特征参数的自整定技术,基于给定相位裕度和幅值裕度的SPAM法自整定技术,基于递推参数估计的自整定技术以及智能自整定技术等.总体来看这类自整定PID控制器对于(T为系统的惯性时间常数)的纯滞后对象控制是有效的,但对于大纯滞后对象,当时,按照上述方法整定的PID控制器则难以稳定.
2.2 Smith预估控制
Smith于1957年提出的预估控制算法,通过引入一个与被控对象相并联的纯滞后环节,使补偿后的被控对象的等效传递函数不包括纯滞后项,这样就可以用常规的控制方法(如PID或PI控制)对时滞系统进行控制.Smith预估控制方法虽然从理论
上解决了时滞系统的控制问题,但在实际应用中却还存在很大缺陷.Palmor提出Smith预估器存在这样两点不足:1.它要求有一个精确的过程模型,当模型发生变化时,控制质量将显着恶化;2.Smith预估器对实际对象的参数变化十分敏感,当参数变化较大时,闭环系统也会变得不稳定,甚至完全失效.Watanabe进一步指出Smith预估器的两个主要缺陷:1.系统对扰动的响应很差;2.若控制对象中包含的极点时,即使控制器中含有积分器,系统对扰动的稳态误差也不为零.另外Smith预估器还存在参数整定上的困难,这些缺陷严重制约了Smith预估器在实际系统中的应用.针对Smith预估器存在的不足,一些改进结构的Smith预估器就应运而生了.Hang C C等针对常规预估控制方案中要求受控对象的模型精确这一局限,在常规方案基础上,外加调节器组成副回路对系统进行动态修正,该方法的稳定性和
鲁棒性比原来的Smith预估系统要好,它对对象的模型精度要求明显地降低了.Watanabe提出的改进结构的Smith预估器采用了一个抑制扰动的动态补偿器M(s),通过配置M(s)的极点,能够获得较满意的扰动响应及对扰动稳态误差为零.对于Smith预估器的参数整定问题,张卫东等人提出了一种解析设计方法,并证明该控制器可以通过常规的PID控制器来实现,从而能根据给定的性能要求(超调或调节时间)来设计控制器参数.
2.3大林算法
大林算法是由美国IBM公司的Dahlin于1968年针对工业过程控制中的纯滞后特性而提出的一种控制算法.该算法的目标是设计一个合适的数字调节器D(z),使整个系统的闭环传递函数相当于一个带有纯滞后的一阶惯性环节,而且要求闭环系统的纯滞后时间等于被控对象的纯滞后时间.大林算法方法比较简单,只要能设计出合适的且可以物理实现的数字调节器D(z),就能够有效地克服纯滞后的不利影响,因而在工业生产中得到了广泛应用.但它的缺点是设计中存在振铃现象,且与Smith算法一样,需要一个准确的过程数字模型,当模型误差较大时,控制质量将大大恶化,甚至系统会变得不稳定.实际上已有文献证明,只要在Smith预估器中按给定公式设计调节器D伺,则Smith预估器与Dahlin算法是等价的,Dahlin算法可以看作是Smith预估器的一种特殊情况.

⑹ 什么事smith预估补偿方法

一种简单而有效的SMITH预估补偿控制新方法
新闻出处:张彦军 于飞 崔平远 发布时间: 2007年06月07日

摘 要:提出了一种改进型Smith预估补偿控制新方法。在被控对象的输入端施加一阶跃输入信号,根据其阶跃响应估计出被控对象的数学模型,再根据此估计模型在线地修正Smith预估补偿器,从而克服了传统的Smith预估补偿控制方法因模型误差而使控制品质变坏的缺点。
关键词:Smith预估补偿控制阶跃响应数学模型�

0引言
Smith预估补偿控制自发明以来,最初由于受硬件条件的限制,很少在实际中被应用,近几年来,由于计算机技术的发展,Smith预估补偿控制在实际中应用越来越多。但由于其控制算法本身存在着控制效果紧紧依赖模型精度的缺点,而实际中由于各种原因往往很难获得非常准确的数学模型,所以实际应用中其控制效果并非那么理想。模型误差,尤其是纯滞后时间的误差较大时有时会使控制系统不稳定〔1〕,因此近几年来关于Smith预估补偿控制改进型控制方案的研究很盛行。结合现在流行的模型预测控制的基本思想,在被控对象的输入端加一阶跃输入信号,通过测量即可获得被控对象的非参数模型即阶跃响应曲线。再利用系统识别的方法即可获得较准确的被控对象的参数模型。根据所获得的被控对象的参数模型在线地修正Smith预估补偿器中的模型参数,使得Smith预估补偿器中的模型与实际被控对象的模型误差最小或为零,这样设计的改进型控制方案,无论从理论还是从实际来看,其控制效果都要优于传统的Smith预估补偿控制。�

1控制系统的构成
在传统的Smith预估补偿控制基础上,增加模型预测结构,即可构成如图1所示的新型控制系统。由于实际工业被控对象很多都可近似地用一阶惯性加纯滞后的特性来表示,因此在本文的控制方法中也采用一阶惯性加纯滞后的典型模型结构。�

2控制算法
2.1Smith预估补偿器设计
设被控对象的数学模型为:�

把有关算式代入(2)式,可得:�

经交叉相乘并进行反变换,可得:�

经交叉相乘并进行反变换,可得:�

式中Y(k)、Y′(k)分别为控制系统的输出测量值和计算值。
控制器Gc应为常规PID离散控制算法,此处不再赘述。�
2.2计算模型参数Kp、Tp、τ
根据预测控制的思想,在被控对象输入端施加一阶跃信号△U,在控制系统输出端可获得其阶跃响应。其阶跃响应如图2所示。��

� 被控对象阶跃响应采样数据为y1,y2,y3,…,yN。对于渐近稳定的系统,其阶跃响应在有限个采样周期后将趋于稳态值,即yN≈y(∞)。则根据数个采样周期后的稳态测量值yN,即可估算出被控对象的放大倍数Kp。�

当然,为获得较准确的稳态值yN,在采样周期选择合适(采样周期的选择方法与其它计算机控制方法相同)的情况下,要将每次获得的采样值与前几次采样值进行比较,当变化不大时即认为稳态值。
在计算Tp、τ时应将响应曲线y(k)修改成下述标么的阶跃响应曲线y*(t):�

为确定Tp、τ应选y*(t)的两个坐标值,以便联立方程。现选择t1及t2且满足t1>t2>τ,由此解得:�

3数字仿真
以某炼油厂加热炉为被控对象,其数学模型为:�

用(17)式的模型,利用传统的Smith预估补偿控制方法和本文提出新型Smith预估补偿控制方法分别进行数字仿真,获得了两种截然不同的控制效果。其控制系统输出曲线分别如图3、图4所示。相对于传统的Smith预估补偿控制方法,新型Smith预估补偿控制方法收敛快,跟踪准确。但传统的Smith预估补偿控制方法,当纯滞后误差较大时,其输出就变得不收敛。

4结束语
本文借鉴预测控制的思想,对传统的Smith预估补偿控制方法进行了改进,较好地解决了传统Smith预估补偿控制方法所存在的模型误差控制效果变坏的缺点,控制效果优于传统的Smith预估补偿控制方法,具有一定的使用价值。�

参考文献

1A M D Paor,M O Malley.Controllers of Ziegler-Nichols type for unstable process with time delay〔J〕.Int J Control,1989,49(4):1273~1284
2K K Tan,Q G Wang,T H Lee et al.New approach the analysis and design of Smith-predictor controller〔J〕.AICHE J,1996,42(6):1793~1797
3张国范.朱晓萍,包新华.一种分析和设计Smith预估器的新方法及其应用〔J〕.控制与决策,2001,16(3):341~343
4王骥程,祝和云.化工过程控制工程〔M〕.北京:化学工业出版社,1996

⑺ 基于PLC的PID温度SMITH补偿控制

基于PLC的PID温度SMITH补偿控制框架可以拟一下,不难。

⑻ 急!!! 谁能告诉我下Smith补偿到底是什么意思什么原理最好是简短的总结一下他的作用~谢啦谢啦

先来讲讲Smith补偿的原理:


Smith 补偿主要是用来解决实际控制中大延时环节的。在控制系统中,最致命的不是噪音,不是非线性,不是耦合,而是延时。因此Smith补偿主要是减小系统延时带来的影响。


(请尽力去理解下面的原理,我不会给你推倒太多的公式,我要讲述的是一种概念上的理解)



(只有50分写了这么多字。。眼泪)


阅读全文

与smith控制算法相关的资料

热点内容
远程命令阻塞 浏览:728
有网页源码怎么查数据 浏览:99
win10下make编译速度过慢 浏览:864
微机原理编译环境 浏览:17
怎么把图纸转换成pdf 浏览:539
安卓libcurl编译64 浏览:903
手机app怎么测速 浏览:275
中兴gpon命令 浏览:885
python中取出字典key值 浏览:680
Linux目录inode 浏览:146
手机上如何用文件夹发邮件 浏览:428
畅课app密码忘了怎么找回 浏览:79
怎么编译idea 浏览:231
如何查看服务器是否做了热备 浏览:1001
硬盘同名文件夹病毒 浏览:729
百度云不解压下载 浏览:563
新冠疫情app怎么用 浏览:973
拆二代程序员 浏览:400
河北压缩空气冷干机生产厂家 浏览:582
图论与java 浏览:579