This question already has an answer here:

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})$$


marked as duplicate by Matt L., Marcus Müller, MBaz, Peter K. Nov 25 '18 at 18:27

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • $\begingroup$ 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. $\endgroup$ – robert bristow-johnson Dec 17 '18 at 2:14


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)$$


$$ \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})$$


# 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)
        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))

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)')

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)

Not the answer you're looking for? Browse other questions tagged or ask your own question.