Next Article in Journal
A 1 × 4 Silica-Based GMZI Thermo-Optic Switch with a Wide Bandwidth and Low Crosstalk
Previous Article in Journal
The Influence of Traps on the Self-Heating Effect and THz Response of GaN HEMTs
Previous Article in Special Issue
Orthogonal Frequency Division Diversity and Multiplexing for 6G OWC: Principle and Underwater Use Case
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

TickRS: A High-Speed Gapless Signal Sampling Method for Rolling-Shutter Optical Camera Communication

1
School of Computer Science, Hangzhou Dianzi University, Hangzhou 310018, China
2
School of Information Science and Engineering, Huaqiao University, Xiamen 361000, China
*
Author to whom correspondence should be addressed.
Photonics 2025, 12(7), 720; https://doi.org/10.3390/photonics12070720
Submission received: 15 June 2025 / Revised: 10 July 2025 / Accepted: 14 July 2025 / Published: 16 July 2025

Abstract

Using the rolling-shutter mechanism to enhance the signal sampling frequency of Optical Camera Communication (OCC) is a low-cost solution, but its periodic sampling interruptions may cause signal loss, and existing solutions often compromise communication rate and distance. To address this, this paper proposes NoGap-RS, a no-gap sampling method, theoretically addressing the signal loss issue at longer distances from a perspective of CMOS exposure timing. Experiments show that NoGap-OOK, a OCC system based on NoGap-RS and On-Off key modulation, can achieve a communication rate of 6.41 Kbps at a distance of 3 m, with a BER of 10 5 under indoor artificial light. This paper further proposes TickRS, a time slot division method, innovatively addressing the overlap that occurs during consecutive-row exposures to further enhance communication rate. Experiments show that TickRS-CSK, a OCC system based on TickRS and Color-Shift Key, can achieve a communication rate of 20.09 Kbps at a distance of 3.6 m, with a BER of 10 2 under indoor natural light.

1. Introduction

With the development of mobile communications, the spectrum resource of traditional RF has become increasingly strained, prompting a shift in the research focus towards higher electromagnetic frequency domains [1,2]. The unlicensed, ultra-large-bandwidth Optical Wireless Communication (OWC) has become one of alternative solutions to the crisis. Optical Camera Communication (OCC), as an emerging research direction in this field, has been incorporated into the Visible Light Communication branch of the OWC standard: IEEE 802.15.7-2018 [3]. Recent studies have demonstrated the significant application potentials of OCC across multiple domains including underwater communication [4,5], vehicular networks [6], Internet of Things [7], and indoor positioning [8].
The OCC system equip LEDs as the emitter and various image sensors as the receiver, among which the Rolling-Shutter CMOS image sensor (RS-CMOS) stands out for its cost effectiveness, and the derived branch technology is known as Rolling-Shutter Optical Camera Communication (RS-OCC) [9]. RS-OCC takes the advantage of the rolling-shutter exposure mechanism, enabling the signal-sampling frequency at the receiver to substantially exceed the frame rate. Compared to the global-shutter CMOS image sensor, RS-CMOS offers both an economic advantage and a higher communication rate, with a theoretical throughput ranging from 100 bps to 100 Kbps [10,11]. The widespread equipment of RS-CMOS in mainstream mobile devices, including smartphones and tablets, provides a base of potential users to RS-OCC, underscoring the importance of continued research in this field.
However, RS-OCC faces a challenge of signal loss, manifested as periodic sampling interruptions. This issue stems from two factors: the first factor is the frame-to-frame time gap, preventing signal sampling during this gap. The second factor is a limited signal region. Experimental measurements revealed that the signal region illuminated by the LED covered only 7% of the CMOS pixel array under typical background light and at a communication distance of 3 m, and there was a symbol loss rate of 93.7%where.
Existing mitigation approaches employ various compensation strategies, such as data retransmission [9,12], error correction codes [13,14], and periodic matching [15]. Danakis et al. [9] pioneered the use of RS-CMOS to enhance OCC sampling frequency, employing a simple compensation method. This method sends each data packet twice to enable the receiver to reconstruct the complete packet. Rollinglight [13] is a low-rate yet robust method extending the bit period to exceed half of the frame period, then performing parity checking to recover lost bits. Nguyen et al. [14,16] proposed distributing the bits during each frame gap across different Hamming blocks, then performing error correction on each Hamming block to recover all lost bits. The basic idea of IoTorch [12] is similar to that of Danakis et al. [9], ensuring reliable transmission through retransmission. But IoTorch focuses on the periodicity of signal loss and designed a minimum repetition mechanism. These methods usually only consider the factor of the frame gap, and their communication distances are relatively short. In addition, these methods significantly increase the amount of redundant information and lower the net communication rate. To compensate for the rate, researchers have also implemented multiple channels employing Spatial Division Multiplexing by LED arrays [17,18], and employed advanced modulation schemes such as Color-Shift Keying (CSK) [19,20] and Orthogonal Frequency Division Multiplexing (OFDM) [21,22]. These improvements somewhat alleviate signal loss but inevitably increase the decoding latency of the receiver.
The paper focuses on CMOS exposure timing rather than the conventional method of the OCC data frame to address signal loss, and the proposed method requires the capability to precisely control the CMOS exposure timing. However, the parameter heterogeneity between OCC and CMOS presents a significant challenge. The paper establishes a relationship between the OCC sampling parameters and CMOS exposure parameters to identify the critical optimization parameters. Furthermore, the control of exposure timing involves operations at a hardware level. However, the existing experimental platform relies on Android or Windows, and their API demonstrates limited granularity in CMOS parameter control. To address this limitation, the paper implements a experimental platform through a open-source hardware and OS to achieve precise control. The following are the contributions of the paper:
  • NoGap-RS proposes a gapless signal sampling method for high-rate, low-cost RS-OCC, which addresses the issue of signal loss from a theoretical perspective to extend the application scenarios of RS-OCC. It can work under background light and at a communication distance of 3 m, which is about 5 times better than the baseline [12].
  • NoGap-RS is compatible with most modulation schemes, and when used with the On–Off Keying (OOK) modulation under SER of 10 5 , it can achieve a communication rate of 6.41 Kbps, which is about 10 times better than the baseline [12].
  • TickRS further proposes a time slot division method, addressing the overlap that occurs during consecutive-row exposures to further enhance the communication rate. TickRS-CSK, an OCC system based on TickRS and Color-Shift Key, can achieve a 48.52% improvement in bit rate compared to baseline systems, along with an extended communication range from 0.2 m to 3.6 m, representing a 3.4 m increase, while maintaining a bit error rate (BER) of 4.36%.
