Project for the 2015 Principles of Digital Communications class taught by Prof. Emere Telatar at the Swiss Federal Institute of Technology in Lausanne (EPFL) in Switzerland.
This is a rewrite of the original project. The original project was done in collaboration with Gaspard Zoss.
Develop a proof of concept to show that we can exchange files “over the air” between two laptops, by using the speaker of one laptop as the transmitting device and the microphone of the other laptop as the receiving device in presence of an interfering third party.
The project requires pyaudio, it can be installed via pip install
after the prerequisite portaudio library has been installed.
On OSX using Homebrew:
brew install portaudio
pip install pyaudio
To run the project use the makefile:
# Install dependencies
make init
# Run the tests
make test
# Run the transmitter by reading a "message.txt" file
make transmitter
# Run the receiver
make receiver
A jupyter notebook going through the whole pipeline is available. It even has plots :)