Exploiting Blockage in VLC Networks Through User Rotations

Visible Light Communication (VLC) has attracted significant attention over the past decade. Although numerous research studies have been performed to improve the data rate of VLC links, an important fact has been largely neglected: human bodies that host VLC receivers could block their Line-of-Sight (LOS) downlinks, and thus, degrade the system performance greatly. In this paper, we propose a system that can significantly improve the robustness for VLC networks by avoiding performance degradation due to blockage. A novel user-in-the-loop mechanism is designed in which users (including human bodies and VLC receivers) are guided by the network to rotate themselves to improve the system performance and the individual user experience. Both our simulation and experimental results demonstrate that the proposed user-in-the-loop mechanism can improve the system throughput and user fairness on average by 48% and 14%, respectively. For individual users, the average gain in throughput can reach up to 135%. Furthermore, to make the system more practical, two lightweight heuristics are designed and implemented which can achieve similar gains while reducing the computational complexity by 99%.


I. INTRODUCTION
A RTIFICIAL lighting accounts for nearly 20% of the worldwide electricity consumption [2].To reduce this high energy consumption, incandescent bulbs are being replaced by energy-efficient Light Emitting Diodes (LEDs) [3].This not only benefits lighting, but also enables the emerging Visible Light Communication (VLC) that piggybacks on LED's illumination.In VLC, data is transmitted by modulating LED light rapidly, with receivers able to decode information at data rates from Kb/s to Gb/s, depending on the design constraints [4]- [9].
Motivation: The communication links in VLC rely primarily on the Line-Of-Sight (LOS) paths between the transmitters and receivers.If a LOS link is blocked, the communication performance degrades severely.Consider for example a network with nine transmitters (TXs) and four users.Each user is represented by a human blocker (HX, i.e., human's body) and a VLC receiver (RX, held in user's hands), as shown in Fig. 1(a).Without the loss of generality, we keep HX1's position fixed but gradually change its azimuth angle, i.e., orientation, for 360 degrees, to investigate the impact of blockage on the system performance.With the rotation of HX1, the position of RX1 also changes, as indicated by the red arrow and dashed circle representing the new RX1 position.Thus, the VLC links between the TXs and RX1 could be blocked by HX1.The result is shown in Fig. 1(a), for which the setup details can be found in Table 1 of Section V. We can observe that the system throughput changes significantly, from minimally 8.5 Mb/s to maximally 18.1 Mb/s, a change of 113%.
However, if a LOS link from an interfering TX is blocked, it could benefit the system performance.To illustrate this, we consider an example in Fig. 1(b).We assume that TX6 and TX8 are transmitting VLC signals to RX2 and RX4, respectively.Thus, TX6 is a source of interference for the VLC link between TX8 and RX4.The green arrow represents the orientation of RX4, with the solid and dashed arrow indicating an azimuth angle of 0 • and 135 • , respectively.The polar angle of RX4 is held fixed and set to 41 • .The red arrow represents the RX rotation.By properly adapting the azimuth angle of RX4 (the position of RX4 does not change), the interference from TX6 can be blocked/mitigated by RX4 (e.g., by its back side if RX4 is a smartphone) and the throughput can be increased up to 63%.
The above examples demonstrate that blockage can affect the performance of VLC networks greatly.It also shows that users' participation, through the rotation of human body or the rotation of receiver, plays an important role to exploit the blockage or tackle the blockage issues caused by them and the possible surrounding environment.Motivated by these observations, in this work we design a system that leverages users' participation to improve the robustness of VLC to blockage, as well as to exploit the blockage for the performance improvement of VLC networks.In such a system, several challenges/questions must be addressed: • The participation willingness of users.In our work, users are guided to tackle the possible blockage issues caused by human bodies or leverage blockage to improve system performance.Would users participate in such activities?• Optimal user orientations.To exploit the blocked LOS paths between the TXs and the RXs, our key solution is to exploit 1) the orientation of human bodies who host the RXs and 2) the orientation of RXs.But how can we identify the optimal user orientations?How to obtain them with low complexity, to facilitate a practical system?• Trade-off between the rotation and the gain.It is not practical for users to rotate with large degrees in order to reach the optimal orientations, either due to a subjective reason or an objective reason.Then, what will be the trade-off between the rotation and the gain?If applying a constraint to the maximal preferred user rotation, can we still significantly improve the performance of the system and the individual users?Contributions: In our system the key enabler is user rotation.We argue that in reality, users would wish to rotate themselves to tackle the blockage issues caused by their bodies or exploit blockage to improve the system performance.Our argument is based on three observations: 1) In our life users already try to 'rotate' themselves to pursuit a better wireless link; recall that for many times we see people look around to search for the position of access points when their WiFi connections are slow.2) Visible light can be captured by eyes.Thus, users could spontaneously rotate to pursue better VLC links, mainly because of people's intrinsic preference of brighter light.3) A similar method for humancomputer interaction has been implemented in smartphones where users can rotate themselves to experience the disruptive infinity screen. 1 We summarize our contributions in this work as follows: Contribution 1: We analyze the effect of blockage in VLC and show that user rotations, including the rotation of human bodies as well as the rotation of receivers, play an important role in the network.We design the system architecture and formulate an optimization problem to find the optimal user orientations (Sections III-V).
Contribution 2: We perform extensive simulations to evaluate the system performance in various scenarios, including a scenario with a constraint on the user rotations and a scenario with stationary users.Our simulation results show that our system can improve the average system throughput and user fairness by 48% and 14%, respectively (Section VI).
Contribution 3: Based on the insights from the optimal results, we design two heuristics which can reduce the complexity by 99% with only minimal loss in the performance (Section VII).
Contribution 4: To experimentally validate the performance, we build a proof-of-concept testbed with cylindrical modeled users and mobile receivers.Our experimental results show the same trends as the simulations, confirming the advantages of our proposed system (Section VIII).
The rest of this paper is structured as follows.The related works are summarized in Section II.The system architecture and system model are presented in Section III and Section IV, respectively.The optimal human and receiver orientation is analyzed in Section V. Since this optimal orientation might not be feasible in practice, considerations regarding its practical applicability are discussed in Section VI.To reduce the computational complexity, Section VII proposes two heuristics.Next, our simulation results are experimentally validated in Section VIII.Finally, a discussion and conclusion on this work are presented in Section IX and Section X, respectively.