The following is the arrangement of sections in the paper. Section 2 briefly introduces the basic concepts of the RS-CMOS exposure and RS-OCC, and analyzes in detail two factors that lead to signal loss. Section 3 introduces NoGap-RS, a gapless signal sampling method, to address signal loss. Section 4 introduces TickRS, a time slot division method based on NoGap-RS, to improve the symbol rate. Section 5 designs TickRS-CSK, a complete RS-OCC process. Section 6 implements an experimental platform of NoGap-RS and TickRS-CSK to evaluate them.

2. Overview

2.1. RS-CMOS Exposure Concept

CMOS adopts a row-by-row exposure mechanism, and the exposure processes of all pixels within a row are fully synchronized [23]. Figure 1a shows the exposure parameters, where the exposure duration T e x p of each row is the same, and there is a fixed readout time T r o after the exposure ends. Since all rows share a same readout circuit, there is a necessary time gap between the readout operations of adjacent rows [24], called the row blanking time T h b . In addition, time overlaps occur during consecutive-row exposures and consecutive-frame exposures. As shown in Figure 1b, due to the overlap, five rows of pixels in both frames repeatedly capture the light in the light duration.

2.2. RS-OCC Concept

In RS-OCC, the sender encodes, frames, and modulates information into a series of luminance or chrominance signals, then sends them by rapidly adjusting the intensity of LED, with a transmission period T e that is much longer than T e x p of CMOS. The receiver samples the LED signals, with each signal being sampled by multiple rows of pixels as shown in Figure 2a; the output image is visually represented as a series of stripes as shown in Figure 2b. Then the receiver decodes the stripes to reconstruct the original information through image processing or machine learning methods [21].

2.3. Problem Analysis

The primary factor of signal loss is the frame-to-frame time gap. The “Frame Gap” in Figure 3a represents the frame gap, during which the CMOS is in a non-exposure state, so it is evident that any signals sent during the gap will be lost. As OCC is asynchronous communication, the sender cannot foresee the timing of receiver’s frame gap; thus, signal loss caused by the frame gap is unavoidable. Theoretically, the length of the frame gap is positively correlated with the signal loss rate and is influenced by multiple parameters such as T e x p and f p s of CMOS, which are interrelated in a complex manner. The conventional OCC implementation faces additional constraints, as commercial Android and Windows platforms restrict the application-layer access to low-level configuration interfaces of CMOS. This limitation introduces a substantial technical challenge in achieving precise temporal control for the frame gap.
Another key factor of signal loss is the insufficient area of the signal region. As shown in Figure 3b, RS-OCC works under strong background light at extended communication distances in practical application scenarios, so the LED of the sender illuminates only a restricted portion of the CMOS pixel array of receiver. Consequently, the receiver can reliably extract high signal-to-noise ratio signals solely from this illuminated region (manifested as alternating bright and dark stripes). The paper refers to the illuminated region as the signal region. As shown in Figure 3a, once the exposure of the last row in the signal region ends, the receiver will be unable to effectively sample signals until the signal region is subjected to exposure again in the next exposure cycle. Any signals sent during the wait will be lost, and this duration is represented by T l o s s in Figure 3a. The communication distance is positively correlated with the signal region area: the increased distance reduces the area of the signal region proportionally, thereby extending T l o s s and aggravating signal loss. This fundamental limitation explains why current RS-OCC implementations are distance-constrained, presenting a substantial technical barrier to achieve reliable long-distance communication.

3. NoGap-RS: A No-Gap Sampling Method for RS-OCC

The goal of NoGap-RS is to ensure that the consecutive-frame exposures in the signal region are sufficiently close in time, i.e.,  T l o s s < 0 , to achieve gapless signal sampling to address signal loss. The approach of NoGap-RS is to precisely control T l o s s by adjusting various parameters of CMOS.

3.1. Read Collision Elimination

Before controlling T l o s s , possible readout collisions should be eliminated. As shown in Figure 4, the readout collision refers to the readouts of two frames overlapping in time. Reducing T l o s s will significantly increase the probability of readout collisions, as CMOS needs to read out all rows under default settings, and the unnecessary non-signal region will occupy a large amount of the readout time. The method of eliminating readout collisions in NoGap-RS is to use exposure window, a configuration of CMOS, which strictly limits the exposure operation to a preset window region. NoGap-RS sets the exposure window to the signal region, thereby stopping the exposure and readout of the non-signal region, effectively eliminating readout collisions.
As shown in Figure 5, the exposure window is a rectangular region of a CMOS pixel array, and its position and size are determined by four parameters: H S (horizontal start coordinate), V S (vertical start coordinate), H E (horizontal end coordinate), and  V E (vertical end coordinate). ( H S , V S ) represents the coordinates of the first vertex of the window, while ( H E , V E ) represents the coordinates of the diagonal vertex. Therefore, the number of rows of the window is
Y = V E V S ,
and the number of columns is
X = H E H S .
Additionally, there is a minimum size constraint in the hardware on the exposure window, and the signal region will be smaller than the minimum exposure window under long-distance communication, resulting in some parts of the non-signal region participating in readout. In this case, T l o s s should be minimized as much as possible while avoiding readout collisions.

3.2. T l o s s Duration Control

This paragraph analyzes the various parameters of CMOS, with Figure 6 displaying the key parameters of exposure. T r o is the row readout duration, representing the time consumed to read all pixels in one row, and hence it is related to X, i.e.,
T r o = X P C L K ,
where P C L K is the readout clock frequency. H T S is the row period, representing the time difference in readout between the previous and the next row, i.e.,
H T S = T r o + T h b .
T v b is the vertical blanking duration, representing the time difference between the last H T S in the previous frame and the first H T S in the next frame. V T S is the frame period, representing the time difference in readout between the previous and the next frame, i.e.,
V T S = Y H T S + T v b .
H T S , V T S , X, Y, T e x p , and  P C L K are independent variables that can be set through CMOS registers.
NoGap-RS controls T l o s s by precisely setting the various parameters of CMOS. An original quantitative relationship between T l o s s and parameters can be obtained:
T l o s s + T e x p = H T S + T v b ,
convert to a relationship between T l o s s and the independent variables:
T l o s s = ( 1 Y ) · H T S + V T S T e x p .
By using different parameter sets, T l o s s can be controlled.
To quantify the sampling situations of different T l o s s , an overlap coefficient θ is defined as follows:
θ = T l o s s T e x p H T S ,
where the denominator is the duration of the consecutive-row overlap. The following discusses the sampling situations of different θ :
  • When θ < 0 , T l o s s > 0 . It indicates the presence of signal loss.
  • When θ = 0 , T l o s s = 0 . It satisfies the minimum requirement of the gapless sampling, where the exposure of the first row in the next frame starts precisely when the exposure of the last row in the previous frame ends.
  • When 0 < θ < 1 , T l o s s < 0 . It indicates the presence of the time overlap during the consecutive-frame exposure.
  • When θ = 1 , T l o s s = T e x p H T S , and  T v b = 0 . At this point, the first H T S in the next frame starts precisely when the last H T S in the previous frame ends, giving the appearance that two frames merge into one frame, thus achieving transparent transmission as shown in Figure 7. But  θ = 1 is the ideal situation, T v b has a minimum limitation in hardware, so θ can only approach 1.
