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

Table Of Contents

This Page