time_id
SISO least square identification
Syntax
H = time_id(n, u, y) [H, err] = time_id(n, u, y)
Arguments
- 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
, whereimpuls(H,npt)
are thenpt
first coefficients of impulse response ofH
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
Examples
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
See also
Report an issue | ||
<< sorder | Identification | Analyse linéaire >> |