Digital Communications Programming Assignment: Noise
Processes, Autocorrelation, and Power Spectral Density
Objective
Simulate noise processes, compute autocorrelation, and estimate power spectral density (PSD) using
numerical methods and visualization.
Tasks
1. Generate White Noise
Let 𝑁 = 104 . Generate a zero-mean, unit-variance white noise sequence 𝑥 [𝑛] of length 𝑁.
1. Plot the time-domain waveform of the first 200 samples.
2. Plot the histogram (choose a reasonable number of bins).
3. Compute empirical mean and variance; report values.
2. Autocorrelation of White Noise
Compute the sample autocorrelation via both:
𝑁 −𝑘−1
1 ∑︁
𝑅ˆ 𝑥 [𝑘] = 𝑥 [𝑛] 𝑥 [𝑛 + 𝑘], 𝑘 = 0, . . . , 𝐾
𝑁 𝑛=0
and using numpy.correlate. Plot 𝑅ˆ 𝑥 [𝑘] versus lag and comment on the 𝛿[𝑘]-like behavior.
3. PSD of White Noise
Use the Wiener–Khinchin theorem to estimate the PSD:
1. Compute the FFT of 𝑅ˆ 𝑥 [𝑘] from Task 2 to obtain 𝑆ˆ 𝑥 ( 𝑓 ).
2. Compare with an “ideal” flat spectrum after appropriate normalization.
3. Plot both on the same figure (label axes clearly).
4. Band-limited Noise
Generate band-limited white noise by filtering white noise with an ideal low-pass of bandwidth 𝑊 = 100
Hz (assume sampling frequency 𝑓𝑠 ; choose and state 𝑓𝑠 ).
1. Show the first 200 samples of the time-domain signal.
2. Estimate the PSD (e.g., via Welch’s method) and plot.
3. Compare with theory (sinc-shaped autocorrelation).
1
5. Noise through an LTI Filter
1
Consider an LTI filter with impulse response ℎ(𝑡) = 𝑒 −𝑡 𝑢(𝑡) and frequency response 𝐻 ( 𝑓 ) = 1+ 𝑗2 𝜋 𝑓 .
For discrete-time, use a stable first-order IIR analog:
𝑦[𝑛] = 𝛼 𝑦[𝑛 − 1] + (1 − 𝛼) 𝑥 [𝑛], 0 < 𝛼 < 1.
1. Filter 𝑥 [𝑛] and estimate the PSD of 𝑦[𝑛] using scipy.signal.welch.
2. Compare with 𝑆 𝑦 ( 𝑓 ) = |𝐻 ( 𝑓 )| 2 𝑆 𝑥 ( 𝑓 ); overlay the theoretical curve.
6. Modulated Noise
Let 𝑦[𝑛] = 𝑥 [𝑛] cos(2𝜋 𝑓0 𝑛/ 𝑓𝑠 ) with 𝑓0 = 50 Hz.
1. Simulate 𝑦[𝑛] and compute its autocorrelation.
2. Estimate and plot its PSD; highlight spectral components near ± 𝑓0 .
Short Write-up
Answer briefly:
• How does the estimated autocorrelation compare with theory for white and band-limited noise?
• How do filtering and modulation affect the PSD location and shape?
• What numerical issues (finite 𝑁, windowing, leakage) did you observe?