In practice, making θ 0.6 can achieve approximately transparent transmission.

3.3. Theoretical Performance Analysis

This paragraph analyzes the theoretical sampling frequency F s of NoGap-RS. In RS-OCC, each exposure represents one sample, and hence
F s = f p s · Y ,
converts to a relationship with the independent variables
F s = Y V T S .
This paragraph analyzes the maximum modulation frequency f of simulating modulation in NoGap-RS. f is not directly related to F s because the sampling of RS-OCC partially overlaps in time, whereas traditional sampling should be independent. Therefore, f is directly related to T e x p :
2 · T e x p 1 f .
This paragraph analyzes the maximum symbol rate of digital modulation in NoGap-RS. Some samples contain the signals of multiple symbols and are considered invalid. In contrast, samples that contain the signal of a single symbol are regarded as valid. As shown in Figure 8, each symbol should be validly sampled at least twice to distinguish between the valid and the invalid samples. A relationship between the times of the valid sampling n and T e is as follows:
T e = T e x p + n · H T S , n 2 .
So the symbol rate B is
B = 1 T e x p + n · H T S , n 2 .
This paragraph qualitatively analyzes the impact of the different parameters on performance:
  • According to Equations (11) and (13), T e x p is negatively correlated with the communication rate. However, T e x p should not be too small because the OCC sampling is essentially the process of cumulative exposure. If  T e x p is too small, the dynamic range of the signal is limited, thus reducing the ability of the receiver to distinguish between different light levels, which may lead to an increase in Symbol Error Rate (SER).
  • According to Equation (13), the sampling count n is negatively correlated with B, but if n is too small, it complicates the receiver’s task of distinguishing sample validity.
  • According to Equation (13), H T S is negatively correlated with B, but if H T S is too low, the ratio of Y to f p s becomes too low, which means a higher frequency of nearly the transparent transmissions, potentially leading to an increase in SER.

4. TickRS: A Time-Slot-Division Sampling Method Based on NoGap-RS

The goal of this section is to design a time slot division mechanism called TickRS to better utilize high-density pixel arrays in order to improve sampling speed. The approach involves precisely dividing each exposure into multiple Ticks based on the T l o s s control method proposed in Section 3, and utilizing the partial correlation of the exposure values of neighboring rows to calculate the exposure value within each Tick.

4.1. Tick Division

We divide each exposure into N Ticks, the duration t T i c k of each Tick being the same as the time t r e a d to read out a row of pixels. Obviously, the exposure duration t e x p o s u r e should be an integer multiple of t T i c k , and the total number of Ticks per frame is N + Y 1 , recorded as S, where Y is the number of rows of CMOS. Figure 9 is a simple example of TickRS for two consecutive frames, with  N = 4 , Y = 5 , and  S = 8 .

4.2. Tick Solution

Theoretically, it can be considered that the light signal in the same Tick has the same effect on all pixels being exposed, and the exposure of each pixel can be considered the sum of the light signals of all Ticks in the exposure period. Therefore, we have the following formula for the exposure value c of each pixel:
c = v y + v y + 1 + . . . + v y + N 1 ,
where y is the number of the row where the pixel is located, and  v y is the light signal of the yth Tick. Taking Figure 9 as an example, for all rows of pixels, we have the following equation:
c 1 ¯ = v 1 + v 2 + v 3 + v 4 + v 5 c 2 ¯ = v 2 + v 3 + v 4 + v 5 + v 6 c 3 ¯ = v 3 + v 4 + v 5 + v 6 + v 7 , c 4 ¯ = v 4 + v 5 + v 6 + v 7 + v 8 c 5 ¯ = v 5 + v 6 + v 7 + v 8 + v 9
where c 1 ¯ is the statistical value of the exposure values of all pixels in the first row, which depends on the algorithm used to select the column pixels. And  v 1 is the light signal of the first Tick of the frame. At the receiver, c 1 ¯ c 5 ¯ is a known value, and  v 1 v 9 is a value to be calculated. Obviously, this equation has multiple solutions.
In order to make the equation have a unique solution, we define a constant light value v c o n s t a n t that is larger than the upper limit value v l i m i t for the pixel exposure value. Then we let the LED continue to emit light for a certain time in each frame cycle so that the exposure value of at least one row of pixels in each frame of the CMOS reaches v c o n s t a n t . When the exposure value of a row of pixels is v c o n s t a n t , the light signal of all Ticks in the exposure period of the pixel is the known value v c o n s t a n t / N so that Equation (15) has a unique solution. It should be noted that v l i m i t is the maximum value of valid information, and  v c o n s t a n t is a value set to distinguish valid information from constant light signals. Neither of them is the full trap capacity of the pixel.

4.3. Constant Light Signal Duration

OCC can be considered asynchronous communication, and the sender does not know the frame timing of the receiver during operation. Therefore, the constant light signal of the LED emitter may occur partly in the previous frame of the receiver and partly in the next frame. At this time, the constant light signal must last for 2 N + 1 Ticks to guarantee that the exposure value of a row of pixels in each frame is v c o n s t a n t .
However, the constant light signal is not valid data. The length of the constant light signal is determined by N, so a too large N will cause a loss in the Tick efficiency p, which violates the original intention of TickRS. The specific quantitative relationship between N and p is as follows:
p = E S = Y N 2 N + Y 1 ,
where E is the number of valid Ticks in a frame.

4.4. Sampling Rates and Performance Analysis

The number of samples per second is the number of frames per second multiplied by the number of valid Ticks per frame, so the sampling rate F s has the following equation:
F s = f p s · E ,
where f p s is P C L K minus the number of clock cycles consumed per frame, so f p s has the following equation:
f p s = P C L K H T S · V T S ,
substituting in
F s = P C L K H T S · ( Y + N 1 ) · ( Y N 2 ) .
Next, we explore the impact of H T S , Y, and N on F s and sampling delay d e l a y . d e l a y is defined as the average time from each valid Tick in the frame to the end of the output of the last row of pixels in the frame. The  P C L K is fixed at 120 MHz. Figure 10a shows F s and d e l a y when H T S = 1970. The horizontal axis is the number of rows Y in the exposure window. It can be seen from Figure 10a that the smaller the number of Ticks N, the larger the F s . This is because when N increases, the Tick efficiency p decreases.
As Y increases, F s also increases, but  d e l a y increases, so comprehensive consideration should be given. And when the signal region is very small, in order to minimize the blank period between frames, Y should also be as small as possible. In addition, if a serious deviation occurs within a Tick, it may cause an error in the entire frame, and an excessively large Y means that there are more valid Ticks in a frame, and SER will increase.
Figure 10b shows F s and d e l a y when Y = 480, with  H T S as the horizontal axis. It can be seen that as H T S increases, F s decreases and d e l a y increases, so H T S should not be too large. However, CMOS sampling is not instantaneous and requires a cumulative exposure process. Therefore, a too small T t i c k causes the optical signal in a period to be excessively dispersed into multiple consecutive Ticks, which does not help reduce SER, and even requires more calculations to recover information during demodulation, so H T S should not be too small. In addition, an excessively large H T S will also cause T e x p to be too long, causing overexposure.

