LCD-Based Angle-of-Arrival Estimation of Multiple Light Sources: Paving the Road to Multiuser VLC

This paper extends previous work on liquid-crystal-display-based angle-of-arrival (AoA) estimation, initially performed for only a single light source (LS), by considering scenarios with multiple LSs. First, the system model is revisited to investigate parameters that influence detection of multiple LSs. Next, challenges such as separation of co-located LSs and ambiguities are investigated. It is identified that target separation gets increasingly challenging with decreasing distance between LSs, and AoA estimation developed for a single LS leads to ambiguities in scenarios with multiple LSs. These problems are solved by a novel angular separation algorithm and dedicated intensity measurements. Finally, two new experimental setups are introduced to investigate and model optical diffraction effects, and to verify theoretical derivations by measurement results.

become an important research topic in recent years.Especially for indoor environments, where existing outdoor localization techniques, such as the Global Positioning System, often cannot provide sufficient results, VLP represents a credible alternative [1], [2], [3], [4].
For proximity estimation, a large number of LEDs arranged in a dense grid with known positions is required.To separate the light sources (LS) at the receiver, each LED is assigned a unique identification (ID) code [5], [6].Instead of using a photodetector (PD) as applied conventionally, a complementary metal-oxide-semiconductor sensor and its rolling shutter effect can be employed in combination with machine learning to extract the LED ID and thus the corresponding position [7].'CELLI' is another approach that could also be attributed to proximity estimation [8].It employs a liquid crystal display (LCD) in front of an LS to project a fine grid of spatial cells into a service area.For positioning, the system then transmits a unique ID, here the cell coordinates, to each cell by varying the opacity of a particular LCD pixel.To avoid flickering, one polarization filter is moved to the receiver.
In references [9] and [19], novel concepts in the domain of fingerprinting, also known as scene analysis, are presented.For fingerprinting, typically an offline calibration phase is required in which positioning measurements are conducted for all discrete anchor points of interest and stored in a database [5], [6].Then, real-time measurements are taken and compared to the database entries to find the best fitting entry.To bypass the time-consuming database generation, in [9] it is suggested to create the database with fabricated entries.That way, the calibration process is simplified without significantly losing accuracy.'NaviLight' is another approach collecting multiple light fingerprints of arbitrary LSs during users walks [19].
Compared to proximity estimation and fingerprinting, triangulation is considered as the most promising domain of positioning algorithms due to its low cost and comparatively easy implementation [1], [3].In general, recent contributions pursue two approaches.The first approach is to develop aperture-based receivers.For example, an aperture with a square cut-out can be used to cover a quadrant PD [10].A single LS then generates unique shadow patterns on the four PDs depending on its position, allowing to estimate the angle-of-arrival (AoA) with geometric relationships.Similar aperture-based receivers are also used in [11].The second approach employs tilted PDs such as in [12] and [13].The first work uses an arrangement of three tilted PDs for simultaneous AoA and signal strength measurements, the second work optimizes the PD alignment.
Recently, we have presented a novel concept in the domain of aperture-based triangulation: an LCD is employed as dynamic optical filter in front of a PD to estimate the AoA of a single LS [14].Since each pixel of the display can be controlled individually, a transparent area can be generated anywhere on the active area and moved iteratively.To determine the AoA of an LS, the system scans the entire field-of-view (FoV) and searches for the maximum light intensity, which is found as soon as the transparent area lies exactly in the line-of-sight (LoS) between LS and PD.Since the position of the transparent area is always known, the AoA can be calculated through geometric relationships.Using this LCD-based scanning concept, it is shown that a very precise AoA estimation is possible.Even with a comparatively low LCD resolution the worst angular resolution is calculated as approximately 0.5 • and verified with the experimental measurement setup.In the next step, this work is extended by including a compressive sensing algorithm for AoA estimation which exploits the sparsity of the single LS scenario [18].In references [14] and [18], investigations are limited to a single LED LS to focus on the general AoA estimation principle, the hardware setup and system-related features such as the FoV, the angular resolution and the analogy between convolution and LCD-based AoA estimation.The concept of using a dynamic optical filter above a PD is based on our work on suppression of ambient light and interference in optical multi-user communication systems in [15], [16], [17].
In this paper, the research is extended to detection and simultaneous AoA estimation of multiple LSs.To this end, the AoA estimation system built in [14] is included into a new experimental setup to investigate the capabilities of multiple LS detection.In a first step, the system model is revisited to investigate which parameters influence the detection of multiple LSs.In a next step, challenges such as separation of co-located LSs and ambiguities are investigated.It is found that target separation gets increasingly challenging as the distance between the LSs decreases.To quantify this, five separation cases are developed and investigated.In our initial contribution an algorithm is developed for runtime-improved AoA estimation of a single LS [14].Regarding multiple LSs, however, in this contribution an ambiguity of the algorithm is found.In the following part, solutions are provided for both challenges.With regard to the separation challenge, a novel angular separation algorithm is developed.The ambiguity is addressed with dedicated, supplementary light intensity measurements.Finally, two new experimental setups are introduced.With the first, the LCD diffraction grating effect is investigated and modeled.The second experimental setup is used for AoA measurements with several LSs.
Compared to the state-of-the-art in optical aperture-based triangulation, the proposed LCD-based system has a decisive advantage.Besides enabling the detection of multiple LSs and the determination of their AoA, it is also capable of suppressing interfering luminaries to establish a visible light communication (VLC) link to just a single LS.This is done by obstructing undesired LSs with opaque LCD pixels.Another advantage is cost-effectiveness.The entire system can be built using cheap, of-the-shelf components.Last but not least, the system complexity is manageable, making it straightforward to replicate in large quantities.
Novel contributions extending our previous work are as follows: r The recently introduced LCD-based AoA estimation prin- ciple is extended to multiple LSs and the road to multiuser VLC is paved.r The theoretical findings are verified by measurement re- sults.The remainder of this paper is organized as follows: In Section II, fundamentals are discussed.Main focus is on parameters which influence the detection and separation of multiple LSs.Section III deals with challenges of AoA estimation of multiple LSs.These include LS separation and ambiguities caused by the bar algorithm.Section IV describes possible solutions to the aforementioned challenges.In Section V, two experimental setups are described in detail.One setup enables the modeling of diffraction effects, the other is employed for AoA measurements.Section VI includes investigations of diffraction effects and measurements of different LS constellations using the experimental setup.A runtime assessment is provided in Section VII.There, also possible applications are discussed.Finally, conclusions are drawn in Section VIII.

