Create a filter function without using filter function (of course)
2 views (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
Star Strider
on 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 Comments
More Answers (0)
See Also
Categories
Find more on Filter Design in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!