# Visible Light Communications through Diffusive Illumination of Sculptures in a Real Museum
## 4 Results and Discussion  
### PER Analysis and Quality of Communication Channel  
PER is a common metric to assess the communication performances of communication systems, and in general its value relates to the SNR of the received signal [27]. For this reason, a convenient and reliable way to evaluate the communication performances of our system is to analyze the amplitude of the received signal on the whole experimental grid, for various relative positions and angles between TX and RX. Assuming a uniform distribution of the erroneous bits on the received packets, the PER can be directly related to the Bit Error Rate (BER) via \(\mathsf{PER}=1-(1-\mathsf{BER})^{\mathsf{N}}\), where \(N\) is the number of bits constituting packet [28]. Considering pure additive white Gaussian noise, we can assume BER to be related to the SNR of the received signal through the well-known Q-function: \(\mathsf{BER}=\mathsf{Q}(\mathsf{SNR})\)[27]. Combining the previous equations, PER can then be expressed as a function of received SNR as:  
\[\mathsf{PER}=1-(1-\mathsf{Q}(\mathsf{SNR}))^{\mathsf{N}}=1-\left(1-\frac{1}{2 }\mathsf{erfc}\!\left(\frac{S/2-T}{\sqrt{2}\sigma_{\mathsf{RMS}}}\right) \right), \tag{1}\]  
where \(S\) is the amplitude of the signal received and \(\sigma_{\mathsf{RMS}}\) the standard deviation of the background noise. \(T\) is a parameter which takes into account the presence of a finite threshold in the detection of the VLC signal, intentionally introduced by our RX stage so as to mitigate the effect of channel noise, which would otherwise induce false triggering and lead to reduced transmission performances. In Figure 4a, we show measured PER as a function of received SNR. The green circles are the experimental data. Horizontal error bars correspond to uncertainty in detection of signal amplitude with the oscilloscope, whereas vertical error bars, negligible on this scale, are related to the observed variance of the PER in repeated experiments for a certain position of the receiver. As our data clearly show, our system is capable of attaining error-free communications in diffusive, nLoS configuration for \(\mathsf{SNR}>22\,\mathsf{dB}\), whereas successful communication (\(\mathsf{PER}<0.1\)) could be established for SNR exceeding 15 dB. Our data are also compared against predictions of a best fitting curve obtained through Equation (1) (red line in Figure 4). Our data are nicely fitted by predictions, thus confirming the hypothesis of additive white Gaussian noise affecting the VLC channel. Figure 4 also shows the recorded eye patterns, in both low-signal (\(\mathsf{SNR}=11\,\mathsf{dB}\), \(\mathsf{PER}\approx 0.5\), panel (b)) and high-signal (\(\mathsf{SNR}=22\,\mathsf{dB}\), error-free, panel (c)) configurations.In  
both panels, we report traces corresponding to three different signals. The top trace (TX) corresponds to the TX signal generated by the Arduino DUE board, the central trace (RX) shows the analog output of the photoreceiver after TIA, and the bottom trace (_digitized_) shows the output of the comparator stage at receiver. The acquisition is self-triggered on the RX signal, so that the horizontal spread of transition edges in the digitised signal provides indication on the jitter in the reconstructed VLC digital signal, which depends on the signal quality and on the intrinsic ultimate time resolution of the Arduino DUE digital pins, which is of the order of 1 \(\upmu\)s. Referring to the high-level signal eye diagram (Figure 4c), we observe a jitter of \(\sim\)2 \(\upmu\)s on the TX trace and about twice this value in the digitised signal, which contains a larger amount of noise with respect to the TX. We remark that, in typical indoor environments, where flaring and seeing effects due to density fluctuations of the air can be neglected, TIA noise typically represents one of the largest noise components [29], as the small current generated in the photodiode makes TIA susceptible to thermal and shot noise, converting it to random jitter [30].