# How does time shift correspond to phase change in a discrete signal?

I was watching this video where the presenter remarks:

For a discrete signal, time shift corresponds to phase change in a discrete signal but not vice versa.

I was trying to figure out how this could be proved. For example, if our discrete signal is

$f[n] = A \cos(\Omega_o n + n_o)$ where $n,n_o \in Z$

If the signal undergoes a time shift $n'$, we have

$A \cos(\Omega_o (n + n') + n_o) = A \cos(\Omega_o n + \Omega_o n' + n_o)$

This would correspond to a phase shift only if $\Omega_o n'$ is an integer. But that means $\Omega_o$ needs to be an integer, which is not always the case.

What is the correct explanation here ?

If you have a signal

$$f[n]=\cos(\Omega_0n)$$

and you apply a time shift of $n_0$ you get

$$f[n+n_0]=\cos(\Omega_0(n+n_0))=\cos(\Omega_0n+\Omega_0n_0)=\cos(\Omega_0n+\phi)$$

where $\phi=\Omega_0n_0$ is the phase shift.

The other way around, if you have a phase shift of $\phi$, this is not always equivalent to a time shift of the original signal:

$$g[n]=\cos(\Omega_0n+\phi)=\cos(\Omega_0(n+\phi/\Omega_0))$$

which only corresponds to an integer time shift if $\phi/\Omega_0$ is integer, i.e. if $\phi/\Omega_0=n_0$ which results in

$$g[n]=f[n+n_0]$$

EDIT: Re-reading your question, I think that the misunderstanding lies in the fact that you believe that the phase of a discrete-time signal must be integer. This is not the case. Imagine two continuous-time signals $$x(t)=\cos(\omega_0t)\quad\textrm{and}\quad y(t)=\cos(\omega_0t+\phi),\quad\phi\in\mathbb{R}$$

Note that the following holds for any value of $\phi$:

$$y(t)=x(t+\phi/\omega_0)$$

So we can always express $y(t)$ as a shifted version of $x(t)$. Now imagine that we construct two discrete-time signals by sampling $x(t)$ and $y(t)$ at times $t_n=nT$ with some real-valued $T>0$:

$$f[n]=x(nT)=\cos(\omega_0nT)=\cos(\Omega_0n)\\ g[n]=y(nT)=\cos(\omega_0nT+\phi)=\cos(\Omega_0n+\phi)$$ with $\Omega_0=\omega_0T$. Note that the phase $\phi$ is of course the same as before (and for this reason not necessarily integer). The difference between the continuous-time and the discrete-time case is now that $g[n]$ cannot in general be obtained from $f[n]$ by time-shifting because we can only shift by integers. The condition under which $g[n]$ can be obtained by shifting $f[n]$ is if $\phi/\Omega_0$ is integer because then we can write

$$g[n]=\cos(\Omega_0(n+\phi/\Omega_0))=f[n+\phi/\Omega_0]=f[n+n_0],\quad n_0\in\mathbb{Z}$$

• I understand all of this. For a discrete signal, the phase is an integer. How can we be sure that $\phi = \Omega_o n_o$ is an integer ? – curryage Apr 23 '14 at 8:52
• @curryage That's exactly the point. You can't be sure, that's why an arbitrary phase shift does not in general correspond to a time shift of the signal, unlike with time-continuous signals. – Matt L. Apr 23 '14 at 8:55
• I am confused. My previous comment was referring to the first part of your answer where you supposedly show how a time shift corresponds to a phase shift. But the computed phase is not necessarily an integer,as it must be for discrete signals. I understand the second part of your answer which shows an arbitrary phase shift does not, in general, correspond to a time shift. – curryage Apr 23 '14 at 9:14
• @curryage I think the problem is that you think $\phi$ is an integer. In general it isn't. Note that $\Omega_0$ and $\phi$ are just real number, whereas $n$ and $n_0$ are integers. – Matt L. Apr 23 '14 at 9:17
• @David Your remark on the linear phase is not true. Consider a symmetric (linear phase) FIR filter with an even number of coefficients. Despite the exact linear phase the filter's delay is non-integer (it is $(N-1)/2$). – Matt L. Apr 23 '14 at 13:32