22-Elec-B1 Digital Signal Processing · May 2014
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
Paper format. National Exams May 2014, 07-Elec-B1 Digital Signal Processing — 3 hours, open book, any non-communicating calculator permitted. Seven questions are printed; five constitute a complete paper and the first five appearing in the answer book are marked. All questions are of equal value (20 marks each; the printed marking scheme gives the sub-part split). A table of symbols, trigonometric identities, DFT definitions, DTFT tables and z-transform tables is supplied at the back of the paper. All seven questions are solved below, so the set works as a complete study resource.
Reference texts. Proakis & Manolakis, Digital Signal Processing, 4th ed. (z-transform and ROC, Ch. 3; DFT and FFT, Ch. 7; filter structures, Ch. 9); Oppenheim & Schafer, Discrete-Time Signal Processing, 3rd ed. (the DTFT symmetry and transform tables reproduced at the back of this paper are Tables 2.1–2.3 of that text); B. P. Lathi, Linear Systems and Signals, 2nd ed. (discrete-time convolution and system response).
Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.
Given. A first-difference system $y[n] = x[n] - x[n-1]$ driven by $x[n] = \{1, 0, -1\}$ for $n = 0, 1, 2$ and zero elsewhere.
Find. The impulse response, and then the same output computed four different ways — iteratively, by linear convolution, by circular convolution in the time domain, and via the DFT/IDFT — with all four agreeing.
Approach. Get $h[n]$ by inspection, then run each of the four routes. The only decision worth making is the circular-convolution block length, and part (d) turns entirely on choosing it correctly.
The system is a causal two-tap FIR differencer; its transfer function is $H(z) = 1 - z^{-1}$, with a single zero at $z = 1$ (it removes d.c.) and a pole at the origin.
Note that $y[3]$ is non-zero even though the input has already ended — the memory of $x[2]$ is still in the delay when $n = 3$. That is why the output is four samples long, not three.
identical to the iterative march, as it must be for an LTI system.
matching part (c) exactly. It is worth showing what happens if the block is too short. With $N = 3$ (no padding) the tail sample $y[3]$ wraps around and adds onto $y[0]$:
$$y_{3\text{-pt}}[n] = \{2, -1, -1\} \quad \text{instead of} \quad \{1, -1, -1, 1\}.$$The first sample is wrong by exactly the discarded $y[3] = 1$. This time-domain aliasing is the reason overlap-add and overlap-save exist.
Multiplying bin by bin,
$$Y[k] = X[k]H[k] = \{0,\; 2+2j,\; 0,\; 2-2j\},$$and the 4-point IDFT $y[n] = \frac{1}{4}\sum_{k} Y[k] W_4^{-kn}$ returns
$$\boxed{y[n] = \{1, -1, -1, 1\},}$$the same sequence for the fourth time. Note $Y[0] = 0$: the differencer has a zero at d.c. and the output samples must therefore sum to zero, which is a one-line sanity check on the whole answer ($1 - 1 - 1 + 1 = 0$).
| Part | Method | Result |
|---|---|---|
| (a) | Impulse response | $h[n] = \{1, -1\}$, $n = 0, 1$ |
| (b) | Iterative difference equation | $y[n] = \{1, -1, -1, 1\}$ |
| (c) | Linear convolution | $y[n] = \{1, -1, -1, 1\}$ |
| (d) | Circular convolution, $N = 4$ | $y[n] = \{1, -1, -1, 1\}$ (with $N = 3$: $\{2, -1, -1\}$, aliased) |
| (e) | DFT / IDFT, $N = 4$ | $Y[k] = \{0, 2+2j, 0, 2-2j\} \Rightarrow y[n] = \{1, -1, -1, 1\}$ |