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

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

Ajuda Scilab >> CACSD > arma

# arma

Scilab arma library

### Description

Armax processes can be coded with Scilab tlist of type `'ar'`. `armac` is used to build `Armax` scilab object. An `'ar'` tlist contains the fields `['a','b','d','ny','nu','sig']`.

armac

this function creates a Scilab tlist which code an Armax process `A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t)`

```-->ar=armac([1,2],[3,4],1,1,1,sig);

-->ar('a')
ans  =

!   1.    2. !
-->ar('sig')
ans  =

1.```
armap(ar [,out])

Display the armax equation associated with `ar`

armap_p(ar [,out])

Display the armax equation associated with `ar` using polynomial matrix display.

[A,B,D]=armap2p(ar)

extract polynomial matrices from ar representation

armax

is used to identify the coefficients of a n-dimensional ARX process `A(z^-1)y= B(z^-1)u + sig*e(t)`

armax1

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)`

arsimul

armax trajectory simulation.

narsimul

armax simulation ( using rtitr)

odedi

Simple tests of ode and arsimul. Tests the option 'discret' of ode

prbs_a

pseudo random binary sequences generation

reglin

Linear regression

### Example

```// Example extracted from the demo arma3.dem.sce in the cacsd module
// Spectral power estimation
// ( form Sawaragi et all)
m = 18;
a = [1,-1.3136,1.4401,-1.0919,+0.83527];
b = [0.0,0.13137,0.023543,0.10775,0.03516];
u = rand(1,1000,'n');
z = arsimul(a,b,[0],0,u);

//----Using macro mese
[sm,fr]=mese(z,m);

//----The theorical result

function gx=gxx(z, a, b)
w  = exp(-%i*2*%pi*z*(0:4))'
gx = abs(b*w)^2/(abs(a*w)^2);
endfunction

res=[];
for x=fr
res=[ res, gxx(x,a,b)];
end

//----using armax estimation of order  (4,4)
// it's a bit tricky because we are not supposed to know the order

[arc,la,lb,sig,resid]=armax(4,4,z,u);
res1=[];
for x=fr
res1=[ res1, gxx(x,la(1),lb(1))];
end

//-- visualization of the results
plot2d([fr;fr;fr]',[20*log10(sm/sm(1));20*log10(res/res(1));20*log10(res1/res1(1))]',[2,1,-1])
legend(["Using macro mese";"Theoretical value";"Arma identification"])
xtitle("Spectral power","frequency","spectral estimate")```

### Authors

J.P.C ; ;

 << arl2 CACSD arma2p >>

 Copyright (c) 2022-2023 (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:Thu May 12 11:45:20 CEST 2011