Skip to content

Fourier Analysis Fundamentals

Summary

This chapter introduces Fourier analysis techniques for decomposing signals into frequency components, including Fourier series, continuous and discrete Fourier transforms.

Students will explore 10 key concepts that are essential for understanding this area of signal processing. This material provides the foundation for concepts introduced in later chapters.

Concepts Covered

This chapter covers the following 10 concepts from the learning graph:

  1. Fourier Series
  2. Fourier Coefficients
  3. Fourier Transform
  4. Inverse Fourier Transform
  5. Discrete Fourier Transform
  6. Inverse DFT
  7. Fast Fourier Transform
  8. FFT Algorithms
  9. Radix-2 FFT
  10. Cooley-Tukey Algorithm

Prerequisites

This chapter builds on concepts from:


Introduction

Fourier analysis provides one of the most powerful frameworks in signal processing, enabling decomposition of complex time-domain signals into constituent frequency components through mathematical transformations. The fundamental insight, developed by Joseph Fourier in the early 19th century, states that virtually any periodic function can be represented as a sum of sinusoids with appropriately chosen frequencies, amplitudes, and phases. This frequency-domain representation reveals spectral content invisible in time-domain waveforms, facilitating filtering, compression, modulation, and numerous other signal processing operations.

The family of Fourier transforms includes the Fourier series for periodic signals, the continuous-time Fourier transform for aperiodic signals, the discrete-time Fourier transform for sampled signals, and the discrete Fourier transform for computational implementation. Each variant addresses specific signal characteristics while maintaining the core principle of frequency decomposition. The Fast Fourier Transform algorithm revolutionized practical application of Fourier methods by reducing computational complexity from \(O(N^2)\) to \(O(N \log N)\), enabling real-time spectral analysis on modest hardware.

Fourier Series

Fourier Series

The Fourier series represents periodic signals as sums of sinusoids at integer multiples of the fundamental frequency, providing a complete orthogonal decomposition for signals that repeat with period \(T\). For a periodic signal \(x(t) = x(t + T)\), the Fourier series takes the form:

\[x(t) = a_0 + \sum_{n=1}^{\infty} \left[a_n \cos(n\omega_0 t) + b_n \sin(n\omega_0 t)\right]\]

where \(\omega_0 = 2\pi/T\) is the fundamental angular frequency, \(a_0\) represents the DC component (average value), and the coefficients \(a_n\) and \(b_n\) determine the amplitude of each harmonic component. The series converges to the signal value at points of continuity and to the average of left and right limits at discontinuities.

Alternative exponential form uses complex exponentials, providing more compact notation and simplifying many derivations:

\[x(t) = \sum_{n=-\infty}^{\infty} c_n e^{jn\omega_0 t}\]

The orthogonality of sinusoids over one period ensures that each Fourier coefficient can be computed independently, making the representation unique and complete for square-integrable periodic functions.

Fourier Coefficients

Fourier coefficients quantify the amplitude and phase of each frequency component in the Fourier series representation, computed through integration over one period. For the trigonometric form, the coefficients are:

\[a_0 = \frac{1}{T}\int_0^T x(t) dt\]
\[a_n = \frac{2}{T}\int_0^T x(t)\cos(n\omega_0 t) dt\]
\[b_n = \frac{2}{T}\int_0^T x(t)\sin(n\omega_0 t) dt\]

These integrals project the signal onto the orthogonal basis functions, extracting the component of \(x(t)\) that aligns with each sinusoid. For the exponential form, the coefficients are:

\[c_n = \frac{1}{T}\int_0^T x(t)e^{-jn\omega_0 t} dt\]

The relationship \(c_n = (a_n - jb_n)/2\) connects the two representations. The magnitude \(|c_n|\) indicates the strength of the \(n\)-th harmonic, while the phase \(\angle c_n\) indicates its temporal offset. For real signals, the coefficients satisfy \(c_{-n} = c_n^*\), ensuring the series produces real values.

Continuous-Time Fourier Transform

Fourier Transform