5. TickRS-CSK

This section constructs TickRS-CSK, a complete receiving process for RS-OCC, based on the CSK modulation and TickRS. CSK employs different colors as different symbols, and uses a constellation map based on color space to decide symbols. In OCC-based CSK, different LEDs can emit the visible light of three wavelengths, and CMOS receives and distinguishes them through a Color Filter Array (CFA), which separates pixels into three channels (usually red, green, and blue) based on the optical wavelength. CSK improves the spectral utilization of visible light in the OCC system. Figure 11 is the specific process of TickRS-CSK.

5.1. TickRS Under CFA

TickRS is a pixel-level method that focuses on the exposure timing of each row of pixels, which means that TickRS-CSK needs to directly receive signals from pixels from the three channels simultaneously. However, not every row contains pixels from all three channels. Take the following Bayer array as an example: B G G R . Each row contains pixels from two channels, resulting in unsynchronized exposure between different channels. Therefore, TickRS requires certain modifications to be applicable to CSK.
Obviously, the red and blue pixels are arranged in alternate rows, which means that the interval between the red and blue pixels starting to be exposed is two Ticks. According to the principle of TickRS, only the total light signal of two Ticks can be solved at this time, so the red and blue pixels can only be solved with two Ticks as a unit for TickRS; N is an even number. However, green pixels are present in every row, and the number is twice that of the red or blue pixels. The paper uses only the green pixels in odd rows, and also solves them with two Ticks as a unit, aligned with the unit of blue pixels as shown in Figure 12.
It should be noted that in order to ensure that all color channels can be sampled continuously, the frame interval is reduced by one Tick in quasi-overlap mode. Therefore, the total effective Ticks E in the frame and the frame rate f p s of TickRS under CSK modulation both change, so F s also changes:
F s C S K = P C L K H T S · ( Y + N 2 ) · ( Y 2 N 2 2 ) .
After each color group is solved, the units of different colors are arranged in the timeline as shown in Figure 12.

5.2. Background Light Measurement

First, capture a frame with a preset exposure time. If the signal region pixels are full, change the preset parameters. Then, in order to fully utilize the ADC range to prevent overflow or loss of accuracy, determine the appropriate analog gain. Algorithm 1 calculates the analog gain, and also outputs the background light intensity D , which is a three-dimensional RGB vector for the subsequent RGB correction.
Algorithm 1 Calculate I S O and D
Input:  l i s t   o f   I S O , l i m i t   o f   p i x e l and T e x p ;
Output:  I S O and D ;
  1:
Turn on all LEDs;
  2:
i = 0 ;
  3:
repeat
  4:
      i = i + 1 ;
  5:
      I S O = l i s t   o f   I S O [ i ] ;
  6:
     Capture signal region with I S O and T e x p ;
  7:
     Output raw o n   p i x e l s ;
  8:
until  m a x ( o n   p i x e l s ) < 0.8 l i m i t   o f p i x e l
  9:
Turn off all LEDs;
10:
Capture signal region with I S O and T e x p ;
11:
Output raw o f f p i x e l s ;
12:
D = o f f p i x e l s R ¯ o f f p i x e l s G ¯ o f f p i x e l s B ¯
13:
return  I S O and D .

5.3. RGB Correction

What needs to be emphasized is the color difference problem, that is, the color received by the receiver is different from the color sent by the sender. There are three main reasons:
  • White balance: CMOS usually responds more strongly to a certain frequency of light than other colors, usually green, and the raw data has not been white balanced, so it appears to be severely green.
  • Inter-channel interference: The frequency response curves of the Bayer array for different colors of light overlap, that is, the same color of light may affect multiple pixels of different colors at the same time [25].
  • Heterogeneity of CMOS and LED: The spectrum curve of LED and the frequency response curve of the CMOS Bayer array are not completely matched.
Therefore, it is necessary to correct the RGB value before CSK demodulation. The correction method proposed by [25] is applied to TickRS-CSK. The calculation method of the correction matrix T is different from the original method. Algorithm 2 is its algorithm flow, the matrix D comes from Algorithm 1, and  l e v e l p w m is the inverse of the PWM resolution of the sender, that is, the upper limit value v l i m i t of the signal.
After TickRS is solved, D is subtracted from the result and then corrected by Equation (21). R r x is the light signal of the red pixel unit of the receiver, which is the value before calibration; r t x is the corrected value of the unit, which is the estimated value of the original light signal at the sender:
r t x g t x b t x = R r x G r x B r x · T 1 .
Algorithm 2 Calculate T
Input:  I S O , N, D and l e v e l p w m ;
Output:  T ;
  1:
Turn on red LED;
  2:
Capture signal region with I S O ;
  3:
Output raw r p i x e l s ;
  4:
H r = r p i x e l s R ¯ r p i x e l s G ¯ r p i x e l s B ¯ D ;
  5:
Turn off red LED;
  6:
 
  7:
Turn on green LED brightest;
  8:
Capture signal region with I S O ;
  9:
Output raw g p i x e l s ;
10:
H b = g p i x e l s R ¯ g p i x e l s G ¯ g p i x e l s B ¯ D ;
11:
Turn off green LED;
12:
 
13:
Turn on blue LED brightest;
14:
Capture signal region with I S O ;
15:
Output raw b p i x e l s ;
16:
H b = b p i x e l s R ¯ b p i x e l s G ¯ b p i x e l s B ¯ D ;
17:
 
18:
T = H r T H g T H b T T / l e v e l p w m / N ;
19:
return  T .

5.4. Symbol Synchronization

According to Nyquist theorem, the symbol rate B = F s 2 . In other words, the symbols of the emitter are likely to be distributed between two units of the receiver. In order to correctly recover the symbols, the symbol period should be at least twice T u n i t . In addition, the receiver needs to recover the clock of the sender to determine which units represent a complete symbol [23]. Therefore, in this experiment, the sender inserts four groups of ‘01’ before the constant light signal of each color channel in the first frame at the beginning of communication, with turning off the LED as ‘0’ and v c o n s t a n t as ‘1’.

6. Experiments and Assessment

