Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.3.0 - Português

Change language to:
English - Français - 日本語 -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Manual Scilab >> CACSD > time_id

time_id

SISO least square identification

Calling Sequence

[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, 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

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

Authors

Serge Steer INRIA

<< tf2ss CACSD trzeros >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jan 26 16:24:37 CET 2011