II. RELATED WORK
We summarize the most relevant works in this section.
Receiver orientation in VLC: Most of the studies assume the receivers are always oriented vertically upwards.Only a few works have studied the impact of receiver/device orientation in VLC networks.In [10]- [12], a model for the random orientation of mobile receivers is proposed, from which the statistics of the LOS channel gain statistics are derived and the impact of random orientation on the network performance in analyzed.All these works show that the fluctuations in the incidence angle can have significant adverse effects on the bit error rate.However, none of them consider to provide feedback to the users to adapt their orientations for better performance.
Blockage in VLC: This topic is only explored to a small extent in literature.The authors in [13] analyze the impact of blockage on the bit error rate and the signal-to-noise ratio.The work in [14] investigates the effect of blockage on the outage probability considering different blockage densities.In [15], a hybrid VLC and WiFi system is proposed in which handover is performed to WiFi in case of frequent channel blockages.In this work, we also approximate the blockage of human bodies as cylinders, as in [14].However, instead of only analyzing the blockage effect [14] and proposing a hybrid system [15], we aim to analyze and take advantage of the blockage by guiding the rotation of users, to improve the system performance and blockage robustness.
Blockage in mmWave and THz networks: This has attracted significant attention in academia.Several works include blockage in the channel model to improve the prediction of mmWave signal propagation.In [16], a 3D physical model of human blockage for mmWave communication is proposed.In [17], [18], they design a tractable model for characterizing blocking caused by humans.To mitigate blockage, an agile 3D beam steering technique is proposed in [19].In [20], a multi-connectivity strategy is proposed for a terahertz communication network to combat the effects of blockage.Practical frameworks considering blockage have also been designed by researchers, such as BeamSpy [21] and MUST [22].Compared to these networks, in VLC, blockage can cause more serious issues since the wavelength of light is much shorter.However, visible light can be captured by users' eyes, and therefore, users could spontaneously rotate themselves to pursuit better communication links.In this work, we aim to properly guide users to perform such an action.

III. SYSTEM ARCHITECTURE
We consider a grid of LEDs distributed on the ceiling of an indoor area.The LEDs illuminate the area and act as TXs to serve multiple RXs.We consider a multi-user multipleinput-single-output (MU-MISO) architecture, in which the TXs are synchronized dynamically to generate beamspots at the RXs.A beamspot at a RX is defined as the aggregate signal (i.e., aggregate light spot) from the TXs assigned to that RX.We assume all RXs can be served in parallel with limited interference among them.In case multiple RXs are assigned to the same group of TXs, an appropriate multiple access scheme needs to be considered, which is out of the scope of this paper.Each LED has two operating modes: 1) Illumination mode, under which the LED is only used for illumination, achieved by applying a constant current to it.2) Illumination+communication mode, where an LED is modulated to transmit data.To avoid flickering, the average LED illuminance must be the same as in illumination mode.The system architecture consists of a controller, a grid of distributed TXs, multiple RXs and blockages, as shown in Fig. 2.
Controller: It orchestrates the beamspots, hosts the decision logic and the MAC protocol, and handles the wireless synchronization among the TXs.
TXs: They can seamlessly switch between illumination and illumination+communication mode.In the latter, relevant TXs send synchronized signals to RXs.
Users: We define a user as a human being (HX) holding a VLC receiver (RX).Users can move within the area-of-theinterest and receive data from TXs.A RX can measure the channel qualities between the TXs and itself, and sends this information back to the controller for the orchestration of adaptive beamspots.To enable this, an uplink channel can be used based on WiFi, as done in the experimental validation, or based on infrared light (IR).Once the user is connected to the network, we assume the user is stationary and does not change its position.
Blockages: VLC links rely primarily on LOS paths between TXs and RXs.If a LOS path is blocked, the communication performance can degrade severely.In this work, we investigate mobile users as blockers, i.e., self-blockage, which are rarely considered in the state-of-the-art research.
We propose a MAC protocol that works as follows: • The controller sends pilot signals to each TX.Each RX measures the downlink channel qualities between each TX and itself, and reports the result to the controller via the uplink channel.• Based on these measurements, the controller decides how to allocate communication power among the TXs and the optimal orientations of users, with the goal to optimize the system performance.Based on this allocation, TXs form beamspots to serve multiple RXs.• For each beamspot, all relevant TXs are first synchronized with None-Line-Of-Sight (NLOS) VLC [7], as shown in Fig. 2. It works as follows.For each RX, the controller appoints a leading TX from those that will jointly serve the RX.The leading TX transmits a pilot signal that reflects on the ground and is detected by the other TXs, which synchronize on this reflected signal.Then, these TXs jointly send synchronized signals to the desired RX. • The users are informed by the controller about the optimal orientation via a downlink control message.To achieve this optimal orientation, visual feedback on the required rotation is provided on the screen of the user, e.g., by showing an instrument panel-like shape on the status bar of the screen.The users can decide themselves whether they change to the optimal orientations to improve their user experience.

