DSPRelated.com

Discrete-Time Signals

Sequences, shifts, and building blocks

In the sampling lesson, you learned to convert a continuous signal into a sequence of numbers: x[n] = x(n · Ts). But from now on, forget the continuous signal. The sequence x[n] is all that exists.

A discrete-time signal is just a list of numbers, indexed by integers. It doesn't have to come from sampling a continuous signal. It could be stock prices, sensor readings, pixel values, or anything else that forms an ordered sequence. The math is the same.

Before we can build systems that process these signals, we need a toolkit: ways to manipulate sequences, and two fundamental building blocks that make everything else possible.

Operations on Sequences

Discrete-time signals support a handful of basic operations. Every signal processing algorithm is built from these:

  • Shift: x[n - k] delays the signal by k samples. Every value moves k positions to the right. x[n + k] advances it by k positions.
  • Scale: a · x[n] multiplies every sample by a constant. The shape stays the same; only the height changes.
  • Add: x[n] + y[n] adds two signals sample by sample. This is how you mix or superimpose signals.
  • Flip: x[-n] reverses the signal in time. The sample at n = 1 moves to n = -1, and vice versa. This operation appears in convolution.
Try it: The gray stems show the original signal. The blue stems show the result after the selected operation. Try "Shift right by 3" and watch every sample move 3 positions to the right. Try "Flip" and see the signal reverse around n = 0. These are the same operations you'll use in convolution.

The Unit Impulse: δ[n]

The simplest possible signal has a single non-zero sample:

δ[n] = 1 if n = 0,    0 otherwise

That's it. A spike of height 1 at time zero, silence everywhere else. It looks trivial, but it turns out to be the most important signal in DSP.

Why? Because any discrete signal can be written as a sum of shifted, scaled impulses. For example, x[n] = [2, 5, 1] (at n = 0, 1, 2) is:

x[n] = 2·δ[n] + 5·δ[n - 1] + 1·δ[n - 2]

Each sample becomes a weight on a shifted impulse. This isn't just notation; it's the idea that makes LTI systems analyzable. If you know what a system does to a single impulse, linearity and time-invariance tell you what it does to any input.

Key Insight: Any signal is a recipe: a list of weights telling you how much of each shifted impulse to include. This decomposition is what makes convolution possible.

The Unit Step: u[n]

The other fundamental building block is the unit step:

u[n] = 1 if n ≥ 0,    0 if n < 0

It's zero for all negative time, then switches on to 1 and stays there forever. Think of it as flipping a switch at n = 0.

The impulse and step are intimately related:

  • δ[n] = u[n] - u[n - 1]    (the impulse is the first difference of the step)
  • u[n] = ∑k=-∞n δ[k]    (the step is the running sum of the impulse)

These two signals play the same role in discrete-time DSP that the Dirac delta and the Heaviside step play in continuous-time theory.

Impulse Decomposition

Let's see the decomposition in action. Any signal x[n] can be expressed as:

x[n] = ∑k x[k] · δ[n - k]

Each term x[k] · δ[n - k] is a copy of the impulse shifted to time k and scaled by the signal's value at k. The sum of all these weighted impulses reconstructs the original signal exactly.

Try it: The signal x[n] = [1, 3, 2, 4, 1] is shown as blue stems. The orange stems show the individual impulse components. Use the slider to highlight each component k separately: at k = 0, you see 1·δ[n]; at k = 1, you see 3·δ[n - 1]; and so on. Set to "all" to see them stacked together, reconstructing x[n].
Key Insight: This decomposition is the bridge to LTI systems. In the next lesson, you'll learn that if a system is linear and time-invariant, its response to x[k]·δ[n - k] is just x[k]·h[n - k], where h[n] is the impulse response. Sum them all up and you get convolution.

Frequently Asked Questions

Why do we need special building-block signals like &delta;[n] and u[n]?

They play the same role as basis vectors in linear algebra. Just as any vector can be written as a combination of unit vectors, any discrete signal can be written as a combination of shifted impulses. This decomposition is the key to analyzing LTI systems: if you know what a system does to δ[n], you know what it does to everything.

What does "discrete-time" mean, and how is it different from "digital"?

Discrete-time means the signal is defined only at integer time indices n = ..., -1, 0, 1, 2, ... The values x[n] can be any real number. A digital signal is both discrete in time AND quantized in amplitude (values restricted to a finite set). DSP theory works with discrete-time signals; quantization is a separate engineering concern.

Is x[-n] the same signal as x[n]?

No. x[-n] is x[n] reflected (flipped) around n = 0. If x[n] = [1, 2, 3] for n = 0, 1, 2, then x[-n] = [3, 2, 1] for n = -2, -1, 0. Time reversal appears in convolution, where you flip the impulse response before sliding it across the input.

Quick Check

Test your understanding of the key concepts from this lesson.