## 3 Experimental Setup and Result Analysis
### Result and Analysis
#### 3.2.3 Real-Time Performance  
The processing time of the tracking and complexity of the algorithm significantly affected the real-time performance of communication in a CMOS-based VLC system. Tracking and extracting the target signal source LED is the first step of communication. The real-time performance of communication would be greatly reduced if the running time of the tracking algorithm is too long.  
In our experiment, the transmitter was fixed and the receiver kept moving throughout the process. One hundred successive frames of each video were chosen randomly to obtain the average processing time \(t\). The processing time of each frame of each video is shown in Table 2 so it can be calculated that \(t\) was 0.042 s. Compared to our previous work in the field of tracking and positioning, Reference [4], for instance, which uses optical flow detection and a Bayesian forecast algorithm for target tracking, its average running time was 0.162 s. Obviously, the proposed tracking algorithm in this paper was much faster. Furthermore, the accuracy of the improved Cam-Shift algorithm with a Kalman filter is basically the same as that of optical flow detection and Bayesian forecast algorithm in Reference [4], and in most practical applications, especially in an OVLC system, such errors are acceptable and it is worth mentioning that the processing time of the proposed algorithm is only one fourth of that in Reference [4], meaning that it is suitable for VLC real time communication, though it cannot forecast the next position of the target.  
Figure 13: Tracking performance of the proposed algorithm under similar color interference and background interference: (**a**) frame number 63, (**b**) frame number 74, (**c**) frame number 86, and (**d**) frame number 91.  
Moreover, compared with other works, the proposed algorithm in this paper has a good real-time performance. References [23; 24; 25] can provide different degrees of positioning accuracy, which can reach decimeter-level, within ten centimeters, or even millimeter-level. However, these works focus on static positioning only and real-time ability is not considered. The balance of real-time performance, accuracy, and robustness is of vital importance and not a single one of them can be omitted in the application of VLC. In Reference [19], the computational time of each frame is only about 0.023 s for single-luminaire, which is faster than our processing time. While, reference [19] can only provide an accuracy of 7.5 cm, and the error is about 8.8 times that of ours (0.85 cm). Considering synthetically, the computational time of 0.042 s for the proposed algorithm in our paper is acceptable and has good real-time ability. Furthermore, Reference [20], whose focus was similar to ours, proposed a probability-based tracking algorithm and performed well in tracking error. However, it lacked a practical experiment and real-time analysis, meaning that it is not enough to justify its feasibility in practical application where real-time ability is required. Therefore, it can be concluded that the proposed algorithm possesses good real-time performance.