Undergraduate Teaching 2023-24

Engineering Tripos Part IIA Project, GF3: Audio Modem, 2023-24

Engineering Tripos Part IIA Project, GF3: Audio Modem, 2023-24

Not logged in. More information may be available... Login via Raven / direct.

PDF versionPDF version


Dr J Sayir

Timing and Structure

Online helpdesk via Slack throughout, in-person demonstrators available during timetabled sessions, 3 weekly project standardisation meetings (one delegate per group must attend)


IB Paper 6 assumed (Discrete Fourier Transform!), 3F1, 3F7 and/or 3F4 useful but not assumed


The aims of the course are to:

  • design a software modem that transmits files from one computer to another over the audio system (loudspeaker, microphone)
  • gain a practical understanding of modulation and coding by implementing them on real-world channels and data
  • gain a comprehensive view of all elements involved in communication systems, including several not taught in our lectures, e.g., synchronisation and channel estimation
  • deepen your understanding of the discrete Fourier transform (DFT) through the implementation of a Baseband-OFDM / DMT modulation system
  • gain insight into how communication standards are developed, negotiated and agreed
  • learn to design software in Python and/or other programming languages


Communications engineering can be a pain to convey to the general public because the border between abstract concepts and concrete products is hard to bridge: you design methods using math, sometimes test them in simulations, but they cannot become concrete without specialised hardware. Once the product is made, it's hard to point your finger and tell your friends "Here: I made this part of the product!". This project is different: you are to design a full modem for data transmission over audio, where files will be transmitted from one computer over its loudspeaker and received by another through its microphone. In a way, we are going back to the good old days of telephone modems where users could hear a painful string of beeps and squeaks when they transfered files, except that we will use state-of-the art modulation and coding techniques that did not exist back then, and achieve data rates and reliability no one has ever achieved before. 

The end product should be a working piece of software with the suggested name "Cambridge Audio Transfer" (cat logos and cat "meeows" to announce the start of transmission would be a nice finishing touch!) The software should use a variant of Orthogonal Frequency Division Multiplexing (OFDM) as its modulation (taught in 3F4), and Low-Density Parity-Check (LDPC) codes as part of its coding (taught in 3F7). If you have not taken these modules, you will be able to learn the techniques during the project as they are easy to grasp, but you won't get the more in-depth understanding provided in the lectures. In addition, you will have the opportunity to learn about synchronisation, channel estimation, and other modem components not taught in any Cambridge module during the project.

Note that this is a real "project" in the sense that it is an open-ended undertaking whose outcomes differ from year to year and from group to group depending on who's participating, what technical decisions each group takes and on what framework the groups agree during standardisation meetings. If you are looking for a scripted exercise where the whole project is determined in advance and everyone does exactly the same, then this project may not be for you. The project will appeal to engineers who want the freedom to be creative and to find original solutions to problems. Those who approached the project with this mindset in past years (about 90% of participants) have loved the project.

The subject matter of this project is communications and signal processing. The project is a natural choice for those doing information-based engineering areas but we've had participants from other areas in the past who did very well and enjoyed the project. Essentially, it's an exercise in understanding and using the Discrete Fourier Transform in all its details, which is relevant for mechanical, civil, aeronautical and electrical engineers just as much as it is for information engineers. If you are not taking F modules, you are welcome to participate in the project, but you must be willing to engage with all the project learning obejctives as defined in the "Aims" pargraph above (we've had students who only did the project because it mentioned software design but weren't interested in anyhting to do with signal processing and communications, and this was not the right project for them.)


You will work in groups of 3. Initially, you will be guided as a group through quizes and challenges. Later it will be part of your assignment to find an appropriate task distribution that mixes parallel integratiion (you work on this part, I work on that part of the system) with vertical integration (how to dimension the overall system). The project is run partly online (group collaboration and permanent helpdesk on slack) and in-person meetings.

Grouping: the groups will be self-formed just before the start of the project. I will conduct a poll of programming skills and modules taken to help you form a balanced group.

Week 1:      Quick & Dirty implementation phase

Students will be guided step by step through the process of implementing an ODFM/DMT modulator and demodulator, to work with provided basic channel estimation, equalisation, synchronisation to produce a first working modem. Aim to achieve successful transmission of a file over a simulated channel.

Week 2:      Optimisation phase

Perform channel measurements and develop synchronisation techniques. This is the hardest part of the project and your conclusions will feed directly into the standardisation. This is also the time where you might explore practical coding techniques such as LDPC coding for inclusion in the standard and modem.

Week 3:      Advanced implementation

Refine the DMT implementation, adapt channel equalisation, implement techniques to optimise the loading and power profiles, experiment with various encoder/decoder profiles. Start planning report.

Week 4:      Final refinements

Improve synchronisation, implement real-time channel estimation using pilot symbols, test transmission under various conditions (simulated channel, anechoic quiet outdoor scenario, indoor with echo, indoor with echo and interference.) Measure capacity, data rate and error rates achieved. Test transmission in restricted frequency ranges to emulate the regulatory masks that dictate the design of wireless systems. Write report.


Further notes

An essential part of this project is the "standardisation" activity. All groups will meet daily to discuss their progress and agree on techincal details of a transmission standard so that every group can receive data transmitted by every other group's transmitter by the end of the project. The standards agreed vary considerably from one year to the next ande depend strongly on what innovative ideas group members have had to solve the various technical challenges. You will be required to chair one standardisation meeting as a group (for this meeting, all 3 group members must be present) and contribute "white papers" to explain your ideas and solutions to all groups.

The assessment for this project varies from the norm in that there is no final report. Instead, assessment is done as follows:

  • individual assessment based on two short reports due after week 1 and 3, and active participation in standardisation activities
  • group assessment based on how the group chaired a meeting and enganged in the standardisation process, as well as on the conccept, implementation, presentation and demonstration of your modem



Coursework Due Date Marks
Standardisation participation and chairing one meeting throughout the project


1st Interim report (2 pages) Wednesday, 15 May 2024, 4 pm 10
2nd interim report (4 pages) Wednesday, 29 May 2024, 4 pm 10 (indvidual)
Modem concept, implementation, final demo and presentation 3-6 June 2024 30
Individual participation in the group and in the standardisation process throughout the project 20


Examination Guidelines

Please refer to Form & conduct of the examinations.

Last modified: 12/06/2024 06:14