IV. SYSTEM MODEL
We consider an area consisting of M RXs held by standing users and N TXs deployed in a grid on the ceiling, in which each TX is equipped with L LEDs.The set of all TXs and RXs is denoted by N = {1, . . ., N} and M = {1, . . ., M}, respectively.All LEDs belonging to a TX work in the same operating mode.When an LED is in illumination mode, a constant current I b flows through the LED to achieve the desired illumination.When it operates in illumination+communication mode, the light intensity emitted from the LED is modulated to transmit data using On-Off-Keying (OOK) modulation, in which I l = 0 is used to represent a LOW symbol while I h represents a HIGH symbol, resulting in a swing level s = I h − I l around the bias.To avoid flickering and ensure equal probability of the HIGH and LOW levels, Manchester encoding is employed in which a transition I l → I h denotes a binary 0 and a transition I h → I l denotes a binary 1.I h is chosen such that the illumination+communication mode generates the same brightness level as illumination mode, which depends on I b .In illumination mode, the swing level s = 0.A graphical representation is shown in Fig. 3.

Channel propagation:
In VLC, the intensity of the light beam from an LED is commonly modelled by the Lambertian emission pattern.Denoting P t as the optical transmit power, the received optical power P r at the receiver is given as follows: in which n is the noise, modeled as additive white Gaussian noise (AWGN) and h is the line-of-sight channel gain, given by: where m = −1/ log 2 (cos(φ 1/2 )) is the Lambertian order of the LED in which φ 1/2 denotes the half power semiangle, A pd the sensing area of the photodiode, d the distance between the transmitter and the receiver, φ and ψ the irradiation angle and incidence angle, respectively, g(ψ) the concentrator and filter gain of the photodiode, and c the field-of-view of the receiver.Blockage: As mentioned before, we consider human beings as blockers of the LOS path.An illustration is shown in Fig. 4. Every user i consists of a human i (HXi) and a receiver i (RXi).A 3D illustration is presented in Fig. 5.A human is modeled as a cylinder with 0.40 m diameter and 1.80 m height and has a variable azimuth angle θ ∈ [0 • , 360 • ], which denotes the direction of the human.The receiver is held by the human and located at a fixed distance of r = 0.35 m from the human.The orientation of the receiver is characterized by the azimuth angle ζ ∈ [0 • , 360 • ] and polar angle γ ∈ [−90 • , 90 • ].The azimuth angle ζ denotes the angle between the projection of the normal vector n r in the XY-plane and positive direction of the X-axis.The polar angle γ denotes the angle between n r and positive direction of the Z-axis.We use the following convention: if the receiver points towards the human, then γ > 0 • ; if the receiver points away from the human, then γ < 0 • .
To assess the impact of blockage on the LOS path between TXj and RXi, we define an indicator function b j,i as below: where the path to RXi can be blocked by HXi or another HX.In the illustration in Fig. 4, the path between TX1 and RX1 is blocked due to the presence of HX1.
Objective: Let SINR i be the received signal-tointerference-plus-noise ratio at RXi, and S = [s j,i ] ∈ R N×M the swing level matrix, in which s j,i denotes the swing level from TXj to RXi.The SINR i is computed as follows: with R the responsitivity of the photodiode, η the wall-plug efficiency of the LED (i.e., the energy conversion efficiency from electrical to optical power), r the dynamic resistance of the LED as derived in [7], L the number of LEDs per TX, N 0 the single-sided spectral power density and B the communication bandwidth.The electrical communication power for TXj is given by 2 ) 2 .Note that the bias current I b is not included to calculate the SINR, since it does not contribute to data transmission.
The objective in this work is to select the optimal policy, consisting of the swing level matrix S, the HX azimuth angles , that optimizes the sum log system throughput, thus ensuring user fairness: Inequality ( 6) imposes both a minimum bound on the swing to ensure non-negativity and a maximum bound to not exceed the maximum rated current.The last three inequalities ( 7)−( 9) allow us to constrain the amount of rotation from the initial orientation, which will be investigated in Sections V and VI.
User fairness: We use the Jain Fairness Index (JFI) to assess whether users receive a fair share of system resources.Let x = (x 1 , x 2 , . . ., x M ) be the throughput to the M users.The JFI is computed as follows:

V. OPTIMAL POLICY ANALYSIS
In this section, we provide an in-depth system analysis on the optimal policy through simulations.Simulation setup: We consider a room of 5m×5m×2.8mconsisting of a grid of N = 9 TXs and M = 4 RXs.The TXs are aligned in the center of the room in a rectangular array with inter-TX distance T = 2 m and attached at a height of 2.8 m from the ground, facing downwards.Every TX is equipped with L = 16 identical LEDs, which have a semi-angle φ 1/2 = 35 • .Other data of the LED is based on the off-the-shelf CREE XT-E LED [23], which is also used in the experimental validation in Section VIII.The four RXs are held by standing users, represented by HXs, and are located at a height of 1.0 m, facing upwards to the ceiling.Unless specified otherwise, simulations are averaged over 25 scenarios with random HX and RX positions with 1.0 m minimal inter-HX distance.Error bars in the figures represent the 95% confidence interval.The MATLAB toolbox fmincon is used to solve the optimization problem in (5).Table 1 lists additional relevant system parameters.
Illuminance distribution: According to the ISO 8995-1 illumination standard for indoor office premises [24], the average illuminance should not fall below 500 lux and the illuminance uniformity (the ratio between the minimum and the average illuminance) shall not be less than 70%.We define an area of interest of 2.2 T m × 2.2 T m (i.e., excluding the boundary), positioned in the center of the room.For T = 2 m, the average illumination is 574 lux  with a uniformity of 82%, satisfying the illumination requirements.Also for all other considered inter-TX distances, the ISO 8995-1 illumination requirements are met.