This section evaluates the performance of NoGap-RS method and TickRS-CSK process. Section 6.1 introduces the details of the hardware and software implementations of experiment platform. Section 6.2 describes the experiment conditions, parameter setups, and other details of the NoGap-RS experiment and TickRS-CSK experiment.

6.1. Implement

6.1.1. Receiver

To facilitate the software implementation and the performance evaluation, this system uses the open-source OrangePi 5 development board as the receiver hardware platform, with the operating system being Ubuntu 22.04 and the Linux kernel version 6.1.43 as shown in Figure 13. The camera is an accompanying module with a lens that has the field of view of 77.6° and a CMOS model OV13850. The OV13850 has 4224 × 3136 pixels, and it outputs the image in the “10-bit RGB RAW” format. The parameter such as I S O , T e x p and f p s can be controlled via registers, and the programmable parameters are beneficial for the implementation of NoGap-RS.
The receiver implements the NoGap-RS method by modifying the Linux driver source code to configure the OV13850 registers. The specific implementation method involves adding multiple groups of parameter sets conforming to NoGap-RS standard to the driver. The modified driver is then loaded; this application can support NoGap-RS communication in different conditions by selecting different parameter sets and manually specifying the signal region as the exposure window, while retaining the ability to capture images to meet image processing needs such as signal region detection.
The receiver saves the frame stream in the format of 10-bit RGB RAW from the CMOS to files.Then the researcher uses Python 3.11 on a PC for file parsing, pixel extraction, row averaging, demodulation, SER and BER calculation steps, and so on. Row averaging is achieved by calculating the arithmetic mean of all pixels in the each row, resulting in a unique sampling value for the unit time period. The validity of this method is based on the synchrony of exposure for the pixels in the same row.

6.1.2. Sender

The sender consists of a control part and emitter. The role of the control part is to convert the data to symbols, then convert the symbols to waveforms of LED, thus driving the fixture to send a brightness signal. As shown in Figure 14a, the control circuit uses the ESP32-C3 development board, which has a 384 KB ROM and a dedicated cache of 16 KB, and supports dedicated GPIO, with a maximum GPIO speed of 80 MHz. The driving circuit uses the AOD4184 NMOS, with a response time of 35 ns.
As shown in Figure 14b, the system uses an LED fixture with a large luminous region as emitters, ensuring that the signal region meets the minimum exposure window during long-distance communication experiments. The fixture has built-in 10 RGB LEDs, and is equipped with a light diffuser module of 13 cm long and 6.5 cm wide. Each LED has a rated power of 150 mW. The sender controls all LEDs of the same color as a single emission source, ensuring that the brightness of the LEDs of the same color is strictly synchronized during communication. Therefore, the system implements wavelength division channels through three color emission sources.
To ensure the accuracy of the signal emission timing, the sender’s software architecture undergoes targeted optimization. A timer interrupt with a period of T e is used, and the interrupt service function is responsible for reading the next level of wavelength from the buffer and outputting it to the pin.

6.2. Experiment Setup

6.2.1. NoGap-OOK Setup

To separately assess the performance of the NoGap-RS method, the NoGap-RS method is integrated with OOK modulation to form a NoGap-OOK communication process. It adopts a basic modulation and intentionally avoids using any error correction coding so as to ensure that the measured SER truly reflects the performance of NoGap-RS itself. Due to OOK being the non-multi-channel modulation, only the green channel among three wave division channels of the experiment platform is used in the NoGap-OOK experiment. In addition, as OOK modulation only has two symbols, 0 and 1, the sender for NoGap-OOK experiment directly uses GPIO to output the high or low level. A direct channel between the output pin and the CPU is established through the dedicated GPIO functionality, effectively reducing the delay time of the level output.
This paragraph describes the conditions of the NoGap-OOK experiment. Firstly, the experiment sets up four communication distances, 0.6 m, 1.2 m, 2.4 m, and 3 m, to verify the communication distance robustness of NoGap-RS. Secondly, the experiment sets up three background lights—the outdoor natural light, the indoor natural light, and the indoor artificial light without the frequency flicker—to verify the background light robustness of NoGap-RS. Finally, the experiment sends 15 data samples (each 15 KB), covering various file types such as audio, images, video, executable programs, and text documents, to verify data robustness of NoGap-RS. The NoGap-OOK experiment is conducted under 3 background lights and 4 communication distances, totaling 12 groups.
All experiments also use the ’NoGao-OOK’ parameter set in Table 1, and the reason for the parameters is as follows: (1) To achieve the longer communication distance, the size of the exposure window (X and Y) should be slightly smaller. (2) To achieve the maximum rate, H T S and T e x p should be as low as possible. (3) To better assess the validity of sampling, the valid sampling count n is 50. (4) The final communication rate is determined by n, H T S , and T e x p .
In addition, the author uses the same hardware platform to implement the IoTorch-OOK system based on IoTorch [12] and OOK modulation to provide an intuitive comparison of NoGap-RS with the existing methods. As the IoTorch method requires that the total exposure time of each frame is greater than the interval duration, the IoTorch-OOK experiment is conducted under 0.4 m communication distance and three background lights, totaling 3 groups.
This paragraph describes the parameters of the IoTorch-OOK experiment. The signal region in the image has a height of 1801 rows, and T e x p is set to 200 µs, meaning the total exposure duration of the signal region per frame is 72.2 ms, with an interval duration of 60.92 ms. In addition, the number of symbol samples is set to 10, meaning T e is set to 600 µs. According to the IoTorch [12] formula, the packet length is set to 10 symbols, which is 6 ms; the block size is set to 2, and the number of retransmissions is set to 3. Thus, the block cycle is 36 ms, and the net communication rate is approximately 555.6 bps.

6.2.2. TickRS-CSK Setup

This section describes the conditions of the TickRS-CSK experiment. Firstly, the experiment sets up four communication distances, 0.6 m, 1.2 m, 2.4 m, and 3.6 m, to verify the communication distance robustness of TickRS-CSK. Secondly, as shown in Figure 15, the experiment site is placed in the indoor natural light. The experiments are conducted at three different points in the day to introduce the background lights of varying intensities to verify the background light robustness of TickRS-CSK. Thirdly, the experiment sends 30 data samples (each 3 MB) to verify the data robustness of TickRS-CSK. Finally, the experiment sets up three modes to verify the communication rate robustness of TickRS-CSK, and the corresponding parameter sets are in Table 1. The NoGap-OOK experiment is conducted under 3 background lights, 3 modes and required communication distances, totaling 21 groups.
The reason for the parameters of the three modes is as follows: (1) To test the impact of different Y on the system, three modes adopt different Y. (2) To achieve different bit rates, three modes adopt different H T S , resulting in different T e x p . (3) To avoid overexposure and reading collisions, N is conservative. (4) The final communication rate is determined by N, Y, and H T S .
The considerations for parameters in different modes mainly concern the communication distance and communication rate. Mode1 has a larger Y and a smaller H T S , so it has the largest communication rate among the three modes and is suitable for short-distance communication and good channel quality. Mode3 has a smaller Y and a larger H T S , so it has the smallest communication rate among the three modes and is suitable for long-distance communication.

