How to Shift a Signal in Time Domain

Discover the techniques that can shift a signal in time.

We'll cover the following

When learning DSP, it’s important to know how to shift a signal in time. This is an important part of all DSP operations.

  • Some applications require signals to be shifted by a processor. For example, a signal needs to be aligned with the output of another signal processing chain.
  • In some other applications, we encounter a signal shifted in time by nature. For example, a localization receiver attempts to estimate the time shift of the received signal to compute its range from the transmitter.
  • In almost all DSP operations, like filtering, a signal needs to be shifted in time to compute the output response of the system.

The logic

For a discrete-time signal x[n]x[n], its delayed version by mm units is denoted by x[nm]x[n-m]. Taking the time nn as the present moment, we need to go mm samples in the past on the time axis.

On the other hand, its advanced version by mm units is denoted by x[n+m]x[n+m]. Taking the time nn as the present moment, we need to go mm samples into the future on the time axis.

In both cases, our focus should be on the time axis. An example of a delay and advance by 1 unit of time is plotted in the figure below. It’s clear that the time axis is pulled back by 1 unit in the second subfigure while it’s advanced by 1 unit in the third subfigure. If this sounds confusing, check the time index n=0n=0 in all subfigures.

Get hands-on with 1400+ tech skills courses.