A. OPTIMAL ROTATION
Without loss of generality, we consider a scenario presented in Fig. 6.The blue circles represent the HXs and the red circles the RXs.In the initial orientation, the HXs have a random orientation θ init i ∈ [0 • , 360 • ] and the RXs have an azimuth angle equal to the HX azimuth angle ζ init i = θ init i and a polar angle γ init i = 0 • (facing upwards to the ceiling).We use the superscript init in the rest of this work to denote the initial orientation and the superscript opt to denote the optimal orientation in general.To differentiate between optimal receiver orientation, optimal human orientation or both, we use the following notations: 'opt.RX', 'opt.HX' and 'opt.RX+HX', respectively.

1) RECEIVER ORIENTATION
Firstly, we assume the users are stationary and cannot change their orientation θ and the receiver orientation ζ, γ .We derive the optimal swings that lead to the maximal sum log throughput, by solving the optimization problem in (5).The resulting user throughput is depicted in Fig. 8 (labelled 'initial orient').We observe that the throughput is not well balanced among the users and that the average throughput is low.Secondly, we allow the users to change the receiver orientation, and we optimize both the receiver orientation ζ, γ and swing levels in (5).The resulting optimal orientation is shown by the green arrows in Fig. 6, in which the direction represents the azimuth angle and the length of the arrow represents the polar angle (e.g., if the RX faces upwards, the length is zero).The user throughput is presented in Fig. 8 (labelled 'opt.RX orient').Overall, the system throughput increases significantly from 9.3 Mb/s to 13.7 Mb/s and the JFI from 0.76 to 0.88.Now, RX1 points to TX6 and RX2 points more in the direction of TX9.As a result, RX1 and RX2 are not facing TX5 anymore, and RX4 can thus be served by TX5.This increases RX4's throughput.RX3 points to its transmitters TX1 and TX2, increasing its throughput as well.Overall, RX2 is still far from TX9 and thus its throughput is still limited.We conclude that always pointing to the nearest TX or even a single TX is not the optimal choice due to interference.The average computation time to find the optimal RX orientation equals 45.1 s.

2) HUMAN ORIENTATION
Now, we keep the receiver polar angle fixed such that it points to the ceiling, but allow the users to change the orientation of their bodies.With this rotation, also the azimuth angle of the receiver changes accordingly.The resulting optimal human orientation is shown by the green diamonds in Fig. 7, and the user throughput is presented in Fig. 8 (labelled 'opt.HX orient').Overall, the system throughput increases significantly from 9.3 Mb/s to 16.0 Mb/s and the JFI from 0.76 to 1.00.We observe that human orientation can balance the user throughput even better.Similarly as before, RX1 tries to get closer to TX6 and RX2 closer to TX9.Since RX4 rotates away from TX8 and is blocked by TX8, RX2 can be served by TX8 as well.RX4 does not need TX8, as it has now TX4, TX5 and TX7.Overall, we conclude that the receivers try to get closer to their desired transmitters but also move away from interference sources.The average computation time to find the optimal HX orientation equals 86.0 s.
To generalize, simulations are carried out for 25 random HX and RX positions with minimal inter-HX distance of 1.0 m.Both the random orientation and optimal orientation case is investigated.The averaged result is depicted in Fig. 9. Rotating from the random to the optimal RX and HX orientation, the average user throughput increases with 43% and 135%, respectively.The average system throughput increases with 24% and 48%, respectively and the JFI improves with 7% and 14%, respectively.Furthermore, the variance of both metrics decreases for the optimal orientations.Worst case, the system throughput across all positions equals 6.4 Mb/s for the random orientation.By rotating towards the optimal RX and HX orientation, this minimal throughput can be boosted to 10.6 Mb/s and 11.52 Mb/s respectively.Finally, we observe that with optimal HX orientations, 88% of the desired signal strength at the RXs is from their dominant TXs.
Insight: From above simulation results, we can observe that the optimal RX and HX (human) orientations, derived by the controller, attempt to 1) the desired signals at the RXs by rotating to the TXs that offer the best channels, and 2) hide each RX from the interfering TXs by rotating the former away from the latter.We can also observe that without intensive user interaction but only rotating the RX, already significant improvements can be obtained, especially in worst-case scenarios.Further, in the initial orientation, we assume the RX is facing upwards to the ceiling.This might not be true in practice, and thus the potential gain of optimally orienting the RX might be even larger.

