MATLAB Answers


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

Asked by chen
on 19 Jul 2012

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?


2 Answers

Answer by Wayne King
on 19 Jul 2012

You can use tfestimate() in the Signal Processing Toolbox to estimate the transfer function.

In the System Identification Toolbox, there is etfe


Answer by Rajiv Singh
on 23 Jul 2012

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.



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)

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!