2

Suppose I have a discrete time signal x[n]. It is said that x[n-k], where K>0, is a delayed version of x[n]. I am trying to understand this intuitively. My observation is in the signal I am subtracting time in x[n-k], by k units. Means I am doing some thing 'quickly' as compared to x[n]. So why do we call it delay instead advance?

gpuguy
  • 631
  • 1
    If you let $y_n = x_{n-k}$, then the value of $y_n$ corresponds to the $x$ value at time $n-k$, which is before $n$ (assuming that $k>0$). – copper.hat Feb 12 '13 at 05:51

4 Answers4

2

I hope the given answer is not satisfactory since delay means shift rightwards on time scale. But according to the explanation it's appearing at left of the x[n] sample. You just see like: n-k=0. i.e. n=k means the initiation time for signal. Practically you think the time when your class (for a student) starts as t=0 time and just assume you reached 10 minutes late. So it's 10 minutes delay on time scale. So for you the class initiation time (t=0) is t=10 or t-10=0. I hope so you understood the concept.

Abhinav
  • 21
2

This resource has some great depictions of a time-advanced signal (ie left-shifted) as well as a time-delayed signal (ie right-shifted).

https://www.allaboutcircuits.com/technical-articles/basic-signal-operations-in-dsp-time-shifting-time-scaling-and-time-reversal/

The convention in signal processing appears to be inverted from the standard mathematical convention of y(x) ==> y(x-k) where k > 0 is used for right shifting a general function. Apparently in the realm of signals (discrete or otherwise) the reality of being in the time-domain, of being time-domain entities, using positive offsets to denote time advancing behavior is more important. Under this convention a signal value happens sooner/earlier in time, and that takes precedence.

This makes some degree of mnemonical sense if you focus on time itself. Specifically with the delayed behavior adopting a negative value to delay or retard a signal, to push it out in time, to move further back in time. In this case think negative/decrease/slow-down, these all appear to be in near conceptual proximity of each other don't you agree?

Likewise in adopting a positive value to denote the advancing, or speeding up of a signal, for a signal value to happen faster/sooner.

The positive case on its own may be less clear than the negative case, since speeding up is ambiguous with respect to time compression where time is scaled/frequency increases. However it becomes very clear when paired alongside the negative case I think.

In a nutshell: positive advance, negative delay. Those appear to be the preferential conventions in signal processing.

jxramos
  • 281
0

It is not an advance. You are subtracting k units from n. So if you where just calculating $x[n]$, you will be $k$ units ahead of the calculation of $x[n-k]$.

If $k = 5, n = 10$: $$ \begin{align*} &x[n] = x[10] \\ &x[n-k] = x[10-5] = x[5] \end{align*} $$

So the calculation for $x[n-k]$ lags $x[n]$ by $k = 5$ time units

dzop
  • 1
0

It's far more of a conventional thing than a logical thing. (similar to how it's said that electricity flows from positive to negative cause that's easier to imagine.)

If you think of time as a river that's constantly flowing, if you want to slow it down/ delay it, you'll have to push it back and resist the flow. And if you want to speed it up or advance it, you'll have to push it forward to speed up the flow. So intuitively it makes sense to say to delay time you'll subtract, and to advance time you add. But in practice it's actually backwards, which get's a bit confusing when learning it.

Tldr: Conventionally it's - to delay and + to advance, cause it's easier to visualize it that way.

Ruko
  • 1