Indoor multiuser visible light communication systems using Hadamard-coded modulation

Visible light communications (VLC) is a short-range optical wireless communication technology that uses light-emitting diodes (LEDs) as lighting devices and data transmitters. This paper describes a multiuser VLC system using Hadamard-coded modulation (HCM) for indoor data transmission. Considering the peak transmitted power limit of the LEDs, a DC-reduced HCM (DCR-HCM) is used to reduce the nonlinear clipping distortion. Since the Hadamard codewords have different bandwidth requirements for a given symbol rate, they can be assigned to users with varying hardware capabilities. Optimally assigning codewords to users is found to significantly improve the average throughput, up to twice higher than a random assignment for a typical scenario. When the number of active users is less than the size of the Hadamard matrix used, more than one codeword can be assigned per user, which further improves the throughput. This paper also examines a scenario where multiple lamps in an indoor space transmit the same data. Since the time of arrival for the received signals emitted from different lamps is different, the Hadamard codes received are no longer orthogonal, resulting in multiple access interference and inter-chip interference. The number of acceptable codewords is computed based on the specific interference experienced in different parts of the indoor space. The spatial distribution of the maximum throughput is also simulated, showing that the ratio of the maximum to the minimum data rate can be as high as 10 when considering the entire area of a typical indoor room. This article is part of the theme issue ‘Optical wireless communication’.

In this paper, several practical aspects of implementing HCM in a multiuser environment are explored. HCM is a multi-level pulsed modulation scheme, and a larger number of levels requires a more complicated transmitter structure. A DC-reduced HCM (DCR-HCM) is proposed in [12] to reduce both the risk of peak power clipping distortion and high complexity in the transmitter structure. We discuss and compare DCR-HCM and conventional HCM systems. When the number of users is less than the order of the Hadamard code, more than one codeword can be assigned to each user, and the throughput can be enhanced. A multi-lamp scenario where the transmitters send the same data is then explored; the effects of the signal time of arrival difference from spatially separated lamps are analysed and discussed. The received Hadamard codewords are no longer orthogonal, and multiple access interference and inter-chip interference can result, affecting the usability of individual codewords. This paper presents the Hadamard codewords usability distribution and the maximum throughput achievable in a typical indoor environment.
The remainder of the paper is organized as follows. Section 2 describes the multiuser HCM system, which includes models of the channel and the transmitted and received signals. Section 3 presents an HCM MAC layer design for multiple access suitable for single-lamp and multi-lamp scenarios, including analytical and simulation results. The paper is concluded in §4.

Multiuser Hadamard-coded modulation system
In this section, the model of the proposed indoor multiuser HCM system is described, which includes the wireless channel, transmitted and received signals and the DC-reduced HCM.

(a) Indoor channel model
In indoor VLC systems, the channel impulse response consists of line-of-sight (LOS) and non-LOS (NLOS) parts. The LOS signal is transmitted from the LED and received directly at the receiver. The NLOS component is caused by reflections of the light off the walls, furniture, ceiling, and other reflective surfaces. Due to these reflections, the indoor VLC channel is dispersive and frequency selective, which degrades the performance of VLC systems. The impulse response can be obtained by using a ray-tracing algorithm [18]. The received signal power depends on the beamwidth of the light source, propagation distance, incident angle, and irradiation angle following the Lambertian rule. The channel loss can be represented as [18], h = A r cos φ 2π L 2 (m + 1) cos m ψ, (2.1) where φ and ψ are the incident and radiation angles, respectively. The beamwidth of the LED determines the transmitter's Lambertian mode, m. L represent the propagation distance, and A r is the effective area of the receiver's PD. LEDs are low-pass devices due to their slow rise-time (the bandwidth of commercial white lighting LEDs is limited to around a few tens of MHz) [5]. The overall channel response can be determined by combining the transmitter and channel responses with the receiver's low-pass filter, which is a function of its sampling rate. In general, the impulse response of the overall VLC channel can be modelled as a first-order low-pass filter [19].

