Effacer les filtres
Effacer les filtres

Create a filter function without using filter function (of course)

1 vue (au cours des 30 derniers jours)
Riven Yvet
Riven Yvet le 27 Nov 2016
Commenté : Star Strider le 27 Nov 2016
So I want to create a function that filters an input sequence using the transfer function of a filter. But the catch is I want to do this function at the frequency domain, and the only way to do this is to implement Discrete Fourier transform. So the inputs to my function are (B,A,S) where B is the numerator coefficients of the transfer function, A is the denominator coefficients of the transfer function, and S is the input sequence. The output is the time domain sequence. I want the function to be implemented in the frequency domain, so I would first convert S array to its frequency components using DFT. Then I would get the frequency response of the transfer function by using freqz. Multiplying the sequences will net you Y(W) right? So using IDFT you can get the time domain signal. But using this would net a different answer when filter function is used. I'm quite a noob at DSP but pls can someone help me?

Réponse acceptée

Star Strider
Star Strider le 27 Nov 2016
If you want to filter in the frequency domain, use the Signal Processing Toolbox fftfilt function. It uses the overlap-and-add method. See the documentation for details.
  7 commentaires
Riven Yvet
Riven Yvet le 27 Nov 2016
OK. Thank you! You're a lifesaver.
Star Strider
Star Strider le 27 Nov 2016
My pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by