<figure><img src="image_1.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
# A Visible Light Communication System to Support Indoor Guidance

Manuela Vieira¹,²,³[0000-0002-1150-9895], Manuel Augusto Vieira¹,²[0000-0003-1385-3646],
Paula Louro¹,²[0000-0002-4167-2052], Pedro Vieira¹,⁴[0000-0003-0279-8741]

¹Electronics Telecommunication and Computer Dept. ISEL, Lisboa, Portugal

²CTS-UNINOVA, Caparica, Portugal.

³DEE-FCT-UNL, Caparica, Portugal.

⁴Instituto de Telecomunicações, IST, Lisboa, Portugal

mv@isel.ipl.pt

**Abstract.** Toward supporting people's wayfinding activities, we propose a Visible Light Communication (VLC) cooperative system with guidance services and fog/edge based architectures. The dynamic navigation system is made up of several transmitters (ceiling luminaries) that transmit map information and path messages for wayfinding. Each luminaire includes one of two types of controller: a "mesh" controller that communicates with other devices in its vicinity, effectively acting as a router for messages to other nodes in the network, or a "mesh/cellular" hybrid controller that communicates with the central manager via IP. Edge computing can be performed by these nodes, which act as border routers. Mobile optical receivers, using joint transmission, collect the data at high frame rates, extracts theirs location to perform positioning and, concomitantly, the transmitted data from each transmitter. Each luminaire, through VLC, reports its geographic position and specific information to the users, making it available for whatever use. A bidirectional communication process is carried out and the optimal path through the venue is determined. Results show that the system offers not only self-localization, but also inferred travel direction and the ability to interact with received information optimizing the route towards a static or dynamic destination.

**Keywords:** Visible Light Communication; Assisted indoor navigation; Bidirectional Communication; Optical sensors; Transmitter/Receiver; Edge-Fog architecture.

## 1 Introduction

The main goal is to specify the system conceptual design and define a set of use cases for a VLC based guidance system to be used by mobile users inside large buildings.
With the increasing shortage of radio frequency spectrum and the development of Light-Emitting Diodes (LEDs), VLC has attracted extensive attention. Compared to conventional wireless communications, VLC has higher rates, lower power consumption, and less electromagnetic interferences. VLC is a data transmission technology that can easily be employed in indoor environments since it can use the existing LED lighting infrastructure with simple modifications [1] [2]. Visible light can be used as an Identifier (ID) system and can be employed for identifying the building itself. The main idea is to divide the service area into spatial beams originating from the different ID light sources and identify each beam with a unique timed sequence of light signals. The signboards, based on arrays of LEDs, positioned in strategic directions [3], are modulated acting as down- and up-link channels in the bidirectional communication. For the consumer services, the applications are enormous. Positioning, navigation, security and even mission critical services are possible use cases that should be implemented. The use of white polychromatic LEDs offers the possibility of Wavelength Division Multiplexing (WDM), which enhances the transmission data rate. A WDM receiver based on tandem a-SiC:H/a-Si:H pin/pin light controlled filter can be used [4] [5] to decode the received information. Here, when different visible signals are encoded in the same optical transmission path, the device multiplexes the different optical channels, performs different filtering processes (amplification, switching, and wavelength conversion) and finally decodes the encoded signals recovering the transmitted information.

In this paper, a VLC based guidance system to be used by mobile users inside large buildings is proposed. After the Introduction, in Section 2, a model for the system is proposed and the communication system described. In Section 3, the main experimental results are presented, downlink and uplink transmission is implemented and the best route to navigate calculated. In Section 4, the conclusions are drawn.

## 1.1 Background on Wireless Guidance Services

Interaction between planning, control, and localization is important. The localization (Where am I?) senses the environment and computes the user position, the planning (Where am I going?) computes the route to follow from the position, and the control (How do I get there?) moves the user in order to follow the route. A destination can be targeted by user request to the Central Manager (CM).

Geolocation refers to the identification of the geographic location of a user or computing device via a variety of data collection mechanisms. Multi-device connectivity can tell users, from any device, where they are, where they need to be and what they need to do after arrival. Typically, most geolocation services use network routing addresses or internal Global Positioning System (GPS) devices to determine location. With the help of the GPS, outdoor positioning becomes full-fledged and can be regarded as accurate in most application scenarios. However, indoor positioning is still far from maturity, because of the complex indoor electromagnetic propagation environment. Indoor positioning methods are mainly based on Wi-Fi, Bluetooth, Radio-Frequency Identification (RFID) and Visible Light Communications (VLC) [6][7][8]. Accurate and reliable indoor positioning services will change the living habits of mobile users. Moreover, there is a growing consensus that accurate indoor positioning might
not be viable by solely utilizing RF communications. Such application is highly ex-
pected to be realized in the next 6th Generation (6G) era, giving birth to more advanced
non-RF communication technologies.