A. LCD Technology
Nowadays, an LCD consists of millions of liquid crystal (LC) cells, also known as pixels, that can be switched continuously between transparent and blocking state.This enables the amount of light passing the cells to be controlled.Light transmittance control is possible due to the distinctive design of an LC cell.It consists of two polarization filters rotated 90 degrees relative to each other and LC molecules sandwiched between two transparent electrodes.If no electric field is applied, the LC molecules are in twisted state, causing incident light polarized by the first filter to be rotated 90 degrees.In this state, the light is able to pass the second, rotated polarization filter and the LC cell appears transparent.If an electric field is applied, the LC molecules untwist and align with the external field.Then, incident light is not rotated causing the second polarization filter to block the light.This LCD type is referred to as normally white.Changing the orientation of one of the polarization filters creates a normally black display.
If no further components are added, a monochrome (blackand-white) LCD is obtained that can display gray scales.If, however, an RGB color display is desired, red, green and blue (RGB) color filters can be added.Naturally, this raises the question of which display is best suited for AoA estimation and interference suppression.An important criterion for both applications is the contrast of the display, i.e. the difference of the transmittance in light passing mode versus light-blocking mode.In [20], these values are compared and it is found that the monochrome display outperforms the RGB display across all wavelengths of the visible range.An explanation is also provided in [20].Inside an RGB LCD, a single pixel is split into three sub-pixels for the three color filters.This reduces the pixel size and therefore increases the attenuation.The color filters are responsible for an additional loss.For this reason, a monochrome LCD is used in this work for obtaining experimental results.

B. System Model
Due to the property of LEDs to emit non-coherent light, localization techniques have to be developed that can estimate the AoA without the knowledge of the signal phase.In our initial contribution [14], an AoA estimator was invented that employs a bare LCD without backlight as adaptive optical filter above a single PD.By casting transparent areas anywhere on the display, the maximum light intensity is searched and the corresponding AoA is estimated through geometric relationships.In this work, a similar system is employed and AoA estimation is extended to multiple LSs.
The system, depicted in Fig. 1, consists of an LCD placed on a light impermeable aperture with an active area of A LCD = l • w, l being the length and w the width of the display.The center of the display is specified as the origin of the xy-plane.Within A LCD , there are n x pixels in x-direction and n y pixels in y-direction.Thus, the resolution is given as n x × n y and the quadratic pixel edge length d px is calculated as In case a lower resolution is desired, several neighboring pixels can be controlled simultaneously, creating virtually enlarged, i.e. 'virtual' pixels with an edge length of The number of combined pixels κ ∈ N directly influences the LCD resolution which is reduced to At a distance h underneath the LCD, a PD is mounted.Its center is specified as the origin of the xyzcoordinate system, i.e. the centers of LCD and PD align.The PD has a square photosensitive area A PD = a 2 and produces a photocurrent proportional to the incident light.Knowing the quantities defined above and assuming that the PD is fully illuminated, the FoV Fig. 1.Three-dimensional geometrical model of LCD-based angle-of-arrival estimation depicted for two light sources, extending our work in [14].For the sake of clarity, variables are shown only for the second LS. can be defined for l = w as To obtain FoV el , exchange l with w.Equation (2) describes the angular range within which the AoA can be estimated.Now, for the purpose of clarity, first assume a single light source in the FoV of the LCD-based AoA estimator at a distance ||r|| 2 .The vector r describes the LoS path between LS and PD.To estimate the AoA of the LS, the so-called bar algorithm, developed in [14], generates two transparent bars on the display.First, a vertical bar of size w is moved iteratively in x-direction followed by a second horizontal bar of size l in y-direction.Between the bar steps, light intensity measurements are taken separately for the xand y-direction and stored in two arrays.After the scan process, the algorithm searches for the iterations at which the maximum light intensity was measured in xand y-direction and determines d az and d el .Then, the angles of arrival are calculated with As can be seen in Fig. 1, φ is the angle between the yz-plane and r , being the projection of r onto the xz-plane.Consequently, θ is the angle between the xz-plane and r , the projection of r onto the yz-plane.
The bar width b bar is of major importance for the accuracy of the AoA estimation.In [14] it was reported that the procedure of moving a transparent, rectangular bar of width b bar over a square PD with edge length a and measuring the resulting light intensity replicates the convolution operation of two rectangular functions.Thus, exclusively for b bar = √ A PD = a the convolution yields a triangle, i.e. a light intensity measurement with a single maximum.For any other bar width, an isosceles trapezoid is obtained, or in other words, the measurement becomes inaccurate.The bar width can also be expressed as a number of transparent pixels.Since this number has to be an integer, the approximation is given as Using this equation, the number of iterations required to capture the entire triangular measurement signal from one LS can be deduced as N tri = 2N bar .Now, a second LS is added and placed at an arbitrary position in the FoV.If the LSs are clearly separated, an AoA estimation can be carried out straightforward.The challenge is to estimate the angles of arrival as soon as the LSs are in close proximity.Fig. 2 depicts this case for two light sources in a two-dimensional representation of Fig. 1, extending our work in [21].For this purpose, the geometrical model is cut along y = 0.The azimuth angle of LS 1 is φ 1 and the resulting distance on the LCD is d az,1 .LS 2 is positioned at an angle φ 2 resulting in d az,2 .The angular difference between LS 1 and LS 2 is described as We refer to ξ as the minimum angular distance in the following.Since quadratic pixels are assumed, ξ = Δφ = Δθ holds.To obtain triangular signal shapes in the AoA measurement, the transparent bars on the display have a width of b bar = a.Furthermore, s az is the spacing between the transparent bars and d az,1,2 = d az,2 − d az,1 is the distance between their respective centers.A close examination of Fig. 2 (9) Replacing φ 1 with θ 1 and d az,1,2 with d el,1,2 provides ξ(θ 1 , d el,1,2 ) which is equal to ξ(φ 1 , d az,1,2 ) since quadratic pixels are assumed.

A. Angular Separation of Multiple Light Sources
As previously stated, an angular separation of LSs becomes more challenging as the distance between the luminaries reduces.In this work, we distinguish five cases with increasing separation complexity: 1) The LSs are completely separated.Their triangular measurement signals do not overlap.This is the case for s az ≥ a resulting in d az,1,2 ≥ 2a.
2) The LSs are located close to each other.Their triangular measurement signals start to overlap.This is the case for a > s az > 0, resulting in 2a > d az,1,2 > a.
3) The LSs are located so close to each other that their triangular measurement signals overlap exactly halfway.This is the case for s az = 0, i.e. d az,1,2 = a.4) The LSs are in close proximity and the transparent areas on the LCD start to overlap.Thus, −a < s az < 0 and 0 < d az,1,2 < a.The triangular measurement signals overlap almost completely.