(b) Hadamard-coded modulation transmitted signal model
The transmitted HCM signal model is described in this section. Hadamard codes are binary {0, 1} sequences that can be used to modulate data by using a fast Walsh-Hadamard transform (FWHT).
To simplify the notation, we analyse the signal in one HCM symbol. HCM can be used to support multiple users in a way that is similar to CDMA: the data intended for each user is modulated by one or more Hadamard codewords. As shown in figure 1, the transmitted signals for the multiple users are input to the FWHT. The M-ary pulse amplitude modulated (M-PAM) symbols from data stream k are labelled x N-1 Figure 1. Block diagram of a transmitter in an HCM system. data stream k. K represents the number of data streams or active users. After modulation, the HCM signal, x = (x 0 , x 1 , . . . , x N−1 ), can be written as where β represents the modulation index that controls the signal scale. H N is the binary Hadamard matrix of order N [20], andH N is its binary complement. Since the elements in the first codeword of the Hadamard matrix are all ones, it is not used for modulation; therefore, N − 1 data streams can be supported, so that d = (0, d 1 , d 2 , . . . , d N−1 ). To avoid transmitting negative signals, a constant bias of N/2 is added.
The parallel vector x that contains the combined modulated data is serialized and transmitted. Based on the central limit theorem (CLT), each sample of the resulting time series for large N can be modelled as an independent Gaussian distributed random variable with mean μ x = (N/2) and variance σ 2 i , whereσ 2 i represents the variance of d i [12]. In this paper, we wish to explore the advantages that HCM might have over other modulation schemes for applications such as IoT, where some users may have a low-bandwidth transmitter or receiver because of limited clock speeds. A lower-order FWHT can be used to modulate or demodulate a specific subset of the codewords identified as having a smaller bandwidth. Alternately, a simple code modulation at the transmitter and code matched-filter at the receiver suffices for a single codeword. Thus, using HCM in a multiuser environment, users with lower bandwidth can use a low-complexity and low-cost transmitter or receiver structure to detect narrow bandwidth HCM codes instead of using the full-scale FWHT. Figure 2a shows a Hadamard code matrix of size N = 8 stripped of its first row; the codewords c 1 to c 7 are used to modulate seven data streams. Figure 2b shows the 8-chip waveforms corresponding to the codewords. As is evident from the figure, different codewords require different bandwidths. For example, codeword c 4 requires half of the bandwidth of c 6 . The normalized required bandwidth for the Hadamard codewords of order N is given in table 1; to make the results independent of the chip rate, we normalize the highest bandwidth to one. From the table, half of the codewords require the highest bandwidth, while the other half can use lower bandwidth transceivers. From this table, only one codeword has the lowest bandwidth, which is a factor 2/N smaller than the maximum bandwidth required.
Lighting LEDs emit an optical power that is nonlinearly related to their drive current, especially near their peak power limit. The signal beyond the peak power of the LED can be modelled as being hard clipped. We model the LED's nonlinearity as a piece-wise function, given as   Alternatively, an LED array containing multiple small on-off-modulated LEDs can be used to represent an analogue waveform, adding circuit complexity but avoiding the LED nonlinear effects.
(c) Hadamard-coded modulation receiver processing In this section, the received signal is first represented by using the full-sampling-rate model for all users. We then address the effect of subsampling available to users assigned a low-bandwidth codeword.
A PD at the receiver is first used to convert the received optical power to an electrical signal with a conversion rate, ρ, called the responsivity. Without loss of generality, the responsivity is set to unity in all subsequent equations. The sampled electrical signal vector in one HCM symbol, y = (y 0 , y 1 , . . . , y N−1 ), can be written as is the discrete-time version of the system impulse response that includes the effects of the transmitter, channel, and receiver. * denotes the discretetime convolution operation. The additive noise at the receiver in one HCM symbol, n = (n[0], n [1], . . . , n[N − 1]), includes the thermal and background shot noise [2] and can be modelled as an independent Gaussian random vector with zero mean. The variance of the noise samples depends on the receiver bandwidth, B, and noise power spectral density, N 0 , and can be calculated as σ 2 n = N 0 B. n clip denotes the clipping-induced noise that is modelled as an additive Gaussian noise with variance [12] Figure 3. A block diagram of a receiver in an HCM system.
When all the data streams are used for one user, an inverse FWHT (IFWHT) is used to decode the data at the receiver, as shown in the block diagram in figure 3. After this step, the decoded For the multiple user case, if only one data stream is needed at a particular user, its receiver structure can be simplified; only the codeword modulating the intended data is used for demodulation instead of using the IFWHT. Both methods yield the same results. When a low-bandwidth codeword is assigned to a user with a slower sampling rate, a lowerorder Hadamard matrix can be used at the receiver with no performance loss. No interference is introduced as long as the correct Hadamard codewords are used for demodulation. Using the slowest sampling rate needed with the lowest order FHWT can save significant processing power in resource-limited devices. If the size of the Hadamard matrix is increased to support more users, the bandwidth requirements (or, equivalently, the sampling rate requirements) for an already-assigned codeword do not change. For example, when N = 4, codeword c 2 is {1 1 0 0}; this codeword at twice the sampling rate becomes {1 1 1 1 0 0 0 0} when N = 8, but its bandwidth is unchanged. This gives the HCM-based multiple access approach a huge flexibility advantage as the code size can be adaptively changed without disrupting existing connections.