With the rapid increase in wireless mobile devices, the continuous increase of wire-
less data traffic has brought challenges to the continuous reduction of radio frequency
(RF) spectrum, which has also driven the demand for alternative technologies [9][10].
In order to solve the contradiction between the explosive growth of data and the con-
sumption of spectrum resources, VLC has become the development direction of the
next generation communication network with its huge spectrum resources, high secu-
rity, low cost, and so on [11][12].

To conduct the research, the following questions are considered: Would it be possi-
ble to implement a reliable VLC system to support indoor guidance? Can the combined
VLC location of modulated LED ceiling luminaires and the stored network edge data
from different users provide valuable information about users' movements within a pub-
lic building? How can lighting plans and building models affect multi-person coopera-
tive localization and guidance?

The proposed guidance system considers wireless communication, computer based algorithms, smart sensor and optical sources network, which stands out as a transdisciplinary approach framed in cyber-physical systems.

## 2 System model

The main goal is to specify the system conceptual design and define a set of use cases
for a VLC based guidance system to be used by mobile users inside large buildings.

2.1 Communication system

The system model is composed by two modules: the transmitter and the receiver. The
block diagram is presented in Fig. 1. Both communication modules are software
defined, where modulation/demodulation can be programed.

Data from the sender is converted into an intermediate data representation, byte for-
mat, and converted into light signals emitted by the transmitter module. The data bit
stream is input to a modulator where an ON-OFF Keying (OOK) modulation is utilized.
On the transmission side, a modulation and conversion from digital to analog data is
done. The driver circuit will keep an average value (DC power level) for illumination,
combining it with the analog data intended for communication. The visible light emitted
by the LEDs passes through the transmission medium and is then received by the MUX
device.
<figure><img src="image_2.png" /><figcaption>**Fig. 1.** Block diagram. System model of the proposed control scheme applied to OOK modulation.</figcaption></figure>

To realize both the communication and the building illumination, white light tetra-chromatic sources (WLEDs) are used providing a different data channel for each chip. The transmitter and receiver relative positions are displayed in Fig. 2a.

<figure><img src="image_3.png" /><figcaption>**Fig. 2.** a) 3D relative positions of the transmitters and receivers. b) Spectra of the input channels. c) Configuration and operation of the pin/pin Mux device.</figcaption></figure>

Each luminaire is composed of four polychromatic WLEDs framed at the corners of a square. At each node, only one chip is modulated for data transmission (see Fig. 2b), the Red (R: 626 nm, 25 µW/cm²), the Green (G: 530 nm, 46 µW/cm²), the Blue (B: 470 nm, 60 µW/cm²) or the Violet (V, 400 nm, 150 µW/cm²). Data is encoded, modulated
and converted into light signals emitted by the transmitters. Modulation and digital-to-analog conversion of the information bits is done using signal processing techniques. An OOK modulation scheme was used to code the information. This way digital data is represented by the presence or absence of a carrier wave.

The signal is propagating through the optical channel, and a VLC receiver, at the reception end of the communication link, is responsible to extract the data from the modulated light beam. It transforms the light signal into an electrical signal that is subsequently decoded to extract the transmitted information. The obtained voltage is then processed, by using signal conditioning techniques (adaptive bandpass filtering and amplification, triggering and demultiplexing), until the data signal is reconstructed at the data processing unit (digital conversion, decoding and decision) [13]. At last, the message will be output to the users.

In the receiving system, a MUX photodetector acts as an active filter for the visible spectrum. The integrated filter consists of a p-i'(a-SiC:H)-n/p-i(a-Si:H)-n heterostructure with low conductivity doped layers [7] as displayed in Fig. 2c. Independent tuning of each channel is performed by steady state violet optical bias ($\lambda_{bias}$= 2300 µW/cm²) superimposed from the front side of the device and the generated photocurrent measured at -8V. The generated photocurrent is processed using a transimpedance circuit obtaining a proportional voltage. Since the photodetector response is insensitive to the frequency, phase, or polarization of the carriers, this kind of receiver is useful for intensity-modulated signals. After receiving the signal, it is in turn filtered, amplified, and converted back to digital format for demodulation. The system controller consists of a set of programmable modules.

