FSK modes for Camera Communication (LiFi)

CM-FSK stands for Camera M-ary Frequency Shift Keying, is also an operating mode being standardized in IEEE 802.15.7m. This post reviews the operation of this mode and highlights its characteristics.

See video demo 1 to have a brief understanding of CM-FSK System: (7m transmission)

Also, video demo 2 (35m transmission distance):


FSK for OCC and its applications

Figure 1 – Indoor Application of OCC applying CM-FSK

Figure 1 illustrates an indoor application of OCC applying FSK. The reason why CM-FSK is regularly suitable for the indoor scenario is that any rolling shutter OCC system must deal with the data rate-communication distance trade-off. See this next post this week for the explanation.

Why FSK and rolling shutter camera?

Rolling shutter camera takes the prominent faction of image sensor available in personal camera devices including Smartphone. Therefore, the market acceptance can be an advantage of rolling shutter OCC in compared to other modulation schemes for global shutter cameras.

FSK modulation is preferred due to its following characteristics:

  1. Single-symbol within an image: This allows Rx easier in decoding data
  2. Constant data rate: The bit rate of FSK depends on its M-ary. Because there is only a single frequency symbol within an image, we do not need to care about the data packet size varying with the size of LED captured at different distances.
  3. Dimming is easily supported for FSK waveform
  4. Matched-filter is applicable in Rx implementation for enhancing BER. The indoor communication range (up to 20m) is always guaranteed.


CM-FSK System

The reference architecture for CM-FSK is given in Figure 2.

1 (D4-Fig 189)- reference architecture.png
Figure 2 – Reference architecture for CM-FSK
  • Forward Error Correction (FEC): is needed for any communication system, as always.
  • Asynchronous bit (Ab): is particularly customized from M-ary-FSK for CM-FSK in dealing with camera frame rate variation.

Any camera equipped to a personal device with an operating system (Android, Window, etc.) shall face this frame rate variation problem. Herein, Ab acts as the minimal sequence number of the PHY frame subpacket for supporting the downsampling process at Rx while Rx has a high deviation in the sampling interval.

  • Bits-frequency mapper: Depending on how much M-ary value is, the mapper outputs a single frequency symbol regarding a set of bits input. E.g., 16-FSK maps four bits to a frequency (2^4 = 16).


UI - FSK.png
Figure 3 – Rx User Interface


CM-FSK Frequency Allocation

Frequency band and frequency separation are two critical considerations for the design of CM-FSK.

Figure 4 – Frequency Allocation for CM-FSK
  1. Frequency band allocation

The occupation of the frequency band for CM-FSK shall be:

  • Lower limited by the eye cut-off frequency to make the light modulation being imperceptible to human eyes. Higher than 100Hz is required.
  • Higher limited by the camera cut-off frequency to make the light waveform being decodable by the camera, particularly rolling shutter cameras. Our rolling shutter cameras (including smartphone cameras) have the cut-off frequency nearly up to 100kHz because its integration time is as short as 10us.

2. Frequency separation

The sampling rate (of the image sensor, the frequency at which a row of pixels is sampled) must be at least twice the rate of the highest frequency of the signal, according to Nyquist’s theorem.

f_max = f_Nyquist  =  f_s/2         (1)

The frequency resolution (∆f) is dictated by the acquisition time:

∆f=  (1/T) =  (f_s / N_row)            (2)     


  • f_max is the maximum resolvable frequency
  • f_Nyquist is the Nyquist frequency
  •   T is the acquisition time (of a rolling image)
  • N_row is the number of samples (pixel rows) acquired throughout the diameter of the light source along with the rolling direction of the image sensor.
  • f_s is the sampling rate (the rolling frequency of pixel row).

The condition for a camera Rx being able to differentiate a frequency is that the size of the light source on the captured image is large enough.

N_row (d)≥   ( f_s / ∆f )                (3)

Denote that:

  • w is the image width (in case the rolling axis is along with the width of the image sensor)
  •  L is the normalized length (diameter) of the light source along with the width of the image sensor
  •  d is the distance between light source Tx and camera Rx
  •   FOV is the field of view of the camera.
Figure 5 – An illustration of camera imaging

We have the calculation of N_row perceptible by the camera at distance d:


The resulting requirement of light source size on the captured image leads to the upper-limited communication distance as follows.



The final equation (5) shows that the frequency separation directly limits the maximum communication distance. For example, if 100Hz frequency separation can support 10m distance range, then 200Hz separation can support twice the communication distance.


  • The customization of M-ary FSK for OCC is crucial to making it work.
  • The fundamentals of CM-FSK have been discussed.