Is there a function in matlab that finds a transmition function of a filter, based on the input and output signals?

I have a non linear filter with unknown transmition function, which i want tio find.The data is input and output signal. Is there a builtin function in matlab for that purpose?

Answers (2)

You can use tfestimate() in the Signal Processing Toolbox to estimate the transfer function.
In the System Identification Toolbox, there is etfe
See various model estimation functions in System Identification Toolbox such as pem, n4sid, oe, tfest, procest, ssest (the latter 3 are new in R2012a) for linear transfer function estimation. For nonlinear estimation, see nlarx, nlhw.

2 Comments

Hi,
I am also using N4sid for system identification. It seems that the n4sid function just gave me the estimation of the output. How can I get the transfer function? and use this transfer function (model) to estimate the new output (based on some new measured input, but without corresponding measured output).
Thanks very much.
Do tf(m) where m is the identified model. Type m.a, m.b etc to fetch individual model matrices (type get(m) to see all the properties of the model). You can also do [a,b,c,d,k] = idssdata(m), or [num,den] = tfdata(m)

Sign in to comment.

Asked:

on 19 Jul 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!