In this system model, there are a few assumptions that should be noted: The channel state information is available both at the receiver and the transmitter; compared with the direct light, the reflected light is much weaker in the indoor VLC systems; only the Line Of Sight (LOS) path is considered and the multipath influence is not considered in the proposed indoor VLC system.

The received channel can be expressed as:

$$y=\mu hx+n \quad (1)$$

where y represents the received signal, x the transmitted signal, μ is the photoelectric conversion factor which can be normalized as μ = 1, h is the channel gain and n is the additive white Gaussian noise of which the mean is 0.

The LEDs are modeled as Lambertian sources where the luminance is distributed uniformly in all directions, whereas the luminous intensity is different in all directions. The luminous intensity for a Lambertian source is given by Eq. 2 [14]:

$$I(\emptyset)=I_N \cos(\emptyset)^m ; \quad m=\frac{\ln(2)}{\ln(\cos(\phi_{1/2}))} \quad (2)$$

$I_N$ is the maximum luminous intensity in the axial direction, $\emptyset$ is the angle of irradiance and m is the order derived from a Lambertian pattern. For the proposed system, the commercial white LEDs were designed for illumination purposes, exhibiting a wide
half intensity angle (φ₁/₂) of 60°. Thus, the Lambertian order m is 1. Friis' transmission equation is frequently used to calculate the maximum range by which a wireless link can operate. The coverage map is obtained by calculating the link budget from the Friis Transmission Equation [15]. The Friis transmission equation relates the received power (PR) to the transmitted power (PE), path loss distance (LR), and gains from the emitter (GE) and receiver (GR) in a free-space communication link.

$$P_R [dBm] = P_E [dBm] + G_E [dB] + G_R [dB] - L_R [dB] \quad (3)$$

Taking into account Fig. 2a, the path loss distance and the emitter gain will be given by:

$$L_R [dB] = 22 + 20 \ln \frac{d}{\lambda} \quad (4)$$

$$G_E [dB] = \frac{(m+1)A}{2\pi d_{E-R}^2} I(\emptyset) \cos(\theta) \quad (5)$$

With A de area of the photodetector and dE_R the distance between each transmitter and every point on the receiver plane. Due to their filtering properties of the receptors the gains are strongly dependent on the wavelength of the pulsed LEDs. Gains (GR) of 5, 4, 1.7 and 0.8 were used, respectively, for the R, G, B and V LEDs. IN of 730 mcd, 650 mcd, 800 mcd and 900 mcd were considered.

Taking into account Equations 1-5, the coverage map for a square unit cell is displayed in Fig.3. All the values were converted to decibel (dB).

In order to receive information from several transmitters, the receiver must position itself so that the circles corresponding to the range of each transmitter overlap (Fig. 2a). This results in a multiplexed (MUX) signal that acts both as a positioning system and as a data transmitter. The grid sizes were chosen to avoid overlap in the receiver from adjacent grid points. The nine possible overlaps (#1-#9), defined as fingerprint regions, as well as receiver orientations (2-9 steering angles; δ) are also pointed out for the unit square cell, in Fig. 3, respectively.

<figure><img src="image_4.png" /><figcaption>**Fig. 3.** Illustration of the coverage map in the unit cell: footprint regions (#1-#9) and steering angle codes (2-9).</figcaption></figure>

The input of the aided navigation system is the pose, $q(t) = q(x(t), y(t), z(t), \delta(t))$, a coded signal sent by the transmitters to an identified user (I2D), which includes its position in the network and the steering angle, δ, which directs the user along the path at
the given moment, *t*. The device receives multiple signals, finds the centroid of the received coordinates, and stores it as the reference point position. Nine reference points, for each unit cell, are identified giving a fine-grained resolution in the localization of the mobile device across each cell.

## 2.2 Lighting Plan layout and Building model

<figure><img src="image_5.png" /><figcaption>**Fig. 4.** a) Illustration of the optical scenarios (RGBV =modulated LEDs spots). Clusters of cells in square topology. b) Indoor layout and proposed scenario.</figcaption></figure>
In VLC geotracking, geographic coordinates are generated, but the feature's usefulness
is enhanced by using them to determine a meaningful location, to guide the user through
an unfamiliar building, or to lead him to his desired meeting destination.

Lighting in large environments is designed to illuminate the entire space in a uniform way. Ceiling plans for the LED array layout is shown in Fig. 4a. A square lattice topology was considered. Here, cells have squares shapes to form an orthogonal shaped constellation with the modulated RGBV LEDs at the nodes.