B. IMPACT OF TRANSMITTER DENSITY
We vary the inter-TX distance to analyze the impact of TX density on the receiver and human rotation gain.To maintain a proper communication channel, the TX semi-angle φ 1/2 is scaled according to the inter-TX distance T such that the ratio of the channel gain at the cell edge h e and at the cell center h c is identical.For a rectangular TX grid with rectangular cells, this ratio is described by:  10 shows the resulting system throughput and fairness.We start from the initial setting with random human orientations and upward RX orientations, and optimize the RX orientation.The system throughput increases from 5% for T = 1.0 m (dense TX grid) up to 55% for T = 2.8 m (sparse TX grid).Fig. 11 shows the histogram of the optimal RX polar angle γ opt .We can clearly observe that for T = 2.8 m the optimal polar angle deviates more from the initial 0 • and thus a higher increase is visible in the system throughput.
Optimizing the HX orientation results in a less variable gain of 44% for T = 1.0 m to 69% for T = 2.8 m.Optimizing both the RX and HX orientation gives the best result as expected, but the gain compared to only optimizing the HX orientation is limited, especially for dense networks (e.g., T = 1.0 m).Further, for sparse networks with a large T , we observe that optimal RX orientation achieves almost the same performance as optimal HX orientation.
Insight: As a summary, we conclude that optimizing the RX/HX orientation has most impact in sparse TX deployments.For dense TX deployments, optimizing the HX orientation is more beneficial than optimizing the RX orientation.

C. BLOCKAGE ANALYSIS
To get more insight in the effect of blockage on the optimal policies, we analyze β des , which is the fraction of the desired received signal strength at the RX in the optimal orientation originating from the TXs that are blocked in the initial orientation.Thus, β des evaluates to which extent transmitter blockage can be resolved by changing the orientation of the RX or HX.This fraction can be different for every RX.The fraction for RXi, denoted as β des,i , can be calculated as: in which A i represents the set of TXs that are blocked for RXi in the initial orientation and the superscript opt denotes the optimal orientation, which refers to the optimal RX or optimal HX orientation depending on which orientation is optimized.For the analysis, we collect β des,i , ∀i ∈ M for all 25 scenarios.The Cumulative Distribution Function (CDF) of β des is shown in Fig. 12a.For the optimal RX orientation, β des = 0 for both the dense and sparse deployment.This means that the desired TXs which are blocked in the initial orientation are still blocked in the optimal orientation.Thus, changing the RX orientation cannot resolve transmitter blockage but can only try to optimize the signal strength of TXs who are already visible to the RXs.Rotating towards the optimal HX orientation leads to β des > 0 in around 50% of the cases, meaning that blockage can be resolved of TXs which could positively contribute to the SINR of the RX.Similarly, we define β inf ,i as the fraction of the interference signal strength at RXi in the optimal orientation coming from the TXs which are not blocked in the initial orientation, which is given by: in which B i denotes the set of TXs which are not blocked for RXi in the initial orientation.The result is presented in Fig. 12b.We conclude that β inf = 1 for the optimal RX orientation irrespective of the TX deployment.This means that all the TXs that are interfering in the initial orientation, are still interfering in the optimal orientation.Nevertheless, the RX orientation is optimized such that its impact is minimized.For the optimal HX orientation, we observe there is a significant probability that β inf is small, especially for the dense deployment.This means that in the optimal HX orientation, the blockage pattern 2 is changed such that strongly interfering TXs are disabled.
Insight: The blockage pattern can be controlled by adapting the human orientation.By optimizing this orientation, blockage can be exploited: desired blocked TXs can become visible to the RXs and undesired visible TXs can become blocked to the RXs, which leads to a significant performance improvement.Changing the receiver orientation cannot adapt the blockage pattern.Therefore, only the link qualities can be adjusted among the TXs in RX's viewing range, which leads to a lower performance improvement.

D. OUTAGE PROBABILITY
Changing the RX and/or HX orientation also has an impact on the outage probability, which is analyzed as the probability that the SINR is below a certain threshold τ , i.e., P[SINR < τ] [25].Therefore, we study the CDF of the SINR.We observe that for a dense network with T = 1.0m, as depicted in Fig. 13a, optimizing the HX orientation can improve the lowest 10 th percentile of the SINR by 10 dB.The median SINR increases with 4.5 dB.Also the variance in SINR reduces, as the CDF is more steep.Changing the RX orientation has very limited effect on the SINR.For a sparse network, shown in Fig. 13b, the situation is different.Instead of making the curve more steep, the curve looks now more like a shifted version of the original curve.The 2. The blockage pattern for a given TX and RX distribution is defined as the set of TXs which are not visible to RXs due to blockage by the users.optimal RX curve lies closer to the optimal HX curve; they can increase the lowest 10 th percentile of SINR by 5.7 dB.The improvement in the median SINR is slightly larger for a sparse network than for a dense network: the median SINR now improves with 5.2 dB and 6.7 dB for the optimal RX and HX orientation, respectively.

VI. PRACTICAL CONSIDERATIONS
We continue to analyze the effect of practical constraint user rotations and stationary users on the system performance.

A. CONSTRAINT ROTATION (TRADE-OFF ROTATION AND GAIN)
In a practical system, users may not be able to or do not wish to rotate fully to the optimal orientations, especially for mobile users, or for static users when they need to rotate for a large amount.Thus, we investigate the effect on the system throughput of an extra constraint on the amount of rotation.

