# dft shifting theorem

## Table of Contents

DFT shifting theorem makes a statement about phase shift.

If \(g[n] = f[n - x mod N]\) where x is a integer number of samples and N is the total length of the signal, then

Since \(g\) is the circular shift of \(f\), this has implications in the proof for the convolution theorem.

The fraction \(\frac{m}{N}\) is essentially the frequency of the FFT,
which is related to the periodicity of the sequence. In python, this
can be computed with `np.fft.fftfreq(len(f))`

. Don't divide by \(N\) again
though, numpy does this internally. Actually, a simple arange will
work just as well because of the modular nature of the root of unity,
however getting a hermitian sequence is convenient.

## 1. Corollary about magnitude

If a signal is circularly shifted, magnitude of DFT spectrum is unchanged.

## 2. Proof

We'll begin with a signal, \(x[n]\) and the signal shifted by d samples, \(x[n - d]\). Also, for simplicity and because it's not relevant, let \(f\) be the frequency of the DFT, or \(\frac{m}{N}\) Now, the DFT of the shifted signal is

Now, let \(k = n - d\), and thus also \(n = (k + d)\). The lower bound of \(n=0\) becomes \(k = 0 - d = -d\), and the upper bound of \(N-1\) becomes \(N - 1 - d\).

This comes from the fact that since \(x\) is $N$-periodic (and so wraps around the edges), it doesn't matter where we start the summation from, it will still compute the same DFT because its still over one period of the waveform.