Building a geometry model of buildings' interiors is complex. Each room/crossing/exit represents a node, and a path as the links between nodes. The proposed scenario is illustrated in Figure 4b. The user positions can be represented as P (x, y, z) by providing the horizontal positions (x, y) and the correct floor number z. The ground floor is level 0 and the user can go both below (z<0) and above (z>0) from there. In this study, the 3D model generation is based on footprints of a multi-level building that are collected from available sources (luminaires), and are displayed on the user receiver for user orientation. It is a requirement that the destination can be targeted by user request to the CM and that floor changes are notified. Each unit cell can be referred as Cᵢⱼₖ were i, j, k are the x, y position in the square unit cell of the top left node (Fig. 4b).

## 2.3 Architecture and Geolocation

Fog/Edge computing bridges the gap between the cloud and end devices by enabling computing, storage, networking, and data management on network nodes within the close vicinity of IoT devices. Fog computing has advantages since it provides moderate availability of computing resources at lower power consumption. Computing resources may be used for caching at the edge of the network, which enables faster retrieval of content and a lower burden on the front-haul. A hybrid Edge/Fog Computing is as effective as the Cloud even considering that it has less available data and less computational power. In edge computing, the computation is done at the edge of the network through small data centers that are close to users [16].

A mesh cellular hybrid structure to create a gateway-less system is proposed. This architecture consists of VLC-ready access equipment, that provide the computing resources, end devices, and a controller that is in charge of receiving service requests and distributing tasks to fog nodes. The luminaires, are equipped with one of two types of controllers: A “mesh” controller that connects with other nodes in its vicinity and can forward messages to other devices (I2D) in the mesh, effectively acting like routers nodes in the network. A “mesh/cellular” hybrid controller, that is also equipped with a modem providing IP base connectivity to the central manager services (I2CM). These nodes act as border-routers and can be used for edge computing. So, edge computing is located at the edge of the network close to end-user devices. A mesh network is a good fit since it dynamically reconfigures itself and grows with the size of any installation. In Fig. 5 the proposed architecture is illustrated.
<figure><img src="image_6.png" /><figcaption>Fig. 5. Mesh and cellular hybrid architecture.</figcaption></figure>

A user navigates from outdoor to indoor. It sends a request message to find the right track (D2I) and, in the available time, he adds customized points of interest (wayfinding services). The requested information (I2D) is sent by the emitters at the ceiling to its receiver. Under this architecture, the short-range mesh network purpose is twofold: en- able edge computing and device-to-cloud communication, by ensuring a secure com- munication from a luminaire controller to the edge computer or datacenter (I2CM), through a neighbor luminaire/signboard controller with an active cellular connection; and enable peer-to-peer communication (I2I), to exchange information.

The polychromatic WLEDs are placed on the ceiling in a square lattice topology (see Fig. 4), but only one, chip is modulated (R, G, B, V). The principle is that each WLED transmits a VLC signal with a unique identifier. The optical receiver uses this infor- mation and a position algorithm, based on the received joint transmission, calculates the track of the user.

The indoor route throughout the building (track; *q(x, y, z, δ, t)*) is presented to the user by a responding message (I2D) transmitted by the ceiling luminaires that work also either as router or mesh/cellular nodes.

Two-way communication (D2I-I2D) between users and the infrastructure is carried out through a neighbor luminaire/signboard controller with an active cellular connec- tion (I2CM). With this request/response concept, the generated landmark-based instruc- tions help the user to unambiguously identify the correct decision point where a change of direction (pose, *q*(*x*,*y*,*z*, *δ*, *t*)) is needed, as well as offer information for the user to confirm that he/she is on the right way.

# 3 Geotracking, Navigation and Route Control

## 3.1 Communication protocol, coding/decoding techniques and error control

To code the information, an On-Off Keying (OOK) modulation scheme was used and it was considered a synchronous transmission based on a 64- bits data frame. This
modulation, despite not allowing a high bit rate, benefits from a better performance in terms of Bit Error Rate (BER).