(i) System performance for an ideal channel
It is informative to examine the ideal channel case to understand the system limitations when the transmission bandwidth is larger than needed for the symbol rate used. The decoded vector in this case can be rewritten as where r represents the clipping coefficient that describes the power loss due to clipping. Using the fact that x can be modelled as approximately Gaussian, the clipping coefficient, r, can be calculated from the Bussgang theorem [21] using demodulation at the receiver, the bit error rate for the kth user using M-PAM HCM for nondispersive channels can be approximately calculated from [22] as which is a standard approximation of the BER for M-PAM.
(ii) System performance for a dispersive channel A dispersive channel introduces ISI between HCM symbols and interchip interference (IChI) within the codewords; in this paper we ignore the ISI, assuming a large enough N is used to make the interference between adjacent symbols relatively small. (If not, a cyclic prefix or guard-time between symbols can be used as in OFDM.) The received signal vector after the IFWHT operation can be represented as in [12], where F = h[ ]I ( ) and I ( ) represents the th right cyclic-shifts of the identity matrix. After applying a minimum mean square error (MMSE) equalizer, W = (w 0 , w 1 , . . . , w N−1 ) T , the filtered signal vector is obtained asd  [20], the optimum W is given by where C dv and C v are and I is the identity matrix. Then, the signal to interference plus noise ratio (SINR) for data stream k using codeword i is denoted as γ ki , which can be represented for the dispersive channel as Therefore, the BER expression for data stream k using the ith codeword can be approximated as . (2.16)

(d) DC-reduced Hadamard-coded modulation
For indoor VLC systems, transmitting a signal with a high DC value can provide a higher illumination, which is not a waste of power. However, lowering the DC value reduces the magnitude of the signal, which prevents the signal from experiencing peak radiation power clipping. In [23], a modulation scheme that reduces the DC value, called DC-reduced HCM (DCR-HCM), is introduced. The average optical power is reduced by sending (x − min x) instead of x. Therefore, the DC level varies over symbols. At the receiver, the DC value removed before transmission does not affect the demodulation of the data. By reducing the DC value, the maximum number of levels in the DCR-HCM transmitted signal is much lower than that for regular HCM, which simplifies the hardware structure and reduces the effects of the nonlinearity of the LEDs and their drivers on the transmitted signals. The maximum numbers of levels in HCM and DCR-HCM are denoted as μ HCM and μ DCR , respectively, which can be calculated as N, 16-DCR-HCM can support 12 more data streams than 4-HCM when using this same hardware structure.

Hadamard-coded modulation MAC layer design
HCM provides an attractive modulation scheme for multiuser indoor VLC systems, especially for IoT networks. In this section, the proposed Hadamard codeword assignment scheme and the effects of using multiple lamps to transmit the modulated signal are discussed.

(a) Single lamp scenario
In this section, we consider a simple case where one lamp serves multiple users, and explore the use of HCM as a multiple access scheme.

