Skip to main content

Continuous-Time Fourier Transform

The continuous-time Fourier transform extends Fourier analysis from periodic signals to aperiodic signals. Instead of a line spectrum at harmonics of one fundamental frequency, an aperiodic signal is represented by a continuous spectrum X(jω)X(j\omega). The transform answers how much of each complex exponential ejωte^{j\omega t} is present in the signal.

For LTI systems, the CTFT turns convolution into multiplication. This is the main computational payoff: differential equations, filters, and cascade systems become algebraic in frequency. The transform also gives a precise language for bandwidth, ideal filtering, modulation, and sampling.

Definitions

The continuous-time Fourier transform of x(t)x(t) is

X(jω)=x(t)ejωtdt.X(j\omega)=\int_{-\infty}^{\infty}x(t)e^{-j\omega t}\,dt.

The inverse transform is

x(t)=12πX(jω)ejωtdω.x(t)=\frac{1}{2\pi}\int_{-\infty}^{\infty}X(j\omega)e^{j\omega t}\,d\omega.

The notation X(jω)X(j\omega) emphasizes the connection to the Laplace transform evaluated on the imaginary axis. Some fields write the same transform as X(ω)X(\omega). In these notes, X(jω)X(j\omega) is used for consistency with systems notation.

The CTFT exists in the ordinary integral sense for many absolutely integrable signals:

x(t)dt<.\int_{-\infty}^{\infty}|x(t)|\,dt<\infty.

Signals that are not absolutely integrable can still have transforms in a generalized sense. Important examples include

δ(t)1,12πδ(ω),ejω0t2πδ(ωω0).\delta(t) \leftrightarrow 1, \qquad 1 \leftrightarrow 2\pi\delta(\omega), \qquad e^{j\omega_0 t}\leftrightarrow 2\pi\delta(\omega-\omega_0).

The Fourier transform of an impulse-shifted signal follows from the sifting property:

δ(tt0)ejωt0.\delta(t-t_0) \leftrightarrow e^{-j\omega t_0}.

For real-valued x(t)x(t), the transform has conjugate symmetry:

X(jω)=X(jω).X(-j\omega)=X^*(j\omega).

Equivalently, the magnitude is even and the phase is odd, apart from phase jumps where the magnitude is zero.

Key results

Linearity:

ax1(t)+bx2(t)aX1(jω)+bX2(jω).a x_1(t)+b x_2(t) \leftrightarrow aX_1(j\omega)+bX_2(j\omega).

Time shifting:

x(tt0)ejωt0X(jω).x(t-t_0)\leftrightarrow e^{-j\omega t_0}X(j\omega).

Frequency shifting, or modulation by a complex exponential:

ejω0tx(t)X(j(ωω0)).e^{j\omega_0 t}x(t)\leftrightarrow X(j(\omega-\omega_0)).

Time scaling:

x(at)1aX(jωa),a0.x(a t)\leftrightarrow \frac{1}{|a|}X\left(j\frac{\omega}{a}\right),\qquad a\ne 0.

Differentiation in time:

ddtx(t)jωX(jω),\frac{d}{dt}x(t)\leftrightarrow j\omega X(j\omega),

when boundary terms vanish or the identity is interpreted distributionally.

Multiplication by time:

tx(t)jddωX(jω).t x(t)\leftrightarrow j\frac{d}{d\omega}X(j\omega).

Convolution:

x(t)h(t)X(jω)H(jω).x(t)*h(t)\leftrightarrow X(j\omega)H(j\omega).

Multiplication in time:

x(t)h(t)12πX(jω)H(jω),x(t)h(t)\leftrightarrow \frac{1}{2\pi}X(j\omega)*H(j\omega),

where the convolution on the right is with respect to ω\omega.

Parseval's relation:

x(t)2dt=12πX(jω)2dω.\int_{-\infty}^{\infty}|x(t)|^2\,dt =\frac{1}{2\pi}\int_{-\infty}^{\infty}|X(j\omega)|^2\,d\omega.

For an LTI system with impulse response h(t)h(t), the frequency response is

H(jω)=h(t)ejωtdt.H(j\omega)=\int_{-\infty}^{\infty}h(t)e^{-j\omega t}\,dt.

If y=xhy=x*h, then

Y(jω)=X(jω)H(jω).Y(j\omega)=X(j\omega)H(j\omega).

Thus H(jω)H(j\omega) scales and phase-shifts each frequency component of the input.

The CTFT should be read with units in mind. If tt is measured in seconds, then ω\omega is radians per second and dωd\omega carries radians per second. The inverse transform has the factor 1/(2π)1/(2\pi) because angular frequency is being used. If a text uses ordinary frequency ff in hertz, the transform pair is usually written with ej2πfte^{-j2\pi f t} and the inverse has no 1/(2π)1/(2\pi) factor. Mixing these conventions is a common source of wrong constants.

Bandwidth is the part of the frequency axis where X(jω)X(j\omega) is nonzero or practically significant. A strictly bandlimited signal has exact zero spectrum outside a finite interval, which is an idealization. Real signals are often treated as effectively bandlimited when energy outside a band is small enough to ignore. Sampling and filtering results should state whether the assumption is exact or approximate.

The CTFT can also be viewed as a limiting case of Fourier series. As the period of a periodic extension grows, harmonic spacing becomes smaller and line coefficients approach a continuous spectral density. This intuition explains why aperiodic signals use integrals over frequency while periodic signals use sums over harmonics.

Duality is another useful guide. Narrow signals in time tend to have broad spectra, and broad smooth signals tend to have concentrated spectra. This is not just a slogan; it is visible in transform pairs such as rectangular pulses and sinc spectra. It helps explain why sharp time-domain edges demand high-frequency content.

Visual