5) The triangular measurement signals fully overlap if
s az = −a and d az,1,2 = 0.For the graphical representation of these cases, a simulation is conducted for two equally bright LSs.Both luminaries are modeled as generalized Lambertian sources where the light intensity decreases with the cosine of the angle of irradiance [6].The reduction of the effective area of the PD with increasing angle of incidence is also taken into account.The resulting decrease in received light intensity is modeled by a cosine of the angle of incidence [6].In this context, it is assumed that both angles are equal, i.e. the ceiling and the LCD-based AoA estimator are in parallel.Finally, the angle-dependent attenuation of the LCD is modeled with the square cosine of the angle of incidence.This assumption is confirmed in Section VI-B where measurements are compared to simulation results.There, also an explanation approach is provided.Thus, the overall light intensity is attenuated with the cosine to the power of four of the respective AoA φ 1 and φ 2 .For conciseness, only the azimuth direction is examined.The elevation direction yields identical results.Unless stated otherwise, the parameters used in the simulation are listed in Table I .Fig. 3 shows the results for all cases under investigation using the bar algorithm.The orange triangle represents a measurement signal for an LS located at φ = 0 • .Thus, in this simulation example φ 1 = 0 • applies.The amplitude is normalized to one.The blue triangle represents the measurement signal for the second LS, which is located at a large AoA for the first case and subsequently approaches the first LS.The amplitude is smaller compared to the orange triangle due to the angle-dependent attenuation of LS, PD and LCD.Finally, the dark red line represents the sum of the two signals.Only this sum signal is available at the PD for subsequent processing.The individual components are unknown.The reason why the signals add up constructively is the use of incoherent light sources such as LEDs.For visualization, the sum signal is shifted up by 0.1 on the y-axis.
The first case is depicted in Fig. 3(a) for s az = a, i.e. d az,1,2 = 2a.Both LSs are separated such that their measurement signals precisely do not overlap.The peaks are clearly distinguishable and the angles of arrival can be determined with a simple local maximum searching algorithm as φ 1 = 0 • and φ 2 = 19.98 • .The same result can be obtained with (9) and The second case is depicted in Fig. 3(b).Here, the overlap of the measurement signals is already significant and an inclined plateau is formed in between.However, the peaks are still clearly distinguishable.The angles of arrival can be determined as φ 1 = 0 • and φ 2 = 15.25 • and ξ 2 (0 • , 1.5a) = 15.25 • .The peaks should in theory be distinguishable as long as s az > 0. Since the LCD consists of an integer number of pixels and κ = 10 in this case, the smallest value for the spacing is given as Inserting this into (9) yields ξ 2 (0 • , d vpx + a) = 10.82 • .This case is depicted in Fig. 3(c).Although the peaks are very small, they are still distinguishable.In reality, however, the measurement signals deviate slightly from the ideal triangular shape.The impact on the angular separability is examined in Section VI.In the third case, the measurement signals overlap exactly halfway, see Fig. 3(d).The peaks of the individual LSs disappear and the plateau reaches the maximum width.The simple local maximum algorithm would fail to detect two LSs.The third case is achieved for s az = 0 and results in If the LSs are moved even closer together, the fourth case is attained, see Fig. 3(e).Here, the transparent areas on the LCD start to overlap.Considering multiuser VLC, this would lead to interference.Therefore, good interference suppression can be maintained up to separation case 2), i.e. as long as the transparent areas are separated.For the fourth case, s az = −0.5a is chosen, which results in d az,1,2 = 0.5a and consequently φ 1 = 0 • , φ 2 = 5.19 • and ξ 4 (0 • , 0.5a) = 5.19 • .Two characteristics are noticeable when examining the sum measurement signal: first, for s az < 0 two different gradients are recognizable.Second, the shape approaches a triangular signal with double height.This is exactly true for the final case, see Fig. 3(f).The LSs fully overlap in azimuth direction and generate a triangular sum signal.Obviously, ξ 5 (0 • , 0) = 0 • and a separation is impossible in azimuth direction.A typical scenario where this can happen, is for ceiling lighting.If the y-axis is exactly perpendicular to the axis on which several LSs are linearly distributed, they generate a superimposed triangle in azimuth direction.Knowing the minimum angular distance for each case, the maximum amount of resolvable LSs in azimuth direction can be approximated with This initial simulation is conducted for φ 1 = 0 • , i.e. a setup where the first LS is located exactly at boresight.However, since ξ(φ 1 , d az,1,2 ) is also depending on φ 1 , a further investigation is required.Fig. 4 displays the results for all previously set distances d az,1,2 and for an angle φ 1 between 0 • and 50 • .It can be seen that for all distances the minimum angular distance is improving with increasing AoA.This effect is the result of the planar LCD.From the PD's point of view, equidistant steps along the planar LCD towards the edge cover increasingly smaller angular ranges.When employing a simple algorithm which searches for local maxima, d az,1,2 > a, resp.s az ≥ d vpx is required.Here, the dark green line in Fig. 4 represents the lower bound.For φ 1 = 0 • , the two LSs need to be separated by at least 11.53 • .Increasing the angle to φ 1 = 30 • , the minimum separation angle reduces to 8.05 • .Up to this point, the simulations have been carried out for a comparatively large PD size of A PD = 1 cm 2 .Since this size directly defines the bar width as b bar = √ A PD which in turn defines the number of iterations N tri and thus the triangle width, another simulation is carried out with a much smaller PD size featuring an edge length of a = 0.25 cm, see Fig. 5.While the course of the curves is similar, the minimum angular distance is significantly reduced.Note that the spacing between the two green curves is increased because the bar width is reduced and the step size s az ≥ d vpx is kept unchanged.The size of the PD creates a trade-off.Although a reduction has a positive effect on accuracy, it significantly reduces the received optical power and thus the signal-to-noise ratio (SNR).

B. Ambiguity Caused by the Bar Algorithm
When employing an LCD-based AoA estimator as presented in Fig. 1, several algorithmic approaches for finding the maximum light intensity are conceivable.Probably the most obvious  one is the raster scan or exhaustive search algorithm, which sweeps a transparent square area of size A PD = a 2 in a meandering fashion over the entire active area of the LCD until a maximum light intensity is reached.As found in [14], this consumes n x n y κ 2 iterations at maximum.After a full search, the LS is found with probability one.The same will apply for N LS LSs as long as they are sufficiently separated.
In contrast to an exhaustive search, the bar algorithm scans the FoV with two transparent bars with b bar = a covering the entire length respectively width of the LCD.This algorithm is considerably faster compared to exhaustive search only consuming n x +n y κ iterations at maximum and provides equally accurate results [14].
However, this comes at a price regarding multiple LSs.Consider a scenario with three equally bright sufficiently separated LSs.The first vertical bar moving in x-direction over the LCD Authorized licensed use limited to the terms of the applicable license agreement with IEEE.Restrictions apply.will yield a measurement signal stored in vector m φ with three triangular shapes.The second, horizontal bar moving in y-direction will also yield a measurement signal stored in m θ with three triangular shapes.That is, each LS is measured twice.For illustration, Fig. 6 shows a worst-case simulation for three LSs at The border plots contain the separate measurements m φ and m θ .The surface plot is generated by Fig. 6 displays a challenging scenario, because LS 1 and LS 3 are located on identical positions, only point-mirrored.Therefore, I 2 1 = I 1 I 3 = I 3 I 1 = I 2 3 .Without additional information, it is not possible to distinguish virtual from real LSs.In summary, ambiguity is added using the bar algorithm for AoA estimation of multiple LSs.Solution approaches to this challenge are provided in Section IV.

