From Continuous- to Discrete-Time Fourier Transform by Sampling Method

The purpose of this Demonstration is to show the relation between the continuous-time Fourier transform (CTFT) of a signal and the corresponding discrete-time Fourier transform (DTFT) of the signal generated from ) by sampling.
This Demonstration also illustrates the use of different algorithms to reconstruct from .
The time domain signal consists of two harmonics. You can vary the amplitude and the frequency of each harmonic as well as the sampling frequency, the duration of , and the delay time. The magnitude and the phase spectra of and of are also displayed. A number of plotting options are available to help analyze the results generated.
It is observed that if the CTFT is an aperiodic and continuous function, the DTFT is a continuous function, periodic in . The maximum frequency present in the DTFT is in radians (or in cycles). In addition, there is a scaling effect: the magnitude spectrum of is smaller than the magnitude spectrum of , where is the sampling period. The units of the DTFT are radians, while the units of the CTFT are in radians per second.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


The CTFT of a continuous time signal is defined as , where is in radians per second. The DTFT of a discrete signal is defined as , where is in radians. In Mathematica, the built-in function FourierTransform implements the CTFT and the function FourierSequenceTransform implements the DTFT.
In this Demonstration, a signal made up of two harmonics is used to analyze the process of sampling and generating the DTFT. The signal is given by , where is the frequency of each harmonic in cycles per second (Hz), is the amplitude of each harmonic in units appropriate to the nature of the signal (such as volts), and is the delay in seconds. The signal is of limited duration, which you can vary. Since is time-limited, its spectrum will not be band-limited. In practice, this is handled by passing the signal through an antialiasing filter before sampling it. This filter has not been implemented in this Demonstration, thus some aliasing will be present even if the sampling frequency is greater than the Nyquist frequency. For the purposes of this Demonstration, it was not necessary to implement an antialiasing filter before sampling.
To reconstruct the time domain signal from the discrete time signal, one of the following algorithms can be selected: sinc interpolation, staircase interpolation, or spline interpolation (of order up to four). It was found that to obtain good reconstruction using the staircase and spline algorithms, the sampling frequency needs to be much higher than the Nyquist frequency.
You can vary the axis plot range to see more details in the plot. Other plotting options are available to allow the change of units of the spectrum from Hz to radians and to superimpose the samples and the reconstructed signal on top of the original signal . This will show the effect of sampling.
To reduce the signal to one harmonic only, you can set the amplitude of the other harmonic to zero. For a constant (DC) signal , you can set the frequencies of both harmonics to zero.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2018 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+