PropertyTime-domain operationFrequency-domain result
Linearityax1+bx2a x_1+b x_2aX1+bX2aX_1+bX_2
Time shiftx(tt0)x(t-t_0)ejωt0X(jω)e^{-j\omega t_0}X(j\omega)
Modulationejω0tx(t)e^{j\omega_0t}x(t)X(j(ωω0))X(j(\omega-\omega_0))
Time scalingx(at)x(a t)1aX(jω/a)\frac{1}{\vert a\vert }X(j\omega/a)
Differentiationdx/dtdx/dtjωX(jω)j\omega X(j\omega)
Convolutionxhx*hXHXH
Multiplicationxhxh12πXH\frac{1}{2\pi}X*H

Worked example 1: transform of a decaying exponential

Problem: Find the CTFT of

x(t)=eatu(t),a>0.x(t)=e^{-a t}u(t), \qquad a>0.

Method:

  1. Start from the definition:
X(jω)=eatu(t)ejωtdt.X(j\omega)=\int_{-\infty}^{\infty}e^{-a t}u(t)e^{-j\omega t}\,dt.
  1. The unit step restricts the integral to t0t\ge 0:
X(jω)=0eatejωtdt.X(j\omega)=\int_{0}^{\infty}e^{-a t}e^{-j\omega t}\,dt.
  1. Combine exponents:
X(jω)=0e(a+jω)tdt.X(j\omega)=\int_{0}^{\infty}e^{-(a+j\omega)t}\,dt.
  1. Since a>0a\gt 0, the exponential decays and
0e(a+jω)tdt=[1a+jωe(a+jω)t]0.\int_{0}^{\infty}e^{-(a+j\omega)t}\,dt =\left[-\frac{1}{a+j\omega}e^{-(a+j\omega)t}\right]_{0}^{\infty}.
  1. The upper limit is zero. The lower limit contributes 1/(a+jω)-1/(a+j\omega) inside the bracket, so
X(jω)=1a+jω.X(j\omega)=\frac{1}{a+j\omega}.

Checked answer:

eatu(t)1a+jω,a>0.e^{-a t}u(t)\leftrightarrow \frac{1}{a+j\omega},\qquad a>0.

Magnitude and phase are

X(jω)=1a2+ω2,X(jω)=tan1ωa.|X(j\omega)|=\frac{1}{\sqrt{a^2+\omega^2}}, \qquad \angle X(j\omega)=-\tan^{-1}\frac{\omega}{a}.

The transform is largest at low frequency because the time signal is a smooth one-sided decay.

Worked example 2: filtering a rectangular spectrum

Problem: Suppose an LTI system has ideal lowpass response

H(jω)={1,ω5,0,ω>5,H(j\omega)= \begin{cases} 1, & |\omega|\le 5,\\ 0, & |\omega|>5, \end{cases}

and the input spectrum is

X(jω)={2,ω3,1,3<ω8,0,ω>8.X(j\omega)= \begin{cases} 2, & |\omega|\le 3,\\ 1, & 3<|\omega|\le 8,\\ 0, & |\omega|>8. \end{cases}

Find Y(jω)Y(j\omega).

Method:

  1. For an LTI system,
Y(jω)=X(jω)H(jω).Y(j\omega)=X(j\omega)H(j\omega).
  1. The system passes frequencies with ω5\vert \omega\vert \le 5 and removes frequencies with ω>5\vert \omega\vert \gt 5.

  2. On ω3\vert \omega\vert \le 3, both XX and HH are nonzero:

Y(jω)=21=2.Y(j\omega)=2\cdot 1=2.
  1. On 3<ω53\lt \vert \omega\vert \le 5, the input spectrum has value 11 and the filter still passes:
Y(jω)=11=1.Y(j\omega)=1\cdot 1=1.
  1. On 5<ω85\lt \vert \omega\vert \le 8, the input has value 11 but the filter is zero:
Y(jω)=10=0.Y(j\omega)=1\cdot 0=0.
  1. Outside ω>8\vert \omega\vert \gt 8, the input is already zero.

Checked answer:

Y(jω)={2,ω3,1,3<ω5,0,ω>5.Y(j\omega)= \begin{cases} 2, & |\omega|\le 3,\\ 1, & 3<|\omega|\le 5,\\ 0, & |\omega|>5. \end{cases}

The output bandwidth is limited by the filter cutoff, not by the original input support.

Code

import numpy as np
import matplotlib.pyplot as plt

a = 2.0
omega = np.linspace(-30, 30, 2000)
X = 1 / (a + 1j * omega)

H = np.where(np.abs(omega) <= 5, 1.0, 0.0)
X_piece = np.where(np.abs(omega) <= 3, 2.0,
np.where(np.abs(omega) <= 8, 1.0, 0.0))
Y_piece = X_piece * H

fig, ax = plt.subplots(1, 2, figsize=(10, 3))
ax[0].plot(omega, np.abs(X))
ax[0].set_title(r"$\vert 1/(a+j\omega)\vert $")
ax[0].grid(True)

ax[1].plot(omega, X_piece, label="input spectrum")
ax[1].plot(omega, Y_piece, label="after lowpass")
ax[1].legend()
ax[1].grid(True)
plt.tight_layout()
plt.show()

Common pitfalls

  • Forgetting the 1/(2π)1/(2\pi) factor in the inverse CTFT and in the multiplication property.
  • Treating the CTFT of a periodic sinusoid as an ordinary function instead of impulses in frequency.
  • Confusing time shift with frequency shift. A time shift multiplies the spectrum by a phase ramp; modulation shifts the spectrum.
  • Assuming a Fourier transform exists as an ordinary integral for every useful signal. Constants and sinusoids require generalized transforms.
  • Dropping phase information. Magnitude alone is not enough to reconstruct a general signal.

Connections