A. Angular Separation Algorithm
As reported in Section III-A, light source separation and thus the correct determination of the angles-of-arrival is straightforward for the separation cases 1) and 2).Here, a local maximum algorithm, which picks samples that are larger than their two neighboring samples, will detect all peaks and thus all LSs correctly.However, the same algorithm will fail for the remaining separation cases 3) -5).
Thus, a more sophisticated separation algorithm is required.To look at the underlying challenge from a different perspective, Fig. 3 is revisited.As stated previously, scanning the FoV with the bar algorithm yields the red-lined sum signal.The individual Fig. 8. NNLS result for a simulated scenario with three LSs.The leftmost LS is completely separated, while the two in the center exhibit separation case 3. The NNLS result is error-free, because the triangular reference signal exactly matches with the simulation.signal components (orange and blue) seem to be unknown.However, using the bar algorithm several properties of the signal components are known a priori.First of all, a single LS produces a triangular signal when scanned with the bar algorithm.Second, since the bar width b bar is known, also the number of samples per triangle N tri , i.e. its width is also known.Only the triangle height and the exact position are unknown.Considering this, it is evident that the separation can be solved by employing the individual signal component as a triangular reference signal to check every possible combination of LS positions.
Let y represent the simulated sum signal in x-direction.The size of y is Q × 1 with Q = n x κ , since for every LCD grid point in x-direction one sample is recorded.Then, the rows of the square matrix A Q×Q contain the triangular reference signal with amplitude one in all possible LS positions.Matrix A can be generated by with * * representing a two-dimensional discrete convolution of an identity matrix I Q×Q with the triangular reference signal m N tri ×1 of known width N tri .Finally, x Q×1 is the unknown position vector which should ideally contain as many non-zero entries as there are LSs and zeros else.Inserting the matrix and both vectors into an equation one obtains For better understanding, this equation is represented graphically in Fig. 7.By closely inspecting y, three LSs can be identified in the FoV.While the first is clearly separated, the two centered LSs overlap considerably and their individual maxima cannot be distinguished.The visual representation of the two-dimensional convolution is given by the matrix A. It represents an identity matrix distorted by the triangular reference signal.Finally, x contains three indices with non-zero values.Since x is unknown, the task is to find the correct indices such that y is well approximated when x is inserted into (13).This type of problem can be solved with least squares, more precisely with the non-negative least squares (NNLS) approach arg min x ||Ax − y|| 2  2 subject to x ≥ 0 .( The non-negativity constraint is included because the PD measures light intensity.Thus, the resulting approximated signal must not contain negative components. The result of the NNLS approach can be observed in Fig. 8.The orange curve represents the measured sum signal y from Fig. 7.While the left LS is clearly separated, the two centered LSs represent separation case 3).The stem plot depicts the NNLS result.Without additional information, the algorithm correctly estimates the number of LSs and their amplitude.The NNLS algorithm does not require the light intensity as input.For signal reconstruction, just the shape of the reference signal is required.Therefore, AoA estimation is possible for random light intensities.Convolving the NNLS result with the triangular reference signal yields exactly the measurement signal y.Thus, in a noiseless, distortion-free scenario, the NNLS approach is always error-free.The influence of measurement signals on the NNLS estimation is investigated in Section VI.

B. Solution Approaches to Ambiguity Caused by the Bar Algorithm
In Section III-B an ambiguity property of the bar algorithm is described.To overcome this challenge, real LSs have to be distinguished from virtual ones.The complexity of this task depends on the respective LS constellation.
1) Not Overlapping LSs, Unique LS Intensities: A straightforward solution is available as long as the measured intensities of the LSs are clearly separable, i.e. unique.Then, both measurements m φ and m θ will contain N LS triangular signals where the ones with equal intensity in m φ and m θ can be attributed to one LS.Thus, in this case there are no ambiguities.Performing real measurements, however, it is highly unlikely that two measured intensities are absolutely equal.Reasons include noise, hardware tolerances and light reflections.If several light intensities are too close, the system can switch to strategies mentioned below.
2) Overlapping LSs and/ or Non-Unique LS Intensities: Fig. 6 shows a scenario where the positions of two equally bright LSs are point-mirrored along the origin.In this case, the intensities of both LSs are identically attenuated by the cosine to the power of four of the AoA.Identical measured intensities can also occur in a more complex LS scenario where the initial light intensities of the LSs are not identical.Then, by chance, a bright LS at a larger AoA can produce the same measured light intensity as a less bright LS at a small AoA.A likewise complex scenario occurs if multiple LSs share the same angle in one direction while being separated in the other.This scenario can occur for example for grid-like arranged ceiling lighting.
Upon close examination, several solution strategies are conceivable for the mentioned scenarios.Sophisticated strategies could profit from the fact that the row-and column-wise sum light intensity is known.If, furthermore, some LS positions are uniquely attributable, other positions can be directly assigned to Fig. 9. Representation of the experimental setup to model the diffraction pattern on the LCD.A green LED generates a diffraction pattern on the back of the LCD which is then captured by a camera.For the observer, the diffraction pattern appears to be in the plane of the LED.To model the appearance on the LCD (green dots), the apparent diffraction pattern is back-projected onto the plane of the LCD (dot-dashed lines).
virtual (non-existent) light sources without additional measurements.A more straightforward solution is to ignore these interrelationships and supplement the bar algorithm measurements with additional measurements using a transparent square with edge length a.For a scenario with N LS = 3 LSs, such as in Fig. 6, N 2 LS = 9 additional measurements need to be performed ranging from (φ 1 , θ 1 ) = (−20 • , −20 • ) to (φ 3 , θ 3 ) = (20 • , −20 • ) to check whether each position contains a virtual or true LS.The cost of the additional measurements is small.Assuming that κ = 10 is chosen for an LCD with a resolution of 2560 × 1620, 256 + 162 = 418 measurements are performed with the bar algorithm in the first place.N LS = 3 LSs cause N 2 LS = 9 additional measurements which corresponds to 2%.N LS = 5 LSs require approximately 6% additional measurements.Compared to the exhaustive search algorithm requiring 256 • 162 = 41472 measurements for a full search, the number of additional measurements of the bar algorithm is vanishingly small.

A. Experimental Setup for Diffraction Modeling
In Section VI-A, an experiment is carried out to model the diffraction grating pattern of a hardware LCD.The experimental setup consists of three devices: the multi-color Osram LZC-B3MA07 LED, the Sharp DXQ608-X04 monochrome LCD switched to fully transparent (white), and the Sony alpha 6400 digital camera.As can be seen in the graphical representation in Fig. 9, the distance between the LED and the LCD is s 1 and the distance between the LCD and the camera is s 2 .For the experiment, only the green LEDs of the Osram LZC-B3MA07 are turned on at V LED = 9 V , I LED = 0.1 A. This results in a grating pattern which is subsequently recorded by the digital camera.
Authorized licensed use limited to the terms of the applicable license agreement with IEEE.Restrictions apply.Fig. 10.Representation of the experimental setup installed on an aluminum support frame.In this example, two LEDs are mounted on separate rods.The LCD-based system is mounted on a fixed board.The LCD is operated by a computer via HDMI and the measurement signal is digitized by an ADC on a μC.

