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

1 次查看(过去 30 天)
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?

采纳的回答

Star Strider
Star Strider 2016-11-27
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 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Filter Design 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by