6.3. Experiment Results

6.3.1. NoGap-OOK Results and Comparison

There are 12 groups in the NoGap-OOK experiment, and the result of each group is averaged over 15 SER. Figure 16 compares the SER of 12 groups.
This paragraph analyzes the results of the NoGap-OOK experiment. (1) Regarding the background light robustness, under outdoor natural light, SER is the highest, reaching the order of 10 2 ; under indoor artificial light, SER is the lowest, reaching the order of 10 5 . It indicates that different background lights have a noticeable impact on system performance, but SER for all groups remains within an acceptable range. (2) Regarding the communication distance robustness, SER varies by one to two orders of magnitude at different communication distances. It indicates that there is a positive correlation between communication distance and SER, and them all remain within an acceptable range. (3) Regarding data robustness, the upper and lower limits of SER for all groups fluctuate within one order of magnitude. It indicates that NoGap-RS is data independent. The experiment confirms that the NoGap-RS method has a certain degree of background light robustness, strong communication distance robustness, and significant data robustness.
There are 3 groups in the IoTorch-OOK experiment, and the results of each group are averaged over 15 SER. Figure 17 compares the SER of 6.41 Kbps NoGap-OOK at 0.6 m communication distance with SER of 555.6 bps IoTorch-OOK at 0.4 m communication distance.
This paragraph compares IoTorch-OOK with NoGap-OOK. The result show that the difference in SER is relatively limited, but the IoTorch-OOK SERs under three background lights are all lower than those of NoGap-OOK, which can be attributed to the longer exposure time of IoTorch-OOK, thus resulting in better distinction between the different symbols. In the indoor artificial light with relatively high signal-to-noise ratios, even a very short exposure time can ensure good symbol distinction, so the difference in SER is not significant in this case. In fact, NoGap-OOK can also achieve lower SER by increasing the exposure time by decreasing communication rate. Furthermore, the SER fluctuation in IoTorch-OOK is greater, which may be related to the fewer sampling times. In summary, NoGap-OOK achieves a longer communication distance and greater communication rate, with an increase of about 5 times and 10 times respectively, at the cost of a slight increase in SER.

6.3.2. TickRS-CSK Results and Comparison

There are 21 groups in the TickRS-CSK experiment, and the result of each group is averaged over 20 BER. Figure 18 compares the BER of 21 groups. The first three sub-figures are BER graphs under three background lights, and the fourth sub-figure compares the BER of various background lights under Mode3.
This paragraph analyzes the results of the TickRS-CSK experiment. (1) Regarding the communication rate robustness, the difference in BER is not significant for different modes, and BER of the slowest Mode3 is the lowest in all experiments. This is attributed to the fact that its Y and valid units in the frame are both minimal; if the entire frame suffers an error, then Mode3 will have fewer erroneous units. Additionally, its H T S is the largest, meaning the symbol period was the longest, allowing for a greater distinction between different symbols. (2) Regarding the communication distance robustness, BER varies by one order of magnitude at different communication distances, and BER is inversely proportional to the distance. (3) Regarding the background light robustness, according to the fourth sub-image in Figure 18, the difference in BER is not significant for different light robustness, and BER is directly proportional to the background light intensity.
The overall BER of TickRS-CSK is within an acceptable range, but it reaches the order of 10 2 , which is relatively high compared to NoGap-OOK. There are three possible reasons. Firstly, the TickRS method has intra-frame coupling, leading to a higher possibility of entire frame error. Secondly, TickRS-CSK uses PWM to emit the signal at the sender and requires software to change the PWM duty cycle, which may result in an emission timing delay. In contrast, NoGap-OOK uses dedicated GPIO at the sender to reduce emission timing delays. Thirdly, the RGB correction in Section 5.3 should be time-independent, but as shown in Figure 12, there is a temporal mismatch between the red pixel units and the others, resulting in inaccurate RGB correction.
This paragraph compares TickRS-CSK with other RS-OCC systems. The systems are introduced as follows: D-ELFC [22] uses RS-CMOS as a receiver and uses relatively advanced OFDM modulation. It has the characteristics of high speed, but it adopts the traditional sampling method. Like TickRS-CSK, SCSK [20], CSSK [26] and RS-CSK [27] also use RS-CMOS and CSK modulation, but they also adopt the traditional sampling method. Figure 19 compares the communication rate and BER of these systems, and the BER and distance data of other systems are obtained from previous research papers. The communication rate of TickRS-CSK is improved by 48.52% compared to D-ELFC, and the communication distance of TickRS-CSK is increased from 0.2 m of D-ELFC to at least 0.6 m. In summary, although the BER of TickRS-CSK is relatively high, it achieves a communication distance and communication rate that surpass currently advanced RS-OCC systems.

7. Conclusions and Discussion

The paper presented and elaborated on NoGap-RS, which effectively addresses the technical challenge of signal loss in the RS-OCC system by implementing the programmable control of sampling parameters, thereby significantly enhancing the upper limit of the RS-OCC’s communication rate. Theoretically, NoGap-RS can be combined with most modulation schemes to improve the communication rate of the RS-OCC system. In addition, the SoC, operating system, and CMOS interface protocol of the experimental platform are similar to most mobile devices, suggesting that NoGap-RS is compatible with most mobile phones to some extent, which expands the applicability of NoGap-RS.
In addition, the paper further explored the potential of NoGap-RS and developed TickRS, a high rate method based on time slot division. The TickRS-CSK achieved a BER of 4.36% at a rate of 20.09 Kbps and a distance of 3.6 m, while at a shorter distance of 0.6 m, the data rate of 41.14Kbps exceeded most conventional RS-OCC systems, demonstrating the potential of NoGap-RS and TickRS in high-rate OCC field. Future investigations will focus on extensive experimental validation across multiple CMOS platforms, outdoor light scenarios, and artificial light scenarios with power line interference.

Author Contributions

