FFT computation speed of real signals vs. complex signals

3 views (last 30 days)
Hi,
I'm wondering if Matlab is not using the fftw library to its full extent. Given the fact that we know that real signals are hermitian (conjugate symmetric) in frequency domain [1], it is possible to use this symmetry to speed up computation (as well as storage requirements!), as documented in [2] and fftw documentation [3].
In any case: Without using these optimizations I would at least expect the fftn of a real signal to be as fast as the fftn of a complex signal. However if you evaluate this in Matlab, e.g.
sz = 384;
test_real = randn(sz,sz,sz);
test_complex = randn(sz,sz,sz)+1i*randn(sz,sz,sz);
tic
fftn_realsignal = fftn(test_real);
toc
tic
fftn_complexsignal = fftn(test_complex);
toc
then, at least on my machine, the FFT of the real signal takes even more time to compute.
My question therefore is: Can we access these symmetries in Matlab to reduce computation speed and storage requirements? It seems as if fftw already provides the necessary framework to do so.
[1] https://en.wikipedia.org/wiki/Hermitian_function

Answers (0)

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!