## 6 Experiment Setup and Results
### Experiment Results of BLSTM Application  
For the BLSTM experiment, we looked for three aspects: (1) performance impacts on BLSTM parameters including batch size, data size, and epoch, (2) performance on K factor values, and (3) performance over SNR. Since the distortion correction was trained at the transmitter, we confirmed that SNR does not influence the training process but on the test. We also considered the Rician fading for our experiment due to the possible mobility service scene. The first preliminary experiment result is in Figure 11. In this graph, we can confirm that once the K factor is increased, the VLC performance is improved as well. For BLSTM-specific testing, we considered K factors 4 and 20 as the worst and best cases.  
Figure 9: BER performances of the predistortion in 16/64 QAM modulation for infrared LED.  
The performance results over batch size are in Figure 12. In Figure 12a,b, we observe that when batch sizes were 32 and 256, the VLC outperformed as compared to the no-correction case. Note that batch size with 64 was outperformed on a K factor with 4 but underperformed on a K factor with 20. Based on the results, we may conclude that batch size is one of the critical parameters to tune the performance in a sophisticated manner.  
Figure 11: BER performances with various Rician fading factors, 16 QAM for white LED.  
Figure 10: BER performances with Rician fading, K = 4 in 16/64 QAM modulation for white LED.  
The performance results over the epoch are in Figure 13. In Figure 13,b, we observe that when the epoch was 1 and 5, the VLC outperformed as compared to the no correction case. Note that, as time goes by, the more the number of epochs increases, the more performance improvement is shown. Underperformed cases with epochs 2 and 3 proved that very few training iterations do not significantly improve performance.  
The performance results over data size are in Figure 14. Figure 14,b show that when data sizes were approximately over 204.8 million, the VLC outperformed much more than in the no correction case. The performance results proved that, during the training process, sufficient data must be prepared and, in our case, over about 205 million samples are required to produce better performance. Insufficient data size may cause overfitting problems, and the VLC system performs worse than in the no correction case.  
Figure 12: BER performances over batch size with Rician fading channel 16 QAM for white LED: (**a**) K Factor = 4; (**b**) K Factor = 20.  
Figure 13: BER performances over epoch with Rician fading channel 16 QAM for white LED: (**a**) K factor = 4; (**b**) K factor = 20.  
The BER performance of each batch size over SNR is in Figure 15. The figure shows that the performance deteriorates when the batch size is increased. However, we also have to understand that the batch size is equivalent to the step size in the optimization. Given that each iteration time is fast when the batch size is large, the trade-off between batch size and iteration time must be carefully considered under limited resources and time.  
To summarize, our BLSTM models showed the possible performance improvement of LED distortion. In addition, we only need to care for the transmitter AND no requirement for the receiver to operate this approach. As described in the in-building mobility service in Section 1, the mobility devices, including IoT applications, can use the same receiver structure while experiencing enhanced BER performance of the VLC system. In other words, they can spend less energy on the same VLC system experiences.  
Figure 14: BER performances over data size with Rician fading channel 16 QAM for white LED: (**a**) K factor = 4; (**b**) K factor = 20.  
Figure 15: BER performances of batch sizes over SNR with Rician fading K factor = 4, 16 QAM.