The frame is divided into six different blocks (Sync, ID, $\pi_1/\pi_2$, Angle $\delta$, Request/Response and Wayfinding Data). The first block is the synchronization block [10101], the last is the payload data (traffic message) and a stop bit ends the frame. The second block, the ID block, 4+4+4 bits, gives the geolocation (x,y,z coordinates) of the emitters inside the array ($X_{i,j,k}$). Cell's IDs are encoded using a 4 bits binary representation for the decimal number. When bidirectional communication is required, the user has to register by choosing a user name ($\pi_1$) with 4 decimal numbers, each one associated to a RGBV channel. If buddy friend services are required a 4-binary code of the meeting ($\pi_2$) has to be inserted. The $\delta$ block (steering angle ($\delta$)) completes the pose in a frame time $q(x,y, \delta, t)$. Eight steering angles along the cardinal points are possible from a start point to the next goal (Fig.3). The codes assigned to the $\pi_2$ and to $\delta$ are the same in all the channels. If no wayfinding services are required these last three blocks are set at zero and the user only receives its own location. The last block is used to transmit the wayfinding message.

Using the photocurrent signal measured by the photodetector, it is necessary to decode the received information. A calibration curve is previously defined to establish this assignment [17]. As displayed in Fig. 6a, calibration curves make use of 16 distinct photocurrent thresholds which correspond to a bit sequence that allows all the sixteen combinations of the four RGBV input channels (2⁴). If the calibrated levels ($d_0-d_{15}$) are compared to the different four-digit binary codes assigned to each level, then the decoding is obvious, and the message may be read. The correct use of this calibration curve demands a periodic retransmission of curve to ensure an accurate correspondence to the output signal and an accurate decoding of the transmitted information.

Due to the proximity of successive levels occasional errors occur in the decoded information. A parity check is performed after the word has been read [18]. The parity bits are the SUM bits of the three-bit additions of violet pulsed signal with two additional RGB bits and defined as:

$$P_R = V \oplus R \oplus B; P_G = V \oplus R \oplus G; P_B = V \oplus G \oplus B \quad (6)$$

In Fig. 6a, the MUX signal that arises from the transmission of the four calibrated RGBV wavelength channels and the MUX signal that results from the generation of the synchronized parity MUX are displayed. On the top the seven bit word [R,G,B,V, $P_R$, $P_G$, $P_B$] of the transmitted inputs guides the eyes. The colors red, green, blue and violet were assigned respectively to $P_R$, $P_G$ and $P_B$. For simplicity the received data ($d_0-d_{15}$ levels) is marked in the correspondent MUX slots as well as the parity levels marked as horizontal lines. On the top the decoded 7-bit coded word is exhibited. In the right side 4-bit binary codes assigned to the eight parity sublevels are inserted.
<figure><img src="image_7.png" /><figcaption>**Fig. 6.** Code and parity MUX/DEMUX signals. On the top the transmitted channels [R G B V : P<sub>R</sub>P<sub>G</sub>P<sub>B</sub>] are shown. a) Calibrated cell. b) Error control assigned to a request from user "7261" at C<sub>4,3,1</sub>; #1 N.</figcaption></figure>

The traffic message is revealed by decoding MUX signals and considering the frame structure, pose, and transmitter type [19]. In Fig. 6b we illustrate how error control is achieved using check parity bits. A request from user "7261" is shown at C<sub>4,3,1</sub>; #1 N, along with the matching parity signal. Results show that without check parity bits, decoding was difficult primarily when levels were close together (dotted arrow).

To automate the process of recovering the original transmitted data, an algorithm was developed. The transmitted data is decoded by comparing the code MUX signal with the parity MUX levels. The decoding algorithm is based on a proximity search [20]. For each time slot, the data are translated into a vector in multidimensional space, which is determined by the signal currents I<sub>1</sub> and I<sub>2</sub>, where I<sub>1</sub> is the d level and I<sub>2</sub> is the
$p$ level for the 4-bit codeword (RGBV). The corresponding parity levels, $[P_R, P_G, P_B]$ in the respective time slot are also obtained and are assumed to be correct. The result is then compared with all vectors resulting from the calibration sequence (Fig. 6a) where each code level, $d$ (0-15) is assigned the corresponding parity level, $p$ (0-7). Eucledian metrics are used to calculate distances.

<figure><img src="image_8.png" /><figcaption>**Fig. 7.** Encoding/decoding process with and without check parity error. a) Transmitted code signals [R G B V : $P_R$ $P_G$ $P_B$] and received MUX and Parity signals. b) Decoded information with and without error control assigned to a request from user "7261" at cell $C_{4,3,1}$ #1 NE.</figcaption></figure>

