Why complex discrete Fourier transform?

  • Thread starter Jamal26
  • Start date
  • #1
4
0
I've been trying to figure out why it's standard to use complex discrete Fourier transforms instead of just the real version. It's discussed a bit here.

http://dsp.stackexchange.com/questions/1406/real-discrete-fourier-transform

As far as I can tell there's a hypothetical efficiency argument. Am I wrong? I notice that a lot of computer algorithms are using the real version. For instance ffmpeg tends to use the real version as far as I can tell.

It seems to me that before computers, complex numbers were used to aid in hand computation. For instance it's easier to view sinusoidal functions as a power function of e than it is to calculate sines and cosines when you're doing it by hand.

Am I completely wrong about this analysis? In the case of Fourier transforms do I get missing data or have reduced accuracy when I use the real version instead of the complex version?

Thanks.
 

Answers and Replies

  • #2
AlephZero
Science Advisor
Homework Helper
6,994
291
THe stackexchange answer is pretty good. The bottom line is, there are some irritating sign-changes between ##A \cos\omega t + B\sin\omega t## and the real part of ##(A + iB)e^{i\omega t}##. The math works out tidier in the general case where both the data and its transform are complex.

FWIW The stackexchange comment
Of course, no physical system has complex-values signals going in and coming out
is not always true. If you consder the behaviour of a rotating machine, the simple way to represent its response in the time domain is using complex variables, in a similar way that electrical engineers use "phasors".

I think the "computational efficiency argument" is entirely hypothetical. if you want efficiency (and numerical accuracy) it is not usually a good plan to make a naive translation of math formulas using complex numbers, into computer code using complex variables. But aside from that, you can use exactly the same algorithm for doing an FFT of 2n real variables or n complex variables, apart from a different interpretation of the order of the input and output data which has no effect on the computing time or cost.
 

Related Threads on Why complex discrete Fourier transform?

  • Last Post
Replies
2
Views
3K
Replies
5
Views
7K
Replies
1
Views
2K
  • Last Post
Replies
15
Views
2K
Replies
10
Views
2K
Replies
8
Views
4K
Replies
2
Views
1K
Replies
2
Views
4K
Replies
6
Views
871
Replies
8
Views
3K
Top