How to efficiently implement algorithm similar to FFT?

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

I found out that the Matlab built in function for FFT is compiled source code which probably runs faster.
Matt J
Matt J 2013년 3월 9일
편집: Matt J 2013년 3월 9일
The builtin FFT is also probably multi-threaded, whereas yours would not be.
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)

댓글을 달려면 로그인하십시오.

 채택된 답변

Matt J
Matt J 2013년 3월 9일
편집: Matt J 2013년 3월 9일

0 개 추천

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.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

태그

질문:

2013년 3월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by