1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
time_id Scilab Group Scilab Function time_id
NAME
time_id - SISO least square identification
CALLING SEQUENCE
[H [,err]]=time_id(n,u,y)
PARAMETERS
n : order of transfer
u : one of the following
u1 : a vector of inputs to the system
"impuls" : if y is an impulse response
"step" : if y is a step response.
y : vector of response.
H : rational function with degree n denominator and degree n-1
numerator if y(1)==0 or rational function with degree n
denominator and numerator if y(1)<>0.
err : ||y - impuls(H,npt)||^2, where impuls(H,npt) are the npt
first coefficients of impulse response of H
DESCRIPTION
Identification of discrete time response. If y is strictly proper
(y(1)=0) then time_id computes the least square solution of the linear
equation: Den*y-Num*u=0 with the constraint coeff(Den,n):=1. if y(1)~=0
then the algorithm first computes the proper part solution and then add
y(1) to the solution
EXAMPLE
z=poly(0,'z');
h=(1-2*z)/(z^2-0.5*z+5)
rep=[0;ldiv(h('num'),h('den'),20)]; //impulse response
H=time_id(2,'impuls',rep)
// Same example with flts and u
u=zeros(1,20);u(1)=1;
rep=flts(u,tf2ss(h)); //impulse response
H=time_id(2,u,rep)
// step response
u=ones(1,20);
rep=flts(u,tf2ss(h)); //step response.
H=time_id(2,'step',rep)
H=time_id(3,u,rep) //with u as input and too high order required
AUTHOR
Serge Steer INRIA
SEE ALSO
imrep2ss, arl2, armax, frep2tf
|