Sundaresan-Krishnaswamy Technique for Estimation of Process Parameters​
​Authors: Housam Binous and Ahmed Bellagi

​Consider a first-order plus delay model defined by the transfer function
G(s)=
K
-θs
e
τs+1
, where
K
,
τ
, and
θ
are the gain, time constant, and time delay, respectively. ​In order to find
τ
and
θ
, Sundaresan and Krishnaswamy [1, 2] use the normalized response
y
KM
of the model to a step-forcing function:
U(s)=M/s
at two different times,
t
1
and
t
2
. ​These times are selected such that the normalized response reaches 35.3% at
t
1
and 85.3% at
t
2
. The recipe gives the estimated values of the time constant and delay time by
τ
est
=0.674803(
t
2
–
t
1
)
and
θ
est
=1.29382
t
1
–0.293815
t
2
.​We plot the normalized response for user-set values of
τ
and
θ
. Perfect agreement is observed between the estimated values
τ
est
and
θ
est
and actual values (taken equal to:
τ=2.2
and
θ=1.2
).
References :
​[1] K. R. Sundaresan and P. R. Krishnaswamy, “Estimation of Time Delay Time Constant Parameters in Time, Frequency, and Laplace Domains,” The Canadian Journal of Chemical Engineering, 56(2), 1978 pp. 257–262. doi:10.1002/cjce.5450560215.
[2] D. E. Seborg, T. F. Edgar, D. A. Mellichamp, and F. J. Doyle III, Process Dynamics and Control, 4th ed., New York: Wiley, 2017.
We set the values of
τ=2.2
and
θ=1.2
.
In[]:=
θ=1.2;(*timedelayθ*)​​τ=2.2;(*timeconstantτ*)
In[]:=
y[t_]:=InverseLaplaceTransform[1/sExp[-θs]1/(τs+1),s,t];
We find
t
1
and
t
2
.
sol1=FindRoot[y[t]0.353,{t,τ+θ}];​​(*timesuchthatnormalizedresponsereaches35.3%*)​​sol2=FindRoot[y[t]0.853,{t,2τ+θ}];(*timesuchthatnormalizedresponsereaches85.3%*)
In[]:=
t1=t/.sol1
Out[]=
2.1579
In[]:=
t2=t/.sol2
Out[]=
5.41811
In[]:=
Show[Plot[y[t],{t,0,15},AspectRatio0.8,GridLinesAutomatic,FrameTrue,ImageSize400{1.25,1},PlotStyle{Darker@Gray,Thick},PlotRange{-0.02,1.02},FrameLabel{Style["time",14],Style[Row[{Style["y",Italic],"(",Style["t",Italic],")"}],14,Darker@Green]},PlotLabelRow[{Style["
t
1
= ",Darker@Green,14],Style[NumberForm[t1,{4,3}],14,Darker@Green]," ",Style["
t
2
= ",Darker@Magenta,14],Style[NumberForm[t2,{4,3}],14,Darker@Magenta]," ",Style["
τ
est
= ",Blue,14],Style[NumberForm[0.674803(t2-t1),{4,3}],14,Blue]," ",Style["
θ
est
= ",Red,14],Style[NumberForm[1.29382t1-0.293815t2,{4,3}],14,Red]}]],Graphics[{Darker@Green,Thickness[0.005],Arrow[{{t1,0.353},{t1,0}}],Arrow[{{0,0.353},{t1,0.353}}],Darker@Magenta,Thickness[0.005],Arrow[{{t2,0.853},{t2,0}}],Arrow[{{0,0.853},{t2,0.853}}]}]]
Out[]=