Discussion:
ARX model structure definition
(too old to reply)
Jan Konig
2007-09-07 09:24:45 UTC
Permalink
Hello,

how can I make arx command in System Identification Toolbox
in Matlab to give back transfer function with following
structure:

Transfer function:
s^2 + s + 1
-----------
s^2 + s + 1

I always get one order higher polynom in denominator,
regardles of set na and nb parameters in arx function.

Thank you for any suggestion in advance.

Jan
Yang Zhang
2007-09-08 00:37:22 UTC
Permalink
Post by Jan Konig
Hello,
how can I make arx command in System Identification Toolbox
in Matlab to give back transfer function with following
s^2 + s + 1
-----------
s^2 + s + 1
I always get one order higher polynom in denominator,
regardles of set na and nb parameters in arx function.
Thank you for any suggestion in advance.
Jan
Hi Jan,

The transfer function is continuous or discrete?


Anyway, if you try the example given by arx:

A = [1 -1.5 0.7]; B = [0 1 0.5];
m0 = idpoly(A,B);
u = iddata([],idinput(300,'rbs'));
e = iddata([],randn(300,1));
y = sim(m0, [u e]);
z = [y,u];
m = arx(z,[2 2 1]);

the results:

A(q) = 1 - 1.481 q^-1 + 0.6831 q^-2

B(q) = 0.9338 q^-1 + 0.4582 q^-2

H(q) = A(q)/B(q) which is the same form as above.

Is that what you want?


Yang
Rajiv Singh
2007-09-12 00:31:54 UTC
Permalink
Can you post what commands you tried? What value did you use for "nk" (try
nk=0)?

Rajiv
Post by Jan Konig
Hello,
how can I make arx command in System Identification Toolbox
in Matlab to give back transfer function with following
s^2 + s + 1
-----------
s^2 + s + 1
I always get one order higher polynom in denominator,
regardles of set na and nb parameters in arx function.
Thank you for any suggestion in advance.
Jan
Rajiv Singh
2008-05-01 19:48:59 UTC
Permalink
This is because ARX gives a discrete model. If there is any difference
between numerator and denominator orders, it gets compensated by extra "z"
terms when convertted into a transfer function. The difference of orders is
equal to the input delay (nk). Try setting nk to zero during estimation and
also try using d2c to convert model to continuous time.

Rajiv
Post by Jan Konig
Hello,
how can I make arx command in System Identification Toolbox
in Matlab to give back transfer function with following
s^2 + s + 1
-----------
s^2 + s + 1
I always get one order higher polynom in denominator,
regardles of set na and nb parameters in arx function.
Thank you for any suggestion in advance.
Jan
Pedrito
2014-01-15 14:55:09 UTC
Permalink
I know is quite late... But I post for people who access this thread in the future looking for solutions (like me).

Probably the answer is using the comand: zpk
Use help in workspace and check if it is what you are looking for... For me, it is!
Loading...