Scilab Reference Manual |
---|
time_id — SISO least square identification
[H [,err]]=time_id(n,u,y)
n | : order of transfer | ||||||
u | : one of the following
| ||||||
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 |
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
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
Serge Steer INRIA
<< tf2ss | trzeros >> |