## 3 System Architecture
### Automated Shutter Control Protocol Design  
The shutter control protocol operates in tandem with the decoding process running in the computing unit connected to the photodiode. The control protocol, discussed in Algorithm 1 and demonstrated as block diagram in Figure 2 involves two steps:  
**Step 1: Discovery phase**, where the receiver does a preliminary pruning of all signals that do not represent a transmit signal by using the signal-to-noise-ratio from each shutter pixel \(i\) (\(SNR_{pxi}\)). SNR is computed as ratio of signal power to noise power, where power is computed as the mean-squared photodiode voltage reading divided by the sampling time interval. This step helps to filter ambient light, DC noise sources and other known noise sources. This way, only a subset of the shutter pixel array are kept OPEN and are to be processed, thus limiting the processing to a smaller subset of signals.  
**Step 2: Identification phase**, where the receiver does a fine tuning of identifying each transmit signal and selectively opening the corresponding shutter pixels to allow/disallow the signal for continued reception at the photodiode. The identity of the signals are maintained through unique header sequences (barker codes) in the data packets. We consider that a unique ID of each transmitter will be registered at the receiver apriori during the first setup of the system (one time) and update the identity look-up table as necessary.  
The shutter control protocol enables multiple access where information from multiple LED transmitters can be decoded by a single photodiode receiver. By enabling which signals to receive at which instance of time, the receiver can choose time-slots to receive and decode specific signals. Our system by default functions as a space and time-division multiple access (SDMA and TDMA) system where each transmission is decoded across a time-slot duration of \(T_{s}\) seconds, and the selection of spatially separated LED emissions is controlled through the LCD functions. While transmitters could potentially transmit at different rates and that time slots of transmission and reception may incur synchronization issues, the spatial separation through the LCD enables to first find which signal is intended and which is not, and then physically allow only the signal intended. Without the LCD the other possibility to achieve the same functionality is to use an array receiver, however, as mentioned before, array receivers can significantly increase the complexity of the system. This work aims to study how a non-array receiver could still function such multiple access schemes, albeit with some practical and minimalist hardware additions.  
The choice of the value of \(T_{s}\) depends on the application. For example, a slot duration of 1-2 s may work for beaconing and repetitive transmission such as in sensor or IoT applications, however, for streaming applications the slot has to be made much smaller (order of few ms). A smaller slot duration also implies that the pixel switching control must happen as fast as the selected slot duration. Depending on the type of LCD shutters, the switching time can vary from few micro to 10 s of milli seconds.