Assignment 3 (Due 6/1/2020)
The goal of this assignment is to do real-time screen-camera communication using the alpha channel similar to the paper. Here is the link to this paper's presentation in MobiSys conference.

Have a static picture on the background of the screen (transmitter) and communicate with the phone (receiver) by changing its alpha value versus time using BFSK. After successfully communicating, try to increase the data-rate by changing alpha more frequently till your eyes can notice the changes. Do the test for different alpha differences (delta alpha=0.1 and 0.5) and different distances (20cm,40cm,80cm,120cm). Report data-rates and bit error rates vs alpha difference for different distances and explain the results.

Bit-error-rate = 1- (total number of bits received correctly)/(total number of transmitted bits)
Data-rate = total number of bits received correctly per second
BFSK: Binary Frequency Shift Keying is a special case of frequency shift keying in which we transmit one frequency to communicate bit 0 and the other frequency for bit 1.
Demo (optional):
If you have a third device with camera for recording, demonstrate the communication by sending multiple different words and show that you can receive them on the phone.

  1. Upload the report PDF on Canvas. Please include the link to your Github repository for this homework.
  2. Optional: If you have demo, please upload it on Canvas.