The tests were done with a variety of random sequences, and we were able to recover the original colour bits, as shown in the top of the figure. In Fig. 7 illustrates the encoding/decoding process with and without check parity error. In Fig. 7a, the encoded optical signals (codewords) and the experimental received signals are depicted. After encoding, Fig. 7b shows how information can be recovered with and without error control. The encoded signals transmitted by the LEDs are determined through the interpolation of the signals received by the photodiode, (Multiparity, Parity, Figure 6b), with the calibration curves (Figure 6a). According to the results for the analysing cases, the BER is high (4.6%) without error correction while it is negligible with error correction.
## 3.2 Fine-grained indoor localization and navigation

In Fig. 8, the MUX received signal and the decoding information that allows the VLC geotracking and guidance in successive instants ($t_0, t_1, t_2$) from user “7261” guiding him along his track is exemplified. The visualized cells, paths, and the reference points (footprints) are also shown as inserts.

<figure><img src="image_9.png" /><figcaption>**Fig. 8.** Fine-grained indoor localization and navigation in successive instants. On the top the transmitted channels packets are decoded [R, G, B, V].</figcaption></figure>

Data shows that at $t_0$ the network location of the received signals is $R_{3,2,1}$, $G_{3,1,1}$, $B_{4,2,1}$ and $V_{4,1,1}$, at $t_1$ the user receives the signal only from the $R_{3,2,1}$, $B_{4,2,1}$ nodes and at $t_2$ he was moved to the next cell since the node $G_{3,1,1}$ was added at the receiver. Hence, the mobile user “7261” begins his route into position #1 ($t_0$) and wants to be directed to his goal position, in the next cell (# 9). During the route the navigator is guided to E (code 3) and, at $t_1$, steers to SE (code 2), cross footprint #2 ($t_3$) and arrives to #9. The ceiling lamps (landmarks) spread over all the building and act as edge/fog nodes in the network, providing well-structured paths that maintain a navigator’s orientation with respect to both the next landmark along the path and the distance to the eventual destination. Also, the VLC dynamic system enables cooperative and oppositional geolocation. In some cases, it is in the user’s interest to be accurately located, so that they can be offered information relevant to their location and orientation ($\text{pin}_1, \text{pin}_2$ and $\delta$ blocks). In other cases, users prefer not to disclose their location for privacy, in this case these last three blocks are set at zero and the user only receives its own location.
3.3 Multi-person cooperative localization and guidance services

