DSPRelated.com

Fourier Transform

Category: Transforms | Also known as: continuous Fourier transform, CTFT

The Fourier transform (also called the continuous Fourier transform, or CTFT) decomposes a continuous-time signal into its constituent sinusoidal frequency components, producing a complex-valued spectrum that encodes the amplitude and phase at each frequency. It is the theoretical foundation for spectral analysis, filter design, and signal processing, and serves as the basis from which the discrete-time variants used in embedded work — the DTFT and DFT/FFT — are derived.

In practice

In embedded systems, the continuous Fourier transform is rarely computed directly — hardware operates on sampled, finite-length data, so the Discrete Fourier Transform (DFT), almost always implemented as an FFT, is used instead. However, understanding the CTFT is essential for reasoning correctly about what the DFT is actually computing and what its outputs mean. Concepts like frequency resolution, the relationship between time-domain duration and spectral width, and the interpretation of complex spectrum bins all flow directly from continuous Fourier theory.

The CTFT is central to filter design workflows that target embedded targets. Tools such as MATLAB, SciPy, or online FIR/IIR filter designers operate in the continuous (or at least analog-prototype) frequency domain before translating coefficients into fixed-point or floating-point representations suitable for a microcontroller or DSP core. Understanding the transform helps engineers interpret Bode plots, check stopband attenuation, and predict how quantization of filter coefficients affects the frequency response.

Spectral analysis tasks that appear in embedded products — vibration monitoring, motor current analysis, acoustic sensing, power quality measurement — rely on the conceptual framework of the Fourier transform even when the implementation is an FFT running on a Cortex-M4 or a dedicated DSP. Artifacts such as spectral leakage, picket-fence effect, and aliasing all have clean explanations in Fourier theory. The blog post "The Discrete Fourier Transform as a Frequency Response" explores how DFT outputs relate directly to this continuous framework.

One common pitfall is conflating the CTFT with the DFT. The CTFT assumes a continuous, infinite-duration signal; real embedded measurements are neither. Finite observation windows introduce spectral leakage, and sampling introduces periodicity in the frequency domain. Designers who skip the underlying theory often misinterpret FFT output bins, confuse frequency resolution with frequency accuracy, or miss aliased components — problems that only become apparent during hardware validation.

 Learn this in DSP Foundations

Discussed on DSPRelated

Frequently asked

If the continuous Fourier transform cannot be computed directly on a microcontroller, why should embedded developers understand it?
Because every artifact you encounter when using an FFT — leakage, aliasing, bin width, the effect of zero-padding — has its root cause in the gap between the ideal CTFT and what you can actually compute on sampled, finite-length data. Without the theoretical picture, debugging spectral anomalies becomes guesswork. The blog post 'Why is Fourier transform broken' addresses exactly this gap between theory and practical DFT behavior.
What is the relationship between the CTFT and the DFT used in embedded FFT libraries?
The DFT is best described as equally spaced frequency samples of the DTFT of a windowed sequence. Sampling in time causes the spectrum to become periodic (as seen in the DTFT); applying a finite window spreads spectral energy via convolution with the window's transform rather than making the spectrum discrete on its own. Taking N samples of that periodic, continuous DTFT spectrum yields the N complex bins of the DFT. 'The Discrete Fourier Transform as a Frequency Response' and 'The Discrete Fourier Transform of Symmetric Sequences' both explore this relationship in depth.
What does the complex output of the Fourier transform represent?
Each complex value X(f) encodes how much of the sinusoid at frequency f is present in the signal, with the magnitude |X(f)| giving a measure of amplitude (subject to the chosen normalization convention) and the argument angle(X(f)) giving phase. In a DFT result, each bin k corresponds to frequency k * Fs/N, where Fs is the sample rate and N is the transform length.
What is spectral leakage and how does the Fourier transform explain it?
Spectral leakage occurs because a finite-length measurement is mathematically equivalent to multiplying an infinite signal by a rectangular window. In the frequency domain, multiplication in time corresponds to convolution with the window's Fourier transform, which is a sinc-like function with significant sidelobes. Energy from a single tone therefore 'leaks' into neighboring bins. Applying a smoother window function (Hanning, Blackman, Kaiser) reduces sidelobe amplitude at the cost of widening the main lobe.
How does 1/f (pink) noise appear in a Fourier transform, and why does it matter for embedded sensor design?
A signal with 1/f noise has a power spectral density that falls inversely with frequency, so its Fourier magnitude spectrum rolls off at roughly 10 dB per decade. This is relevant when choosing ADC sampling rates and filter cutoffs for low-frequency sensors such as accelerometers, pressure sensors, or temperature front-ends, where 1/f noise from op-amps or ADC references can dominate at low frequencies. The blog post 'An Interesting Fourier Transform - 1/f Noise' works through this in detail.

Differentiators vs similar concepts

The Fourier transform (CTFT) operates on continuous-time signals (including idealized distributions such as impulses, in addition to ordinary finite-energy waveforms) and produces a continuous frequency spectrum — it is a mathematical ideal. The Discrete-Time Fourier Transform (DTFT) operates on discrete (sampled) but still infinite-length sequences and produces a continuous, periodic spectrum. The Discrete Fourier Transform (DFT) — and its fast algorithm, the FFT — operates on finite-length discrete sequences and produces a finite set of discrete frequency bins; this is what embedded implementations actually compute. The Laplace transform generalizes the Fourier transform to the complex s-plane and is primarily used for analyzing system stability and designing analog filter prototypes before bilinear transformation to digital form. The z-transform is the discrete-time counterpart of the Laplace transform, used to analyze digital filter topologies (IIR/FIR) in terms of poles and zeros.