Proving DSP Sampling Theorem
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)\} &amp;= F\{\ x(t)\ s(t)\ \} \\
\\
X_s(j\Omega) &amp;= \frac{1}{2\pi}\ \left[\ X(j\Omega)*S(j\Omega)\ \right] \\
\\
X_s(j\Omega) &amp;= \frac{1}{2\pi}\ \left[X(j\Omega)*\Omega_s \sum_{n=-\infty}^{\infty}\delta(\Omega-n\Omega_s)\right] \\
\\
X_s(j\Omega) &amp;=  \frac{\Omega_s}{2\pi}\ \left[X(j\Omega)* \sum_{n=-\infty}^{\infty}\delta(\Omega-n\Omega_s)\right] \\
\\
X_s(j\Omega) &amp;= \frac{1}{T_s}\ X\left(j\Omega-jn \Omega_s\right) \\
\\
X_s(j\Omega) &amp;= \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 &lt; omega_o) and (omega &gt; -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)