A High Fidelity Indoor Navigation System for Users in Motion Using BLE with Beacons Abdul Mustafa1 , Edward R. Sykes1 1 Sheridan College, Centre for Mobile Innovation, 1430 Trafalgar Road, Oakville, Ontario, Canada, L6H 2L1 Abstract Indoor location and micro location systems are complicated by the lack of available GPS signals. This gap is being filled by Bluetooth and WiFi, but these systems have difficulty maintaining accuracy when the user is moving. Using a smoothing algorithm and evenly spaced BLE beacons running iBeacon software, paired with a custom designed iOS application, a two meter accuracy is achievable while the user is in motion. This paper presents the following research results: 1) a novel prediction system for indoor positioning and navigation using low-cost BLE beacons that performs at an accuracy of 2.2 m while the user is moving at walking speeds, 2) a generalized indoor micro-location system that can be easily and rapidly deployed to new environments (within hours), 3) a comparison and performance analysis of 5 smoothing algorithms, and 4) an architectural model by which other researchers can extend our work on indoor positioning and navigation. Keywords beacons, location-awareness, micro-location, tracking in dynamic environments, 1. Introduction Global Positioning Systems (GPS) are an integral part of our day to day lives. GPS signals assist us with road transportation, aviation, shipping, rail transportation, science, security, mapping and several other applications [1]. In ideal conditions (i.e., in the outdoors in a wide-open field), common mobile phone GPS receivers can provide an accuracy of 4.9 m (16 ft.) radius which in most cases is sufficiently accurate. However, there are several factors that can cause radio interference and impact the accuracy of GPS such as buildings, bridges, trees and other obstructions [2]. This can cause significant issues in metropolitan areas and especially indoor environments where GPS signals can fluctuate significantly due to signal absorption, interference, reflection and/or diffraction [2]. Although GPS technologies have enabled estimates of a person’s location, they do not provide the accuracy required for context-aware applications for indoor environments. An approach that addresses the limitations of GPS’s inaccuracy is micro-location which uses technologies such as WiFi or Bluetooth to derive highly accurate location data [2]. Bluetooth beacons are one of the avenues being explored to enhance the accuracy of indoor micro- location [3]. These beacons have found some production level use cases in real world applications. IPIN 2021 WiP Proceedings, November 29 – December 2, 2021, Lloret de Mar, Spain " abdul.mustafa@sheridancollege.ca (A. Mustafa); ed.sykes@sheridancollege.ca (E. R. Sykes) ~ https://cmi.sheridancollege.ca (A. Mustafa); https://cmi.sheridancollege.ca (E. R. Sykes)  0000-0001-7339-7481 (A. Mustafa); 0000-0001-7339-7481 (E. R. Sykes) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) Beacons have also been deployed in academic and research applications such as Robotic Path finding [4]. These devices have found their way into commercial applications such as Macy’s, who has deployed beacons to offer shoppers discounts and the Major League Baseball who has used beacons to navigate patrons to their seats [5]. Despite the widespread adoption of beacons, there are still unsolved issues with using them for highly accurate micro-location [6]. A significant problem lies in distance measurements using the Received Signal Strength Indicator (RSSI) [7]. The signal coming from a beacon is unstable especially in indoor environments with multiple obstacles, people and reflective surfaces [2]. As such, RSSI based location services require algorithms to improve the accuracy and reliability of the signal. Some studies have used smoothing algorithms (e.g., Particle Filter, Kalman Filter, etc.) to increase the accuracy of the RSSI which, in turn, has increased the accuracy of prediction of the location of a person or asset [2]. At this time, the reported accuracy of indoor micro-location applications using beacons is 3.1 m [3], 2.85 m [8], 2.5 m [2] and 2.21 m [9]. However, in all of these studies, the user and assets are stationary. The outstanding challenge in this area is to design a micro-location system that can provide good accuracy in indoor environments while the user is in motion. In this work, we created an indoor navigation system that improves the beacon’s RSSI signals and uses various algorithms to provide high accuracy location predictions in indoor environments while the user is moving. The aim for this work is to assist users in nagivation from a point A to B. The main contributions of this work are: 1. A prediction system for indoor positioning and navigation using low-cost BLE beacons that performs at an accuracy of 2.2m, while the user is moving at walking speeds (1.3 me- ters/second or 2.9 miles/hour), 2. A generalized indoor micro-location system that can be easily and rapidly deployed to new environments (within hours), 3. A comparison and performance analysis of 5 smoothing algorithms, and 4. An architectural model by which other researcher can extend our work on indoor posi- tioning and navigation. This paper is structured as follows: section 2 provides a literature review of related work in this field, section 3 presents our methodology on the design, development and evaluation of our micro-location system, section 4 presents the findings, section 5 provides a discussion, and section 6 provides a conclusion and suggestions for future work. 2. Background Indoor positioning systems have gained considerable attention in recent times. This background section presents a comparison and analysis of the state-of-the-art in micro-location using the following techniques: Wi-Fi Based Indoor location, RFID Based Indoor location, Camera Based Indoor location, and BLE beacons. Apple recently released a product called AirTags that uses the Ultra Wide Band technology to track the location of an asset [10]. Various studies have been conducted using technologies such as Wireless Local Area Network (WLAN) [11], Bluetooth Low Energy (BLE) [12], Radio Frequency Identification (RFID) [13], Ultrasonic waves, and ZigBee [14]. However, WLAN and BLE beacons [15] are the most popular due to the ease of deployment, availability on various devices and cost efficiency. The application of indoor positioning can be adapted to indoor navigation and tracking of movement with sufficient amount of well placed BLE beacons. A suitable dynamic positioning system to meet the desired goal of approximately 2m accuracy in indoor environments would need to be able identify location of static BLE beacons and the dynamic location of the user with respect to the beacons. There are numerous applications where this degree of accuracy is needed. For example, hospitals need to track the location of wheelchairs, patients and many pieces of medical equipment; warehouses need to track the movement of products and supplies; large educational institutes can benefit from students/teachers finding classes easily; geo-fencing around construction sites so workers do not go to certain areas without proper protection [11, 5, 16, 17]. These use cases, however, are not well served by any of the current location services or asset tracking methods [12]. There is an immediate need across these sectors for a solution that provides a level of accuracy that is much higher than current solutions[3, 6]. 2.1. Wi-Fi based indoor location Wi-Fi solutions use existing wireless networks and infrastructure within a facility to determine the location of an asset or person. Since most businesses already have this type of infrastructure, it is the easiest and most cost effective approach to deploy [18]. However, there are several issues with using Wi-Fi based systems such as the distance between existing wireless access points may be too large, the inability to move access points easily to improve location accuracy and the cost of enterprise level wireless access points [3, 7]. A recent study [19] showed an accuracy of 1.42m in a 8𝑚 x 8𝑚 x 3𝑚 room with 4 Access Points and 9 testing locations. However, the amount of data collection required was around 10,000 data points [19]. Furthermore, the cost of Wi-Fi access points are considerably more than beacons. For instance, the Gimbal beacons used in our experiment are $15-$20 USD [16]. 2.2. RFID based indoor location RFID solutions have two separate strategies for solving the problem of micro-location: active RFID and passive RFID [11]. Active RFID is an electronic device that either broadcasts or reads RFID signals, for example RFID reader/broadcast chips in modern smartphones [8, 20]. Passive RFIDs are commonly inert chips that use the build-up of electrical signal from an active RFID reader. Once an acceptable charge is established, the passive RFID emits a short broadcast. RFID stickers and swipe cards are a common example of this type of RFID technology [13]. Micro-location research using RFID have identified that this technology is poor for location discovery in most settings due to its restricted broadcast distance [13]. 2.3. Camera based indoor location Camera based solutions use high quality cameras and computer vision [21, 15]. These solutions can be costly, however, the accuracy and usefulness of such systems is showing promise [22]. Current solutions recognize certain aspects of a person, room, or item and use machine learn- ing to identify the object and the ability to track it through the environment. For example, Werner [21] describes a smartphone camera system that monitors the user’s location via a Motion VIPS device. Werner reported their best case scenario was an accuracy of 0.68m [21]. However, they stated that “the worst-case position error is unpredictable, because two images that are very far from each other could match” [21]. Their formal experiments reported a standard error of 2.85m, which is outside the desired range for a micro-location system. Lastly, an augmented reality system developed by Huang et al. [23] using mobile phone cameras and a LiDar-based detection mechanism resulted in an accuracy of 3m to 5m. 2.4. Bluetooth Low Energy beacons BLE became part of the Bluetooth standard in 2010 with Bluetooth Core Specification 5.0 active since 2016 [24]. BLE enables a device to use Bluetooth networking at lower energy levels in an effort to reduce battery consumption [22]. A BLE beacon is a small device that emits a Bluetooth Low Energy signal. This differs from traditional Bluetooth in that the signal and device are essentially read only. There is no connection to these beacons as their purpose is exclusively to broadcast information [24]. The beacon sends out a packet, which is unique to each manufacturer. It contains specific information for the receiving device as shown in Fig. 1. Figure 1: iBeacons advertisement frame (up to 31 bytes) Table 1 presents a description for each of the iBeacon frame fields. This information allows the receiving device to make the decision whether this beacon is part of the system it is monitoring. These beacons can be incorporated into micro-location systems using the beacon’s configuration information and the RSSI. The RSSI is useful in approximating the distance from the transmitting device. For example, in the iBeacon protocol, this framework provides some interpretive measurements of distance using RSSI, using three zones (i.e., Immediate, Near, and Far) [20]. Intended to provide an approximate guide for proximity, this approach is far from an accurate measurement and thus unsuitable on its own for the purpose of micro-location [20]. The concept of indoor navigation presents some unique concepts and challenges. As the user is on the move and location is dynamically changing, it leaves little room for calculating position with machine learning algorithms. An approach to overcoming these challenges is to use algorithms that can quickly identify nearby beacons and use various formulas to determine Table 1 iBeacon Frame Fields Field Size (Bytes) Description Advertisement Flags 3 Describes the packet as BLE General Discoverable. Company ID 2 Apple’s Bluetooth Sig ID Advertisement Header 2 States the data is 26 bytes long iBeacon Type 1 Specifies beacon as a proximity beacon. iBeacon Length 1 Remaining length 21 bytes The universally unique identifier (UUID) is a user configured unique identification UUID 16 number formatted as 32 Hexadecimal digits. Major 2 Further identifies specific beacons (Sub-region within a larger region defined by UUID) Minor 2 Further identifies specific beacons (Sub-region within a larger region defined by Major) TX Power 1 Indicates the signal strength one meter from the device (calibrated by the manufacturer). the location. A recent study [25] explored various approaches to indoor navigation using Wi-FI and BLE using triliteration and a path-loss model in an office setting. The accuracy reported for BLE was around 6m. 3. Methodology The primary goal of this project was to create an indoor navigation system that predicts the user’s location as accurately as possible while the user is walking. The secondary goal was to create a rapid deployment strategy that could be used in a variety of environments and scenarios without the need to have training data (i.e., as is the case of fingerprinting solutions). Our aim was to create a system that uses BLE beacons that consistently and accurately pinpoints the user’s location in the sub 2.5m range while the user is moving. To our knowledge, there are no such systems that use BLE beacons that report this degree of accuracy. This section presents the methodology by which we created and evaluated our indoor navigation system: 1) Distance calculation from RSSI; 2) Experiment setup: beacon and environment configuration; 3) Smoothing algorithm investigation; 4) Our dynamic micro-location algorithm; and 5) Data collection strategy. 3.1. Distance calculation from RSSI Regarding micro-location and the accuracy of beacons, equation 1 shows the relationship between RSSI and distance [26]. We used this equation to evaluate the accuracy of different beacon products when compared to ground truth (exact distance measurement from smartphone to beacon), where 𝑛 represents a path-loss exponent that varies in value depending on the environment, 𝑑 is the distance between the user and the beacon, 𝑑0 is the reference distance which is 1 meter in our case, and 𝐶 is the average RSSI value at 𝑑0 . (︁ 𝑑 )︁ 𝑅𝑆𝑆𝐼 = −10𝑛 log10 +𝐶 (1) 𝑑0 3.2. Experiment setup: Beacon and environment configuration We developed an iOS application that read and interpreted data of surrounding BLE beacons running Apple’s iBeacon framework. As shown in Fig. 1, the beacon has several different fields. The Swift programming library for developing iOS applications provides access to the following fields: UUID, Major, Minor, Proximity, Accuracy and RSSI. We utilized all of these fields to improve the accuracy of our indoor navigation system. The diagram shows 30 Bytes of data specified by iBeacon technology which falls within the limit of 31 Bytes by BLE standard. 3.2.1. UUID The UUID field of the BLE beacons were used in our application to identify the appropriate beacons that are only used for our algorithm. The UUID was used to discard beacons from other erroneous BLE signals that may be emitted from other Bluetooth devices in the environment as may be the case in real-life environments. 3.2.2. Major & Minor Fields We used these two fields extensively to properly navigate in an indoor environment. The Major and Minor fields are each 16 bits long (2 bytes). These fields can be customized to store information about the environment to support up to 32 buildings each with a maximum of 7 floors, 64 rooms, 64 hallways and 16 possible beacons on all rooms and hallways. This provides with a maximum deployment size of 430,080 unique named/numbered beacons which define an exact location within a building. The fields can advertise information of a beacon’s location (e.g., a doorway, hallway, corner, stairs, etc.). Fig. 2 presents an example of a specific beacon location using the Major and Minor fields in our environment. Figure 2: iBeacon configuration using Major and Minor (a) Blue circles: location of beacons on walls and pillars (b) Schematic map of the floor. Solid dots: location of beacons; Numbered circles: testing/data collection locations Figure 3: Test environment 3.2.3. RSSI The RSSI value was used as the main basis for all calculations in our mobile app. This is a generated value from an average of observed signals over a period of one second. This value was then provided as input to various smoothing algorithms used in our experiments. 3.2.4. Proximity This is also a generated value from the iBeacon software framework. Depending on how far the beacon is from the user, the program gives us the following values: Unknown, Immediate, Near and Far. These values are used to further strengthen our algorithms accuracy. 3.2.5. Accuracy This is another generated value that provide a number +/- in metres of how accurate the generated proximity value is. Regarding the experiment setup from an environment configuration, the experiment was conducted in a large, open concept space in a large academic building. The place was chosen for several reasons 1) our lab is in close proximity, 2) it represents a “real-life" environment, and 3) a large open space is good for experimentation – it may afford opportunities to effectively generalize our results to more constrained environments. Fig. 3a shows the location of beacons on one side of the floor. We placed 35 beacons along the path where we conducted our testing. The beacons were placed approximately 3 meters apart. Fig. 3b presents the location of beacons and testing locations in our test environment. The 3 meters distance was found through varioud testing as optimum distance for beacon placement. 3.3. Smoothing algorithm investigation Based on previous work in micro-location, we observed there was a substantial variation in the way data was collected. Some researchers have collected data using different methods [27] like RSSI fingerprinting with addition of Wasserstein distance model, some used patterns based on densely populated office settings [28], while others used geometric shapes and objects to construct a compelling test environment [29]. In order to test which algorithm works best for our environment, we created a small navigation route consisting of 12 testing point. Based on recent literature on indoor localization, we selected 5 different smoothing algorithms: ∙ Kalman filter: a very popular filtering algorithm that smooths the phase and frequency variation of incoming signal [30]; ∙ Savitzky Golay filter: a digital filter that is used as a smoothing algorithm by using a convolution method [31]; ∙ Feedback (low pass) filter: works as a stabilizer for RSSI values. The formula of feedback filter can be seen in equation 2: 𝑅𝑆𝑆𝐼𝑠𝑚𝑜𝑜𝑡ℎ = 𝛼 · 𝑅𝑆𝑆𝐼𝑛 + (1 − 𝛼) · 𝑅𝑆𝑆𝐼𝑛−1 (2) where 𝑅𝑆𝑆𝐼𝑠𝑚𝑜𝑜𝑡ℎ is the filter result, 𝛼 is constant variable (0 < 𝛼 < 1, generally 𝛼 ≥ 0.75), 𝑅𝑆𝑆𝐼𝑛 is the current RSSI, 𝑅𝑆𝑆𝐼𝑛−1 is the previous RSSI [32], ∙ Moving average filter: gives a smooth waveform where sharp variations are averaged out and results in significant attenuation of amplitude and shifts in complex values [33], as shown in equation 3: 𝑎 [𝑖] + 𝑎 [𝑖 + 1] + ... + 𝑎 [𝑖 + 𝐾 − 1] 𝑚 [𝑖] = (3) 𝐾 where 𝑎[0], 𝑎[1], ... are raw RSSI from BLE beacons for 𝐾 consecutive values. ∙ Proximity filter: using the built-in function of iBeacon software we can get an estimation of nearby beacons. The mobile phone monitors radio waves from each beacon every second and obtains the proximity value from it. The distance values (𝑑) are: (i) Immediate (𝑑 ≤ 1𝑚), (ii) Near (1𝑚 < 𝑑 ≤ 3𝑚), (iii) Far (𝑑 > 3𝑚), or (iv) Unknown (signal not received) [34]. 3.4. Our dynamic micro-location algorithm Using the Swift programming language, we developed an easy to use native iOS application that assists in the collection of data and testing of our system. The application includes several view tabs that present a map of our test environment with the location of beacons and test spots. It also has a tab for indoor navigation with start and end locations which shows a path for the user to navigate from the user’s current location to Place B. In our dynamic micro-location algorithm, the first process aims to address RSSI signal instability by using a Kalman Filter which smooths the variability and inherent error of incoming RSSI readings from beacons. The second process attempts to gain an additional level of RSSI stability by taking the five most recent Kalman Filter responses and averaging them using the algorithms mentioned in the previous section. The mobile application continuously collects data while it is operating. The application smooths the beacon raw data using algorithms mentioned before. It then uses a weighted function to detect which beacons are closest to the mobile device. Using an RSSI to distance function it determines how far the user is from the beacons. Beacon locations are coded on the application map using the Major/Minor field discussed in section 3.2.2. This allows the application to triangulate the location of the user based on the distances from beacons. While the user is moving, it keeps a window of beacons that are the strongest and the algorithm can determine the direction of travel by calculating which beacons are getting stronger and which ones are getting weaker. The initial loop was created to test and phase out algorithms that do not work well for our testing environment. We collected 120 readings for each algorithms by walking 10 laps at a constant speed on the path shown on Fig. 4. The blue dots represent the location of the beacons and the rest numbered dots are the testing locations for our initial loop. Figure 4: Initial loop for testing accuracy with 12 testing points. In order to calculate the error in location approximation while moving, we created 12 test spots on our designated path. The mobile application has a button that the user presses while crossing test spots. Since the test spots are predetermined, the algorithm can calculate the error between the predicted vs. actual location and adapt accordingly (see equation 4). (︁ ∑︁ )︁ 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝐴𝑣𝑔 𝑃𝑐 − 𝑃𝑎 (4) Where 𝑃𝑎 is the actual position (test point) and 𝑃𝑐 is the calculated position using the RSSI values and smoothing algorithm. The results revealed that Feedback filter, Moving average filter and proximity filter gave the best results (see Fig. 5). As testing was done with constant walking movement, the algorithms that required more computation performed poorly. The pace that we walked was, on average 1.3 meters/sec (2.9 miles/hour). An Apple Watch was used in conjunction with the smartphone to maintain a constant speed during our experiments. The moving average filter resulted in approximately 4 m accuracy when the user was moving at walking speeds. Figure 5: Initial test result of 5 smoothing algorithms After the initial testing we broadened our testing zone to the whole floor of our building. In order to keep the results consistent, we placed 35 beacons and a total of 12 testing points equally spread over the floor (this layout is presented on Fig. 3b). As our current research mainly focuses on detecting position of a person while they are moving from location A to B, we modified the algorithm to show the location always on the path of travel. Our testing area consisted of walking paths within a building with open to below space in the middle where it is impossible to go. This technique is called Snap to Path. 3.4.1. Snap to path In order to improve the location accuracy while moving on a path we employed a "snap to path" technique where the location of the user would always be shown on the possible path and not on some empty open to below space. This can be viewed from Fig. 6. This ensures that the display of the dynamic location of user is always on the path they travel. This eliminates the random detection of weak bluetooth signals which can place the location at a path where the user is not going to be on. The location of the user on the map is always snapped to the path. This is done by finding the closest location on the path from calculated location and then switching the coordinate to the location on the path. Figure 6: Computing the user’s location on the path of travel 3.5. Data collection strategy The process of data collection can be viewed from Fig. 7. The initial raw RSSI values are filtered through a Kalman filter which smoothens the noisy nature of BLE signals. After that one of the aforementioned filters (Feedback filter, Moving average filter and Proximity filter). The data is sorted through a weighted function to determine which beacons are nearby. Figure 7: Data capturing, RSSI smoothing, location prediction system The location is then calculated using Euclidean distance and the position is snapped to the path. Algorithm 1 presents the function used to find (︀ the closest beacon. If we consider two beacons 𝐵1 and 𝐵2 with 𝐵1𝑥 , 𝐵1𝑦 and 𝐵2𝑥 , 𝐵2𝑦 as respective co- )︀ (︀ )︀ ordinates. As a result, the path between the beacons can be obtained from equation 5: 𝐵2𝑦 − 𝐵1𝑦 𝑦 − 𝐵1𝑦 = (𝑥 − 𝐵1𝑥 ) (5) 𝐵2𝑥 − 𝐵1𝑥 using a RSSI to distance formula, we can calculate the radius 𝐵1𝑟 and 𝐵2𝑟 . Based on the radius and center point we can find the equation for two circles: )︀2 (𝑥 − 𝐵1𝑥 )2 + 𝑦 − 𝐵1𝑦 = 𝐵12𝑟 (6) (︀ )︀2 (𝑥 − 𝐵2𝑥 )2 + 𝑦 − 𝐵2𝑦 = 𝐵22𝑟 (7) (︀ Algorithm 1: Update closest beacon Input: Beacons: Array of beacons Output: Beacon𝑐𝑙𝑜𝑠𝑒𝑠𝑡 for beacon in Beacons do if beacon.proximity < lowestProximity then lowestProximity ← beacon.proximity; end end for 𝑖 ← Beacons.count; 𝑖 ≥ 0; 𝑖−− do if Beacon[𝑖].proximity ̸= lowestProximity then Beacons.remove(𝑖); end end Beacons.sort(By accuracy); if Beacons.count> 0 then return Beacons[0] else return null end by solving equations 5, 6 and 7, we can calculate the position of the user on the map. If there are no solution as it is often the case with wireless signals and the unpredictable nature of RSSI signals: the algorithm chooses the intersection point between the nearest beacon and the path. 4. Findings (Analysis and Evaluation) A total of 300 laps were made around our testing circuit (Fig. 3b). Each data collection procedure consisted of 10 laps. In order to simulate different situations, we performed the following variations in our testing: 1. half of the data collected was based on a clockwise direction of walking and the rest in anti-clockwise. 2. the carrying hand of the phone was switched as we saw differences in results from holding the phone in the left hand vs. the right hand. In order to average it out, we did half of the tests using the left hand and the other half using the right hand; 3. The beacons were placed approximately 3 m (9 ft.) from the floor. From various testing, we discovered this height proved to provide best results; and 4. Concrete columns caused some issues with RSSI. Consequently,we placed multiple beacons on this pillars using the same UUID and Major/Minor values. Our algorithms were refined to only capture the strongest signal from identical UUID values and discarded the rest. In this paper several different methods were attempted to gain an accurate understanding of where a user is located on a dynamic test environment when the user is moving. This section presents the results of the different algorithms used to ascertain indoor location. Table 2 shows the accuracy of the phone’s location while in motion compared to its calculated position. Feedback provides best average accuracy of 2.23 m, followed by moving average with 2.87 m and proximity filter with 4.8 m accuracy. The moving average had the smallest variation in error with a standard deviation of 1.85 m. The feedback filter came in second (𝜎 = 2.05 m). Table 2 Average movement accuracy using different filter algorithms Filter Distance (meters) Standard Deviation (meters) Moving Average 2.87 1.85 Feedback Filter 2.23 2.05 Proximity Filter 4.8 2.69 5. Discussion The main aim of this research was to create an indoor localization and navigation system that could be easily deployed with commonly available beacons and smartphones/tablets, while achieving a 2 m level of accuracy while the user is in motion. Our system enables efficient real-time tracking of users or assets in indoor environments with a level of accuracy that is an improvement on previous work in this area. 5.1. Deployment considerations for real-world environments Due to the complexities and resources required to create real-world environments to study micro- location, several studies have resorted to modelling micro-location systems instead. Such studies have included optimizing the coverage and reducing the number of beacons [35], minimizing localization error [12], and reducing the Time-of-Flight from the beacon to smartphone [36]. Furthermore, [37] proposed that the optimal position of beacons may also provide better resource allocation and overall system performance. 5.2. Future Research At the time of writing this manuscript, the Bluetooth 5.0 is rolling out on higher end mobile phones. There are also some beacon manufactures who are advertising BLE 5.0 beacons. Although BLE 5.0 improvements do not contribute towards better indoor localization, they do bring lower power consumption which will lead towards more battery life for beacons [22]. The other advantages include higher transfer speed and longer range for transmission signals. These improvements are good for wireless audio devices but are likely to make little or no impact in terms of accuracy in micro-location systems [22]. On the other hand, Bluetooth 5.1 introduces a direction-finding feature in the core specification by using an antenna array system. By calculating the Angle of Arrival and Angle of Departure, it offers the potential for high-degree accuracy for proximity and positioning systems [22]. Currently, there are no phones that utilize Bluetooth 5.1 and beacon manufacturers are still mass- producing Bluetooth 4.2 and 5 devices. Future research should consider these advancements in an effort to further the integration and adoption of Beacon technology, especially in the indoor location and asset tracking spaces. The experimentation was done on an open concept building with concrete pillers around, which in authors’ opinion posses disadvantage for BLE signals as the some of the signals on walking path gets absorbed by concrete and a lot of multipath fading occurs due to the glass ceiling and railing. Part of our goal for future work is the test out the algorithms in a typical indoor office environment. 6. Conclusion In this work, we created an indoor navigation system that improves the beacon’s RSSI signals and uses various algorithms to provide high accuracy location predictions in indoor environments while the user is moving. The main contributions of this work are: 1. A prediction system for indoor positioning and navigation using low-cost BLE beacons that performs at an accuracy of 2.2 m, while the user is moving at walking speeds, 2. A generalized indoor micro-location system that can be easily and rapidly deployed (within hours), 3. A comparison and performance analysis of 5 smoothing algorithms, and 4. An architectural model by which other researcher can extend our work on indoor posi- tioning and navigation. In conclusion, we created a real-time context aware solution using BLE beacons for indoor environments that tracks the user while in motion. Our solution could be used in a number of indoor applications including wayfinding and adapted for precise dynamic asset tracking. In the spirit of furthering science, the source code for the apps (Swift), architectural designs, algorithms and the data sets will be openly available on the publisher’s website. We hope this will encourage others to extend our work. References [1] H. Hoffman-Wellenhof, B., H. Lichtenegger, J. Collins, Global positioning system: theory and practice, Springer, New York, 2001. [2] F. Zafari, I. Papapanagiotou, M. Devetsikiotis, T. J. Hacker, Enhancing the accuracy of ibeacons for indoor proximity-based services, in: IEEE International Conference on Communications, IEEE, 2017, pp. 1–7. [3] A. Booranawong, K. Sengchuai, N. Jindapetch, Implementation and test of an rssi-based indoor target localization system: Human movement effects on the accuracy, Measurement 133 (2019) 370–382. [4] A. N. Raghavan, H. Ananthapadmanaban, M. S. Sivamurugan, B. Ravindran, Accurate mo- bile robot localization in indoor environments using bluetooth, in: 2010 IEEE international conference on robotics and automation, IEEE, 2010. [5] H. O. Maycotte, Beacon technology: The where, what, who, how and why, 2015. URL: https://www.forbes.com/sites/homaycotte/2015/09/01/ beacon-technology-the-what-who-how-why-and-where/#4baf7381aaf8. [6] E. R. Sykes, A context-aware system using mobile applications and beacons for on-premise security environments, Journal of Ambient Intelligence and Humanized Computing 11 (2020) 5487–5511. URL: https://doi.org/10.1007/s12652-020-01906-2. [7] E. R. Sykes, S. Pentland, S. Nardi, Context-aware mobile apps using ibeacons: Towards smarter interactions, in: Proceedings of the 25th Annual International Conference on Computer Science and Software Engineering, ACM, USA, 2015, p. 120–129. [8] X. Jiang, Y. Chen, J. Liu, Y. Gu, L. Hu, Fselm: fusion semi-supervised extreme learning machine for indoor localization with wi-fi and bluetooth fingerprints, Soft Computing 22 (2019) 3621–3635. [9] T. Kawai, K. Matsui, Y. Honda, G. Villarubia, J. M. C. Rodriguez, Preliminary study for improving accuracy on indoor positioning method using compass and walking detect., in: International Symposium on Distributed Computing and Artificial Intelligence, 2018. [10] Apple introduces airtag, 2021. URL: https://www.apple.com/ca/newsroom/2021/04/ apple-introduces-airtag/. [11] O. Belmonte-Fernandez, A. Puertas-Cabedo, J. Torres-Sospedra, R. Montoliu-Colas, S. Trilles-Oliver, An indoor positioning system based on wearables for ambient-assisted living, Sensors 17 (2017). [12] B. Benaissa, F. Hendrichovsky, K. Yishida, M. Koppen, P. Sincak, Phone application for indoor localization based on ble signal fingerprint, in: 2018 9th IFIP International Conference on New Technologies, Mobility and Security, 2018. [13] E. Hatem, B. El-Hassan, J.-M. Laheurte, S. Abou-Chakra, E. Colin, C. Marechal, Study the estimated distance error in indoor localization using uhf-rfid, 2018 IEEE Middle East and North Africa Communications Conference (2018). [14] D. Konings, N. Faulkner, F. Alam, F. Noble, E. M. Lai, The effects of interference on the rssi values of a zigbee based indoor localization system, in: 24th International Conference on Mechatronics and Machine Vision, IEEE, 2017. [15] J. Zuo, S. Liu, H. Xia, Y. Qiao, Multi-phase fingerprint map based on interpolation for indoor localization using ibeacons, IEEE Sensors Journal 18 (2018) 3351–3359. [16] Gimbal, Gimbal proximity beacon series 21, 2021. URL: https://docs.gimbal.com/index.html. [17] D. Giovanni, Luca, A. Machì, Towards accurate indoor localization using ibeacons, fin- gerprinting and particle filtering, in: International Conference on Indoor Positioning and Indoor Navigation, 2016. [18] E. L. Agustin-Blas, S. Salcedo-Sanz, P. A. Vidales, G. Urueta, A. Portilla-Figueras, Near optimal citywide wifi network deployment using a hybrid grouping genetic algorithm, Expert Syst. Appl. 38 (2011) 9543–9556. doi:10.1016/j.eswa.2011.01.141. [19] H. K. Yu, S. H. Oh, J. G. Kim, Ai based location tracking in wifi indoor positioning application, in: 2020 International Conference on Artificial Intelligence in Information and Communication (ICAIIC), 2020, pp. 199–202. doi:10.1109/ICAIIC48513.2020. 9065227. [20] Apple, Apple ibeacon framework, 2021. URL: https://developer.apple.com/ibeacon/. [21] M. Werner, M. Kessel, C. Marouane, Indoor positioning using smartphone camera, Inter- national Conference on Indoor Positioning and Indoor Navigation 9 (2011) 245–252. [22] M. Wooley, Bluetooth Core Specification Version 5.1 Feature Overview, re- port, Berkley, 2020. URL: https://www.bluetooth.com/bluetooth-resources/ bluetooth-core-specification-v5-1-feature-overview/. [23] B.-C. Huang, J. Hsu, E. T.-H. Chu, H.-M. Wu, Arbin: Augmented reality based indoor navigation system, Sensors 20 (2020). URL: https://www.mdpi.com/1424-8220/20/20/5890. doi:10.3390/s20205890. [24] Bluetooth, 2021, Bluetooth Smart Technology: Powering the Internet of Things. URL: http://www.bluetooth.com/Pages/Bluetooth-Smart.aspx. [25] R. Kaewpinjai, T. Chuaubon, A. Apavatjrut, On improving indoor navigation accuracy using bluetooth beacons, in: 2020 17th International Conference on Electrical Engineer- ing/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON), 2020, pp. 727–730. doi:10.1109/ECTI-CON49241.2020.9157901. [26] S. Kumar, S. Gil, D. Katabi, D. Rus, Accurate indoor localization with zero start-up cost, in: 20th annual international conference on Mobile computing and networking, ACM, 2014, p. 483–494. [27] F. Danis, A. Cemgil, Model-based localization and tracking using bluetooth low-energy beacons, Sensors 17 (2017). [28] Y. Zhuang, J. Yang, Y. Li, L. Qi, N. El-Sheimy, Smartphone-based indoor localization with bluetooth low energy beacons, Sensors 16 (2016) 596–603. doi:10.3390/s16050596. [29] J.-H. Huh, K. Seo, An indoor location-based control system using bluetooth beacons for iot systems, Sensors 17 (2017). [30] C. Zhou, J. Yuan, H. Liu, J. Qiu, Bluetooth indoor positioning based on rssi and kalman filter, Wireless Personal Communications 96 (2017) 4115–4130. [31] I. Ruhunage, C. J. Perera, I. Munasinghe, T. D. Lalitharatne, Eeg-ssvep based brain machine interface for controlling of a wheelchair and home appliances with bluetooth localization system, in: 2018 IEEE International Conference on Robotics and Biomimetics (ROBIO), IEEE, 2018, pp. 2520–2525. [32] M. A. S. Mahardhika, A. G. Putrada, M. Abdurohman, Improving indoor positioning systems accuracy in closed buildings with kalman filter and feedback filter, in: Fifth International Conference on Informatics and Computing, IEEE, 2020, pp. 1–8. [33] U. T. Pandya, U. B. Desai, A novel algorithm for bluetooth ecg, IEEE transactions on biomedical engineering 59 (2012) 3148–3154. [34] R. Momose, T. Nitta, M. Yanagisawa, N. Togawa, An accurate indoor positioning algorithm using particle filter based on the proximity of bluetooth beacons, in: 2017 IEEE 6th Global Conference on Consumer Electronics (GCCE), IEEE, 2017, pp. 1–5. [35] H. K. Sung, J. K. Seong, H. Zhou, Optimal sensor positioning; a probability perspective study, Society for Industrial and Applied Mathematics 39 (2017) B759–B777. [36] H. Wang, N. Rajagopal, A. Rowe, B. Sinopoli, J. Gao, Efficient beacon placement algorithms for time-of-flight indoor localization, in: 27th ACM International Conference on Advances in Geographic Information Systems, ACM, 2019, pp. 119–128. [37] X. Zhao, L. Ruan, L. Zhang, Y. Long, F. Cheng, An Analysis of the Optimal Placement of Beacon in Bluetooth-INS Indoor Localization, 14th International Conference on Location Based Services, ETH Zurich, 2018.