(i) Codeword assignment
We assume that the users could have bandwidths that are limited to different values, and, therefore, an algorithm that appropriately assigns codewords to users is required. The Hadamard codewords with low-bandwidth requirements should be attributed to users that have low sampling abilities, to avoid IChI caused by the bandlimiting filters. When assigning high bandwidth codewords to low-bandwidth users, severe IChI could be introduced.
One codeword is assigned per user if either the throughput requirements are relatively low or the number of users is the same as (or greater than) the number of codewords. Let a ki ∈ {0, 1} be an indicator function describing the status of codeword i: if a ki = 1, codeword i is assigned to user k, and otherwise it is not. A is the K × (N − 1) matrix formed by elements a ki . In this section, codewords are optimally assigned based on their bandwidth and the SINR of each user, given in (2.14). To optimize the codeword assignment fairly, we maximize the minimum data rate over all the users, which can be described as which is an integer optimization process since each codeword can only be assigned to one user. To guarantee that all the codewords are assigned no more than once, we must impose optimization constraints. For each user, the modulation constellation size can be changed to improve the throughput. The largest modulation constellation size that guarantees an acceptable BER, denoted BER max , based on the SINR at the receiver can be used, as shown in (3.1) as the last constraint. Integer optimization is time-consuming and inefficient; a heuristic searching scheme, such as a genetic algorithm, is often used to find the optimized solution, the process of which is standard and can be found in [24]. The steps used to formulate the genetic algorithm for this problem are given in the appendix. When the number of users, K, is less than N − 1, more than one codeword can be assigned to one user for a higher transmission throughput. To optimize the throughput fairly, the users that have poor channel conditions can be assigned more codes for a better performance. This optimization process can be modelled as (3.1) but without the constraint that N−1 i=1 a ki = 1. To guarantee that all the codewords are assigned once, we still impose the optimization constraint, K k=1 a ki ≤ 1, shown in (3.1). A genetic algorithm can again be used to find a near-optimal solution.

(ii) Numerical results
In this section, we provide results for the case where one LED lamp transmits the signals intended for all users, the geometry of which is shown in figure 5. Unless otherwise noted, the parameters    used to obtain the numerical results are shown in table 2, which is typical for indoor spaces and often used as a benchmark [12]. The test environment is a 5 m × 5 m × 3 m empty room. For the single lamp case, different users are assumed to have different bandwidths, as denoted in the table. The plots in this section are the results of a 50-trial Monte Carlo simulation assuming the users are randomly chosen and uniformly distributed in the room. All results shown in this paper are obtained by using the analytical expressions presented above. Considering the users' different bandwidths, a bit loading algorithm is applied to maximize the data rate; the largest modulation constellation size is selected for each codeword based in the codeword's SINR and M-PAM's minimum SINR requirements. With the help of forward error control (FEC) coding, an uncoded BER of 10 −4 is usually needed, as listed in table 2. Relaxing this constraint does not affect the optimization process; a more relaxed BER constraint allows transmitting a higher data rate since a larger modulation constellation size and a faster symbol rate can be used. However, FEC codes that provide an acceptable transmission quality with a more relaxed BER constraint are more complex and not currently suitable for simple IoT devices. All of our results use BER max = 10 −4 . Figure 6 shows the average data rate over the users when the codewords are optimally assigned compared to when they are randomly assigned to the users, assuming exactly one codeword is assigned per user. As the size of the Hadamard matrix increases, more users can be supported. When randomly assigning codewords to users, a larger Hadamard matrix is more likely to assign a high bandwidth codeword to a user with low bandwidth, which introduces severe IChI. Therefore, as shown in figure 6, for a random codeword assignment the average data rate decreases for the same number of users as the size of the Hadamard matrix increases. When random assignment optimal assignment for 3 users optimal assignment for 7 users optimal assignment for 15 users optimal assignment for the maximum number of users exhaustive search for 3 users  optimally assigning the codewords, increasing the size of the Hadamard matrix does not affect the average data rate since the same codewords are assigned to the users. Comparing random and optimal codeword assignments, the average data rate of the optimal codeword assignment is approximate twice that of randomly choosing the codewords when three and seven users are supported.
In this paper, the genetic algorithm used to obtain the simulation results provides a tradeoff between optimality and feasibility in solving the optimization problem. In figure 6, we compare the performance using the genetic algorithm and an exhaustive search that guarantees the globally optimal solution for the simplest case of three users and an N = 4 Hadamard matrix. The average throughput using an exhaustive search is about 16% higher than using the genetic algorithm. Although an exhaustive search finds a better solution, it is impractical for a real-time implementation involving a large number of users due to the unacceptable running time.
The throughput can be enhanced by assigning multiple codewords to users. Table 3 shows the average throughput achieved when assigning multiple codewords to each user as a function of the number of users in the room. Based on the channel conditions of the users, a different number of codewords can be optimally assigned to each user. Compared with using a single codeword per user, assigning multiple codewords can improve the throughput by about 10% when the number of users is much smaller than the size of the Hadamard code. As the number of users increases, a smaller number of available codewords can be assigned to users; in this case, the throughput achievable when assigning multiple codewords per user is similar to assigning a single codeword per user. The reason the improvement is not greater is that the system continues to operate under

