MATLAB Answers

0

DSP questeion (filter design from estimated transfer function)

Asked by Michal Kvasnicka on 29 Mar 2017
Latest activity Commented on by Star Strider
on 29 Mar 2017
Is there any way how to design filter (a,b coeffs) from transfer function estimated by "tfestimate"?

  0 Comments

Sign in to comment.

Tags

1 Answer

Answer by Star Strider
on 29 Mar 2017
 Accepted Answer

Not easily, if at all.
Use the Signal Processing Toolbox invfreqz function if you want filter coefficients.

  2 Comments

Thanks ... invfreqz doing (at least theoretically) exactly what I need.
But my input transfer function is a bit oscillatory at high-frequency domain. So, result of invfreqz is sometimes unstable.
How to smooth complex transfer function?
My pleasure.
I am not certain what you mean by the transfer function being ‘a bit oscillatory at high-frequency domain.’ If it has high-frequency oscillations in either the time domain or frequency domain, the easiest solution would be to cascade it (in series) with a lowpass filter. That would be my first approach. Unless you create dfilt objects for both, and then use dfilt.cascade to create the cascaded filter, you would have to do this every time you used the filter. This is not necessarily a problem if you are only using your filter occasionally.
There control systems methods of stabilizing it in state-space. I have not done this in a while, and then only with continuous-time systems. (Discrete-time systems are much more difficult to work with.) This involves pole-placement techniques to move high-frequency poles further to the left of the complex frequency plane for a continuous system, or further inside the unit circle for a discrete system.

Sign in to comment.