# Proving DSP Sampling Theorem [duplicate]

Schaum's Outline, Digital Signal Processing, Second edition, 2012, page 101:

Prove that:

$$X(e^{j\omega}) = \frac{1}{T_s}\sum_{k=-\infty}^{\infty}X(j\frac{\omega}{T_s}-j\frac{2\pi k}{T_s})$$

• this is not the same as that question and answer relating the DTFT to the CTFT of the ideally sampled analog input. the question above is why the analog spectrum is repeated in the DTFT. Commented Dec 17, 2018 at 2:14

Solution

Impulse train, s(t), of period Ts is used to sample signal x(t):

$$s(t) = \sum_{n=\infty}^{\infty}\delta(t-nT_s)$$

And the sampled signal is: $$x_s(t) = x(t)s(t)$$

Converting s(t) to frequency domain: $$F\{s(t)\}= F\{\sum_{n=\infty}^{\infty}\delta(t-nT_s)\}$$

$$S(j\Omega)= \Omega_s \sum_{n=\infty}^{\infty}\delta(\Omega-n\Omega_s)$$

Where:

$$\Omega_s = \frac{2\pi}{T_s}$$

$$T_s = \frac{\Omega_s}{2\pi}$$

Now we convert the sampled signal to frequency domain:

\begin{aligned} F\{x_s(t)\} &= F\{\ x(t)\ s(t)\ \} \\ \\ X_s(j\Omega) &= \frac{1}{2\pi}\ \left[\ X(j\Omega)*S(j\Omega)\ \right] \\ \\ X_s(j\Omega) &= \frac{1}{2\pi}\ \left[X(j\Omega)*\Omega_s \sum_{n=-\infty}^{\infty}\delta(\Omega-n\Omega_s)\right] \\ \\ X_s(j\Omega) &= \frac{\Omega_s}{2\pi}\ \left[X(j\Omega)* \sum_{n=-\infty}^{\infty}\delta(\Omega-n\Omega_s)\right] \\ \\ X_s(j\Omega) &= \frac{1}{T_s}\ X\left(j\Omega-jn \Omega_s\right) \\ \\ X_s(j\Omega) &= \frac{1}{T_s}\ X\left(j\Omega- \frac{j 2 \pi n}{T_s} \right) \\ \end{aligned}

Discrete-Time Fourier to Continuous-Time Fourier relationship:

$$x[n] = x(t=T_s n)$$

Take Fourier transform with respect to n to both side

$$F_n \{ \text{ } x[n] \text{ } \} = F_n\{ \text{ } x(n T_s) \text{ } \}$$ $$X(e^{j\omega}) = \frac{1}{T_s} X\left(\frac{j\Omega}{T_s}\right)$$

Comparing $$X_s(j\Omega)$$ to $$X(e^{j \omega })$$, we see that $$X_s(j \Omega)$$ is a frequency-scaled version of $$X(e^{j \omega})$$ with the scaling defined by $$\Omega=\omega/T_s$$. The scaling that makes: $$X(e^{j\omega})$$ periodic with a period of: $$2\pi$$ is a consequence of the timing scaling that occurs when $$x_s(t)$$ is converted to $$x[n]$$

$$X(e^{j \omega})=\left.X_s(j\Omega)\right|_{\Omega=\omega/T_s} = \frac{1}{T_s}\ X\left(\frac{j\omega}{T_s}-\frac{jn\omega_s}{T_s}\right)$$

Properties Needed:

Property 1 $$F\{f_1(t)f_2(t)\} = \frac{1}{2\pi}[ F_1(j\Omega) * F_2(j\Omega)]$$

Property 2

$$F\left\{\sum_{n=-\infty}^{\infty} \delta(t-nT)\right\} = \Omega_s \sum_{n=-\infty}^{\infty}\delta(j\Omega - jn\Omega_s)$$ $$\text{ }Where: \Omega_s=\frac{2\pi}{T}$$

Property 3

$$a\text{ }(f_1(x)*f_2(x)\text{ } )=f_1(x)*af_2(x)=af_1(x)*f_2(x)$$

Property 4

$$f(x)*\delta(x-a) = f(x-a)$$

Property 5: scaling

$$F\{ f(at) \} = \frac{1}{|a|} F(\frac{j\Omega}{a})$$

Graphs

# From Jupyter Notebook
%matplotlib inline
from numpy import *
from matplotlib.pyplot import *

def FourierSigCT(omega, omega_o=2.5):
#   this Function "emulates" the spectrum of
#   a fourier transformed CT signal with max frequency
#   at +/- omega_o.
#   Its created by taking a snipplet of a Cosine
#   between -pi/2 and pi/2, and scaling it to
#   the cutoff frequency in width..
cutoff=(pi/2) / omega_o
if ((omega < omega_o) and (omega > -omega_o)):
return cos(omega*cutoff)
else:
return 0

def FourierSigSampled(omega_o, omega_s):
t = arange(-10, 10, 0.01)
n = arange(-5, 5, 1)
Ts = 2*pi / omega_s
y = zeros(len(t))
for j in range(0,len(n)):
for i in range(0,len(t)):
y[i] = y[i] + (1/Ts)*FourierSigCT(t[i] - n[j]*omega_s, omega_o=omega_o)
title("omega_o=%g  omega_s=%g" %(omega_o, omega_s))
plot(t,y,'.')

t = arange(-3*pi, 3*pi, 0.1)
y = zeros(len(t))

for i in range(0,len(t)):
y[i] = FourierSigCT(t[i])
title('X(j Omega)')
plot(t,y,'.')

FourierSigSampled(omega_o=2.5, omega_s=2.5*2)
FourierSigSampled(omega_o=2.5, omega_s=2.5*1.5)
FourierSigSampled(omega_o=2.5, omega_s=2.5*3)