[Scilab-users] Scilab: System Identification for First order delay and dead time

Fukashiimo noguchi.japan at gmail.com
Mon Sep 26 16:11:19 CEST 2016


Dear Clément,


Thank you for your suggestion.

I made following Scilabe code:

//
z=poly(0,'z');
h=(0.065/(z-0.934))*(1/z^10)//    <== 10 Sampling period dead time
u=zeros(1,100);
for i=10:1:100
    u(1,i)=2.0;
end
t=1:1:100;
rep=flts(u,tf2ss(h));
plot(t,rep,t,u)//  <== We can see the step type process input with amplitude=2 and its process response with 10 sampling period dead time.
k=find(rep<>0,1) //here the threshold has to be improved in case of noisy signal 
//H=time_id(1,"step",rep(k:$))
H=time_id(2,u,rep)
rep=flts(u,tf2ss(H));     
plot(t,rep,'.r')// <== We can see the process response by identified model.
H


h  =
 
       0.065      
    -----------   
          10  11  
  - 0.934z + z


H  =
 
      0.0265880     
    -------------   
  - 0.9779092 + z


h is the discreate transfer function to provide operation data.
H is the identified transfer function obtained from the opeartion data using time_id.

I have two issues.
1. H is not similar to h even the data doesn't include any noise. How I can obtain transfer function nearly same as h?
2. I would like to have continuous transfer function. How I should convert the discreate transfer function to continuous transfer function.

May I ask your further advise on these issues?

Thanks.



----- 元のメッセージ -----
差出人: "Clément David-2 [via Scilab / Xcos - Mailing Lists Archives]" <ml-node+s994242n4034612h48 at n3.nabble.com>
宛先: "Fukashiimo" <noguchi.japan at gmail.com>
送信済み: 2016年9月25日(日曜日) 04:15:09
件名: Re: System Identification for First order delay and dead time



Hello, 

I suggest you to take a look at the `time_id` function [1]. AFAIK this will give you a first idea of the parameters. If you need more, I suggest you to take a look at the "Optimization" topic in the help and implement a custom cost function. 

@samuel : IMHO `s` is supposed to be the %s Scilab variable (the Laplace variable also named `p`) ; `u` is the input ; `y` is the output. 

[1]: https://help.scilab.org/docs/5.5.2/en_US/time_id.html 

Thanks, 

-- 
Clément 
_______________________________________________ 
users mailing list 
[hidden email] 
http://lists.scilab.org/mailman/listinfo/users 





If you reply to this email, your message will be added to the discussion below: http://mailinglists.scilab.org/System-Identification-for-First-order-delay-and-dead-time-tp4034608p4034612.html 
To unsubscribe from System Identification for First order delay and dead time, click here . 
NAML




--
View this message in context: http://mailinglists.scilab.org/Scilab-System-Identification-for-First-order-delay-and-dead-time-tp4034630.html
Sent from the Scilab users - Mailing Lists Archives mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20160926/68976abf/attachment.htm>


More information about the users mailing list