B. Experimental Setup for AoA Estimation
The experimental setup used in Section VI-B for AoA estimation is depicted in Fig. 10.A cubic aluminum support frame with an edge length of d cube = 1 m is employed as the basic structure.The top of the frame is intended for mounting LEDs.To achieve full adjustability, each LED is assigned a separate rod.The LEDs used in this setup are the XLamp CHA0304 manufactured by CREE-LED.All LEDs are operated at an identical brightness which is ensured through calibrating light intensity measurements.For the experimental setup, the operating point is set around V LED = 21 V , I LED = 150 mA.
The LCD-based AoA estimation system is fixed at the bottom center of the cube.The main part in the upper section is the Sharp DXQ608-X04, a 6 inch monochrome 2 K LCD with an active area of A LCD = 13.056• 8.255 cm 2 and a resolution of 2560 × 1620.Thus, the quadratic pixel edge length is given as d px = 5.1 • 10 −3 cm.The display is connected to a corresponding LCDdriver board.Both are fixed on a 3D printed aperture.The bottom part of the system includes a transimpedance amplifier (TIA) circuit and the Hamamatsu S3590-08 large-area PD with A PD = 1 cm 2 both placed on a printed circuit board.The TIA is used to transform the photocurrent produced by the PD into a voltage and amplify it.The distance between PD and LCD is h = 5.5 cm which, using (2), results in FoV az ≈ 95.3 • and FoV el ≈ 66.8 • .Approximating the maximum AoA that LEDs can achieve in this cube as arctan( 0.5 m 1 m ) ≈ 26.6 • (see Fig. 10), it is found that even the short side of the LCD provides a sufficient FoV.The output of the TIA is connected to an analog-to-digital converter (ADC) on the Arduino Portenta H7 microcontroller (μC).The ADC operates at 1 Msps and provides the samples to the μC which in turn transmits the data to a computer via a serial interface.The same computer is used to operate the LCD.Therefore it is connected via HDMI to the input of the LCD driver board.
To estimate the angles-of-arrival, the computer generates a vertical transparent bar on the LCD screen and moves it iteratively across the display.In between the bar steps, the computer sends a command to the μ C via the serial link to perform a measurement with the ADC and waits for the result.In the mean time, the ADC performs up to 1000 conversions (depending on the serial command), calculates the arithmetic mean and sends the averaged measurement result back to the computer.Besides noise reduction, the averaging done in the μ C has another advantage: the impact of random flicker on the AoA estimation is significantly mitigated.After reception and storage, the computer proceeds with the iteration of the bar.As soon as the vertical bar reaches the edge of the display, a horizontal bar is generated and the process is repeated.After all measurements have been collected, an algorithm determines the positions of all LSs.

VI. INVESTIGATION AND COMPENSATION OF LCD DIFFRACTION GRATING EFFECTS
This section is subdivided into three parts.In the first, the diffraction grating effect of the hardware LCD is investigated and modeled.In the second part, the influence of the diffraction grating effect on the AoA estimation of multiple LSs is examined.In the last part, the performance of the NNLS algorithm using compensation of the diffraction grating effect is investigated in detail.
Unless otherwise specified, the following settings apply to all measurements performed with the second experimental setup (Fig. 10).The LCD step size is set to κ = 10.This results in an LCD resolution of 256 × 162 and a virtual pixel size of d vpx = 51 • 10 −3 cm.The transparent bar width is b bar = 1 cm and the ADC on the μC collects 1000 samples and averages them to reduce noise.For conciseness, only measurements in azimuth direction are considered.The elevation measurements yield identical results for a smaller FoV.

