C-OOK with Matlab

NOTE: This C-OOK Matlab package is independent from other C-OOK packages. Please email us for video demonstration and further technical details.

In this code package, we demonstrate a system utilizing a LED and Camera (rolling shutter mechanism).

Fig. 1. System Block diagram of C-OOK Matlab Package


In the transmitter side, we use a PC to load encoded data to an Arduino board. A simple LED diver is additionally used.

Fig. 2. Transmitter Configuration


A real-time image processing and a data decoding procedure are written entirely in Matlab for a large number of Matlab users worldwide.

Herein, we deploy the system step by step, thus you can understand easily whole system. User will have fun to learn how C-OOK works, how image processing is done, how to load data into Arduino and control LED. Bit Error Rate monitoring is implemented so that users can compare the performance of their novel idea and our standard implementation following IEEE std.


Table: Implementation parameters

Here are some actual photos that have been tested by the OpticalPress team.

Fig. 3. Receiver configuration
Fig. 4. Example of OCC pattern

Features of C-OOK Matlab Code

  • Tx code with Arduino
  • LED driver for converting data to light (Circuit diagram)
  • Matlab code for receiving and processing data
  • Package User Guide

Other Materials

a. C-OOK Concept and System Architecture | Read

b. C-OOK Data Packet Design | Read

c. Practical Technical Consideration of modulation schemes for rolling shutter camera OCC | Read

d. Design and Implementation of a Novel Compatible Encoding Scheme in the Time Domain for mage Sensor Communication | Download

e. Data rate enhancement of optical camera communications by compensating inter-frame gaps