UCT EEE2047S / 2021
Signals through a filter
Completed numerical and symbolic labs exploring Fourier reconstruction and filter magnitude/phase response.
UCT / COURSE CONTEXT / 2021
EEE2047S · Signals and Systems I
Linear systems, convolution, Fourier analysis and sampling in time and frequency domains.

ENGINEERING PERSPECTIVE
Inside the work
Understand how a system changes different frequency components. Magnitude and phase plots connect a mathematical transfer expression to the behaviour of signals passing through a filter.
- NumPy / SymPy
- Numerical and symbolic evaluation of the submitted signal/filter expressions.
- Notebook plots
- Retained task figures show magnitude and phase for the RLC expression with R=10, L=1, C=1.
Define the response
Use the submitted transfer expression and component values.
- Magnitude and phase
- Gain and phase shift are separate properties of the frequency response.
- Model parameters
- Units and component values are part of the model, not cosmetic plot settings.
- Simulation vs measurement
- Evaluating an expression does not verify a physical circuit or instrument response.
What the demonstration establishes
The figure is an authentic saved Task 3 notebook output. A full notebook rerun and physical circuit retest are not claimed.
Evidence behind this page
Named Lab2/Lab3 task work and the retained Lab3_Solutions.ipynb output.
How it works
Compute complex Fourier coefficients, reconstruct finite harmonic sums and plot frequency response. The retained Task 3 output evaluates the submitted RLC expression with R=10, L=1 and C=1.
Results & recovery
- The figure is the original saved output from Lab3_Solutions.ipynb, Task 3, not a newly measured circuit response.
- Completed Lab 2 work includes shifted pulse spectra, symbolic coefficient integration and finite reconstruction.
Technical limitations
Historical numerical coursework on teaching worksheets, not newly verified hardware measurements. Notebook magics and older Matplotlib APIs need toolchain review before a complete rerun.
What I would improve now
Separate task code from teaching text, validate transfer-function definitions and test units, initial conditions and numerical stability.