How to efficiently implement algorithm similar to FFT?

2 views (last 30 days)
I am implementing an algorithm similar to FFT. The only difference is that I'm using my own custom twiddle factors for the butterfly operation to combine smaller DFTs into larger DFTs which is implemented through multiplication of matrices.
However, I am not getting the same performance as the regular FFT built in function. Is it a function of how I'm writing my code?
  3 Comments
Matt J
Matt J on 9 Mar 2013
Edited: Matt J on 9 Mar 2013
The builtin FFT is also probably multi-threaded, whereas yours would not be.
John
John on 9 Mar 2013
I am trying to compare computational complexity between my algorithm and Matlab's algorithm. Despite the fact that Matlab's algorithm is much faster, the complexities appear the same. For example, for increasing sizes, they both have a computational complexity of O(n log n)

Sign in to comment.

Accepted Answer

Matt J
Matt J on 9 Mar 2013
Edited: Matt J on 9 Mar 2013
If you write your customized butterfly operations as sparse matrix multiplications (see the SPARSE command), you might be able to get the benefit of multi-threading, similar to the FFT command.

More Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!