The Fourier Transform extends Fourier analysis from periodic signals to aperiodic signals by treating them as the limit of periodic signals with infinite period. For an aperiodic signal \(x(t)\), the Fourier transform is defined as:

\[X(f) = \int_{-\infty}^{\infty} x(t)e^{-j2\pi ft} dt\]

This transformation maps time-domain signals \(x(t)\) to frequency-domain representations \(X(f)\) that specify the complex amplitude (magnitude and phase) of each frequency component. The Fourier transform exists for signals that are absolutely integrable (\(\int_{-\infty}^{\infty} |x(t)| dt < \infty\)) or satisfy certain generalized conditions, including many engineering signals of practical interest.

The Fourier transform reveals the spectral content of signals, showing which frequencies are present and at what strengths. This frequency-domain perspective enables intuitive understanding of filtering (which removes or emphasizes certain frequency ranges), modulation (which shifts signals in frequency), and bandwidth requirements for communication channels.

Inverse Fourier Transform

The Inverse Fourier Transform recovers the time-domain signal from its frequency-domain representation, completing the bidirectional relationship between time and frequency domains:

\[x(t) = \int_{-\infty}^{\infty} X(f)e^{j2\pi ft} df\]

The existence of this inverse transformation for all square-integrable functions demonstrates that the frequency-domain representation contains complete information about the signal, losing nothing in the transformation. The inverse transform can be viewed as synthesizing the time signal by summing sinusoidal components \(e^{j2\pi ft}\) weighted by their complex amplitudes \(X(f)\).

The symmetry between the forward and inverse transforms (differing only in the sign of the exponent and normalization constants) reveals a fundamental duality: operations in one domain correspond to related operations in the other domain, such as convolution in time corresponding to multiplication in frequency.

Discrete Fourier Transform

Discrete Fourier Transform

The Discrete Fourier Transform (DFT) adapts Fourier analysis to finite-length discrete-time sequences, making it suitable for digital computation. For a sequence \(x[n]\) of length \(N\), the DFT is defined as:

\[X[k] = \sum_{n=0}^{N-1} x[n]e^{-j2\pi kn/N}\]

for \(k = 0, 1, \ldots, N-1\). The DFT produces \(N\) complex frequency-domain samples \(X[k]\) from \(N\) time-domain samples \(x[n]\), with \(X[k]\) representing the frequency bin centered at \(f = k f_s/N\) where \(f_s\) is the sampling rate.

The DFT implicitly assumes the input sequence is periodic with period \(N\), leading to circular convolution when DFT-based filtering is performed. Despite this periodicity assumption, the DFT approximates the continuous Fourier transform for finite-duration signals when appropriate windowing and zero-padding are applied. Computational implementation requires \(N^2\) complex multiplications for direct calculation, making it expensive for large \(N\) until the FFT algorithm appeared.

Inverse DFT

The Inverse DFT (IDFT) reconstructs the time-domain sequence from its DFT representation, defined as:

\[x[n] = \frac{1}{N}\sum_{k=0}^{N-1} X[k]e^{j2\pi kn/N}\]

for \(n = 0, 1, \ldots, N-1\). The factor \(1/N\) normalizes the transformation, ensuring that applying the DFT followed by IDFT recovers the original sequence exactly (within numerical precision). The IDFT and DFT have nearly identical structure, differing only in the sign of the exponent and the normalization factor.

This bidirectional transformation enables frequency-domain processing of discrete signals: apply DFT to obtain frequency samples, manipulate those samples (filtering, analysis, modification), then apply IDFT to return to the time domain. Many signal processing algorithms exploit this capability to perform operations more efficiently or intuitively in the frequency domain.

Fast Fourier Transform

Fast Fourier Transform

The Fast Fourier Transform (FFT) comprises a family of algorithms that compute the DFT with reduced computational complexity, typically from \(O(N^2)\) for direct calculation to \(O(N \log N)\) for FFT algorithms. This dramatic improvement enables real-time spectral analysis and frequency-domain processing for sequences of substantial length, transforming Fourier methods from academic curiosities to essential engineering tools.

