フィルターのクリア

Calculation of dead time and time constant for non linear system

14 ビュー (過去 30 日間)
Ahmed Abdelfattah
Ahmed Abdelfattah 2012 年 3 月 9 日
回答済み: Ashim 2017 年 9 月 22 日
Hello ,
I am simulating a non linear system on simulink . I used the scope to show the output and saved the output signal with time to the workspace . Is there any function to calculate the dead time and time constant given the output with time ?

回答 (3 件)

surya
surya 2012 年 3 月 9 日
Calculation of dead time is a bit debatable aspect, you might want to look at a data based approach, like system identification.. System delay calculation. Might not be very accurate.. but gives an approximate idea.

Rajiv Singh
Rajiv Singh 2012 年 3 月 16 日
Delays are not necessarily separable from system dynamics such as effect of poles and zeros on the response. However, in many cases, DELAYEST in System Identification Toolbox works fine to deliver delays as number of multiples of data sample time. See also http://www.mathworks.com/products/sysid/demos.html?file=/products/demos/shipping/ident/iddemo3.html
  1 件のコメント
Ashim
Ashim 2017 年 9 月 22 日
you can easily perform the time constant analysis on the output, if you know the objective non-linear function
options = optimoptions(...); % select the options that match your data
objfcn = @(y,t) y(1) + y(2)*(1-exp(y(3)*t)) - yobs; % objective function for time constant where y2 is usually the differential. use Taylor series to construct such an equation
y0 = [y10, y20, y30]; initial guesses
lb = [10, 10, 1]...; %lower bound
ub = [100, 100, 10]; % upper bound
[haty, resnorm, res, output, exitflag] = lsqnonlin(objfcn, y0, lb,
ub, options); non-linear least squares fitting

サインインしてコメントする。


Ashim
Ashim 2017 年 9 月 22 日
you can easily perform the time constant analysis on the output, if you know the objective non-linear function
options = optimoptions(...); % select the options that match your data
objfcn = @(y,t) y(1) + y(2)*(1-exp(y(3)*t)) - yobs; % objective function for time constant where y2 is usually the differential. use Taylor series to construct such an equation
y0 = [y10, y20, y30]; initial guesses
lb = [10, 10, 1]...; %lower bound
ub = [100, 100, 10]; % upper bound
[haty, resnorm, res, output, exitflag] = lsqnonlin(objfcn, y0, lb,
ub, options); non-linear least squares fitting

カテゴリ

Help Center および File ExchangeTransfer Function Models についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by