## 5 Evaluation
### Impact of Switching Latency  
The switching latency is the effective time taken by the shutter receiver and its associated processing to switch the state and control from one pixel to another. Switching latency can impact the signal quality from each pixel during the shutter control phases. The switching latency is a function of the per-pixel _time slot duration_\(T_{s}\) and the intermediate state (open/close) _switching time per pixel_. We compute the switching latency\(=[(pixels-to-scan)\times(T_{s}+switching-time-per-pixel)]+[(no.-of-transmitters\times packet-size\times switching-time-per-pixel)]\), where the first part of the sum is the Step 1 latency and second part corresponds to Step 2. We first validated the consistency of the SNR values under different time slot duration selections for the pixels in our current prototype. Considering LED 1 as desired signal and with LED 2 switched OFF, we alternated pixels 1 and 2 to be OPEN for the specific time slot duration and recorded signal and noise power. We report the average SNR values in Table 5 and observe the consistency of SNR for short (100 ms) as well as long time slot durations (2 s). The experiments were conducted in a well lit (white ceiling lighting) lab environment. The ambient light from the ceiling light is considered as the noise source, with a recorded average voltage was 4.9 mV across all experiments; to help compare, the LED signal from 16 cm recorded about 0.6 V on the photodiode without any shutter.  
In our prototype the time slot duration is 100 ms, pixel switching time is 1 ms, and there are 2 transmitters sending 2096 bits packets. We measure the Step 1 (discovery) phase switching latency to be about 400 ms (2 \(\times\) (100 ms + 1 ms)) with a 5 s periodicity, and Step 2 (identification) phase switching latency to be about 4.2 s (2 \(\times\) 2096 \(\times\) 1 ms). Ideally, the smallest shutter pixel switching time is desired, however, the hardware choice may cause a constraint. We observe that our LCD shutters in our prototype can go lowest up to 1 ms operation. If we were to consider practical usage of switching times of \(T_{s}=1\) ms (potentially using Digital Micromirror Devices DMDs), and shutter resolutions of 100 \(\times\) 100 and 1000 \(\times\) 1000 pixels, and even considering an overestimated number of 100 effective transmitters (which map to 100 different pixels) the effective, theoretically estimated, processing time (latency) of Steps 1 and 2 in Algorithm 1 would be about 220 ms and 1.2 s, respectively. Such latency numbers can be considered practical for typical VLC applications including sensing, IoT and low-speed device-device data transfers.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**Freq(Hz)**} & \multirow{2}{*}{**\# Pkts in _Ts_**} & \multicolumn{2}{c}{**Packet Error Rate (PER) (\%)**} \\ \cline{3-4}  & & **Pixel 1** & **Pixel 2** \\ \hline
500 kHz & 477 & 5.88\% & 5.46\% \\
1 MHz & 954 & 4.83\% & 2.63\% \\
2 MHz & 1908 & 3.36\% & 3.25\% \\ \hline \hline \end{tabular}
\end{table}
Table 4: Packet error rate (PER) calculated from received signal traces from each pixel OPEN duration of _Ts_\(=2\) s. Pixel 1(2) corresponds to signal from LED 1(2).  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Pixels** & **Pixel 1** & **Pixel 2** & _T_\(s\) **[ms]** \\ \hline \multirow{4}{*}{\(SNR_{db}\)} & 19.97 & \(-\)0.27 & 100 ms \\  & 19.96 & 0.48 & 500 ms \\ \cline{1-1}  & 19.86 & \(-\)0.47 & 1000 ms \\ \cline{1-1}  & 20.02 & \(-\)0.60 & 1500 ms \\ \cline{1-1}  & 19.99 & \(-\)1.18 & 2000 ms \\ \hline \hline \end{tabular}
\end{table}
Table 5: Average Signal to Noise Ratio (SNR) in dB for each pixel OPEN under different shutter switching times. Here, the LED transmitter is placed such that it illuminates Pixel 1 only.