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

# armax1

armax identification

### Syntax

```[arc, resid] = armax1(r, s, q, y, u)
[arc, resid] = armax1(r, s, q, y, u, b0f)```

### Arguments

y

output signal

u

input signal

r,s,q

auto regression orders with r >=0, s >=-1.

b0f

optional parameter. Its default value is 0 and it means that the coefficient b0 must be identified. if bof=1 the b0 is supposed to be zero and is not identified

arc

is tlist with type "ar" and fields a, b, d, ny, nu, sig

a

is the vector `[1,a1,...,a_r]`

b

is the vector `[b0,......,b_s]`

d

is the vector `[1,d1,....,d_q]`

sig

resid=[ sig*echap(1),....,];

### Description

armax1 is used to identify the coefficients of a 1-dimensional ARX process:

```A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t)
e(t) is a 1-dimensional white noise with variance 1.
A(z)= 1+a1*z+...+a_r*z^r; ( r=0 => A(z)=1)
B(z)= b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0)
D(z)= 1+d1*z+...+d_q*z^q  ( q=0 => D(z)=1)```

for the method, see Eykhoff in trends and progress in system identification) page 96. with

```z(t)=[y(t-1),..,y(t-r),u(t),...,
u(t-s),e(t-1),...,e(t-q)]```

and

```coef= [-a1,..,-ar,b0,...,b_s,d1,...,d_q]'
y(t)= coef'* z(t) + sig*e(t).```

a sequential version of the AR estimation where e(t-i) is replaced by an estimated value is used (RLLS). With q=0 this method is exactly a sequential version of armax

### Examples

```a = [1, -2.851, 2.717, -0.865];
b = [0, 1, 1, 1];
d = [1, 0.7, 0.2];
ar = armac(a, b, d, 1, 1, 1);
disp(_("Simulation of an ARMAX process:"));
disp(ar);

n = 300;
u = -prbs_a(n, 1, int([2.5,5,10,17.5,20,22,27,35]*100/12));
zd = narsimul(ar, u);

// using now armax1 : colored noise identification
// you can test the same example with
[arc1, resid] = armax1(3,3,2,zd(1:n),u,1);
disp(arc1);```

### Important notice

In Scilab versions up to 4.1.2 the returned value in `arc.sig` is the square of `sig` square. To be conform with the help, the display of arma models and the armax function, starting from Scilab-5.0 version the returned `arc.sig` is `sig`.

 Report an issue << armax Identification findABCD >>

 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:Mon May 22 12:42:12 CEST 2023