The FFT exploits symmetry and periodicity properties of the DFT's complex exponential basis functions, reusing intermediate calculations through a divide-and-conquer strategy. While numerous FFT algorithms exist (including Cooley-Tukey, split-radix, Winograd, and others), all achieve similar asymptotic complexity and differ primarily in implementation details and suitability for specific sequence lengths or hardware architectures.

FFT implementations are available in virtually all programming languages and signal processing libraries, making Fourier analysis accessible without requiring deep understanding of the algorithms' internal mechanics. However, awareness of FFT properties such as input length requirements (often powers of two for maximum efficiency), scaling factors, and normalization conventions remains important for correct application.

FFT Algorithms

FFT algorithms employ various decomposition strategies to reduce DFT computational burden. The most common algorithms include decimation-in-time (breaking the sequence into even and odd indexed samples), decimation-in-frequency (breaking the DFT into even and odd frequency bins), split-radix approaches (combining both decompositions), and prime factor algorithms (for lengths with multiple prime factors).

Each algorithm makes trade-offs between computational efficiency, memory requirements, and implementation complexity. Modern FFT libraries automatically select appropriate algorithms based on sequence length, achieving near-optimal performance for most practical cases. Specialized FFT variants exist for real-valued input sequences, exploiting symmetry to halve the computation, and for multidimensional transforms used in image and video processing.

Radix-2 FFT

The Radix-2 FFT represents the most widely taught FFT algorithm, applicable when the sequence length is a power of two (\(N = 2^m\)). The algorithm recursively decomposes an \(N\)-point DFT into two \((N/2)\)-point DFTs, continuing until reaching trivial one-point DFTs that require no computation. Each decomposition level combines results from the previous level using "butterfly" operations that compute pairs of DFT outputs efficiently.

For an \(N\)-point sequence, the radix-2 FFT requires \((N/2)\log_2 N\) complex multiplications and \(N\log_2 N\) complex additions, compared to \(N^2\) operations for direct DFT calculation. For \(N = 1024\), this represents a reduction from about one million to about five thousand multiplications, explaining the FFT's transformative impact on signal processing practice.

The requirement that \(N\) be a power of two can be accommodated by zero-padding sequences to the next higher power of two, introducing modest inefficiency for non-power-of-two lengths but maintaining the algorithm's fundamental speed advantage.

Cooley-Tukey Algorithm

The Cooley-Tukey algorithm, published in 1965 though variants existed earlier, provides the most general FFT approach, applicable to any composite sequence length \(N = N_1 N_2\). The algorithm decomposes the \(N\)-point DFT into \(N_1\) DFTs of length \(N_2\) followed by \(N_2\) DFTs of length \(N_1\), with twiddle factor multiplications between stages.

When \(N\) is a power of two, the Cooley-Tukey algorithm reduces to the radix-2 FFT. For other factorable lengths, the algorithm achieves similar \(O(N \log N)\) complexity with different constants. The flexibility to accommodate various sequence lengths makes Cooley-Tukey the basis for most general-purpose FFT implementations, which factor the input length and apply optimal decompositions for each factor.

The historical importance of the Cooley-Tukey algorithm extends beyond its technical merits: its publication catalyzed widespread adoption of FFT-based spectral analysis across engineering disciplines, fundamentally changing how signals are analyzed and processed.

Properties and Applications

The Fourier transform possesses numerous properties that simplify analysis and enable efficient computation of transforms for modified signals:

  • Linearity: \(\mathcal{F}\{ax_1(t) + bx_2(t)\} = aX_1(f) + bX_2(f)\) allows transform computation for sums of signals
  • Time Shifting: \(\mathcal{F}\{x(t-t_0)\} = X(f)e^{-j2\pi ft_0}\) shows delays introduce linear phase
  • Frequency Shifting: \(\mathcal{F}\{x(t)e^{j2\pi f_0 t}\} = X(f-f_0)\) demonstrates modulation as spectral translation
  • Time Scaling: \(\mathcal{F}\{x(at)\} = \frac{1}{|a|}X(f/a)\) reveals time-frequency reciprocity (compression in time expands in frequency)
  • Duality: The similar forms of forward and inverse transforms imply that time and frequency play symmetric roles
  • Convolution Theorem: Already discussed in Chapter 4, this critical property connects time-domain convolution to frequency-domain multiplication