A. Influence of the LCD Diffraction Grating Effect on a Single Light Source
The influence of the hardware setup on the AoA estimation of a single light source has been investigated in [14].There, focus was on the trade-off between the FoV and the angular resolution, and on the refresh rate and resolution of the LCD.However, one property of the LCD has not yet been investigated, which has a significant influence on the AoA estimation of multiple light sources.To generate a triangular signal like in previous simulations, an ideal display has been considered so far consisting of pixels with infinitely small borders.A hardware LCD, however, also accommodates thin-film transistors, small capacitors and addressing lines in between, giving it the characteristics of a diffraction grating.
In this section, an experiment is carried out with the aim to reproduce the measurement signal generated by the bar algorithm and to use the result as the reference signal of the NNLS algorithm.For the sake of clarity, the experiment is divided into four steps.In the first step, the occurring diffraction grating pattern is represented by a camera picture.In the second step,  the apparent diffraction grating pattern is calculated in the plane of the LED.In the third step, it is modeled in the plane of the LCD, simulated and compared with the camera picture.Finally, in the fourth step, the measurement signal is reproduced by scanning the simulated diffraction grating pattern with the bar algorithm.
In the first step, the occurring diffraction grating pattern is illustrated.The experimental setup used for this is described in Section V-A and is shown in Fig. 9.As soon as the LED is turned on, a diffraction pattern is created which is then recorded by the camera.The result for s 1 = 1 m and s 2 = 0.5 m is depicted in Fig. 11 using the green LED.To identify the color, the LED spectrum is measured with a spectrometer.The peak wavelength is read as λ peak ≈ 535 nm.
Looking through the LCD towards the LED, the diffraction pattern appears to be located in the plane of the LED, at distance s 1 from the display.Because a full consideration of image generation inside the camera is beyond the scope of this paper, instead the observed phenomenon is modeled in the following, allowing to recreate the diffraction pattern visible on the LCD (green dots), see Fig. 9.
In the second step, the apparent diffraction grating pattern is calculated in the plane of the LED.To this end, first the grid structure of the LCD is analyzed by taking a close-up picture of the pixels through a microscope, see Fig. 12.It can be seen that the pixels are not square in reality and that the distance between the pixels is not equal in xand y-direction.Therefore, both directions are treated separately in the following.To calculate the diffraction grating pattern, the distance between the centers of two adjacent pixels, also called grating constant d x , d y , the slit width, i.e. the true pixel size b x , b y , the wavelength λ, and the number of pixels n x , n y are required.Then, the intensity of the one-dimensional diffraction pattern in x-direction is given as  15) represents a multiplication of the single slit diffraction pattern (left) and the grid diffraction pattern (right) [22], [23].The left part is the enveloping sinus cardinalis (sinc)function whose width is determined by the slit width b x , b y , and the wavelength.The right part yields a pulse train of narrow sinc-functions centered around zero.The positions of the maxima depend on the grating constant d x , d y and the wavelength.Conveniently, the angle of the m-th sinc-function maximum can also be determined using the grating equation φ m = arcsin( mλ d x ), θ m = arcsin( mλ d y ) [22].To calculate the two-dimensional diffraction pattern, we introduce the vectors I φ and I θ containing the values of I x (φ) and I y (θ) for the FoV in xand y-direction.Then, the two-dimensional diffraction pattern is given as the outer vector product Now the diffraction pattern is calculated in the plane of the LED using (15) 15) is a function of the angle φ.However, the diffraction pattern needs to be calculated in the plane of the LED at a distance s 1 , see Fig. 9.To this end, the angle in (15) can be substituted by φ = arctan( r x s 1 ).For θ, replace r x with r y .Matrix I r y ,r x is obtained by including all substitutes into (16).
In the third step, the calculated apparent diffraction grating pattern is modeled in the plane of the LCD, then simulated and finally compared with the camera picture.First, the calculated pattern in the plane of the LED is back-projected onto the LCD, see dash-dotted lines in Fig. 9.The distance on the LCD can be calculated using For y-direction, exchange r x with r y .The result, i.e.I r LCD,y ,r LCD,x , can be seen in Fig. 13 where the simulated diffraction pattern is shown for s 1 = 1 m and s 2 = 0.5 m.Since the used LED consists of several closely spaced emitters, it cannot be classified as a point LS.To approximate this and also make the maxima better visible, the narrow sinc pulses from the grid diffraction pattern are expanded artificially.The figure is plotted in logarithmic scale.Comparing the simulated results to the picture shown in Fig. 11, it is found that the positions of the maxima match in both cases.Thus, the selected values for the grating constants d x , d y and the slit widths b x , b y are well estimated.
In the fourth and last step, the measurement signal is reproduced by scanning the simulated diffraction grating pattern in Fig. 13 with the bar algorithm.This is done in three parts.
First, the distance between the LCD and the observer, i.e. the PD, is set to s 2 = 0.055 m = 5.5 cm, which equals h in the second experimental setup.
Second, (15) is calculated for several wavelengths because the experimental setup (Fig. 10) contains white LEDs with an extended spectrum.In this paper calculations are restricted to the visible spectrum ranging from λ blue = 400 nm to λ red = 750 nm.For white light, the diffraction pattern changes from a discrete to an extended shape.Each maximum now contains a spectrum of multiple colors that overlap significantly with neighboring maxima.An obvious simplification is to replace the grid diffraction pattern in (15) by one.As another simplification, the responsivity of the PD, i.e. its wavelength-dependent sensitivity, is omitted.It is expected to have a minor influence on the reconstruction of the measurement signal.
Third, the signal measurement using the bar algorithm is recreated.A PD converts the incident sum light intensity into a proportional current.Using the bar algorithm, a transparent bar is moved over the LCD uncovering segments of the diffraction pattern piece by piece.To combine the light intensity within each step, the diffraction pattern on the LCD is convolved in two dimensions with a matrix of ones.To replicate a transparent bar of width b bar = 1 cm, the size of the matrix is κ in y-direction.Knowing the corresponding sum intensity for each bar-step, the measured signal can be generated by convolving the calculated sum intensity Concluding this experiment, the result of the measurement signal reproduction is shown in Fig. 14, where the reconstruction is compared to a measurement signal and the simulated signal in azimuth direction for a single LS in the origin.As can be seen, the reconstruction is nearly identical to the measurement.Both signals experience a moderate increase even before the transparent bar overlaps the PD.Furthermore, the peak is smoothed.These characteristics are caused by the widening of the LS due to the diffraction grating effect.The reconstruction is subsequently used as the reference signal for the NNLS algorithm.

B. Influence of the LCD Diffraction Grating Effect on the AoA Estimation of Multiple Light Sources
To investigate the influence of diffraction grating effects on the AoA estimation performance of multiple LSs, Section III is revisited.There, five separation cases with increasing separation complexity are investigated.These cases are now recreated in the second experimental setup (Fig. 10) to obtain the respective measurement signals.To this end, two LSs of identical brightness are aligned on a single aluminum rod on the x−axis, i.e. y = 0, with one LS positioned in the origin.The second LS is placed at angles determined in Section III to achieve separation cases 1) to 5).
The results are given in Fig. 15.The measurements are normalized to the maximum of the simulated signal to obtain good comparability.First of all, it is noticeable that the deviations between measurements and theoretical, i.e. simulated signals are very small.The most significant differences are the smoother transitions for the measurement signals.As has been found out in Section VI-A, the cause is the diffraction grating effect of the hardware LCD.Closely inspecting Fig. 15(a)-(f), it is found that the angle dependent light intensity attenuation indeed is proportional to the cosine to the power of four of the AoA.This was predicted in Section III-A.For Fig. 15, this attenuation has been taken into account in the simulation.The match to the measurement is excellent.
A possible explanation to this cos 4 (φ) law is to consider the LCD as an optical relay.Light transmitted from a Lambertian LS is collected on the top side of the LCD at a certain angle of incidence.The LCD acts as a virtual detector.On the bottom side, the LCD acts as a virtual LS transmitting the penetrating light at a certain angle of irradiance to the real detector.Thus, light experiences transmitter-and receiver-based attenuation twice.
In Fig. 15(a) and (b) the LSs are well separated.Therefore a conventional algorithm, such as the local maximum algorithm, as well as the NNLS are able to separate the LSs and determine their angles of arrival.Note that for the NNLS estimations, the reference signal derived in Section VI-A is used.Still, when examining the NNLS result of the measurement signal, inaccuracies become evident.Instead of a single peak for each LS, the NNLS algorithm generates two closely spaced peaks.The rule is: the greater their spacing, the smaller the uncertainty about the true position.The reason for this uncertainty is the fluctuation of the measurement signal.One step off the actual LS position corresponds with κ = 10 to an inaccuracy of ≈ 0.5 • [14].
As in Section III-A, the limit for conventional algorithms regarding AoA estimation remains d az,1,2 = d vpx + a, i.e. separation case 2), see Fig. 15(c).Still, even with a step size of κ = 10 the small peaks are accurately represented by the measurement signal and can be detected by a local maximum algorithm.The peaks disappear in separation case 3), see Fig. 15(d).The result of the NNLS algorithm is unaffected.It clearly detects two LSs with a small position uncertainty.For d az,1,2 ≤ a, i.e. separation case 4), (Fig. 15(e)), the signal smoothing results in a more narrow top.A closer look at this area reveals that the extreme values are not on the true LS positions, but further in.This makes distinguishing the two LS positions more challenging as with simulated signals, which is also reflected in the NNLS result, since the peaks of the left LS are closer together.Nevertheless, the NNLS algorithm is still able to detect two LSs.This is no longer possible for separation case 5), see Fig. 15(f).The NNLS algorithm detects a single LS in the origin.
Concluding this experiment, it is found that the measurement results are in excellent agreement with the simulation conducted in Section III-A.Furthermore, it is confirmed that for given measurement values, the NNLS algorithm is still able to detect two neighboring LSs and estimate their AoA with a small uncertainty.Even for separation case 4), i.e. for strongly overlapping measurement signals, the NNLS algorithm provides good results.