Via the control manager, a handheld device with VLC connectivity communicates bi-
directionally with a signboard receiver in each unit cell (#1). Each user (D2I) uplinks
to the local controller a “request” message with the pose, qᵢ(t), (x, y, z, δ), user code
(pin₁) and also adds its needs (code meeting and wayfinding data). For route coordina-
tion the CM, using the information of the network’s VLC location capability, downlinks
a personalized “response” message to each client at the requested pose with his way-
finding needs (I2D).

<figure><img src="image_10.png" /><figcaption>**Fig. 9.** MUX/DEMUX signals assigned requests from two users (“3009” and “7261”) at dif-
ferent poses (C<sub>4,4,1</sub>; #1W and C<sub>2,3,-1</sub>; #6 W) and in successive instants (t<sub>1</sub> and t<sub>3</sub>).</figcaption></figure>

In Fig. 9, the MUX synchronized signals received by two users that have requested guidance services, at different times, are displayed. We have assumed that a user located at C<sub>2,3,-1</sub>, arrived first (t<sub>1</sub>), auto-identified as ("7261") and informed the controller of his intention to find a friend for a previously scheduled meeting (code 3). A buddy list is then generated and will include all the users who have the same meeting code. User "3009" arrives later (t<sub>3</sub>), sends the alert notification (C<sub>4,4,1</sub>; t<sub>3</sub>) to be triggered when his friend is in his floor vicinity, level 1, identifies himself ("3009") and uses the same code (code 3), to track the best way to his meeting.

Upon receiving this request (t<sub>3</sub>), the buddy finder service uses the location infor-
mation from both devices to determine the proximity of their owners (q<sub>ij</sub> (t)) and pro-
vides the best route to the meeting, avoiding crowded areas.

The pedestrian movement along the path can be thought as a queue, where the pe-
destrians arrive at a path, wait if the path is congested and then move once the conges-
tion reduces. In Fig. 10, a graphical representation of the simultaneous localization and
mapping problem using connectivity as a function of node density, mobility and trans-
mission range is illustrated.
<figure><img src="image_11.png" /><figcaption>**Fig. 10.** Graphical representation of the simultaneous localization and mapping problem using connectivity as a function of node density, mobility and transmission range.</figcaption></figure>

The following parameters are therefore needed to model the queuing system: The initial arrival time ($t_0$) and the path, defined as the time when the pedestrian leaves the previous path and the actual movement along the path, $q_i(t, t')$. Here, the service time is calculated using walking speed and distance of the path. The number of service units or resources is determined by the capacity of the pathway, $n(q_i(x, y, z, \delta, t))$ and walking speed which depends on the number of request services, and on the direction of movement along the pathway $q_i(x,y,z, \delta, t)$. The pedestrians are served as soon as the request message is appended by the CM (response message).

If the number of pedestrians exceeds the path capacity, a backlog is automatically formed until the starting node. The hybrid controller integrates the number of requests and individual positions received during the same time interval. Once the individual positions are known, $q_i(t)$, the relative positions are calculated, $q_{ij}(t)$. If the relative position is less than a threshold distance (around 2 m), a crowded region locally exists, and an alert message is sent for the users. An example of the MUX signals assigned to a request/response received by user “3009” during his path to reach user “7261” is displayed in Fig. 11. In the top of the figure, the decoded information is shown and the simulated scenario is inserted to guide the eyes.

The “request” message includes, beyond synchronism, the identification of the user (“3009”), its address and orientation, $q_i(t)$, ($C_{4,4,1}$, #1W) and the help requested (Way-finding Data). Since a meet-up between users is expected, its code was inserted before the right track request. In the “response”, the block CM identifies the CM [0000] and the next blocks the cell address ($C_{4,4,1}$), the user (3009) for which the message is intended and finally the requested information: meeting code 3, orientation NE (code 4) and wayfinding instructions.
<figure><img src="image_12.png" /><figcaption>**Fig. 11.** a) Request from user "3009" and response from the CM to him. On the top the transmitted channels packets are decoded [$X_{i,j,k}$].</figcaption></figure>

Every time a user switches floors he has to notify the CM. In response to the estimated relative pose position, $q_{i,j}(t)$, between the users with the same meeting code, the CM sends a new alert that takes into account the occupancy of the service areas along the paths, $q_i(x,y,z, \delta, t)$, which optimizes the path without crowding the users.

<figure><img src="image_13.png" /><figcaption>**Fig. 12.** Decoded messages from the two users as they travel to a pre-scheduled meeting.</figcaption></figure>

Whenever the CM sends users wayfinding service alerts, it recalculates the best route in real time, so that users are not directed to crowded areas. In Figure 12, the decoded
messages from the two users as they travel to the pre-scheduled meeting is displayed. Decoded data shows that user "7621" starts (t₁) his journey on floor -1, C₂,₃,-₁; #1W, goes up to floor 1 in C₂,₁,-₁ and at t₂ he arrives at C₄,₁,₁ heading for E. During his journey, user "3009" from C₄,₄,₁#1 asks the CM (t₃) to forward him to the scheduled meeting and follows course to W. At t₄ both friends join in C₄,₃,₁. Results show that, with VLC's dynamic LED-aided guidance system, users can get accurate route guidance and perform navigation and geotracking. Users of VLC in large buildings will be able to find the shortest route to their destination, providing directions as they go.

## 4 Conclusions

We have proposed and characterized a VLC-based guidance system for mobile users inside large buildings. A mesh cellular hybrid structure was chosen as the architecture, and the communication protocol was defined for a multi-level building scenario. In the encoding/decoding process, the check parity error is evaluated and for the analyzed cases, the BER is high without correction whereas it is negligible with correction. An analysis of bidirectional communication between the infrastructure and the mobile receiver was conducted. According to global results, the location of a mobile receiver is found in conjunction with data transmission. The dynamic LED-aided guidance system provides accurate route guidance, allows navigation, and keeps track of the route. Localization tasks are automatically rescheduled in crowded regions by the cooperative localization system, which provides guidance information and alerts the user to reschedule.

## Acknowledgements

This work was sponsored by FCT – Fundação para a Ciência e a Tecnologia, within the Research Unit CTS – Center of Technology and Systems, reference UIDB/00066/2020.

## References

1. Tsonev, D., Chun, H., Rajbhandari, H., S., McKendry, J., Videv, S., Gu, E., Haji, M., Watson, Kelly, S. A., Faulkner, G., Dawson, M., Haas, H., and O'Brien, D. "A 3-Gb/s single-LED OFDM-based wireless VLC link using a Gallium Nitride µLED," IEEE Photon. Technol. Lett. 26 (7), pp. 637-640 (2014).

2. O'Brien, D.H., Minh, L., Zeng, L., Faulkner, G., Lee, K., Jung, D., Oh, Y., and Won, E. T., "Indoor visible light communications: challenges and prospects," Proc. SPIE 7091, 709106 (2008).

3. Park, S. B., et al., "Information broadcasting system based on visible light signboard," presented at Wireless and Optical Communication 2007, Montreal, Canada (2007).

4. Vieira, M., Louro, P., Fernandes, M., Vieira, M. A., Fantoni, A. and Costa, J., "Three Transducers Embedded into One Single SiC Photodetector: LSP Direct Image Sensor, Optical Amplifier and Demux Device," Advances in Photodiodes InTech, Chap.19, pp. 403-425 (2011).
5. Vieira, M. A., Louro, P., Vieira, M., Fantoni, A., and A. Steiger-Garção, "Light-activated amplification in Si-C tandem devices: A capacitive active filter model," IEEE sensor journal, 12, 6, pp. 1755-1762 (2012).

6. Yang, C. and Shao, H. R., "WiFi-based indoor positioning," IEEE Commun. Mag., vol. 53, no. 3, 150-157 (Mar. 2015).

7. Lin, X. Y., Ho, T. W., Fang, C. C., Yen, Z. S., Yang, B. J., and Lai, F. "A mobile indoor positioning system based on iBeacon technology," in Proc. Int. Conf. IEEE Eng. Med. Biol. Soc., 4970-4973 (2015).

8. Huang, C. H., Lee, L. H., Ho, C. C., Wu, L. L., and Lai, Z. H., "Real-time rfid indoor positioning system based on kalman filter drift removal and heron-bilateration location estimation," IEEE Trans. Instrum. Meas., vol. 64, no. 3, 728-739, (Mar. 2015).

9. Zafar, F., Karunatilaka, D., Parthiban, R., "Dimming Schemes for Visible Light Communication: The State of Research. IEEE Wireless Commun., 22, 29-35 (2015).

10. Khan, L. U., "Visible Light Communication: Applications, Architecture, Standardization and Research Challenges," Digit. Commun. Netw. 3, 78-88 (2017).

11. Hassan, N. U., Naeem, A., Pasha, M. A., Jadoon, T., and Yuen, C., "Indoor positioning using visible led lights: A survey," ACM Comput. Surv., vol. 48, pp.1-32, 2015.

12. Ozgur, E., Dinc, E., Akan, O. B., "Communicate to illuminate: State-of-the-art and research challenges for visible light communications," Physical Communication 17, pp.72-85 (2015).

13. Vieira, M. A., Vieira, M., Louro, P., Vieira, P., "Bi-directional communication between infrastructures and vehicles through visible light," Proc. SPIE 11207, Fourth International Conference on Applications of Optics and Photonics, 112070C (3 October 2019); doi: 10.1117/12.2526500 (2019).

14. Zhu, Y., Liang, W., Zhang, J., and Zhang, Y., "Space-Collaborative Constellation Designs for MIMO Indoor Visible Light Communications," IEEE Photonics Technology Letters, vol. 27, no. 15, pp. 1667-1670, 2015.

15. Friis, H. T., "A note on a simple transmission formula" Proc. IRE34, pp. 254-256, 1946.

16. Yousefpour, A., et al. "All one needs to know about fog computing and related edge computing paradigms: A complete survey", Journal of Systems Architecture, Volume 98, pp. 289-330 (2019).

17. Vieira, M., Vieira, M. A., Louro, P., Fantoni, A., Vieira, P. "Dynamic VLC navigation system in Crowded Buildings", International Journal On Advances in Software, v 14 n 3&4, pp. 141-150 (2021).

18. Vieira, M. A., Vieira, M., Silva, V., Louro, P., Costa, J., "Optical signal processing for data error detection and correction using a-SiCH technology," Phys. Status Solidi C 12 (12), 1393-1400 (2015).

19. Vieira, M., Vieira, M. A., Louro, P., Fantoni, A., Vieira, P. "Geolocation and communication in unfamiliar indoor environments through visible light", Proc. SPIE 11706, Light-Emitting Devices, Materials, and Applications XXV, 117060P (5 March 2021)

20. Vieira, M. A., Vieira, M., Louro, P., Silva, V., Costa, J., and Fantoni, A., "SiC Multilayer Structures as Light Controlled Photonic Active Filters" Plasmonics 8 (1), pp. 63-70. 10.1007/s11468-012-9422-9 (2013).