Conceptualization, X.X.; methodology, X.X.; software, Y.H.; validation, Y.H. and X.X.; formal analysis, Y.H.; investigation, Y.H.; writing—original draft preparation, Y.H.; writing—review and editing, Y.H. and X.S.; supervision, X.S.; funding acquisition, X.S. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the Zhejiang Province ‘Jianbing’ ‘Lingyan’ Research and Development Breakthrough Plan Funding Project of China (2023C01143).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The raw data supporting the conclusions of this article will be made available by the authors on request.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Nguyen, H.; Le, N.T.; Le, D.T.A.; Jang, Y.M. Design and implementation of a hybrid Optical Camera Communication system for indoor applications. Sensors 2024, 24, 300. [Google Scholar] [CrossRef] [PubMed]
  2. Pons, M.; Valenzuela, E.; Rodríguez, B.; Nolazco-Flores, J.A.; Del-Valle-Soto, C. Utilization of 5G technologies in IoT applications: Current limitations by interference and network optimization difficulties—A review. Sensors 2023, 23, 3876. [Google Scholar] [CrossRef] [PubMed]
  3. IEEE Std 802.15.7-2018; IEEE Standard for Local and Metropolitan Area Networks–Part 15.7: Short-Range Optical Wireless Communications. IEEE: Piscataway, NJ, USA, 2019; pp. 1–670.
  4. Zeng, Z.; Fu, S.; Zhang, H.; Dong, Y.; Cheng, J. A survey of underwater Optical Wireless Communications. IEEE Commun. Sur. Tuts. 2016, 19, 204–238. [Google Scholar] [CrossRef]
  5. Majlesein, B.; Rufo, J.; Moreno, D.; Guerra, V.; Rabadan, J. Underwater Optical Camera Communications based on a multispectral camera and spectral variations of the LED emission. In Proceedings of the Workshop on Light up the IoT, London, UK, 21 September 2020; pp. 30–35. [Google Scholar]
  6. Teli, S.; Cahyadi, W.A.; Chung, Y.H. High-speed optical camera V2V communications using selective capture. Photonic Netw. Commun. 2018, 36, 210–216. [Google Scholar] [CrossRef]
  7. Teli, S.R.; Guerra-Yanez, C.; Icaza, V.M.; Perez-Jimenez, R.; Ghassemlooy, Z.; Zvanovec, S. Hybrid Optical Wireless Communication for versatile IoT applications: Data rate improvement and analysis. IEEE Access 2023, 11, 55107–55116. [Google Scholar] [CrossRef]
  8. Feng, M.; Wang, Y.; Li, M.; Liu, S.; Huang, G.; Li, P. Design of OCC indoor positioning system based on flat panel light and angle sensor assistance. Appl. Sci. 2023, 13, 4745. [Google Scholar] [CrossRef]
  9. Danakis, C.; Afgani, M.; Povey, G.; Underwood, I.; Haas, H. Using a CMOS camera sensor for Visible Light Communication. In Proceedings of the 2012 IEEE Globecom Workshops, Anaheim, CA, USA, 3–7 December 2012; IEEE: Piscataway, NJ, USA, 2012; pp. 1244–1248. [Google Scholar]
  10. Guan, W.; Wu, Y.; Xie, C.; Fang, L.; Liu, X.; Chen, Y. Performance analysis and enhancement for Visible Light Communication using CMOS sensors. Opt. Commun. 2018, 410, 531–551. [Google Scholar] [CrossRef]
  11. Do, T.H.; Yoo, M. Performance analysis of Visible Light Communication using CMOS sensors. Sensors 2016, 16, 309. [Google Scholar] [CrossRef] [PubMed]
  12. Hokazono, Y.; Koizuka, A.; Zhu, G.; Suzuki, M.; Narusue, Y.; Morikawa, H. IoTorch: Reliable LED-to-camera communication against inter-frame gaps and frame drops. IEEE Trans. Mob. Comput. 2019, 20, 550–564. [Google Scholar] [CrossRef]
  13. Lee, H.Y.; Lin, H.M.; Wei, Y.L.; Wu, H.I.; Tsai, H.M.; Lin, K.C.J. Rollinglight: Enabling line-of-sight light-to-camera communications. In Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services, Florence, Italy, 18–22 May 2015; pp. 167–180. [Google Scholar]
  14. Nguyen, D.T.; Park, Y. Data rate enhancement of Optical Camera Communications by compensating inter-frame gaps. Opt. Commun. 2017, 394, 56–61. [Google Scholar] [CrossRef]
  15. Roberts, R.D. Undersampled frequency shift ON-OFF Keying (UFSOOK) for camera communications (CamCom). In Proceedings of the 2013 22nd Wireless and Optical Communication Conference, Chongqing, China, 16–18 May 2013; IEEE: Piscataway, NJ, USA, 2013; pp. 645–648. [Google Scholar]
  16. Nguyen, T.; Hong, C.H.; Le, N.T.; Jang, Y.M. High-speed asynchronous Optical Camera Communication using LED and rolling shutter camera. In Proceedings of the 2015 Seventh International Conference on Ubiquitous and Future Networks, Sapporo, Japan, 7–10 July 2015; IEEE: Piscataway, NJ, USA, 2015; pp. 214–219. [Google Scholar]
  17. Tsai, T.T.; Chow, C.W.; Chang, Y.H.; Jian, Y.H.; Liu, Y.; Yeh, C.H. 130-m Image sensor based Visible Light Communication (VLC) using under-sample modulation and spatial modulation. Opt. Commun. 2022, 519, 128405. [Google Scholar] [CrossRef]
  18. Huang, R.; Yamazato, T. A review on image sensor communication and its applications to vehicles. Photonics 2023, 10, 617. [Google Scholar] [CrossRef]
  19. Halawi, S.; Yaacoub, E.; Kassir, S.; Dawy, Z. Performance analysis of circular Color Shift Keying in VLC systems with camera-based receivers. IEEE Trans. Commun. 2019, 67, 4252–4266. [Google Scholar] [CrossRef]
  20. Chen, Q.; Wen, H.; Deng, R.; Chen, M.; Xu, Q.; Zong, T.; Geng, K. Spaced Color Shift Keying modulation for camera-based Visible Light Communication system using rolling shutter effect. Opt. Commun. 2019, 449, 19–23. [Google Scholar] [CrossRef]
  21. Nguyen, H.; Nguyen, V.L.; Tran, D.H.; Jang, Y.M. Rolling shutter OFDM scheme for Optical Camera Communication considering mobility environment based on deep learning. Appl. Sci. 2022, 12, 8269. [Google Scholar] [CrossRef]
  22. Lain, J.K.; Yang, Z.D.; Xu, T.W. Experimental DCO-OFDM Optical Camera Communication systems with a commercial smartphone camera. IEEE Photonics J. 2019, 11, 1–13. [Google Scholar] [CrossRef]
  23. Chow, C.W.; Chen, C.Y.; Chen, S.H. Visible Light Communication using mobile-phone camera with data rate higher than frame rate. Opt. Express 2015, 23, 26080–26085. [Google Scholar] [CrossRef] [PubMed]
  24. Liang, C.K.; Peng, Y.C.; Chen, H. Rolling shutter distortion correction. In Proceedings of the Visual Communications and Image Processing 2005, Beijing, China, 12–15 July 2005; SPIE: Washington, DC, USA, 2005; Volume 5960, pp. 1315–1322. [Google Scholar]
  25. Liang, K.; Chow, C.W.; Liu, Y. RGB Visible Light Communication using mobile-phone camera and multi-input multi-output. Opt. Express 2016, 24, 9383–9388. [Google Scholar] [CrossRef] [PubMed]
  26. Hu, P.; Pathak, P.H.; Zhang, H.; Yang, Z.; Mohapatra, P. High speed led-to-camera communication using Color Shift Keying with flicker mitigation. IEEE Trans. Mob. Comput. 2019, 19, 1603–1617. [Google Scholar] [CrossRef]
  27. Chen, H.W.; Wen, S.S.; Wang, X.L.; Liang, M.Z.; Li, M.Y.; Li, Q.C.; Liu, Y. Color-Shift Keying for Optical Camera Communication using a rolling shutter mode. IEEE Photonics J. 2019, 11, 1–8. [Google Scholar] [CrossRef]