C. Detailed Performance Analysis of the NNLS Algorithm Using LCD Diffraction Grating Effect Compensation
To investigate the performance of the NNLS algorithm in detail, a measurement series is conducted.As in the previous investigation, two LSs of identical brightness are aligned on a single aluminum rod placed on the x-axis at y = 0.One LS is positioned in the origin.The other LS starts at the origin and is subsequently moved along the rod in 5 mm steps up to the point where the LSs are separated by Δφ = ξ ≈ 5 • .
For every LS position, the true angles of arrival are determined with the experimental setup.To obtain the estimated angles of arrival, several steps are performed.First, ten measurements are conducted with the bar algorithm per LS step.Afterwards, the NNLS algorithm determines the estimates x for every measurement.To compensate for the LCD diffraction grating effect, the reference signal derived in Section VI-A is used.Then, for every measurement per LS step the estimated angles of arrival are determined with a peak detection algorithm that has a peak distance of 1 in order to ignore directly neighboring peaks (see Fig. 15).In case the LSs are so close together that the NNLS algorithm finds only a single LS, the determined AoA is assigned to both LSs.
As a measure of error, the mean squared error (MSE) is selected.It is calculated by subtracting the true angles of arrival from the estimated ones, taking the square and then the arithmetic mean over the number of LSs and measurements per LS step.
The result of the measurement series is depicted in Fig. 16.As long as the LSs are separated by more than 2.5 • , the estimate is nearly error free.The small errors are an effect of the discrete LCD.Because the LCD consists of an integer number of pixels, also the bar algorithm and its measurements are discrete.Thus, also the results from the NNLS algorithm are bound to the same grid.The displacement of the second LS does not take this grid into account.At an angular distance ξ < 2.5 • , the error increases sharply.This is due to the NNLS algorithm and the peak detection algorithm detecting only a single LS.As described above, in this case both LSs are assigned the single measured AoA.For even smaller angular distances, i.e. ξ < 2 • , the error reduces again.The reason is that the single measured Fig. 16.Result of a measurement series where one LS remains in the origin and another LS approaches the first on the x-axis.The angular distance between the LSs is ξ.To calculate the MSE, the positions of the LSs, estimated with the NNLS algorithm, are compared to the true LS positions.
AoA lies in between the two correct LS positions.As the second LSs approaches the first, the error reduces.As soon as both LSs reach the origin, the error is zero.
In conclusion, the NNLS algorithm is able to reliably separate two LSs as long as they are separated by at least 2.5 • .Revisiting (10) and inserting this value, it is found that the NNLS algorithm can in theory simultaneously detect N LS,max,az ≤ 38 LSs in azimuth and N LS,max,el ≤ 26 in elevation direction when used with the second experimental setup.

VII. RUNTIME ASSESSMENT AND POTENTIAL APPLICATIONS
Up to this point, we have demonstrated that it is possible to estimate the AoA of several LSs even if they are located in close proximity.This raises the question of possible applications.
In this regard, the most limiting factor is the LCD refresh rate.Both the LCD in our introductory paper [14] as well the display in this contribution feature a refresh rate of f LCD = 60 Hz.As determined in [14], a full search with 256 + 144 steps, i.e. with an LCD step size of κ = 10 pixels, takes around 6.7 seconds.However, this runtime should be regarded as the upper bound.The objective of both experimental setups is to verify theoretical derivations and concepts, not to optimize the runtime.The runtime can be optimized in multiple steps.First, modern LCDs currently entering the market could be employed.Refresh rates of up to 500 Hz are advertised.Second, in case an angular resolution of 0.5 • is not required, a more coarse LCD step size can be selected.For example, doubling the step size reduces the runtime by a factor of two.Both these measures reduce the runtime to about 0.4 seconds.A further reduction in runtime may be possible with the help of novel LCD-based AoA estimation algorithms including e.g. machine learning that could be developed in future work.
Comparing these runtimes with other works is not straightforward, as many contributions do not include runtime analyses.An exception is 'CELLI', which includes these and also employs an LCD as dynamic optical filter [8].Contrary to this contribution, the LCD is placed in front of an LS to project a fine grid of spatial cells into a service area.The controllable opacity of the LCD is then used for transmitting cell information.Thus, the runtime also depends on the refresh rate of the display.The authors specify it between 2.4 and 0.6 seconds depending on the coordinate estimation error.Although the runtimes are in a similar range to the proposed system, a direct comparison is not very meaningful due to the different objectives.The goal of 'CELLI' is to provide a receiver with information about the current spatial cell from which the position can be derived.The objective of the proposed system, however, is to detect all available LSs, determine their AoA, select a suitable LS for VLC and suppress interference from other LSs.
At the moment, the presented AoA estimation system is suitable for quasi-stationary scenarios.A possible application is an office environment with multiuser VLC.Each subscriber could be handed a VLC receiver equipped with an LCD.The system could be placed on an office desk, detect communicating LSs, select a suitable source and suppress interference from other LSs by switching corresponding pixels of the LCD opaque.In the same manner, interfering sunlight could be suppressed.
In case above-mentioned runtime optimizations are taken into account, slow-varying scenarios are also conceivable.An example are swarms of autonomous underwater vehicles (AUV) [24].Due to the environment and limited battery capacity, the velocity is confined to a few meters per second.An AUV equipped with a VLC receiver comprising an LCD, could select another vehicle for establishing a high-rate VLC connection and suppress interfering participants and the sunlight.
At present, the developed AoA estimation system is constructed as shown in Fig. 10.It consists of several distributed parts and is therefore bulky.In order to develop a product, several steps are necessary.First of all, a compact design is required.Since the LCD has a large form factor, a smaller, custom made display should be used.To improve runtime, the display should feature the highest possible refresh rate.Also, the distance h between LCD and PD could be reduced.Our previous work shows that for h > 3 cm the angular resolution is still below 1 • [14].Another step towards a compact design is to employ a μC both for LCD control as well as for light intensity measurements.At the moment, a computer with Matlab is used for evaluation.Finally, novel LCD-based AoA estimation algorithms should be developed to further reduce runtime before product development.