1) CONSTRAINT RECEIVER ORIENTATION
We investigate mobile users that are willing to change the RX polar angle, but not the RX azimuth angle, i.e., ζ i,min = ζ i,max = ζ init i , ∀i ∈ M. A recent study in [12] showed that the typical polar angle distribution of mobile users does not extend beyond 60 • .Therefore, we set γ i,max = 60 • , ∀i ∈ M. To also allow small rotations away from the user, we set This is further referred to as constraint 1 (C1).Moreover, we also study the scenario in which there is full polar rotation flexibility, i.e., γ i,min = −90 • and γ i,max = 90 • , ∀i ∈ M, while keeping the azimuth angle fixed, referred to as constraint 2 (C2).We compare these scenarios with the initial (no rotation flexibility) and optimal (full rotation flexibility) results presented before.The result is depicted in Fig. 14 for T = 2.0 m.We observe that the effect of a polar rotation constraint is limited (C1 vs C2), and smaller than the effect of an azimuth rotation constraint (C2 vs optimal).

2) CONSTRAINT HUMAN ORIENTATION
Let θ max be the maximum allowed change in human orientation, which is gradually increased from θ max = 0 • , FIGURE 18. Degradation of system performance in case all HXs, except the person HX1 that hosts RX1, turn to the optimal azimuth orientation θ opt .

FIGURE 19. Effect of stationary human/persons on the system throughput.
the random initial orientation, towards θ max = 180 • , having complete freedom in selecting the orientation.This corresponds to: in which θ init i denotes the initial orientation of RXi, ∀i ∈ M. The average relative improvement in log system throughput is shown in Fig. 15 for T = 1.0 m.It can be observed that the gain increases faster for smaller θ max .With a maximum orientation change of only 30 • , a gain of 44% can be achieved, whereas a maximum change of 76 • leads to a gain of 81%.

B. DEVIATION FROM OPTIMAL ROTATION
In this subsection, we analyze how the system performance degrades when a person or receiver does not fully turn to the optimal orientation.

1) RECEIVER ORIENTATION
As shown in previous section, the blockage pattern does not change by adapting the RX orientation.Therefore, if one RX deviates from the optimal orientation, only its own throughput will be affected.We analyze the impact of RX1 deviating from the optimal azimuth orientation ζ 1 = ζ opt 1 + ζ , in which ζ represents the amount of deviation.The result is shown in Fig. 16, without loss of generality, for T = 2.0 m, and averaged over 25 random positions.One RX can deviate by 30 • and still maintain 95% of its throughput.However, the larger T , the higher the decrease in user 1's throughput.This is because the larger the TX semi-angle, the more interference is captured from neighbouring TXs, as illustrated in Fig. 17.Similar results are obtained when the other users deviate from the optimal RX orientation, and therefore, these are omitted due to their similarities.

2) HUMAN ORIENTATION
If a person does not fully turn to the optimal orientation, the throughput of the other users might be affected as the blockage pattern can change.We analyze the impact of HX1 deviating from the optimal orientation θ 1 = θ opt 1 + θ , in which θ represents the amount of deviation.Fig. 18 shows the result, averaged over 25 random positions with 1.5 m average inter-HX distance and T = 1.0m.We conclude that on average, a person can deviate from its optimal orientation by 60 • and still maintain 95% in system throughput and 99% in JFI.Furthermore, as shown in Fig. 18c, mostly its own throughput is affected, and other users' throughput are kept relatively stable.This ensures that the quality of service to other users will not degrade significantly when a person decides to diverge from the optimal orientation.

C. STATIONARY HUMAN/PERSON
Finally, we analyze the impact of stationary human on the system performance.These are the persons who do not rotate and keep their initial orientation θ init because: 1) they cannot rotate easily, e.g., when sitting at a table, or 2) they are not willing to cooperate.Fig. 19 shows the system throughput averaged over 25 random HX positions with 1.5 m average inter-HX distance and T = 1.0 m, ranging from all stationary human (none of them rotates) up to zero stationary human (all of them rotate to the optimal orientation).We can observe clearly that the less stationary human, the larger the mean throughput and the lower the variance across the positions.

VII. HEURISTIC ALGORITHMS
As shown above, searching for the optimal orientation takes around 1 minute, which is time consuming.The optimization

Performance comparison of the human heuristic orientation with the
initial and optimal human orientation.

1-4 have a complexity of O(M).
In steps 6-8, the maximum channel is found for every RX, having a complexity of O(MN).Therefore, the total complexity of Algorithm 2 is O(MN).

C. PERFORMANCE EVALUATION
We compare the performance of the receiver and human heuristic with the random and optimal orientation obtained before.The results are presented in Fig. 20 and Fig. 21 for T = 2.0 m.Compared to the optimal RX and HX orientation, we observe that the system throughput with the heuristic receiver and human orientation is reduced with around 8.5% and 7.3%, respectively.The Jain Fairness Index of the heuristics is almost identical to the one in the optimal orientations.The average computation time of the receiver and human heuristic equals 0.58 s and 0.43 s, respectively.So we conclude that the performance of the heuristics approximate that of the optimum while reducing the computation time drastically by 99%.Similar results are obtained for other settings of T , and therefore these are omitted due to their similarities.
To reduce the complexity in finding the optimal angles with a maximum orientation change, a modified version of the receiver and human heuristics is used.In that case, we rotate the receiver/human in the direction of the angle proposed by the heuristics, until the maximum allowed change is reached.