(b) Effect of multiple lamps
In a typical indoor VLC system, there are several LED lamps working as light sources and transmitters; thus, the effects of using multiple lamps need to be considered. In this section, we assume that the NLOS portion of the channel impulse response is negligible. We focus on the overlap of the LOS components of the signals originating at the various lamps.

(i) Performance analysis
We assume that each user can be served by Q lamps that send the same data synchronously and that each user is synchronized to the lamp closest to it. The signals emitted from the lamps are received and combined at the receiver. A two-user two-lamp example is shown in figure 7a. The propagation distance between user k and lamp q is denoted as L qk . Because the propagation distances to the various lamps for a particular user are different, the propagation delay is different, resulting in MAI and IChI; the codewords are no longer orthogonal at the receiver due to the propagation delay. MAI and IChI are caused by the cross-correlation due to the signal arrival time differences. This phenomenon is illustrated in figure 7b. After HCM demodulation and MMSE filtering, the estimate of the data for user k can be represented aŝ where h ik represents the channel gain from lamp i to user k. G(τ qk ) is the cross-correlation matrix as a function of the signal arrival time difference, τ qk , which is represented as The elements of the cross-correlation matrix are calculated as where T s represents the sampling period at the receiver. T c is the chip period of the codeword with the highest bandwidth, which is 1/(NR 0 ), and R 0 is the transmitted symbol rate. The propagation delay from LED q to user k, τ qk , affects the MMSE filter at the receiver. If user k is synchronized to ith LED, then τ qk = (L qk − L ik )/C, where C is the speed of light. The MMSE filter for user k becomes where Z is defined as Therefore, the peak SINR for user k synchronized to the ith lamp can be approximated as (3.8)

(ii) Numerical results
The impact on system performance of multiple lamps transmitting user signals is considered in this section. The users' bandwidths are now assumed to be equal and large enough for the chip rate in order to highlight the arrival time difference between received lamp signals as the primary degradation to the system performance. For our simulation results, we test two scenarios, based on two-lamps and four-lamps, the room geometries for which are illustrated in figure 8a,b, respectively.
The users located at the various locations in the room have different time of arrival differences between the signals sent by the multiple lamps. Thus, the MAI and IChI vary significantly over the indoor space. Since each codeword has a specific tolerance to MAI and IChI, some of the codewords cannot provide an acceptable SINR for the modulation constellation used. Figure 9 shows the spatial distribution of the numbers of codewords that can be used for N = 32. In figures 9a,c, when 2-PAM is used, most of the indoor area can potentially use all 31 codewords. When 4-PAM is applied, however, only areas in the room with a relatively  The distribution of the maximum total throughput in the indoor space using the two-lamp and four-lamp scenarios is illustrated in figure 10. For this result, the modulation constellation size is optimally chosen at each specific user location. The throughput is calculated as the usable number of codewords times the data rate per codeword. Comparing figure 10a,b that use different symbol rates in the two-lamp scenario, we observe that a lower symbol rate results in a more uniform throughput distribution due to the lower MAI and IChI. The behaviour of the four-lamp scenario, the results of which are shown in figure 10c,d, is similar to the two-lamp case.

Conclusion
In this paper, we propose an indoor multiuser VLC system design based on HCM. A fast Walsh-Hadamard transform is used to efficiently modulate the intended data for multiple users on orthogonal Hadamard codewords. To reduce the nonlinear distortion caused by the peak transmitted power constraint of the LEDs, a DC-reduced HCM can be used. Compared with the standard HCM, DCR-HCM has a lower signal magnitude and a smaller number of signal magnitude levels, which can simplify the hardware structure. The codewords in the Hadamard code family require different bandwidths. For practical applications, such as IoT, users often operate with different maximum bandwidths due to their restricted sampling rates. This paper proposes to optimally assign the codewords to minimize the ISI caused by the bandlimited users' devices. Optimally assigning codewords to users can more than double the throughput. When assigning multiple codewords to one user, the throughput can be further enhanced by about 10% compared to using only one codeword per user, for the parameters given. Considering the multilamp scenario, multiple access interference and inter-chip interference for each codeword are different. Based on the indoor environment and users' locations, different numbers of codewords can be acceptably used. From the simulation results, portions of the indoor space with relatively small differences in the time of arrival of the received signals can use a larger number of codewords and result in a higher throughput.