- 1478 Fun with Java, How and Why Spectral Analysis Works
- 1482 Spectrum Analysis using Java, Sampling Frequency, Folding Frequency, and the FFT Algorithm
- 1483 Spectrum Analysis using Java, Frequency Resolution versus Data Length
- 1484 Spectrum Analysis using Java, Complex Spectrum and Phase Angle
- 1485 Spectrum Analysis using Java, Forward and Inverse Transforms, Filtering in the Frequency Domain
- 1486 Fun with Java, Understanding the Fast Fourier Transform (FFT) Algorithm
Will use in subsequent modules
The 2D Fourier transform has many uses. I will use the 2D Fourier transform in several future modules involving such diverse topics as:
- Processing image pixels in the wavenumber domain
- Advanced steganography (hiding messages in images)
- Hiding watermarks and trademarks in images
Viewing tip
I recommend that you open another copy of this module in a separate browser window and use the following links to easily find and view the Figureswhile you are reading about them.
Figures
- Figure 1. A standing wave on a wire.
- Figure 2. Three example wavenumber spectra.
- Figure 3. A three-element array with weighted sensors.
- Figure 4. The 2D wavenumber response of a linear array.
- Figure 5. Wavenumber response of a two-dimensional array.
- Figure 6. Image processing in the space domain.
General discussion
Time domain and frequency domain
In my earlier modules on DSP, you learned about the relationship between the time domain and the frequency domain. For example, you learned that time hasonly one dimension. In the real world, time only goes forward.
(In the computer world, we can make it appear that time can also go backwards, but this still constitutes only one dimension.)
The important point is that time can only go forward or backwards. It cannot go sideways.
A one-dimensional Fourier transform
You learned that you can perform a one-dimensional Fourier transform to transform your data from the time domain into the frequency domain. Similarly,you can perform an inverse one-dimensional Fourier transform to transform your data from the frequency domain back into the time domain.
You learned about several characteristics of Fourier transforms. For example, you learned that a Fourier transform is both linear and reversible. You eitherhave learned or you will learn in a future module that convolution in the time domain is equivalent to multiplication in the frequency domain, and thatconvolution in the frequency domain is equivalent to multiplication in the time domain.
You learned that with enough computational power, you can easily transform a given set of data back and forth between these two domains. This makes itpossible to use the domain of your choice to perform a given signal processing operation, even if the results need to be delivered in the other domain.
Time domain data is purely real
Although it is possible to use the Fourier transform to transform a set of complex data from one domain to another domain, real-world time domain data isnot complex data. Rather, it is purely real. Assuming that the data in one domain is always purely real leads to some simplification of the computationalrequirements for performing the Fourier transform. In general, most of the previous DSP modules assumed real data in the time domain and complex data inthe frequency domain.