D. IMPACT OF POSITIONING ERROR
To study the impact of estimation errors in the receiver positions on the heuristic performance, we add a random error vector p to p R i (the real position vector of RXi) such that the euclidean distance equals the positioning error pos , i.e., Since the human positions are estimated from the receiver positions, an error in the receiver position will cause a similar error in the human position, and therefore, they are treated identically.As every random error vector might not be equally harmful for the performance, we consider 10 instances for every scenario and we take the minimum system throughput among these instances to simulate the worst-case performance.The average result over all 25 scenarios is shown in Fig. 22.We conclude that the receiver heuristic is robust against a position error in both a sparse and a dense network.Although the human heuristic is overall more sensitive to a position error, the impact is still limited.For example, for pos < 10 cm, the loss in system throughput is below 4%.Further, we observe that the human heuristic is more sensitive in a dense network than in a sparse network.This is because in a dense network, the TXs have a higher directivity (smaller TX semi-angle), and thus an error in the human orientation (i.e., rotating away from the desired position) results in a relatively higher loss in desired signal power.

VIII. EXPERIMENTAL VALIDATION A. SYSTEM IMPLEMENTATION
We present the implementation of the system, including both the hardware and software implementations.

1) HARDWARE
We use the Beaglebone Black (BBB) as an embedded computer [31].The controller has a dedicated BBB to orchestrate the beamspots and optimal user orientations, and runs the MAC protocol.The developed PCB boards of the TX and RX front-ends are presented in Fig. 23.More details about the front-ends and used electronic components can be found  in [7].Further, we use black cloths together with round standers to build the HXs, as highlighted in Fig. 24.To adapt the RX orientation, we use the PhantomX Robot Turret Kit, which can set the RX orientation with an angle resolution of 0.35 • [30].With this robot turret, the RX can be oriented to any direction in a half sphere.Due to mechanical limitations of the system, this sphere has a radius of 6 cm.Therefore, if the RX is rotated, also its position changes slightly, which can have impact on the measured channel quality as shown next.

2) SOFTWARE
In the software, we implement: 1) the data communication from the controller to the TXs, 2) channel measurements, and 3) synchronization among the distributed TXs through NLOS VLC.These implementations are partly adapted from our previous work [7].Besides, we implement a new decision logic at the controller.Once the controller receives the channel updates for all the links from the TXs to RXs, it calculates the optimal orientations for each RX and HX, and selects s = {0, s max } for each VLC TX based on our optimization presented in Section IV.That is, intermediate swing levels are not considered, as the solution of the optimization problem provides swing levels of either zero-swing or full-swing, as concluded in [7].

B. VALIDATION
Experimental setup: We evaluate the system performance in a network of nine TXs and four RXs.The TXs are deployed in a 3 × 3 grid within an area of 3 m × 3 m, with T = 1.0 m inter-TX distance, and a height of 2.1 m from the floor.The TXs contain a single CREE XT-E LED [23], which has a semi-angle φ 1/2 = 15 • .The four RXs are placed on the floor at a height of 0.4 m, controlled by four OpenBuilds ACRO Systems [32] and can be moved to any position within the 3 m × 3 m area.For every RX, there is an associated HX which is positioned at 1.2 m height and 0.35 m distance from the RX.The experimental setup is depicted in Fig. 24, in which the TX, HX, and RX are labeled.

1) HUMAN ORIENTATION
To validate the simulation results experimentally, we consider an example scenario presented in Fig. 26, without the loss of generality.Initially, the four users have random orientations, drawn from an uniform distribution.To assess the system performance, we first perform experimental channel measurements from all the TXs to the RXs.A comparison in channel qualities between simulation and experiment is presented in Fig. 27.We observe that the experimental measurement approximates the simulation result and the sequence from good to bad channel is identical.It should be noted that the channel qualities are a bit higher in the experiment compared to those in the simulation.This is because reflections from the ground are present in the experiment, which are not considered in the simulations.Finally, it can be seen that blocked paths in the simulation are also blocked in the experiment.Afterwards, we solve the optimization problem presented in (5), keeping the orientation angles θ , ζ , γ fixed, and acquire the optimal allocation of TXs to RXs S. We calculate the SINR based on (4) from the experimental data.The resulting experimental user throughput is shown in Fig. 28a.We observe a good fit between simulation and experiment.Further, it is clear that the throughput among the users is not well balanced.
Next, we allow the HXs to adapt their orientation, and we solve (5) by optimizing both S and θ .We can see from Fig. 26 that in the optimal orientation denoted by the green diamonds, the HXs rotate away from the center and closer to a dominating TX, e.g., RX2 to TX3.We repeat the process above and obtain the user throughput for the optimal FIGURE 29.Comparison of system throughput for the initial, heuristic and optimal human orientation, for the scenario shown in Fig. 26, and normalized to the maximal system throughput overall.orientation, shown in Fig. 28b.We conclude that the throughput is now better balanced among the users.Furthermore, the system throughput is increased, as shown in Fig. 29.In particular, the experimental system throughput increases from 16.3 Mb/s in the initial orientation to 20.6 Mb/s in the optimal human orientation, an improvement of 26%.We observe that the gain in the experiment is lower than in simulation.This is due to the contribution of reflections in the experiment which are not considered in the simulations.
Finally, we observe from Fig. 26 that for this scenario the heuristic human orientation, denoted by the purple stars, approximates the optimal human orientation.Therefore, the resulting system throughput presented in Fig. 29 is also very similar to the optimal system throughput.For the experimental data, a loss of 1.7% in the system throughput is observed.

