Project #3: Visual based in-flight file transfer

Background

This project targets a situation where two persons are onboard an aircraft. Both persons have android smart phones and want to transfer a file from the SDCARD on one phone to the other, as illustrated in Figure 1 below. Use of radio transmitters and receivers is forbidden. One possibility is to use sound, this was explored in a project last year. This year we will implement a system where the information is transmitted with visual information. Thus, the screen will be used as a visual transmitter, and the camera as a visual receiver. One of the main challenges in this task is to design and implement a visual modem that modulates your digital data (a file on the SD-CARD) over the visual channel, transmits it through screen and receives it via the camera ot the other. Then, the received signal should be demodulated back to raw digital data. Therefore, the required skills for a good implementation includes knowledge of modulation and coding schemes, synchronization techniques. In addition, image processing knowledge is an extra advantage. The references at the bottom of the page can provide you with some initial information for your task.




Figure 1: Illustration of smartphone file-transfer using visuals.

Specification

Basic requirements

First make a real-time implementation of the single picture system given as the matlab prototype. Then implement a system which is capable of transfering a small file (at least 1kbyte) at a speed of at least 100 bits/sec and at least 100bits per frame. It is not allowed to use the ZXing code built into FraweWork other than for degugging, learning how to use FrameWork and inspiration.

Advanced requirements

Increase the data-rate to 200, 300, ... . Describe and motivate the techniques needed to achieve the each increase in data-rate. For groups with more than four members: Do a sideproject with the aim of maximizing the number of bits in a single picture without time constraints.

Mid-term requirements

The android assignment completed (given during the android lecture). An implementation with 100bits per frame. The image to be transmitted is created in matlab, then uploaded and displayed on one phone (using FrameWork). Then another phones takes a picture (using FrameWork). This picture is downloaded to matlab (running on a different computer), the picture decoded, and the message extracted. During the mid-term evaluation the group should be able to demonstrate transmition of an eight character message (using the above procedure) in less than 10 minutes.

Literature

  1. QR codes, Wikipedia .
  2. Course literature on coding and modulation.
  3. Course literature on image processing.