Time Shifting Property of Fourier Transform Explained Simply
time shifting property of the Fourier transform states that shifting a signal in time results in a phase shift in its Fourier transform. Specifically, if a signal x(t) is shifted by t_0, its transform becomes X(f) e^{-j 2 \pi f t_0}, where X(f) is the original transform.How It Works
Imagine you have a song playing, and you start it a few seconds later than usual. The song itself doesn't change, just when it starts. The time shifting property of the Fourier transform works similarly: if you delay or advance a signal in time, its frequency content stays the same but gains a phase change.
This phase change is like a shift in the wave's starting point in the frequency domain. The Fourier transform breaks down a signal into its frequency parts, and shifting the signal in time adds a complex exponential factor to each frequency component. This factor changes the phase but not the amplitude, meaning the signal's frequency strength stays the same, only the timing shifts.
Example
import numpy as np import matplotlib.pyplot as plt # Original signal: a simple cosine wave fs = 1000 # Sampling frequency T = 1 # Duration in seconds t = np.linspace(0, T, fs, endpoint=False) freq = 5 # Frequency of cosine x = np.cos(2 * np.pi * freq * t) # Shift the signal by t0 seconds t0 = 0.1 x_shifted = np.cos(2 * np.pi * freq * (t - t0)) # Compute Fourier transforms X = np.fft.fft(x) X_shifted = np.fft.fft(x_shifted) freqs = np.fft.fftfreq(len(t), 1/fs) # Plot magnitude and phase plt.figure(figsize=(12, 6)) plt.subplot(2, 2, 1) plt.plot(t, x) plt.title('Original Signal') plt.xlabel('Time [s]') plt.subplot(2, 2, 2) plt.plot(t, x_shifted) plt.title('Time-Shifted Signal') plt.xlabel('Time [s]') plt.subplot(2, 2, 3) plt.stem(freqs, np.abs(X), basefmt=' ') plt.title('Magnitude of Fourier Transform') plt.xlabel('Frequency [Hz]') plt.xlim(0, 20) plt.subplot(2, 2, 4) plt.stem(freqs, np.angle(X_shifted) - np.angle(X), basefmt=' ') plt.title('Phase Difference Due to Time Shift') plt.xlabel('Frequency [Hz]') plt.xlim(0, 20) plt.tight_layout() plt.show()
When to Use
The time shifting property is useful when you want to understand how delays affect signals in the frequency domain. For example, in communications, if a signal is delayed during transmission, this property helps predict how the signal's phase changes without altering its frequency content.
It is also used in signal processing tasks like filtering, modulation, and system analysis where timing shifts occur. Knowing this property helps engineers design systems that can compensate for or exploit time delays.
Key Points
- Shifting a signal in time adds a phase shift in its Fourier transform.
- The magnitude of the Fourier transform remains unchanged by time shifts.
- The phase shift is a complex exponential factor depending on frequency and shift amount.
- This property helps analyze delays and timing changes in signals.