Figure 1. RS-CMOS exposure timing diagram. (a) Parameter explanation. (b) Overlap explanation.
Figure 1. RS-CMOS exposure timing diagram. (a) Parameter explanation. (b) Overlap explanation.
Photonics 12 00720 g001
Figure 2. RS-OCC principle. (a) CMOS exposure timing. (b) Output image. (a), each row of pixels receives a different duration of LED illumination during exposure. (b), the brighter the streaks, the longer the row of pixels was illuminated during exposure.
Figure 2. RS-OCC principle. (a) CMOS exposure timing. (b) Output image. (a), each row of pixels receives a different duration of LED illumination during exposure. (b), the brighter the streaks, the longer the row of pixels was illuminated during exposure.
Photonics 12 00720 g002
Figure 3. RS-OCC in practical scenarios. (a) Signal loss duration. (b) System visualization.
Figure 3. RS-OCC in practical scenarios. (a) Signal loss duration. (b) System visualization.
Photonics 12 00720 g003
Figure 4. Readout collision.
Figure 4. Readout collision.
Photonics 12 00720 g004
Figure 5. Exposure window.
Figure 5. Exposure window.
Photonics 12 00720 g005
Figure 6. Exposure parameters and T l o s s .
Figure 6. Exposure parameters and T l o s s .
Photonics 12 00720 g006
Figure 7. NoGap-RS ideal situation.
Figure 7. NoGap-RS ideal situation.
Photonics 12 00720 g007
Figure 8. Valid and invalid sampling.
Figure 8. Valid and invalid sampling.
Photonics 12 00720 g008
Figure 9. A simple example of TickRS.
Figure 9. A simple example of TickRS.
Photonics 12 00720 g009
Figure 10. F s and d e l a y under different parameters. (a) HTS = 1970. (b) Y = 480. The three straight lines in the figure represent d e l a y values at different N, referring to the right y-axis. The three curves in the figure represent F s values at different N, referring to the left y-axis.
Figure 10. F s and d e l a y under different parameters. (a) HTS = 1970. (b) Y = 480. The three straight lines in the figure represent d e l a y values at different N, referring to the right y-axis. The three curves in the figure represent F s values at different N, referring to the left y-axis.
Photonics 12 00720 g010
Figure 11. The TickRS-CSK flowchart.
Figure 11. The TickRS-CSK flowchart.
Photonics 12 00720 g011
Figure 12. TickRS solution by color grouping.
Figure 12. TickRS solution by color grouping.
Photonics 12 00720 g012
Figure 13. Receiver.
Figure 13. Receiver.
Photonics 12 00720 g013
Figure 14. Sender. (a) Circuit schematic. (b) Physical image.
Figure 14. Sender. (a) Circuit schematic. (b) Physical image.
Photonics 12 00720 g014
Figure 15. Experiment site.
Figure 15. Experiment site.
Photonics 12 00720 g015
Figure 16. SER of NoGap-OOK with 6.41 Kbps in various conditions.
Figure 16. SER of NoGap-OOK with 6.41 Kbps in various conditions.
Photonics 12 00720 g016
Figure 17. Comparison of the SER between NoGap-OOK and IoTorch-OOK.
Figure 17. Comparison of the SER between NoGap-OOK and IoTorch-OOK.
Photonics 12 00720 g017
Figure 18. BER of TickRS-CSK under different conditions. (a) Weak background light. (b) General background light. (c) Strong background light. (d) Mode3.
Figure 18. BER of TickRS-CSK under different conditions. (a) Weak background light. (b) General background light. (c) Strong background light. (d) Mode3.
Photonics 12 00720 g018
Figure 19. Comparison of BER between TickRS-CSK and other RS-OCC systems. The horizontal axis represents the bit rate, with higher values being better, meaning the performance is better on the left side of the figure. The vertical axis represents the error rate, with lower values being better, indicating that performance is better at the bottom of the graph. Therefore, the performance of the system corresponding to the curve near the bottom left of the graph is better.
Figure 19. Comparison of BER between TickRS-CSK and other RS-OCC systems. The horizontal axis represents the bit rate, with higher values being better, meaning the performance is better on the left side of the figure. The vertical axis represents the error rate, with lower values being better, indicating that performance is better at the bottom of the graph. Therefore, the performance of the system corresponding to the curve near the bottom left of the graph is better.
Photonics 12 00720 g019
Table 1. The parameter sets of various methods.
Table 1. The parameter sets of various methods.
XY HTS VTS T exp /µsN Fs CSK /KHz delay CSK /msMaximum
Distance/m
Communication
Rate/Kbps
NoGap-OOK15221616022489.3///36.41
IoTorch-OOK////200///0.40.5556
TickRS-CSK Mode1196248019705023942427.424.530.641.14
TickRS-CSK Mode2260232026103425222419.634.261.229.45
TickRS-CSK Mode3324216032501826502413.393.143.620.09
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Hong, Y.; Xie, X.; Shen, X. TickRS: A High-Speed Gapless Signal Sampling Method for Rolling-Shutter Optical Camera Communication. Photonics 2025, 12, 720. https://doi.org/10.3390/photonics12070720

AMA Style

Hong Y, Xie X, Shen X. TickRS: A High-Speed Gapless Signal Sampling Method for Rolling-Shutter Optical Camera Communication. Photonics. 2025; 12(7):720. https://doi.org/10.3390/photonics12070720

Chicago/Turabian Style

Hong, Yongfeng, Xiangting Xie, and Xingfa Shen. 2025. "TickRS: A High-Speed Gapless Signal Sampling Method for Rolling-Shutter Optical Camera Communication" Photonics 12, no. 7: 720. https://doi.org/10.3390/photonics12070720

APA Style

Hong, Y., Xie, X., & Shen, X. (2025). TickRS: A High-Speed Gapless Signal Sampling Method for Rolling-Shutter Optical Camera Communication. Photonics, 12(7), 720. https://doi.org/10.3390/photonics12070720

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop