Skip to main content

Fourier Transform (CTFT and DTFT)


Continuous Time Fourier Transform (CTFT)

Fourier transform is a process to convert a spatial domain signal (i.e., time domain signal) into a frequency domain signal. Oppositely, the inverse Fourier transform is a process to convert the frequency domain signal to the primary time domain signal.

Notation of CTFT

Let x(t) be a continuous-time signal. Then the CTFT is defined as:

\( X(j\omega) = \int_{-\infty}^{\infty} x(t) \cdot e^{-j\omega t} \, dt \)

Where:

  • \( \omega \) is the angular frequency in radians/second.
  • \( X(j\omega) \) is the frequency-domain representation of \( x(t) \).
  • The transform assumes signals are absolutely integrable over time.

Inverse CTFT:

\( x(t) = \frac{1}{2\pi} \int_{-\infty}^{\infty} X(j\omega) \cdot e^{j\omega t} \, d\omega \)

 

Discrete Time Fourier Transform (DTFT)

The Discrete-Time Fourier Transform (DTFT) is used to analyze discrete-time signals, i.e., signals that are defined only at discrete intervals of time.

Notation of DTFT

Let x[n] be a discrete-time signal. Then the DTFT is defined as:

\( X(e^{j\omega}) = \sum_{n=-\infty}^{\infty} x[n] \cdot e^{-j\omega n} \)

Where:

  • \( \omega \) is the angular frequency in radians/sample.
  • \( X(e^{j\omega}) \) is periodic with period \( 2\pi \).

Inverse DTFT:

\( x[n] = \frac{1}{2\pi} \int_{-\pi}^{\pi} X(e^{j\omega}) \cdot e^{j\omega n} d\omega \)


Properties of Continuous-Time Fourier Transform (CTFT)

  • Linearity

  • The Fourier Transform is linear. For signals \(x_1(t)\) and \(x_2(t)\) with constants \(a_1, a_2\):

    \( \mathcal{F}\{a_1 x_1(t) + a_2 x_2(t)\} = a_1 X_1(j\omega) + a_2 X_2(j\omega) \)

  • Scaling

  • Time-scaling changes the width of the signal in time and inversely scales the frequency axis:

    \( \mathcal{F}\{x(at)\} = \frac{1}{|a|} X\left(j\frac{\omega}{a}\right) \)

  • Symmetry

  • Depending on whether the signal is real and even/odd:

    • Real and even: \(x(t) = x(-t) \Rightarrow X(j\omega) = X^*(-j\omega)\)
    • Real and odd: \(x(t) = -x(-t) \Rightarrow X(j\omega) = -X^*(-j\omega)\)

    Magnitude is always even, phase is odd for real signals.

  • Convolution

  • CTFT converts:

    • Time-domain convolution to frequency-domain multiplication: \( \mathcal{F}\{x_1(t) * x_2(t)\} = X_1(j\omega) \cdot X_2(j\omega) \)
    • Time-domain multiplication to frequency-domain convolution: \( \mathcal{F}\{x_1(t) \cdot x_2(t)\} = \frac{1}{2\pi} X_1(j\omega) * X_2(j\omega) \)
  • Shifting Property

  • Shifting in time introduces a linear phase shift in frequency domain:

    \( \mathcal{F}\{x(t - t_0)\} = e^{-j\omega t_0} X(j\omega) \)

  • Duality

  • If \( x(t) \leftrightarrow X(j\omega) \), then the roles of time and frequency can be interchanged:

    \( X(t) \leftrightarrow 2\pi x(-\omega) \)

  • Differentiation

  • Differentiating in time corresponds to multiplication by \(j\omega\) in frequency domain:

    \( \mathcal{F} \left\{ \frac{d}{dt}x(t) \right\} = j\omega X(j\omega) \)

  • Integration

  • Integration in time corresponds to division by \(j\omega\) in frequency domain (with a delta term if signal is not energy-limited):

    \( \mathcal{F} \left\{ \int_{-\infty}^{t} x(\tau)\, d\tau \right\} = \frac{X(j\omega)}{j\omega} + \pi X(0)\delta(\omega) \)

    In the Continuous-Time Fourier Transform (CTFT), X(0) represents the Fourier Transform of the signal at zero frequency, also called the DC component. It is defined as \( X(0) = \int_{-\infty}^{\infty} x(t)\, dt \) and corresponds to the total area under the time-domain signal.

  • Modulation Property

  • Multiplying by sine or cosine shifts frequency:

    \( \mathcal{F} \{ x(t) \cos(at) \} = \frac{1}{2} \left[ X(j(\omega + a)) + X(j(\omega - a)) \right] \)

    \( \mathcal{F} \{ x(t) \sin(at) \} = \frac{1}{2j} \left[ X(j(\omega + a)) - X(j(\omega - a)) \right] \)

  • Complex Conjugate Symmetry

  • If \(x(t)\) is complex, the Fourier Transform of the conjugate is:

    \( x^*(t) \longleftrightarrow X^*(-j\omega) \)

    For real signals, this gives conjugate symmetry:

    \( X(j\omega) = X^*(-j\omega) \Rightarrow |X(j\omega)| = |X(-j\omega)| \)

  • Parseval’s Theorem

  • Total energy in time equals total energy in frequency:

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

  • Time Reversal

  • Reversing the time signal flips the frequency axis:

    \( \mathcal{F}\{x(-t)\} = X(-j\omega) \)


    Properties of Discrete-Time Fourier Transform (DTFT)

  • Linearity

  • \( \mathcal{F}\{a_1 x_1[n] + a_2 x_2[n]\} = a_1 X_1(e^{j\omega}) + a_2 X_2(e^{j\omega}) \)

  • Time Shifting

  • \( \mathcal{F}\{x[n - n_0]\} = e^{-j\omega n_0} X(e^{j\omega}) \) – shifts introduce linear phase.

  • Frequency Shifting

  • \( \mathcal{F}\{x[n] e^{j\omega_0 n}\} = X(e^{j(\omega - \omega_0)}) \) – shifts in frequency domain.

  • Convolution

  • Time-domain convolution ↔ frequency-domain multiplication:

    \( \mathcal{F}\{x_1[n] * x_2[n]\} = X_1(e^{j\omega}) \cdot X_2(e^{j\omega}) \)

  • Frequency Domain Convolution

  • Multiplication in time ↔ convolution in frequency:

    \( \mathcal{F}\{x_1[n] \cdot x_2[n]\} = \frac{1}{2\pi} \int_{-\pi}^{\pi} X_1(e^{j\theta}) X_2(e^{j(\omega - \theta)}) d\theta \)

  • Symmetry

  • For Real and even \(x[n]\): \(X(e^{j\omega}) = X^*(e^{-j\omega})\), For Real and odd \(x[n]\): \(X(e^{j\omega}) = -X^*(e^{-j\omega})\)

  • Differencing

  • First difference in time: \(\mathcal{F}\{x[n]-x[n-1]\} = (1-e^{-j\omega})X(e^{j\omega})\)

  • Accumulation (Discrete Integration)

  • \(\mathcal{F}\{\sum_{k=-\infty}^n x[k]\} = \frac{X(e^{j\omega})}{1-e^{-j\omega}} + \pi X(e^{j0}) \delta(\omega)\)

  • Modulation Property

  • Multiplication by discrete cosine/sine:

    \(\mathcal{F}\{x[n]\cos(\omega_0 n)\} = \frac12[X(e^{j(\omega-\omega_0)}) + X(e^{j(\omega+\omega_0)})]\)

    \(\mathcal{F}\{x[n]\sin(\omega_0 n)\} = \frac{1}{2j}[X(e^{j(\omega-\omega_0)}) - X(e^{j(\omega+\omega_0)})]\)

  • Complex Conjugate Symmetry

  • For real \(x[n]\): \(X(e^{j\omega}) = X^*(e^{-j\omega})\) and \(|X(e^{j\omega})| = |X(e^{-j\omega})|\)

  • Parseval’s Theorem

  • \(\sum_{n=-\infty}^{\infty}|x[n]|^2 = \frac{1}{2\pi}\int_{-\pi}^{\pi}|X(e^{j\omega})|^2 d\omega\)

  • Time Reversal

  • \(\mathcal{F}\{x[-n]\} = X(e^{-j\omega})\)

  • Periodicity

  • DTFT is periodic with period \(2\pi\): \(X(e^{j\omega}) = X(e^{j(\omega+2\pi)})\)


    Fourier Transform of Some Common Signals (CTFT)

    • Fourier Transform of a Delta Function

      \( \delta(t) = \begin{cases} \infty & t = 0 \\ 0 & t \neq 0 \end{cases} \quad \text{(informal definition)} \)

      \( \int_{-\infty}^{+\infty} \delta(t)\, dt = 1 \)

      Thus Fourier transform of a delta/impulse is a constant equal to 1, independent of frequency:

      \( \mathcal{F}\{\delta(t)\} = 1 \)

      Dirac Delta Function

      Fig 1: Dirac Delta Function

      Fourier Transform of a Delta Function

      Fig 2: Fourier Transform of a Delta Function
    • Fourier Transform of a Unit Step Function

      u(t) = 0 for \( t < 0 \), and u(t) = 1 for \( t \ge 0 \)

      Its Fourier transform is given by:

      \( \mathcal{F}\{u(t)\} = \pi\delta(\omega) + \left(\frac{1}{j\omega}\right) \)

      Fourier Transform of a Unit Step Function

      Unit Step Function

      Fig 3: Unit Step Function
    • Fourier Transform of a Unit Pulse Function

      A pulse function can be represented as:

      \( x(t) = \Pi(t) = u(t + 1/2) - u(t - 1/2) \)

      For the rectangular pulse \( \text{rect}(t) = \Pi(t) \) defined as 1 for \( |t| \leq 1/2 \), and 0 otherwise:

      The Fourier transform of \( \text{rect}(t/\tau) \) is:

      \( \mathcal{F}\{\text{rect}(t/\tau)\} = \tau \frac{\sin(\omega \tau / 2)}{\omega \tau / 2} \)

      For \( \tau = 1 \),

      \( X(\omega) = \frac{\sin(\omega/2)}{\omega/2} = \text{sinc}(\omega/2) \)

      Unit Pulse

      Fig 4: Unit Pulse / Rectangular Pulse

      Fourier Transform of Rectangular Pulse

      Fig 5: Fourier Transform of the Continuous-Time Rectangular Pulse Π(t)
    • Fourier Transform of a Unit Triangle Pulse

      A unit triangle pulse is the convolution of a unit pulse with itself:

      \( \Lambda(t) = \Pi(t) * \Pi(t) \)

      \( \mathcal{F}\{\Lambda(t)\} = \text{sinc}^2(\omega/2) \)

      Unit Triangle Pulse

      Fig 6: Unit Triangle Pulse

      Fourier Transform of Unit Triangle Pulse

      Fig 7: Fourier Transform of the Continuous-Time Unit Triangle Pulse Λ(t)

    Common Discrete-Time Signals and their DTFT

    Note: DTFT is periodic with period \(2\pi\).

    • Unit Impulse Sequence

      Signal: \( x[n] = \delta[n] \)

      DTFT: \( X(e^{j\omega}) = 1 \)

      DTFT of Unit Impulse

      Fig 8: DTFT of the Discrete-Time Unit Impulse \(\delta[n]\)
    • Unit Step Sequence

      Signal: \( x[n] = u[n] \)

      DTFT: \( X(e^{j\omega}) = \pi \delta(\omega) + \left(\dfrac{1}{1 - e^{-j\omega}}\right) \)

      DTFT of Unit Step

      Fig 9: DTFT of the Discrete-Time Unit Step u[n]
    • Discrete-Time Sinusoid

      Signal: \( x[n] = \cos(\omega_0 n) \) or \( x[n] = \sin(\omega_0 n) \)

      DTFT: \( X(e^{j\omega}) = \pi \left[\delta(\omega - \omega_0) + \delta(\omega + \omega_0)\right] \)

      DTFT of Sinusoid

      Fig 10: DTFT of the Discrete-Time Sinusoid
    • Finite-Length Rectangular Pulse

      Signal (length \(N\), starting at \(n=0\)):

      \( x[n] = \begin{cases} 1, & 0 \le n \le N-1 \\ 0, & \text{otherwise} \end{cases} \)

      DTFT:

      \( X(e^{j\omega}) = e^{-j\omega\frac{N-1}{2}} \cdot \frac{\sin\left(\frac{N\omega}{2}\right)}{\sin\left(\frac{\omega}{2}\right)} \)

      Starting at \(n=n_0\) gives:

      \( X_{\text{shifted}}(e^{j\omega}) = e^{-j\omega n_0} \cdot e^{-j\omega\frac{N-1}{2}} \cdot \frac{\sin\left(\frac{N\omega}{2}\right)}{\sin\left(\frac{\omega}{2}\right)} \)

      DTFT of Finite-Length Rectangular Pulse

      Fig 11: DTFT of the Discrete-Time Finite-Length Rectangular Pulse

    Applications

    Fourier transform is used in circuit analysis, signal analysis, cell phones, image analysis, signal processing, and LTI systems. The Fourier transform is most probably the best tool to find the frequency in an entire field. This makes it a useful tool for LTI systems and signal processing. Partial differential equations reduce to ordinary differential equations in Fourier Transform.

    People are good at skipping over material they already know!

    View Related Topics to







    Contact Us

    Name

    Email *

    Message *

    Popular Posts

    MATLAB Codes for Various types of beamforming | Beam Steering, Digital...

    📘 How Beamforming Improves SNR 🧮 MATLAB Code 📚 Further Reading 📂 Other Topics on Beamforming in MATLAB ... MIMO / Massive MIMO Beamforming Techniques Beamforming Techniques MATLAB Codes for Beamforming... How Beamforming Improves SNR The mathematical [↗] and theoretical aspects of beamforming [↗] have already been covered. We'll talk about coding in MATLAB in this tutorial so that you may generate results for different beamforming approaches. Let's go right to the content of the article. In analog beamforming, certain codebooks are employed on the TX and RX sides to select the best beam pairs. Because of their beamforming gains, communication created through the strongest beams from both the TX and RX side enhances spectrum efficiency. Additionally, beamforming gain directly impacts SNR improvement. Wireless communication system capacity = bandwidth*log2(1+SNR)...

    MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...(with Online Simulator)

    🧮 MATLAB Code for BPSK, M-ary PSK, and M-ary QAM Together 🧮 MATLAB Code for M-ary QAM 🧮 MATLAB Code for M-ary PSK 📚 Further Reading MATLAB Script for BER vs. SNR for M-QAM, M-PSK, QPSK, BPSK % Written by Salim Wireless clc; clear; close all; num_symbols = 1e5; snr_db = -20:2:20; psk_orders = [2, 4, 8, 16, 32]; qam_orders = [4, 16, 64, 256]; ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); for i = 1:length(psk_orders) psk_order = psk_orders(i); for j = 1:length(snr_db) data_symbols = randi([0, psk_order-1], 1, num_symbols); modulated_signal = pskmod(data_symbols, psk_order, pi/psk_order); received_signal = awgn(modulated_signal, snr_db(j), 'measured'); demodulated_symbols = pskdemod(received_signal, psk_order, pi/psk_order); ber_psk_results(i, j) = sum(data_symbols ~= demodulated_symbols) / num_symbols; end end for i...

    Amplitude, Frequency, and Phase Modulation Techniques (AM, FM, and PM)

    📘 Overview 🧮 Amplitude Modulation (AM) 🧮 Online Amplitude Modulation Simulator 🧮 MATLAB Code for AM 🧮 Q & A and Summary 📚 Further Reading Amplitude Modulation (AM): The carrier signal's amplitude varies linearly with the amplitude of the message signal. An AM wave may thus be described, in the most general form, as a function of time as follows .                       When performing amplitude modulation (AM) with a carrier frequency of 100 Hz and a message frequency of 10 Hz, the resulting peak frequencies are as follows: 90 Hz (100 - 10 Hz), 100 Hz, and 110 Hz (100 + 10 Hz). Figure: Frequency Spectrums of AM Signal (Lower Sideband, Carrier, and Upper Sideband) A low-frequency message signal is modulated with a high-frequency carrier wave using a local oscillator to make communication possible. DSB, SSB, and VSB are common amplitude modulation techniques. We find a lot of bandwi...

    Analog vs Digital Modulation Techniques | Advantages of Digital ...

    Modulation Techniques Analog vs Digital Modulation Techniques... In the previous article, we've talked about the need for modulation and we've also talked about analog & digital modulations briefly. In this article, we'll discuss the main difference between analog and digital modulation in the case of digital modulation it takes a digital signal for modulation whereas analog modulator takes an analog signal.  Advantages of Digital Modulation over Analog Modulation Digital Modulation Techniques are Bandwidth efficient Its have good resistance against noise It can easily multiple various types of audio, voice signal As it is good noise resistant so we can expect good signal strength So, it leads high signal-to-noise ratio (SNR) Alternatively, it provides a high data rate or throughput Digital Modulation Techniques have better swathing capability as compared to Analog Modulation Techniques  The digital system provides better security than the a...

    Shannon Limit Explained: Negative SNR, Eb/No and Channel Capacity

    Understanding Negative SNR and the Shannon Limit Understanding Negative SNR and the Shannon Limit An explanation of Signal-to-Noise Ratio (SNR), its behavior in decibels, and how Shannon's theorem defines the ultimate communication limit. Signal-to-Noise Ratio in Shannon’s Equation In Shannon's equation, the Signal-to-Noise Ratio (SNR) is defined as the signal power divided by the noise power: SNR = S / N Since both signal power and noise power are physical quantities, neither can be negative. Therefore, the SNR itself is always a positive number. However, engineers often express SNR in decibels: SNR(dB) When SNR = 1, the logarithmic value becomes: SNR(dB) = 0 When the noise power exceeds the signal power (SNR < 1), the decibel representation becomes negative. Behavior of Shannon's Capacity Equation Shannon’s channel capacity formula is: C = B log₂(1 + SNR) For SNR = 0: log₂(1 + SNR) = 0 When SNR becomes smaller (in...

    BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...(MATLAB Code + Simulator)

    📘 Overview of BER and SNR 🧮 Online Simulator for BER calculation of m-ary QAM and m-ary PSK 🧮 MATLAB Code for BER calculation of M-ary QAM, M-ary PSK, QPSK, BPSK, ... 📚 Further Reading 📂 View Other Topics on M-ary QAM, M-ary PSK, QPSK ... 🧮 Online Simulator for Constellation Diagram of m-ary QAM 🧮 Online Simulator for Constellation Diagram of m-ary PSK 🧮 MATLAB Code for BER calculation of ASK, FSK, and PSK 🧮 MATLAB Code for BER calculation of Alamouti Scheme 🧮 Different approaches to calculate BER vs SNR What is Bit Error Rate (BER)? The abbreviation BER stands for Bit Error Rate, which indicates how many corrupted bits are received (after the demodulation process) compared to the total number of bits sent in a communication process. BER = (number of bits received in error) / (total number of tran...

    MATLAB Code for Pulse Width Modulation (PWM) and Demodulation

    📘 Overview & Theory 🧮 MATLAB Code for Pulse Width Modulation and Demodulation 🧮 Generating a PWM Signal in detail 🧮 Other Pulse Modulation Techniques (e.g., PWM, PPM, DM, and PCM) 🧮 Simulation results for comparison of PAM, PWM, PPM, DM, and PCM 📚 Further Reading   MATLAB Code for Analog Pulse Width Modulation (PWM) clc; clear all; close all; fs=30; %frequency of the sawtooth signal fm=3; %frequency of the message signal sampling_frequency = 10e3; a=0.5; % amplitide t=0:(1/sampling_frequency):1; %sampling rate of 10kHz sawtooth=2*a.*sawtooth(2*pi*fs*t); %generating a sawtooth wave subplot(4,1,1); plot(t,sawtooth); % plotting the sawtooth wave title('Comparator Wave'); msg=a.*sin(2*pi*fm*t); %generating message wave subplot(4,1,2); plot(t,msg); %plotting the sine message wave title('Message Signal'); for i=1:length(sawtooth) if (msg(i)>=sawtooth(i)) pwm(i)=1; %is message signal amplitude at i th sample is greater than ...

    Online Simulator for ASK, FSK, and PSK

    Try our new Digital Signal Processing Simulator!   Start Simulator for binary ASK Modulation Message Bits (e.g. 1,0,1,0) Carrier Frequency (Hz) Sampling Frequency (Hz) Run Simulation Simulator for binary FSK Modulation Input Bits (e.g. 1,0,1,0) Freq for '1' (Hz) Freq for '0' (Hz) Sampling Rate (Hz) Visualize FSK Signal Simulator for BPSK Modulation ...