These properties enable problem-solving strategies where difficult operations in one domain become simple in the other, such as implementing filtering through frequency-domain multiplication rather than time-domain convolution.

Interactive Demonstrations

Diagram: Fourier Series Explorer

MicroSim: Fourier Series Explorer

Purpose

This interactive simulation demonstrates how periodic signals decompose into harmonic components through Fourier series representation, showing the contribution of each harmonic to the overall waveform.

Features

  • Select waveform type: square wave, triangle wave, sawtooth, pulse train, custom
  • Display individual Fourier series components (fundamental, harmonics)
  • Show progressive synthesis: sum of first \(N\) harmonics
  • Animate coefficient values \(a_n\) and \(b_n\) as bar charts
  • Display magnitude and phase spectra
  • Adjust number of harmonics to visualize convergence
  • Compare original waveform to partial sum reconstruction

Learning Objectives

  • Understand Fourier series as decomposition into harmonics
  • Observe how different waveforms have different harmonic content
  • Visualize convergence as more harmonics are included
  • Connect harmonic amplitudes to spectral representation

Implementation Requirements

  • Canvas size: 670px wide, 625px total height (550px drawing + 75px controls)
  • Three plot panels: time-domain waveform with partial sum overlay, magnitude spectrum, phase spectrum
  • Waveform selector dropdown
  • Number of harmonics slider (1-50)
  • Individual harmonic display with toggles to show/hide each component
  • Play animation showing sequential addition of harmonics
  • Numerical coefficient display for selected harmonics

Diagram: FFT Spectrum Analyzer

MicroSim: FFT Spectrum Analyzer

Purpose

This simulation demonstrates real-time FFT-based spectral analysis, showing how time-domain signals transform to frequency-domain representations and enabling exploration of FFT parameters and windowing effects.

Features

  • Input signal selection: microphone input, generated signals, uploaded audio file
  • Real-time FFT computation and display
  • Adjustable FFT size (128, 256, 512, 1024, 2048, 4096 points)
  • Window function selector: rectangular, Hamming, Hanning, Blackman, Kaiser
  • Magnitude spectrum display (linear or dB scale)
  • Phase spectrum display
  • Spectrogram view showing time evolution of spectrum
  • Peak detection and frequency readout

Learning Objectives

  • Understand FFT as computational tool for spectral analysis
  • Observe effects of window functions on spectral leakage
  • Recognize trade-offs between frequency resolution and time resolution
  • Apply FFT analysis to real audio signals

Implementation Requirements

  • Canvas size: 670px wide, 625px total height (550px drawing + 75px controls)
  • Dual plot areas: time-domain waveform, frequency-domain spectrum
  • Optional spectrogram display mode
  • FFT size selector (powers of two from 128 to 4096)
  • Window function dropdown
  • Scale selector: linear magnitude, log magnitude (dB), phase
  • Cursor readout for frequency and amplitude at mouse position
  • Peak marker display for strongest frequency components

Comparison Tables

