Imperial College London - Dyson School of Design Engineering


EA 2.3 Electronics
2 (16 Jan to 24 Mar 2017)

Professor Peter Y. K. Cheung


LEARNING OUTCOMES

On successful completion of the module, students should be able to:

RECOMMENDED TEXTBOOKS

BP Lathi, Signal Processing and Linear Systems, 27 Feb 2003 (£31 used)
C-T Chen, Signals and Systems: A Fresh Look (US$22 from amazon.com)
Schaum’s Outline of Feedback and Control Systems (US$14.90 from amazon.com)


LECTURE NOTES

Week
Lectures
Resources

 1
(16 Jan)

Lecture 1  Time domain view of signals
(notes x1, x2, slides)
Lecture 2  Frequency domain view of signals
(notes x1, x2, slides)

  • Report on DE1.3 (PDF)
  • Vclip on discrete vs continuous time signals
  • Vclip on frequency domain view of signals

1
(19 Jan)

Tutorial Session 1: Matlab & PyBench


2
(23 Jan)

Lecture 3  Fourier Transform
(notes x1, x2, slides)
Lecture 4  Sampling
(notes x1, x2, slides)

  • Vclip on Fourier transform and Fourier series
  • Vclip on the Sampling Theorem and aliasing

 2
(26 Jan)

Lecture 5 Windowing & DFT
(notes x1, x2, slides)
Tutorial Session 2: Spectral Analysis

3
(30 Jan)

Lecture 6 Systems & Laplace Transform
(notes x1, x2, slides, recording Part 1, Part 2)

  • Vclip on Laplace transform

3
(2 Feb)

Tutorial Session 3: System characterisation


4
(6 Feb)

Lecture 7 More Laplace Transform
(notes x1, x2, slides, recording Part 1, Part 2)

  • Vclip on Tacoma bridge collapse

4
9 Feb)

Tutorial Session 4: IMU & OLED Display (recording Part 1, Part 2)

5
(13 Feb)

Lecture 8 Frequency Response
(notes x1, x2, slides, recording)
Lecture 9 Poles and Zeros
(notes x1, x2, slides, recording)

6
(20 Feb)

Lecture 10 Revision on Systems
(notes x1, x2, slides, recording Part 1, Part 2)

7
(27 Feb)

Lecture 11 Discrete time Signals
(notes x1, x2, slides, recording)

Lecture 12 Discrete time Sytems
(notes x1, x2, slides, recording)

7
(2 Mar)

Tutorial Session 5: Motor, Interrupts & Filter
(recording Part 1, Part 2)

  • Vclip on Hall Effect Sensor

8
(6 Mar)

Lecture 13 Impulse Response & Digital Filters
(notes x1, x2, slides, recording)

Lecture 14 Beat detection algorithms
(slides, recording)

9
(13 Mar)

Lecture 15 Introduction to feedback control
(notes x1, x2, slides, recording)

Lecture 16 Using feedback control for real
(notes x1, x2, slides, recording)

  • Vclip on open-loop vs close-loop control

10
(21 Mar)

Lecture 17 PID control
(notes x1, x2, slides, recording)

Tutorial Session 6: Packages to help Team Project
(slides, recording)

  • Vclip on Introduction to control
  • Vclip on PID control

TUTORIAL PROBLEM SHEETS

Problem Sheet 1 (solutions)
Problem Sheet 2 (solutions)
Problem Sheet 3 (solutions)
Problem Sheet 4 (solutions)
Problem Sheet 5 (solutions)
Problem Sheet 6 - new (solutions)

SAMPLE EXAMINATION PAPER (Tutorial on 2 May)

LABORATORY SESSIONS

Lab Oral (Wed 15 Feb) - Schedule, Guidelines, Marksheet
Lab Group & Project Team Assignment

Experiment
Useful Resources

 Lab 1 - Pybench & Matlab (18 Jan)

Vclip on "How to solder?"
Guidelines on using electronic logbook (PDF)
Pybench board: photo, schematic, PCB layout

 Lab 2 - Signal Processing (25 Jan)

PyBench.m (zipped), PyBench Methods
plot_spec_dB.m (zipped)
Sound files: two_drums.wav, bass.wav, guitar.wav
Staying Alive music: short, full
Fourier series coefficients of waveforms (GIF)

 Lab 3 - System characterisation (1 Feb)

Bulb Box schematic diagram (PDF)

 Lab 4 - IMU & OLED Display (8 Feb)

InvenSense MPU-6050 IMU data (PDF)
Balance Filter article by Colton (PDF)
link)
PyBench.m (version 2.0)
IMU_3D.m (zipped)

 Lab 5 - Motor, Interupt, Filter (1 Mar)

TB6612 Motor Driver datasheet
Solution: lab5_ex1c.py, lab5_ex3c.py, lab5_ex4.py

Music file: bgs.wav

 Lab 6 - Milestones 1 & 2 (8 Mar)

Buffer program (buffer.py.zip) - new version 1.2 updated on 13 March - USE THIS VERSION

 Lab 7 - Beat detection (15 Mar)

Basic beat detection program in Micropython (beat_detect_0.py.zip) version 1.4 now uploaded

 Lab 8 - PID control (22 Mar)

motor.py.zip (package to drive motors) - updated 22 March
mic.py.zip (package to get instantaneous energy on microphone signal using interrupts)
beat_detect_1.py.zip (better version of basic beat detection algorithm)
test_pitch.py.zip (Test program to calculate pitch angle and rate of change in pitch angle)

Team Project Links (Dancing Segway)

Team Project Specification
Team Assignment
Team Project Assessment Guidelines

Team 10 video - Dancing only (Paolo, BenP, Ina, Tilly)
Team  7 video - Balancing & Dancing (BenG, Clarisse, Anna, Felix)

Datasheet of Components on PyBench Board

Pyboard documentations
OLED display module (Adafruit 938)
Microphone and amplifier (MAX9813)
IMU - accelerometer & gyroscope (MPU6050)

Motor driver chip (TB6612)
BLE to UART module (Adafruit UART friend)

Micropython

Main Micropython website
Pyboard Quick Reference
Tutorials on how to use the Pyboard
Micropython Libraries

Other Useful Resources

Learn Python the Hard Way
Colour codes and preferred values for resistors


This page is maintained by Peter Cheung
Last updated: 30 May 2017