When you periodically measure the value of some quantity, you’re sampling. Each one of your measurements is referred to as a sample. Discrete signals are simply lists of samples, and are usually generated by sampling real-world continuous signals.1 As an example, let’s think about the process of sampling the altitude of a plane over the course of a two hour long flight. In the following animation, we’ll generate a discrete signal by sampling the plane’s altitude every ten minutes.

Figure 1.  Sampling the Altitude of a Plane During a Two Hour Long Flight

Each of the blue dots in Figure 1 is a sample. Instead of plotting our samples on a two-dimensional image, we might instead choose to represent our signal using a more conventional pen-and-paper type notation. In other words, we can represent our discrete signal as a simple list of numbers,2

altitude = [291, 6000, 15000, 20000, 35000, 32000, 31000, 31000, 27000, 12000, 3500, 1200, 122]

We can refer to a particular sample by index. For example, altitude[4] is 35,000 and altitude[8] is 27,000. Note that the indexes start from zero. The first sample is at index 0, the second sample is at index 1, the third at index 2, and so on.

1. It's also possible to construct a discrete signal by sampling another discrete signal. This process is referred to as re-sampling. Discrete signals may also be constructed or synthesized. Really, a discrete signal is just a list of numbers. Write down any list of numbers and you've successfully created a discrete signal.

2. If you’re familiar with computer programming, you’ll notice the similarity with arrays and lists. If it's handy for you to think of discrete signals as arrays or lists, go for it.

If we want to know when a particular sample was taken, we need an extra bit of information known as the sampling period. The sampling period is the duration in-between consecutive samples. Recall that our samples were created by measuring the plane’s altitude every ten minutes. This means that our sampling period is 10 minutes. If you’re more mathematically inclined, you can choose to write it like this (read as, “ten minutes per sample”).

sampling period = 10 minutes / 1 sample

Once we know the sampling period, it’s possible to figure out the time when a particular sample was taken by multiplying its index by the sampling period:

time of third sample = 2 × 10 minutes / 1 sample = 20 minutes

It’s very important to note that proper interpretation of a discrete signal requires context. We need to know the sampling period in order to make sense of the values. Without knowledge of the sampling period, the values are more or less meaningless.

You might have noticed that we lost an important piece of information about the flight by choosing to sample the plane’s altitude every ten minutes. Replay the animation in Figure 1 and notice that between 60 and 70 minutes into the flight the plane makes a rapid descent before returning to its cruising altitude. This is the most interesting and anomalous part of the flight (perhaps the pilot was forced to take evasive action due to bad weather), but we have absolutely no record of this in our discrete signal. Our sampling period was poorly chosen, and as a result, we’ve irrevocably lost valuable information.

If a discrete signal is meant to represent some physical phenomenon we must think carefully about our choice of sampling period to ensure that the discrete representation is faithful. A large part of signal processing theory is concerned with the proper determination of sampling period. In the next section, we’ll look a bit more closely at the sampling period and the further consequences of sampling too infrequently.