Transform Type Domain Formula Primary Use
Fourier Series Periodic continuous-time \(x(t) = \sum c_n e^{jn\omega_0 t}\) Analysis of periodic waveforms
Fourier Transform Aperiodic continuous-time \(X(f) = \int x(t)e^{-j2\pi ft} dt\) Theoretical analysis, continuous signals
DTFT Aperiodic discrete-time \(X(e^{j\omega}) = \sum x[n]e^{-j\omega n}\) Frequency response of discrete systems
DFT Periodic discrete-time \(X[k] = \sum_{n=0}^{N-1} x[n]e^{-j2\pi kn/N}\) Computational spectral analysis
Property Time Domain Frequency Domain Significance
Linearity \(ax_1(t) + bx_2(t)\) \(aX_1(f) + bX_2(f)\) Transforms preserve superposition
Time Shift \(x(t - t_0)\) \(X(f)e^{-j2\pi ft_0}\) Delays introduce linear phase
Frequency Shift \(x(t)e^{j2\pi f_0 t}\) \(X(f - f_0)\) Modulation shifts spectrum
Time Scaling \(x(at)\) $\frac{1}{ a
Convolution \(x(t) * h(t)\) \(X(f) \cdot H(f)\) Filtering as frequency multiplication
Multiplication \(x(t) \cdot h(t)\) \(X(f) * H(f)\) Modulation creates spectral sidebands
FFT Algorithm Complexity Length Requirements Characteristics
Cooley-Tukey Radix-2 \(O(N \log N)\) \(N = 2^m\) Most common, highly optimized
Mixed-Radix \(O(N \log N)\) \(N\) composite General composite lengths
Prime Factor \(O(N \log N)\) \(N = p_1 p_2 \cdots p_k\) (coprime factors) Efficient for certain lengths
Bluestein (Chirp-Z) \(O(N \log N)\) Any \(N\) Works for prime lengths
Direct DFT \(O(N^2)\) Any \(N\) Small \(N\) only
Waveform DC Component Fundamental Harmonics Present Spectral Characteristic
Square Wave 0 (symmetric) Strong Odd harmonics only, \(1/n\) decay Slow roll-off
Triangle Wave 0 (symmetric) Strong Odd harmonics only, \(1/n^2\) decay Fast roll-off
Sawtooth 0 (symmetric) Strong All harmonics, \(1/n\) decay Slow roll-off
Pulse Train Non-zero Variable All harmonics, sinc envelope Sinc-shaped spectrum

Practical Considerations

When applying Fourier analysis to real signals, several practical issues arise. Finite signal duration creates spectral leakage, where energy from one frequency spreads to neighboring frequencies, obscured by rectangular windowing in time. Window functions taper signal endpoints to reduce leakage at the cost of frequency resolution. Common choices include Hamming, Hanning, Blackman, and Kaiser windows, each trading off main lobe width against sidelobe suppression.

Zero-padding extends signal length before FFT computation, increasing the number of frequency bins without adding new information. While zero-padding does not improve frequency resolution (determined by signal duration), it provides finer frequency sampling and can improve visualization of spectral features. Overlap processing combines multiple short FFTs on overlapping signal segments, trading computation for improved time-frequency resolution.

Numerical precision affects FFT accuracy, with finite wordlength arithmetic introducing round-off errors that accumulate through the algorithm's recursive structure. Most implementations use floating-point arithmetic providing sufficient precision for practical applications, though fixed-point FFTs require careful scaling to prevent overflow while maintaining numerical accuracy.

Summary

This chapter has introduced Fourier analysis methods that decompose signals into frequency components, revealing spectral structure invisible in time-domain representations. The Fourier series represents periodic signals as sums of harmonics at integer multiples of the fundamental frequency, with Fourier coefficients specifying the amplitude and phase of each component. The Fourier transform extends this concept to aperiodic signals, providing a continuous frequency representation through forward and inverse integral transforms.

The Discrete Fourier Transform adapts Fourier analysis to finite-length discrete sequences, enabling computational spectral analysis through direct calculation or efficient FFT algorithms. The FFT, particularly the Cooley-Tukey algorithm and its radix-2 variant, reduces computational complexity from \(O(N^2)\) to \(O(N \log N)\), making real-time frequency analysis practical for sequences of substantial length. This algorithmic breakthrough revolutionized signal processing practice across engineering disciplines.

Fourier transform properties including linearity, time shifting, frequency shifting, time scaling, and the convolution theorem simplify analysis and enable efficient computation of transforms for modified signals. These properties establish fundamental relationships between time and frequency domains, such as the reciprocal relationship between time duration and frequency bandwidth. Understanding Fourier analysis provides the foundation for subsequent topics in filtering, spectral estimation, modulation, and numerous advanced signal processing techniques.