## 4 Implementation
### Implementation Results
#### 4.4.3 Implementation  
In this paper, we implemented the neural network for a MIMO C-OOK scheme several times using different cameras to verify the effect of frame variation. Additionally, the SN length was carefully selected to optimize the overall process. The results of the MIMO C-OOK scheme with a conventional decoder and deep learning decoder are shown in Figure 11, and the parameters of the proposed scheme are shown in Table 1. Figure 10 shows the experimental setup environment, and Figure 13 shows the MIMO C-OOK waveform at the receiver side. For LED detection, after 7000 training epochs, the average loss for the neural network model was approximately 0.12. We also tested the performance of the trained model for a real environment with different communication distances and the mobility effect. Figure 15 shows the scenario for our implementation using two LEDs, and Figure 16 shows the implementation results of the MIMO C-OOK system using a deep learning neural network for decoding data. Figure 14: An example of an undersampling case. Figure 13: An example showing an oversampling case. Figure 17 shows the results of the MIMO C-OOK scheme using a conventional decoder and a deep learning neural network with different communication distances and the same exposure times. When using the same distance and environment, the deep learning neural network decoder significantly enhanced the system's performance, more so than the conventional decoder. Figure 10 shows the modification of the pixel SNR by setting an exposure time to increase the SNR value. This increase in the system performance will, however, increase the likelihood of the fuzzy states of the LEDs reducing the optical bandwidth. Figure 16: The receiver interface. Figure 15: The experiment implementation environment. Table 1 displays the parameter characteristics of the proposed scheme with the results after deploying the scheme several times with different optical clock rates (8 kHz and 10 kHz), and the number of LEDs (two and three LEDs). The table displays the implementation results with a high data rate. By increasing the packet length, LED number or optical clock rate, we can improve the performance of the OCC system. However, as we mentioned above, the optical clock rate and the DS length must suit the rolling rate camera, distance and image size. The deep learning neural network can be used for LED detection and can also provide support for decoding the data, which will help to improve the performance of the OCC system. \begin{table}
\begin{tabular}{c c c c c} \hline \hline  & \multicolumn{3}{c}{**Transmitter**} \\ \hline Optical clock rate & \multicolumn{2}{c}{8 kHz} & \multicolumn{2}{c}{10 kHz} \\ \hline RLL code & Manchester code & 4B6B code & Manchester code & 4B6B code \\ \hline Forward Error & \multicolumn{2}{c}{[PERSON] code (15,11)} \\ Correction & \multicolumn{2}{c}{} \\ \hline LED type & \multicolumn{2}{c}{9 V, 3 W} \\ \hline Number of LEDs & 2 & 3 \\ \hline Packet rate (packet/s) & \multicolumn{2}{c}{30} \\ \hline \multicolumn{4}{c}{**Receiver**} \\ \hline Camera type & \multicolumn{2}{c}{Rolling Shutter Camera (FL3-U3-132C-CS)} \\ \hline Camera frame rate (fps) & \multicolumn{2}{c}{60} \\ \hline \multicolumn{4}{c}{**Data rate of OCC system**} \\ \hline Uncode bit rate (kbps) & 1.8 & 2.7 & 3.375 & 5.06 \\ \hline Code bit rate (kbps) & 1.32 & 1.98 & 2.22 & 3.71 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: The parameter characteristics of the proposed scheme. Figure 17: The BER performance of the MIMO C-OOK system with a matched filter and a deep learning neural network decoder with different distances considering a velocity of 2 m/s. the performance for long communication distances and in mobile environments. In our implementation, we applied the proposed scheme using a velocity of 2 m/s (walking speed) to ensure that it would be applicable for indoor applications that consider the mobility effect.