Why complex discrete Fourier transform?

Click For Summary
SUMMARY

The discussion centers on the preference for complex discrete Fourier transforms (DFTs) over real DFTs in computational applications. Users highlight that while complex DFTs provide a tidier mathematical framework, particularly in handling sinusoidal functions, the computational efficiency of real DFTs is often sufficient for practical applications. The conversation also notes that complex numbers facilitate easier calculations in certain scenarios, such as analyzing rotating machinery, despite the common assertion that physical systems do not utilize complex signals. Ultimately, the efficiency argument for complex DFTs is deemed hypothetical, as both complex and real DFTs can be executed with similar algorithms.

PREREQUISITES
  • Understanding of discrete Fourier transforms (DFTs)
  • Familiarity with complex numbers and their applications in signal processing
  • Knowledge of Fast Fourier Transform (FFT) algorithms
  • Basic concepts of sinusoidal functions and their representations
NEXT STEPS
  • Research the differences between complex and real discrete Fourier transforms
  • Learn about Fast Fourier Transform (FFT) implementations for both real and complex data
  • Explore the application of complex numbers in electrical engineering, particularly in phasor analysis
  • Investigate numerical accuracy considerations in signal processing algorithms
USEFUL FOR

Signal processing engineers, electrical engineers, computer scientists, and anyone involved in the implementation of Fourier transforms in computational applications.

Jamal26
Messages
4
Reaction score
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.
 
Physics news on Phys.org
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.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
7K
  • · Replies 4 ·
Replies
4
Views
2K