Skip to main content

Impulse train sampling and reconstruction

Short answer

Impulse train sampling multiplies the signal by a periodic impulse train, producing impulse-weighted samples. Reconstruction passes these samples through an ideal low-pass filter with gain T and cutoff between ω_m and ω_s−ω_m, provided ω_s > 2ω_m; in time domain this corresponds to sinc interpolation of the sample values.

What is impulse train sampling? How do you reconstruct original signal from its sample?

Impulse train sampling

Impulse train (ideal) sampling multiplies the continuous signal x(t)x(t) by a periodic train of unit impulses spaced TT seconds apart. The result is a train of impulses whose strengths are the sample values:

xp(t)=x(t)∑n=−∞∞δ(t−nT)=∑n=−∞∞x(nT) δ(t−nT)x_p(t) = x(t)\sum_{n=-\infty}^{\infty}\delta(t - nT) = \sum_{n=-\infty}^{\infty}x(nT)\,\delta(t - nT)

TT is the sampling period and ωs=2π/T\omega_s = 2\pi/T the sampling frequency.

Spectrum of the sampled signal

p(t)=∑δ(t−nT)↔P(jω)=2πT∑kδ(ω−kωs)p(t) = \sum\delta(t - nT) \leftrightarrow P(j\omega) = \frac{2\pi}{T}\sum_k\delta(\omega - k\omega_s). Multiplication in time is convolution in frequency:

Xp(jω)=12πX(jω)∗P(jω)=1T∑k=−∞∞X(j(ω−kωs))X_p(j\omega) = \frac{1}{2\pi}X(j\omega) * P(j\omega) = \frac{1}{T}\sum_{k=-\infty}^{\infty}X\big(j(\omega - k\omega_s)\big)

So Xp(jω)X_p(j\omega) is X(jω)X(j\omega) repeated at every multiple of ωs\omega_s, scaled by 1/T1/T.

 X(jw)            Xp(jw), ws > 2wm
   /\               /\      /\      /\
  /  \             /  \    /  \    /  \
-+-+--+-->  w   --+--+--+-+--+--+-+--+--> w
 -wm 0 wm          -ws    0  wm   ws

Reconstruction from samples

  1. Condition: x(t)x(t) must be band-limited to ωm\omega_m, and ωs>2ωm\omega_s > 2\omega_m (Nyquist). Then the copies do not overlap.
  2. Ideal low-pass filter: pass xp(t)x_p(t) through an LPF with gain TT and cutoff ωc\omega_c, where ωm<ωc<ωs−ωm\omega_m < \omega_c < \omega_s - \omega_m (usually ωc=ωs/2\omega_c = \omega_s/2):
H(jω)={T,∣ω∣<ωc0,otherwise⇒Xr(jω)=Xp(jω)H(jω)=X(jω)H(j\omega) = \begin{cases} T, & |\omega| < \omega_c \\ 0, & \text{otherwise}\end{cases} \quad\Rightarrow\quad X_r(j\omega) = X_p(j\omega)H(j\omega) = X(j\omega)
  1. Time-domain view (interpolation): the filter's impulse response is h(t)=Tsin⁡(ωct)πth(t) = \frac{T\sin(\omega_c t)}{\pi t}. Convolving it with the impulse train gives
xr(t)=∑n=−∞∞x(nT) Tωcπ sin⁡(ωc(t−nT))ωc(t−nT)x_r(t) = \sum_{n=-\infty}^{\infty}x(nT)\,\frac{T\omega_c}{\pi}\,\frac{\sin\big(\omega_c(t - nT)\big)}{\omega_c(t - nT)}

With ωc=ωs/2\omega_c = \omega_s/2 this becomes xr(t)=∑x(nT) sinc(t−nTT)x_r(t) = \sum x(nT)\,\text{sinc}\left(\frac{t - nT}{T}\right): each sample is replaced by a sinc pulse, and the sum of these pulses fills in the values between samples exactly.

 x(t) --(x)--> xp(t) --> [ LPF: gain T, cutoff wc ] --> xr(t) = x(t)
         ^
     p(t) = sum delta(t - nT)

Practical note: an ideal LPF is non-causal, so real systems use a zero-order hold (D/A converter) followed by a smoothing filter, and sample a little above the Nyquist rate to leave a guard band.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Signals and Systems chapter 4 questions →