top of page
VISIBLE LIGHT COMMUNICATION
Demodulating QAM data from a series of small LEDs collected using a photodiode.
Visible Light Communication: List
In this project, I worked with two teammates to investigate 4-Quadrature Amplitude Modulation (4-QAM) by demodulating QAM data from a series of small LEDs collected using a photodiode. We used MATLAB to process the data. Specifically, we used cross correlation to find the starting point of the data, then demodulated the data and time synchronized it by raising the data to the 4th power and taking the DTFT. We performed this process at 3 inches and 24 inches distance from the photodiode and encoded the data in a rectangular pulse with a pulse width of 20 and then transitioned to using a root raised cosine at widths 20, 15, 10, and 5. We got a 0 percent error rate for every scenario except the rectangular pulse with pulse width 20 at 24 inches away, which had an error rate of 26 percent. We ran that scenario three times, so we currently theorize that a rectangular pulse with pulse width 20 is more susceptible to noise at 24 inches away. Despite this, we managed to get a bit rate of 400kb/s from the root raised cosine of width 5, so we managed to successfully transmit QAM data at a reasonable data rate.
Visible Light Communication: Text
This is the block diagram of how visible light communication works. Essentially, data is parsed so that LED can emit light with different amplitudes to send the message, and the photodiode measures the light and outputs the received data.

Visible Light Communication: Text
This is the constellation of all the message bits collected from our photodiode. It is clear that it is sloppy and indecipherable. We need to demodulate and filter anomalous data to have clear visualization of data present.

Visible Light Communication: Text
After calculations, we have clear constellations and we can tell that there are now only four possible message bits!

Visible Light Communication: Text
Visible Light Communication: Text
bottom of page