VIII. CONCLUSION
In this paper, the recently proposed concept of using an LCD as a dynamic filter in front of a PD for AoA estimation is extended to AoA estimation of multiple LSs.To this end, in Section II the system model is revisited to describe fundamentals which influence the detection of multiple LSs.In Section III, focus is on challenges of LCD-based AoA estimation.In Section III-A, the LS separation problem is illustrated by defining five separation cases reaching from completely separated LSs to fully overlapping ones.For every case, the minimum angular distance ξ(φ 1 , d az,1,2 ) is outlined using a simulation together with formulas derived in Section II.It is found that as long as peaks of LSs are distinguishable, i.e. up to separation case 2), their AoA can be found with a simple local maximum searching algorithm.If the LSs are located even closer, more sophisticated algorithms are required.In the context of LS separation, a boundary for interference suppression in multiuser VLC is provided.Furthermore, it is found that the PD size directly influences the bar width of the bar algorithm which in turn defines the triangle width of the measurement signal.Therefore, to obtain better LS separation capabilities, a smaller PD can be used in the system at the expense of an SNR loss.In Section III-B, the ambiguity caused by the bar algorithm is explained.Because the bar algorithm performs two measurements, one with a vertical transparent bar and the other with a horizontal one, each LS is measured twice.As a result, N 2  LS possible LS positions need to be distinguished between true LSs and virtual ones.Section IV deals with possible solutions to challenges described in Section III.In Section IV-A, the NNLS algorithm is introduced for the separation of closely spaces LSs.As the NNLS only requires the measurements performed with the bar algorithm, additional measurements are not necessary.It is found that the NNLS result is error free when using simulated signals.In Section IV-B, a straightforward solution to the bar algorithm ambiguity is given.It is proposed to simply perform N 2 LS additional measurements using a square transparent area.The cost of these additional measurements is found to be very small.Compared to the exhaustive search algorithm, the expenditure is negligible.In Section V two experimental setups are presented.The first setup is built to investigate diffraction patterns created by the LCD.The second setup is built for AoA measurements with multiple LSs.In Section VI, measurements are performed with the experimental setups.In the first part, the diffraction pattern of the LCD is illustrated and modeled.It is found that the modeled signal is nearly identical to the measured signal.Consequently, the deviation of the measurement signal from the simulation is attributed to diffraction effects of the LCD.The modeled signal is subsequently used in Section VI-B as reference signal of the NNLS algorithm.The separation cases introduced in Section III-A are recreated with the second experimental setup.It is observed that the measured signals match very well to the simulated signals.It is also found that the NNLS algorithm reliably estimates the AoA up to separation case 4).In Section VI-C, the performance of the NNLS algorithm is analyzed in detail.To this end, a measurement series is conducted with two LSs closing in on each other.Evaluating the results, a reliable separation can be reported up to ξ(φ 1 , d az,1,2 ) = 2.5 • .In Section VII, a runtime assessment is given and potential applications are discussed.
Future work could focus on examining other measurement algorithms which improve the runtime compared to the bar algorithm while also coping with challenges such as ambiguities and LS separation.Furthermore, it is interesting to investigate whether the NNLS algorithm is capable of estimating the AoA in between grid points in case the NNLS estimate contains multiple peaks per LS, causing inaccuracies.Also, a generalization to multiuser VLC is straightforward.Finally, the investigation and development of advanced AoA algorithms is a promising step towards a further reduction of the system runtime.
Authorized licensed use limited to the terms of the applicable license agreement with IEEE.Restrictions apply.

rr
An algorithm is developed for detection of LSs in close proximity.Strategies are found to combat ambiguities caused by the so-called bar algorithm.r Diffraction grating effects of the LCD are investigated and modeled to improve AoA estimation accuracy.

Fig. 2 .
Fig. 2. Two-dimensional representation of the geometrical model from Fig. 1.The figure is cut along y = 0.

Fig. 3 .
Fig. 3. Simulation results for two LSs using the bar algorithm.From subfigures (a)-(f), the distance d az,1,2 is gradually reduced.The orange signal represents the first LS at φ = 0 • .The blue signal represents the second LS at varying AoA.The dark red line represents the sum signal measured at the PD.For clarity, it is raised by 0.1.(a) represents separation case 1), (b) and (c) represent separation case 2), (d) represents separation case 3) and (e) represents separation case 4).Finally, (f) represents separation case 5).

Fig. 4 .
Fig. 4. Minimum angular distance ξ as a function of the innermost AoA φ 1 for the separation cases 1) to 5).The edge length of the PD is a = 1 cm.

Fig. 5 .
Fig. 5. Minimum angular distance ξ as a function of the innermost AoA φ 1 for the separation cases 1) to 5).The edge length of the PD is a = 0.25 cm.

Fig. 7 .
Fig. 7. Graphical representation of the separation problem to be solved.Vector y represents the sum signal measured at the PD containing three LSs.The matrix A is an identity matrix distorted by the triangular reference signal.x is the unknown vector to be estimated.Color scheme: blue represents values close to zero, yellow represents values close to one.
denoting the outer vector product of m φ and m θ .It displays all possible LS positions.N LS = 3 LSs result in N 2 LS = 9 possible positions, where N VLS = N LS • (N LS − 1) positions are virtual (non existent) LSs.The resulting combination of the individual intensities I in the surface plot is given in white letters.

Fig. 11 .
Fig. 11.Picture of the diffraction pattern taken by a camera s 2 = 0.5 m in front of the LCD.The LED with λ peak = 535 nm is located s 1 = 1 m behind the display, cf.Fig. 9.In this setup, the first maxima in x-direction appear at about 0.35 cm on the display, see red lines.

Fig. 12 .
Fig. 12. Close-up picture of the DXQ608-X04 monochrome LCD under a microscope.The pixels are not square, i.e., b x = b y .Picture inspired by [20].

Fig. 13 .
Fig. 13.Simulated diffraction pattern with s 2 = 0.5 m, s 1 = 1 m, and λ peak = 535 nm.To approximate the relatively wide LED used in the experiment and to enhance the visibility, the grid diffraction pattern is expanded artificially.The first maxima are at about 0.35 cm in x-direction, see red lines.The pattern is plotted in logarithmic scale with white being 0 dB and black −5 dB.
To obtain I y (θ), replace d x , b x , n x , φ by d y , b y , n y , θ. Equation ( with λ = λ peak = 535 nm and the grid properties b x , b y , d x , d y and n x , n y .The number of pixels and the pixel size are given in the data sheet as n x = 2560, n y = 1620 and d px = 5.1 • 10 −3 cm.Since no further information is provided, we estimate d x = d y = d px = 5.1 • 10 −3 cm and b x = d px/2 = 2.05 • 10 −3 cm, b y = d px/10 = 0.51 • 10 −3 cm using Fig. 12. Equation (

Fig. 14 .
Fig. 14.Comparison of the reconstructed signal with the measurement and the simulation for an LS at φ = 0 • .Because the reconstructed signal is nearly identical to the measurement, it can be concluded that the smoothing results from the grating effects of the LCD.
also yields d az,1,2 = a + s az .Regarding the spacing, either s az ≥ 0 holds if the transparent areas are separated, or s az < 0 if the areas overlap.The goal with the representation in Fig.2is to calculate the minimum angular distance ξ between the LSs at which an LS distinction is still possible.Therefore, (3) is inserted into (6) withd az,1 = n • κ • d px and d az,2 = n • κ • d px + d az,1,2 .Parameter n describes the distance d az as an integer number of hardware pixels and κ is the number of hardware pixels per virtual pixel.For conciseness, d vpx = κ • d px is used:

TABLE I PARAMETERS
USED IN THE SIMULATION OF TWO APPROACHING LSS TO OBTAIN SIMULATION RESULTS IN FIG. 3