2) RECEIVER ORIENTATION
We follow a similar procedure to validate the simulation result for the RX orientation.We now consider the scenario in Fig. 30, in which the green and purple arrows represents the optimal and heuristic RX orientation, respectively.The direction of the arrow represents the RX azimuth angle and the length of the arrow represents the RX polar angle, for which a scale bar is provided in the figure.In the initial orientation, the RXs are facing upwards (γ init = 0), such that the length of the corresponding arrow is zero and thus not shown.
First, we acquire the user throughput for the initial RX orientation, by solving (5) for S an keeping θ, ζ , γ fixed.Then, we search for the optimal RX orientation, by solving (5) for ζ , γ , S and keeping θ fixed.The result is shown in Fig. 31.We conclude that the throughput is larger and better balanced in the optimal RX orientation.Further, the throughput for the optimal RX orientation is larger in the experiment than in the simulation.The reason is that, by pointing the RX to its optimal orientation with the robot turret, the distance from the RX to its desired TX reduces, and thus a higher throughput is obtained.This effect is more pronounced for larger polar angles.The experimental system throughput increases from 13.8 Mb/s in the initial orientation to 16.6 Mb/s in the optimal RX orientation, an improvement of 20%.
From Fig. 30, we observe that the RX heuristic finds similar RX azimuth angles as in the optimal RX orientation, but the RX polar angles are smaller.This results in a 10% lower system throughput, which is presented in Fig. 32.We conclude that overall the gain by rotating the RXs is smaller than the gain by rotating the HXs in the scenario in Fig. 26.This is expected from the simulation because Fig. 10 shows that the gain by rotating the RXs for T = 1.0 m is limited and much smaller than the gain by rotating the HXs.

IX. DISCUSSION
In this section, we discuss practical implementation issues of the proposed techniques and describe possible solutions for future work.
User participation: The users' participation willingness is the key enabler of our proposed approach.However, users might not always have the ability to change their orientation (e.g., when they are disabled or sitting on a fixed chair).Our results have showed that rotating the receiver requires less user participation at the cost of a smaller performance gain.To further reduce the user participation and avoid rotating the entire receiver, a micro-electrical mechanical system (MEMS) mirror can be used to reflect the light onto the photodiode [33].This allows to capture light from different incidence angles, without rotating the receiver itself.We believe that the insights obtained in this work on the receiver rotation can inspire future research in this direction.
Mobile users: We focus on stationary users in this work.Although human rotation might not be practical for mobile users, our insights about the optimal receiver orientation can facilitate further research on its applicability of adapting the orientation of photodiodes or MEMS mirrors in mobile scenarios.

X. CONCLUSION
As line-of-sight blockage can substantially harm the system performance in VLC networks, novel techniques are required to improve the blockage robustness.In this work, we presented a user-in-the-loop system that improves the users' experience by guiding both the human bodies and VLC receivers towards their optimal orientation.To obtain these optimal orientations, an optimization problem is formulated, solved and evaluated through extensive simulations.Our evaluation results showed that by rotating to the optimal orientations, the system throughput and user fairness can be greatly increased.Furthermore, two lightweight heuristics were designed that can achieve similar gains but reduce the complexity significantly.Our results were also validated experimentally, showing the great potential of our solution as a user-in-the-loop scheme for VLC networks.

FIGURE 4 .
FIGURE 4. Illustration of a user, consisting of receiver (RX) and a human (HX), which can act as a blocker.

FIGURE 5 .
FIGURE 5.The 3D illustration of the human azimuth angle θ, the receiver azimuth angle ζ and the receiver polar angle γ .The normal vector of the receiver is denoted by n r .In the figure, γ < 0, because the receiver points away from the human.

FIGURE 6 .
FIGURE 6.An example scenario for analyzing RX rotation.

FIGURE 7 .
FIGURE 7.An example scenario for analyzing HX rotation.

FIGURE 8 .
FIGURE 8.The individual user throughput for the scenarios in Fig. 6 and Fig. 7.

FIGURE 9 .
FIGURE 9. Impact of optimal receiver and human orientation on the system performance.In the initial orientation, the HXs have a random azimuth angle and the RXs are facing upwards.

FIGURE 12 .
FIGURE 12. Blockage analysis in terms of CDF of β des and β inf .A comparison is made between optimal RX and HX orientation for T ,1 = 1.0 m and T ,2 = 2.8 m.

FIGURE 13 .FIGURE 14 .
FIGURE 13.Comparison in CDF of SINR for optimal RX and/or HX orientation.

FIGURE 15 .FIGURE 16 .FIGURE 17 .
FIGURE 15.Gain in the log system throughput versus the amount of maximal human rotation θ max .

FIGURE 20 .
FIGURE 20.Performance comparison of the receiver heuristic orientation with the initial and optimal receiver orientation.

FIGURE 22 .
FIGURE 22. Impact of receiver positioning error on the heuristics performance for a dense network ( T = 1.0 m) and a sparse network ( T = 2.8 m).

FIGURE 23 .
FIGURE 23.Design of the TX front-end (left) and the RX front-end (right).

FIGURE 24 .
FIGURE 24.Experimental setup, in which only two out of four HXs are depicted for better visualization.

FIGURE 27 .FIGURE 28 .
FIGURE 27.Comparison in channel gain of RX1 to RX4, for the scenario shown in Fig. 26 with initial orientation (red circles).The simulation and experimental results are normalized to the maximum simulation and experimental channel gain, respectively.

FIGURE 30 .FIGURE 31 .
FIGURE 30.Example scenario for the experimental validation of receiver rotation.The green and purple arrows indicate the optimal and heuristic receiver orientation, respectively.

FIGURE 32 .
FIGURE 32.Comparison of system throughput for the initial, heuristic and optimalreceiver orientations, for the scenario shown in Fig.30, and normalized to the maximal system throughput overall.