<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://projectswiki.eleceng.adelaide.edu.au/projects/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A1647191</id>
	<title>Projects - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://projectswiki.eleceng.adelaide.edu.au/projects/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A1647191"/>
	<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php/Special:Contributions/A1647191"/>
	<updated>2026-04-24T18:45:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.4</generator>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7490</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7490"/>
		<updated>2016-10-26T23:45:01Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres. This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy. This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices.&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency. These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location. Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected. The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. The figure shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in the figure.&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres. From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver. This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|400px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration is performed to find the position of the user.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device, with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver. The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements, as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|400px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The flowchart outlines the process followed by the Bluetooth system to determine the user’s position.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data using Kalman filtering to reduce the effect of outliers.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|400px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The flowchart outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate.&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions, The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results found during testing. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired. The ultrasound system update speed is based in the background noise level in the operating environment, requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment.&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145app.png|thumb|300px|iOS Application]]&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. &lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Mezz.jpg|thumb|300px|Mezzanine Testing Environment]]&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
[[File:2016P145MezzUS.png|thumb|300px|Mezzanine Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145MezzBT.png|thumb|300px|Mezzanine Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145em307.jpg|thumb|300px|Project Laboratory Testing Location]]&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145LabUS.png|thumb|300px|Project Laboratory Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The figure shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145LabBT.png|thumb|300px|Project Laboratory Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7487</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7487"/>
		<updated>2016-10-26T23:44:01Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres. This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy. This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices.&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency. These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location. Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected. The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. The figure shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in the figure.&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres. From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver. This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|400px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration is performed to find the position of the user.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device, with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver. The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements, as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|400px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The flowchart outlines the process followed by the Bluetooth system to determine the user’s position.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data using Kalman filtering to reduce the effect of outliers.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|400px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The flowchart outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate.&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions, The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results found during testing. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired. The ultrasound system update speed is based in the background noise level in the operating environment, requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment.&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145app.png|thumb|300px|iOS Application]]&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. &lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Mezz.jpg|thumb|300px|Mezzanine Testing Environment]]&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
[[File:2016P145MezzUS.png|thumb|300px|Mezzanine Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145MezzBT.png|thumb|300px|Mezzanine Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145em307.jpg|thumb|300px|Project Laboratory Testing Location]]&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145LabUS.png|thumb|300px|Project Laboratory Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The figure shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145LabUS.png|thumb|300px|Project Laboratory Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7481</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7481"/>
		<updated>2016-10-26T23:42:24Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres. This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy. This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices.&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency. These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location. Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected. The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. The figure shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in the figure.&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres. From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver. This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|300px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration is performed to find the position of the user.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device, with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver. The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements, as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|300px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The flowchart outlines the process followed by the Bluetooth system to determine the user’s position.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data using Kalman filtering to reduce the effect of outliers.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The flowchart outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate.&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions, The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results found during testing. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired. The ultrasound system update speed is based in the background noise level in the operating environment, requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment.&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145app.png|thumb|300px|iOS Application Screenshot]]&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. &lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Mezz.jpg|thumb|300px|Mezzanine Testing Environment]]&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
[[File:2016P145MezzUS.png|thumb|300px|Mezzanine Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145MezzBT.png|thumb|300px|Mezzanine Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145em307.jpg|thumb|300px|Project Laboratory Testing Location]]&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145LabUS.png|thumb|300px|Project Laboratory Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The figure shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145LabUS.png|thumb|300px|Project Laboratory Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7475</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7475"/>
		<updated>2016-10-26T23:37:56Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres. This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy. This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices.&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency. These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location. Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected. The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. The figure shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in the figure.&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres. From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver. This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|300px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration is performed to find the position of the user.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device, with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver. The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements, as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|300px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The flowchart outlines the process followed by the Bluetooth system to determine the user’s position.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data using Kalman filtering to reduce the effect of outliers.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The flowchart outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate.&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions, The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results found during testing. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired. The ultrasound system update speed is based in the background noise level in the operating environment, requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment.&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145app.png|thumb|300px|iOS Application Screenshot]]&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. &lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Mezz.jpg|thumb|300px|Mezzanine Testing Environment]]&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
[[2016P145MezzUS.png|thumb|300px|Mezzanine Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[2016P145MezzBT.png|thumb|300px|Mezzanine Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[2016P145em307.jpg|thumb|300px|Project Laboratory Testing Location]]&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
[[2016P145LabUS.png|thumb|300px|Project Laboratory Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The figure shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[2016P145LabUS.png|thumb|300px|Project Laboratory Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7474</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7474"/>
		<updated>2016-10-26T23:37:08Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices.&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. The figure shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in the figure.&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres. From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|300px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration is performed to find the position of the user.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device, with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver. The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements, as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|300px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The flowchart outlines the process followed by the Bluetooth system to determine the user’s position.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data using Kalman filtering to reduce the effect of outliers.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The flowchart outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate.&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions, The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results found during testing. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired. The ultrasound system update speed is based in the background noise level in the operating environment, requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment.&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145app.png|thumb|300px|iOS Application Screenshot]]&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. &lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Mezz.jpg|thumb|300px|Mezzanine Testing Environment]]&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
[[2016P145MezzUS.png|thumb|300px|Mezzanine Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[2016P145MezzBT.png|thumb|300px|Mezzanine Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[2016P145em307.jpg|thumb|300px|Project Laboratory Testing Location]]&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
[[2016P145LabUS.png|thumb|300px|Project Laboratory Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The figure shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[2016P145LabUS.png|thumb|300px|Project Laboratory Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7472</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7472"/>
		<updated>2016-10-26T23:35:31Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in the figure.&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres. From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|300px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device, with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver. The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements, as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|300px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The flowchart outlines the process followed by the Bluetooth system to determine the user’s position.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data using Kalman filtering to reduce the effect of outliers.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The flowchart outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate.&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions, The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results found during testing. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired. The ultrasound system update speed is based in the background noise level in the operating environment, requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment.&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145app.png|thumb|300px|iOS Application Screenshot]]&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Mezz.jpg|thumb|300px|Mezzanine Testing Environment]]&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
[[2016P145MezzUS.png|thumb|300px|Mezzanine Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[2016P145MezzBT.png|thumb|300px|Mezzanine Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The chart shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
[[2016P145em307.jpg|thumb|300px|Project Laboratory Testing Location]]&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
[[2016P145LabUS.png|thumb|300px|Project Laboratory Ultrasound Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
The figure shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[2016P145LabUS.png|thumb|300px|Project Laboratory Bluetooth Positioning Accuracy and Precision]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145LabBT.png&amp;diff=7470</id>
		<title>File:2016P145LabBT.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145LabBT.png&amp;diff=7470"/>
		<updated>2016-10-26T23:33:48Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145LabUS.png&amp;diff=7467</id>
		<title>File:2016P145LabUS.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145LabUS.png&amp;diff=7467"/>
		<updated>2016-10-26T23:32:51Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145MezzBT.png&amp;diff=7463</id>
		<title>File:2016P145MezzBT.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145MezzBT.png&amp;diff=7463"/>
		<updated>2016-10-26T23:30:46Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145MezzUS.png&amp;diff=7461</id>
		<title>File:2016P145MezzUS.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145MezzUS.png&amp;diff=7461"/>
		<updated>2016-10-26T23:29:49Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145em307.jpg&amp;diff=7459</id>
		<title>File:2016P145em307.jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145em307.jpg&amp;diff=7459"/>
		<updated>2016-10-26T23:28:14Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145Mezz.jpg&amp;diff=7458</id>
		<title>File:2016P145Mezz.jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145Mezz.jpg&amp;diff=7458"/>
		<updated>2016-10-26T23:26:49Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7457</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=7457"/>
		<updated>2016-10-26T23:24:48Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in the figure.&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres. From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|300px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device, with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver. The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements, as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|300px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The flowchart outlines the process followed by the Bluetooth system to determine the user’s position.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data using Kalman filtering to reduce the effect of outliers.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The flowchart outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate.&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions, The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results found during testing. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired. The ultrasound system update speed is based in the background noise level in the operating environment, requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment.&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145app.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The figure shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6595</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6595"/>
		<updated>2016-10-25T06:09:51Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|300px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|300px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The flowchart outlines the process followed by the Bluetooth system to determine the user’s position.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The flowchart outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate.&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145app.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noise and Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6594</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6594"/>
		<updated>2016-10-25T06:06:47Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|300px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|300px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The flowchart outlines the process followed by the Bluetooth system to determine the user’s position.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The flowchart outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate.&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145app.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noise and Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145app.png&amp;diff=6593</id>
		<title>File:2016P145app.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145app.png&amp;diff=6593"/>
		<updated>2016-10-25T06:06:17Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6592</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6592"/>
		<updated>2016-10-25T06:00:45Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|300px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.jpg|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|300px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145btbeacon.jpg|thumb|300px|Bluetooth LE RadBeacon]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145combinedflowchart.png|thumb|300px|Combined system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noise and Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145btbeacon.jpg&amp;diff=6591</id>
		<title>File:2016P145btbeacon.jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145btbeacon.jpg&amp;diff=6591"/>
		<updated>2016-10-25T06:00:03Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6590</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6590"/>
		<updated>2016-10-25T05:57:59Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Usflowchart.png|thumb|300px|Ultrasound system flowchart]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145usbeacon.png|thumb|300px|Final ultrasound beacon]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145BTflowchart.png|thumb|300px|Bluetooth positioning system flowchart]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noise and Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145usbeacon.jpg&amp;diff=6589</id>
		<title>File:2016P145usbeacon.jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145usbeacon.jpg&amp;diff=6589"/>
		<updated>2016-10-25T05:57:31Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145combinedflowchart.png&amp;diff=6588</id>
		<title>File:2016P145combinedflowchart.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145combinedflowchart.png&amp;diff=6588"/>
		<updated>2016-10-25T05:56:41Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145BTflowchart.png&amp;diff=6587</id>
		<title>File:2016P145BTflowchart.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145BTflowchart.png&amp;diff=6587"/>
		<updated>2016-10-25T05:56:11Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145Usflowchart.png&amp;diff=6586</id>
		<title>File:2016P145Usflowchart.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145Usflowchart.png&amp;diff=6586"/>
		<updated>2016-10-25T05:53:30Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6585</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6585"/>
		<updated>2016-10-25T05:52:17Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noise and Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6584</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6584"/>
		<updated>2016-10-25T05:51:06Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145Trilateration.png|thumb|300px|Trilateration diagram]]&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:2016P145RSSI.jpg|thumb|300px|Log-Distance Path Loss Model]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noise and Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145RSSI.jpg&amp;diff=6583</id>
		<title>File:2016P145RSSI.jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145RSSI.jpg&amp;diff=6583"/>
		<updated>2016-10-25T05:50:55Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145Trilateration.png&amp;diff=6581</id>
		<title>File:2016P145Trilateration.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145Trilateration.png&amp;diff=6581"/>
		<updated>2016-10-25T05:39:28Z</updated>

		<summary type="html">&lt;p&gt;A1647191: A1647191 moved page File:P145Trilateration.png to File:2016P145Trilateration.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:P145Trilateration.png&amp;diff=6582</id>
		<title>File:P145Trilateration.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:P145Trilateration.png&amp;diff=6582"/>
		<updated>2016-10-25T05:39:28Z</updated>

		<summary type="html">&lt;p&gt;A1647191: A1647191 moved page File:P145Trilateration.png to File:2016P145Trilateration.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[File:2016P145Trilateration.png]]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145Trilateration.png&amp;diff=6580</id>
		<title>File:2016P145Trilateration.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:2016P145Trilateration.png&amp;diff=6580"/>
		<updated>2016-10-25T05:37:48Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6579</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6579"/>
		<updated>2016-10-25T05:30:00Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noise and Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6578</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6578"/>
		<updated>2016-10-25T05:29:00Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noise and Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
D. Webber, &amp;#039;&amp;#039;Indoor Localisation using Bluetooth LE for Event Advertising&amp;#039;&amp;#039;, School of Electrical &amp;amp;amp; Electronic Engineering , University of Adelaide, Adelaide, South Australia, 2016&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;br /&gt;
&lt;br /&gt;
Oxford Wave Research Ltd, &amp;#039;&amp;#039;SpectrumView on the App Store&amp;#039;&amp;#039;, [Online]. Available: https://itunes.apple.com/au/app/spectrumview/id472662922?mt=8, [Accessed: 19.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6577</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6577"/>
		<updated>2016-10-25T05:25:42Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
D. Webber, &amp;#039;&amp;#039;Indoor Localisation using Bluetooth LE for Event Advertising&amp;#039;&amp;#039;, School of Electrical &amp;amp;amp; Electronic Engineering , University of Adelaide, Adelaide, South Australia, 2016&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;br /&gt;
&lt;br /&gt;
Oxford Wave Research Ltd, &amp;#039;&amp;#039;SpectrumView on the App Store&amp;#039;&amp;#039;, [Online]. Available: https://itunes.apple.com/au/app/spectrumview/id472662922?mt=8, [Accessed: 19.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6576</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6576"/>
		<updated>2016-10-25T05:24:37Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
D. Webber, &amp;#039;&amp;#039;Indoor Localisation using Bluetooth LE for Event Advertising&amp;#039;&amp;#039;, School of Electrical &amp;amp;amp; Electronic Engineering , University of Adelaide, Adelaide, South Australia, 2016&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;br /&gt;
&lt;br /&gt;
Oxford Wave Research Ltd, &amp;#039;&amp;#039;SpectrumView on the App Store&amp;#039;&amp;#039;, [Online]. Available: https://itunes.apple.com/au/app/spectrumview/id472662922?mt=8, [Accessed: 19.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6575</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6575"/>
		<updated>2016-10-25T05:24:11Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
D. Webber, &amp;#039;&amp;#039;Indoor Localisation using Bluetooth LE for Event Advertising&amp;#039;&amp;#039;, School of Electrical &amp;amp;amp; Electronic Engineering , University of Adelaide, Adelaide, South Australia, 2016&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;br /&gt;
&lt;br /&gt;
Oxford Wave Research Ltd, &amp;#039;&amp;#039;SpectrumView on the App Store&amp;#039;&amp;#039;, [Online]. Available: https://itunes.apple.com/au/app/spectrumview/id472662922?mt=8, [Accessed: 19.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6574</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6574"/>
		<updated>2016-10-25T05:21:13Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
D. Webber, &amp;#039;&amp;#039;Indoor Localisation using Bluetooth LE for Event Advertising&amp;#039;&amp;#039;, School of Electrical &amp;amp;amp; Electronic Engineering , University of Adelaide, Adelaide, South Australia, 2016&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;br /&gt;
&lt;br /&gt;
Oxford Wave Research Ltd, &amp;#039;&amp;#039;SpectrumView on the App Store&amp;#039;&amp;#039;, [Online]. Available: https://itunes.apple.com/au/app/spectrumview/id472662922?mt=8, [Accessed: 19.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6573</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6573"/>
		<updated>2016-10-25T05:19:45Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in the results section.&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
D. Webber, &amp;#039;&amp;#039;Indoor Localisation using Bluetooth LE for Event Advertising&amp;#039;&amp;#039;, School of Electrical &amp;amp;amp; Electronic Engineering , University of Adelaide, Adelaide, South Australia, 2016&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;br /&gt;
&lt;br /&gt;
Oxford Wave Research Ltd, &amp;#039;&amp;#039;SpectrumView on the App Store&amp;#039;&amp;#039;, [Online]. Available: https://itunes.apple.com/au/app/spectrumview/id472662922?mt=8, [Accessed: 19.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6572</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6572"/>
		<updated>2016-10-25T05:14:28Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
The process of taking results was fairly comprehensive, with a decent amount of numerical data recorded for position and distance calculations. A larger scale test was however not performed, which would have been useful to observe the performance in an environment closer to the intended use case of the system. The effect of crossing between two sets of ultrasound beacons being controlled by different synchroniser devices was also untested, which would have been good to characterise the system in terms of synchronisation infrastructure required. In-depth testing of the combined system would have also been useful, but would have required a large enough testing environment to be able to move to an area only serviced by one type of beacon, to determine how well the system copes with switching from one positioning system component to the other.&lt;br /&gt;
&lt;br /&gt;
Task contributions of each team member over the course of the project is as follows: Daniel primarily worked the design and manufacture of the prototype and final stages of the ultrasound beacons, and performed initial research and testing into different Bluetooth data analysis methods. James primarily worked on the ultrasound beacon software, iOS application functionality and the ultrasound, Bluetooth, and combined system implementation. Both members contributed on the design and testing of each component of the positioning system.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in sections [sec:mezz_testing] and [sec:em307_testing].&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support (section [sec:sig_proc])&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation (section [sec:sync_design])&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position (section [sec:bt_data_anal])&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements (section [sec:design_comb]).&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application (section [sec:app_design])&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
D. Webber, &amp;#039;&amp;#039;Indoor Localisation using Bluetooth LE for Event Advertising&amp;#039;&amp;#039;, School of Electrical &amp;amp;amp; Electronic Engineering , University of Adelaide, Adelaide, South Australia, 2016&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;br /&gt;
&lt;br /&gt;
Oxford Wave Research Ltd, &amp;#039;&amp;#039;SpectrumView on the App Store&amp;#039;&amp;#039;, [Online]. Available: https://itunes.apple.com/au/app/spectrumview/id472662922?mt=8, [Accessed: 19.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6571</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6571"/>
		<updated>2016-10-25T05:13:13Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Distance Testing ==&lt;br /&gt;
&lt;br /&gt;
The distance testing of individual beacons were performed in a quiet 30 metre long corridor for controlled testing and line-of-sight between the beacons and receiver. This section primarily analyses the effects of noise on the ultrasound component of the system as it is an important factor to consider when determining beacon placements, along with a brief discussion of the precision and accuracies of the ultrasound and Bluetooth distances measured due to the similarities between these results and the results found during position testing.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSLoss] shows the performance of receiving a pulses from a single ultrasound beacon in terms of number of updates missed over 10 pulses (termed the &amp;#039;&amp;#039;loss factor&amp;#039;&amp;#039;) for different noise levels. White noise of different amplitudes was generated from a smartphone and measured using the &amp;#039;&amp;#039;SpectrumView&amp;#039;&amp;#039; iOS application , with approximate maximum amplitudes found to be -96, -75, and -63 dB within the chirp frequencies for each of the different noise levels.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSLoss.png|frame|none|alt=|caption Ultrasound Pulse Loss vs Distance for Different Noise Levels&amp;lt;span data-label=&amp;quot;fig:DistUSLoss&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
At the lowest noise level when no noise was purposely generated, the loss factor is constantly zero, indicating that all 10 pulses emitted by the beacon were detected by the iPad testing device. With line-of-sight, it was found that the position updates were consistent over the maximum distance supported by our testing environment. At the next noise level, figure [fig:DistUSLoss] shows that unless close to the beacon, some samples are missed, with only 1 in 10 samples being received when 25 metres from the transmitting beacon. For the loudest noise level, the loss is similar to but consistently higher than the previous noise level, until no longer detecting any pulses at 20 metres.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:DistUSAmp] depicts the approximate maximum amplitude of the ultrasound chirps received for different distances as measured with SpectrumView.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/DistUSAmplitude.png|frame|none|alt=|caption Ultrasound Pulse Amplitude vs Distance&amp;lt;span data-label=&amp;quot;fig:DistUSAmp&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
These results show that the pulses are still able to be detected by the receiver when the ultrasound chirp has a lower maximum amplitude than the generated noise, mostly likely due to the spread spectrum characteristics of the chirp as the power is distributed over a range of frequencies instead of focused on one frequency. This knowledge can be used to determine ultrasound beacon placements based on the desired performance of the system.&lt;br /&gt;
&lt;br /&gt;
The distancing data found in appendix [app:distancing] is briefly discussed here, which relates to the precision and accuracy of distance measurements over different distances for the ultrasound and Bluetooth systems. The accuracy of the ultrasound measurements were on average around one metre, but had skewed precision measurements due to outliers over the ten samples taken for each distance. The precision of the ultrasound distances were typically within a metre of each other when removing outliers from the results. Note that different noise levels did not greatly impact the precision or accuracy of the results recorded.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI measurements in appendix [app:distancing] were found to show some promise, but did not behave as ideally when used in practice. Figure [fig:DistBTRSSIValues] shows the calculated model to best fit the RSSI data, as well as the final model used during position testing. The calculated distances differ by up to 6 metres between beacons when all using the calculated distance model as shown in figure [fig:DistBTModel], and figure [fig:DistBTRSSIPrecision] shows the imprecise nature of RSSI measurements. At large distances with poor precision, distances can easily be out by 5 to 10 metres due to the logarithmic nature of the radio propagation, where a smaller change in RSSI value represents a larger change in distance the further the distance is. In practice, this model did not work well due to the imprecise nature of the RSSI values massively effecting the distance in results, which prompted for a different model to be used. A more conservative model was chosen, shown as the final model in figure [fig:DistBTRSSIValues]. This model requires lower RSSI values to achieve the same distances as before, resulting in distance being more constant unless a very low RSSI value is found. The resulting performance produces more reliable results with less outliers, but does result in positions appearing closer to the center of all of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Testing ==&lt;br /&gt;
&lt;br /&gt;
Several other aspects of the system not related to positioning and distancing have also been tested and analysed.&lt;br /&gt;
&lt;br /&gt;
The maximum RF synchronising range within an indoor environment requiring the signal to travel through a wall was found to be 28 metres, resulting in an expected indoor synchronising diameter of 56 metres. The accuracy and precision of distance updates did not appear to be affected negatively when at this distance from the synchroniser. It was also found during testing that interference on the 433MHz RF synchronisation channel does greatly affect the performance of the system, even after countermeasures were implemented, as discussed in section [sec:sync_design].&lt;br /&gt;
&lt;br /&gt;
While initially theorised that the ultrasound beacons should last 10 to 12 hours based on current draw and amp-hourage of the 9 Volt batteries, in practice the beacons were found to only have three hours of continuous use during testing.&lt;br /&gt;
&lt;br /&gt;
= Evaluation =&lt;br /&gt;
&lt;br /&gt;
This section discusses the results in terms of the aims and success measures of the project, also including an outline of the overall project results and outcome.&lt;br /&gt;
&lt;br /&gt;
The final outcome of this project consists of a functional indoor positioning using ultrasound and Bluetooth beacons to locate a user within an indoor environment. The user uses the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039; iOS application to see their current location, and is provided with a webpage pop-up when in proximity to a registered point of interest that has an associated webpage recorded. See appendix [app:ios_screenshots] for screenshots of the application in use. This outcome satisfies the leading research question &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; due to the research performed over the course of the project to find the optimal solutions to do so.&lt;br /&gt;
&lt;br /&gt;
The initial aims stated in section [sec:aims] of the project derived from the guiding question have also been fulfilled. The idea of creating a smartphone-capable precise indoor positioning was fulfilled sufficiently due to the research undertaken to determine the best solutions, with the major addition of the ultrasound component of the system to complement the originally Bluetooth-oriented project. The Bluetooth and ultrasound components of the system also allow for a smartphone receiver requiring no external peripherals. In terms of developing an indoor positioning system capable of determining a user’s location within a crowded environment, the system performs sufficiently to achieve this based on the noise testing performed in section [sec:noise_testing] and optimal beacon placements discussed in section [sec:design_comb]. The aim of advertising information to the user based on their current location was also satisfied due to the functionality implemented on the smartphone application to display a registered webpage when in proximity of a point of interest.&lt;br /&gt;
&lt;br /&gt;
Most success measures discussed in section [sec:success_measures] were sufficiently achieved by the final system. In ideal conditions, the system is able to achieve an average accuracy of 77 centimetres between the calculated and measured position with use of the ultrasound system as shown in section [sec:mezz_testing]. This is very close to the ideal 75 centimetre accuracy specified at the beginning of the project, allowing for position calculations accurate enough to differentiate between stalls at the Ingenuity 2016 showcase. The performance is however worse in non ideal conditions, with a typical accuracy between 2 and 3 metres in non-ideal conditions with no or little line-of-sight between the smartphone receiver and ultrasound beacons (see testing in section [sec:em307_testing]). While these results are not as accurate as during the ideal environment testing, this is the performance in worst case, non-ideal conditions, and is still able to provide a reasonable estimate of the current position. In terms of how much area included within the operating environment can achieve this accuracy, the ultrasound system appears to have approximately consistent performance anywhere within and outside the area between the ultrasound beacons, in the environments used for testing. The Bluetooth component of the system is however largely less consistent, with more accurate results when closer to the center of the Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
When compared to the success measures, the iOS application was mostly a success. The application is easy to use, although simple, and provides most of the major functionalities desired from the start of the project. The final application includes a map overview of the event and has the ability to advertise information to the user based on their location, but does not have navigation assistance to help users find a location that they are looking for. The application was also not ready for submission for the Apple AppStore in time for the Ingenuity 2016 event as originally intended.&lt;br /&gt;
&lt;br /&gt;
Due to setbacks over the course of the year mostly due to underestimating development times and encountering unexpected issues, some aspects of the system, notably the Bluetooth and combined system components, were unable to be fully realised to the extent initially desired. A more in-depth discussion of the achievement of deliverables can be found in section [sec:deliverables]. The Bluetooth implementation does not make use of any advanced dynamic distance model adjustments or dead-reckoning processes, preventing the system from achieving its full potential. The combined system implemented in the final design followed a logical process to determine which system to listen to, which is simpler than the original intention of combining the Bluetooth and ultrasound measurements numerically to produce a separate result. Despite these issues, the system has overall behaved sufficiently and as expected during the testing phase of the project. While there are issues relating to non-line-of-sight and synchronisation interference, the system generally behaves well in practice.&lt;br /&gt;
&lt;br /&gt;
The process of taking results was fairly comprehensive, with a decent amount of numerical data recorded for position and distance calculations. A larger scale test was however not performed, which would have been useful to observe the performance in an environment closer to the intended use case of the system. The effect of crossing between two sets of ultrasound beacons being controlled by different synchroniser devices was also untested, which would have been good to characterise the system in terms of synchronisation infrastructure required. In-depth testing of the combined system would have also been useful, but would have required a large enough testing environment to be able to move to an area only serviced by one type of beacon, to determine how well the system copes with switching from one positioning system component to the other.&lt;br /&gt;
&lt;br /&gt;
Task contributions of each team member over the course of the project is as follows: Daniel primarily worked the design and manufacture of the prototype and final stages of the ultrasound beacons, and performed initial research and testing into different Bluetooth data analysis methods. James primarily worked on the ultrasound beacon software, iOS application functionality and the ultrasound, Bluetooth, and combined system implementation. Both members contributed on the design and testing of each component of the positioning system.&lt;br /&gt;
&lt;br /&gt;
= Conclusions =&lt;br /&gt;
&lt;br /&gt;
In terms of the guiding research question of &amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039;, the project aim has been fulfilled as we have successfully undertaken research to determine the best way to advertise information to people within an indoor environment depending on their location. We have developed the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System&amp;#039;&amp;#039; to provide users of the system with their location and relevant information depending on their location, using an underlying positioning system that uses Bluetooth and ultrasound beacons. Appropriate research was conducted to decide to add the ultrasound component into the system that was originally intended to only use Bluetooth for positioning. Due to the complementary natures of the two methods as discussed in section [sec:background], and the lack of external peripherals required for the smartphone receiving device, this was a well suited addition to the positioning system.&lt;br /&gt;
&lt;br /&gt;
The completed system in ideal cases was on average able to achieve the desired accuracy of 75 cm in ideal conditions, while having an accuracy of 2 to 3 metres depending on the position when in a non-ideal environment as discussed in sections [sec:mezz_testing] and [sec:em307_testing].&lt;br /&gt;
&lt;br /&gt;
= Future Work =&lt;br /&gt;
&lt;br /&gt;
There are many possible features and improvements to continue and complete for future iterations of this project, as listed below:&lt;br /&gt;
&lt;br /&gt;
* Implement multiple ID beacons support (section [sec:sig_proc])&lt;br /&gt;
* Find less interference-prone method of ultrasound beacon synchronisation (section [sec:sync_design])&lt;br /&gt;
* Parametrise Bluetooth distance model based on ultrasound position (section [sec:bt_data_anal])&lt;br /&gt;
* Implement sensor fusion technique to combine Bluetooth and ultrasound measurements (section [sec:design_comb]).&lt;br /&gt;
* Implement list of points of interest and navigation assistance in smartphone application (section [sec:app_design])&lt;br /&gt;
* Reduce effect of non-line-of-sight and multi-path effects for the ultrasound system&lt;br /&gt;
* Improve robustness of distancing and positioning algorithms&lt;br /&gt;
* Support three-dimensional positioning&lt;br /&gt;
&lt;br /&gt;
In addition to these features and improvements, possible future expansions could include creating a software platform that allows external parties register their own information with the event, and general refinement of hardware and software to provide a complete and reliable position system for public use.&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;9&amp;lt;/span&amp;gt; S. Wang, J. Min, B. Yi, &amp;#039;&amp;#039;Location Based Services for Mobiles: Technologies and Standards&amp;#039;&amp;#039;, [Online]. Available: http://to.swang.googlepages.com/ICC2008LBSforMobilessimplifiedR2.pdf, [Accessed: 18.04.16]&lt;br /&gt;
&lt;br /&gt;
S. Skone, M. El-Gizawy, S.M. Shrestha, &amp;#039;&amp;#039;Limitations in GPS Positioning Accuracies and Receiver Tracking Performance During Solar Maximum&amp;#039;&amp;#039;, Department of Geomatics Engineering, University of Calgary, Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
D. Stojanović, N. Stojanović, &amp;#039;&amp;#039;Indoor Localization and Tracking: Methods, Technologies and Research Challenges&amp;#039;&amp;#039;, Automatic Control and Robotics Vol. 13, No 1, 2014, pp. 57-72&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;Ultrasonic Time Synchronization and Ranging on Smartphones&amp;#039;&amp;#039;, Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015 IEEE, Seattle, WA, 2015, pp. 108-117&lt;br /&gt;
&lt;br /&gt;
P. Lazik, N. Rajagopal, B. Sinopoli and A. Rowe, &amp;#039;&amp;#039;ALPS: A Bluetooth and Ultrasound Platform for Mapping and Localization&amp;#039;&amp;#039;, Proceedings of the 13th ACM Conference on Embedded Networked Sensor, 2015, pp. 73-84&lt;br /&gt;
&lt;br /&gt;
G. Anagnostopoulos, M. Deriaz, &amp;#039;&amp;#039;Accuracy Enhancements in Indoor Localization with the Weighted Average Technique&amp;#039;&amp;#039;, Institute of Services Science, University of Geneva, Geneva, Switzerland&lt;br /&gt;
&lt;br /&gt;
T. Hao, R. Zhou, G. Xing, M. Mutka, &amp;#039;&amp;#039;WizSync: Exploiting Wi-Fi Infrastructure for Clock Synchronization in Wireless Sensor Networks&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Michigan State University, East Lansing, USA&lt;br /&gt;
&lt;br /&gt;
J. Liu, &amp;#039;&amp;#039;Survey of Wireless Based Indoor Localization Technologies&amp;#039;&amp;#039;, Department of Computer Science and Engineering, Washington University, Missouri, USA, 2014&lt;br /&gt;
&lt;br /&gt;
D. Webber, &amp;#039;&amp;#039;Indoor Localisation using Bluetooth LE for Event Advertising&amp;#039;&amp;#039;, School of Electrical &amp;amp;amp; Electronic Engineering , University of Adelaide, Adelaide, South Australia, 2016&lt;br /&gt;
&lt;br /&gt;
I. Chan, &amp;#039;&amp;#039;Swept Sine Chirps for Measuring Impulse Response&amp;#039;&amp;#039;, Stanford Research Systems, Inc., California, USA, 2010&lt;br /&gt;
&lt;br /&gt;
R. Faragher &amp;#039;&amp;#039;Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation&amp;#039;&amp;#039;, [Online]. Available: http://www.cl.cam.ac.uk/~rmf25/papers/Understanding%20the%20Basis%20of%20the%20Kalman%20Filter.pdf, [Accessed: 10.10.16]&lt;br /&gt;
&lt;br /&gt;
Oxford Wave Research Ltd, &amp;#039;&amp;#039;SpectrumView on the App Store&amp;#039;&amp;#039;, [Online]. Available: https://itunes.apple.com/au/app/spectrumview/id472662922?mt=8, [Accessed: 19.10.16]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6570</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6570"/>
		<updated>2016-10-25T05:09:15Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;br /&gt;
&lt;br /&gt;
= Experimental Results and Analysis =&lt;br /&gt;
&lt;br /&gt;
This section describes the results achieved during the final stage of the project, with an analysis of the results also included. Further discussion into the implications of the result in terms of viability and success of the system can be found in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
== Mezzanine Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The University of Adelaide Mezzanine shown in figure [fig:mezz] was chosen as the initial testing venue due to the low noise level and large open space, allowing for an optimal testing setup with full line-of-sight between the beacons and receiver available.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/mezz.jpg|frame|none|alt=|caption Mezzanine Testing Location&amp;lt;span data-label=&amp;quot;fig:mezz&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Three ultrasound and Bluetooth beacon pairs were placed in a triangle to provide complete coverage of one cell as shown in figures [fig:mezzUS] and [fig:mezzBT]. Five ultrasound and Bluetooth positions were recorded at each interval of 3 metres in the X and Y directions, from zero to nine for each coordinate, resulting in a total of 16 discrete positions measured.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
The chart below depicts the mean value and precision of each position measurement, with the expected position shown in the label of each position.&lt;br /&gt;
&lt;br /&gt;
The size of each beacon represents the calculated precision of the five measurements relative to each other for each position, and the position represents the mean X and Y values of each set of position measurements. Note that each expected position is found at the intersection of the X and Y major grid lines.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzUS.png|frame|none|alt=|caption Mezzanine Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzus]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Ultrasound Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 1.33&lt;br /&gt;
| 3.20&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.27&lt;br /&gt;
| 0.36&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 0.77&lt;br /&gt;
| 1.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Initial observations of figure [fig:mezzUS] show that the ultrasound position measurements in this scenario closely line up with the true position they were measured from in most cases. Some points are very precise, as indicated by the small circle, and most points are around or within a metre of their expected location. In terms of numerical values, the average distance error between calculated and true position is very close to the desired accuracy of 75cm. The maximum mean error of 1.34cm is also fairly reasonable for the worst case result in this scenario. The precision values indicate that the results are consistent in most cases, although with some outliers that produce undesirable results.&lt;br /&gt;
&lt;br /&gt;
In terms of qualitative properties of the ultrasound system during this testing, it was noted that inaccuracies sometimes occurred due to the orientation of the device. When standing close to a wall with the microphone oriented to be facing away from one beacon but not the other two, the reflection from the wall sometimes took precedence over the non-reflected pulse. Another observation included when moving at a reasonable walking speed, the position estimate sometimes appeared to have less precision than when standing still. Also, since the update speed is determined by the receival times of chirps, the update speed was a non-ideal one update per second.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The chart below shows the accuracy and precision for the same positions as above but for the Bluetooth system.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/MezzBT.png|frame|none|alt=|caption Mezzanine Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:mezzBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:mezzbt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Mezzanine Bluetooth Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 6.85&lt;br /&gt;
| 1.92&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.24&lt;br /&gt;
| 0.22&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.65&lt;br /&gt;
| 0.97&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that in the scenario of testing within one cell of three Bluetooth beacons, poor performance with mass clustering occurs. Position measurements on the boundary of the testing area were typically outside of the middle clustering, but still had errors of above three metres in some cases. The numerical results shown above indicate that the average minimum, and maximum position accuracy error values are largely above the desired value. The precision of the results is however an small improvement over the ultrasound measurements, possibly due to the Kalman filtering and lack of similar propagation issues that the ultrasound system faces.&lt;br /&gt;
&lt;br /&gt;
In terms of responsiveness and update speed, the Bluetooth position updates are much smoother than the ultrasound results due to the much larger rate of input data acquired, providing a practical amount of data for effective Kalman filtering. Note that although adjusted for in this test, the log-distance model used to estimate distance from RSSI values may have been able to be improved to produce more accuracy results as discussed in section [sec:noise_testing].&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
As the ultrasound positioning system component was able to provide consist low error measurements, the combined system behaviour as described in section [sec:design_comb] was not able to be tested effectively. It could however be observed that halting the RF synchronisation signal to the ultrasound beacons resulted in the Bluetooth system taking over as expected, due to the lack of ultrasound position updates. While the transition between systems is not discreet due to the differences in position acquisition behaviour as described in the ultrasound and Bluetooth sections above, the Bluetooth system does provide a backup that would otherwise result in a non-functioning system in some situations.&lt;br /&gt;
&lt;br /&gt;
== Project Lab Position Testing ==&lt;br /&gt;
&lt;br /&gt;
The project lab used over the development of the project was the second venue used for testing, and is shown below in figure [fig:em307]. This area has large shelves on each bench, allowing this environment to be used to test the non-line-of-sight effects of the system. The project lab also had many students in it, allowing for a test to be performed with a louder environment.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/em307.jpg|frame|none|alt=|caption Project Laboratory Testing Location&amp;lt;span data-label=&amp;quot;fig:em307&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The testing area covered is longer but less wide than the Mezzanine, allowing for different propagation characteristics. In this test, two cells were used for testing; one with ultrasound and Bluetooth beacons, and the other with only Bluetooth beacons. This allowed us to also test for ultrasound performance when not within the intended cell to be located within, and also to test how the Bluetooth component of the system behaves with more Bluetooth beacons.&lt;br /&gt;
&lt;br /&gt;
=== Ultrasound System ===&lt;br /&gt;
&lt;br /&gt;
Figure [fig:labUS] shows the accuracy and precision of the ultrasound position measurements within the project laboratory.&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labUS.png|frame|none|alt=|caption Project Laboratory Ultrasound Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labUS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307us]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Ultrasound Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 7.88&lt;br /&gt;
| 6.70&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 0.82&lt;br /&gt;
| 0.74&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 3.07&lt;br /&gt;
| 2.56&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These results show that obstacles in the environment that prevent line-of-sight between beacons and the receiver greatly degrade the performance of the system. As shown in the results table above, the average and maximum mean position error and precision are much larger than in the previous test, while still having reasonable minimum precision and mean values. The most precise position measurements were found for points that had line-of-sight of two or more beacons, either directly or through gaps in the shelves above the desks. The positions with lower differences between measured and true location was found to also have line-of-sight with at least one beacon, and in a location that is not heavily affected by multi-path waves, such as in the corner of the room.&lt;br /&gt;
&lt;br /&gt;
The points affected by the the wall and room on the lower part of the testing area are shown to typically exhibit average precisions, but are very far off of the true position in most cases. The general trend of non-line-of-sight resulting in a larger distance can also be observed for most data points, with measurements on the bottom with no line-of-sight towards beacon 1 and 3 having a lower Y value than expected, and results taken along the X axis with no beacon 2 or 3 line-of-sight have a larger Y value than expected.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that with only three beacons, there is no large change in performance of positioning either within or outside of the cell of three beacons, indicating that as long as the beacons are placed far enough apart, the system will still perform as expected.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth System ===&lt;br /&gt;
&lt;br /&gt;
The Bluetooth positioning diagram is shown below in figure [fig:labBT].&lt;br /&gt;
&lt;br /&gt;
[[File:images/testing/labBT.png|frame|none|alt=|caption Project Laboratory Bluetooth Positioning Accuracy and Precision&amp;lt;span data-label=&amp;quot;fig:labBT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[tab:em307bt]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Bluetooth Project Lab Positioning Numerical Results&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| Mean Position Error (m)&lt;br /&gt;
| Precision (m)&lt;br /&gt;
|-&lt;br /&gt;
| Max&lt;br /&gt;
| 5.43&lt;br /&gt;
| 5.61&lt;br /&gt;
|-&lt;br /&gt;
| Min&lt;br /&gt;
| 1.03&lt;br /&gt;
| 0.57&lt;br /&gt;
|-&lt;br /&gt;
| Average&lt;br /&gt;
| 2.87&lt;br /&gt;
| 2.26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The accuracy of the Bluetooth system is improved slightly in this scenario when compared to the Mezzanine testing performed in [sec:mezz_testing]. The system is less precise than during the initial test, but has approximately the same precision and accuracy characteristics as the ultrasound system. While the performance of the system has only improved marginally from the original test, this larger testing environment with more beacons was able to demonstrate that the system is able to behave consistently over a larger area with more beacons, compared to the results found during the first test that primarily only showed undesirable clustering behaviour. These results show that the Bluetooth system is can sufficiently determine the user’s location within 3 metres in most cases due to the consistency of results over the large area tested. It can also be noted that the Bluetooth results are consistently closer to the center of the beacon setup, indicating that the log-distance model may have been able to be adjusted to improve results to an extent.&lt;br /&gt;
&lt;br /&gt;
=== Combined System ===&lt;br /&gt;
&lt;br /&gt;
The combined system behaviour was only able to be tested somewhat sufficiently when walking to the corner of the workshop room in the bottom-right side of the testing environment. Due to large distance errors caused by different chirps reflecting differently when entering the room, the position error was consistently high. Due to the high error, the Bluetooth system results were prioritised, resulting in a transition between ultrasound to Bluetooth measurements with similar precisions and accuracies as shown in figures [fig:labUS] and [fig:labBT].&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6569</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6569"/>
		<updated>2016-10-25T05:07:57Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6568</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6568"/>
		<updated>2016-10-25T05:06:33Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
=== Functionality Overview ===&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest &lt;br /&gt;
* Display of distancing and position information&lt;br /&gt;
&lt;br /&gt;
[File:screenshot of app]&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6567</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6567"/>
		<updated>2016-10-25T05:02:25Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the hardware can be found in Daniel Webber’s thesis .&lt;br /&gt;
&lt;br /&gt;
=== Chirp Transmission and Processing ===&lt;br /&gt;
&lt;br /&gt;
This section focuses on the signal processing aspects of the transmitted and received signals. Figure [fig:chirpflowchart] outlines the process followed by the smartphone application to determine the chirp receival times.&lt;br /&gt;
&lt;br /&gt;
Due to the discussion of how how the signal-noise ratio of a chirp signal (a pulse signal with rising or falling frequency over time) is greater than that of a plain sinusoid in , chirps will be used as the form of ultrasound communication for this positioning system. Also, the use of up-chirps and down-chirps allows for two uniquely identifiable signals, which can be used to determine which pulse corresponds to which beacon.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/chirpflowchart.png|frame|none|alt=|caption Chirp Processing Flowchart&amp;lt;span data-label=&amp;quot;fig:chirpflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
To determine the times of each pulse, as well as the type of signal, each signal received will be correlated (described in section [sec:correlation]) with reference up and down chirps. Correlation spikes above a specified threshold are recorded, and have their amplitude compared to other spikes of the opposite chirp that occur at similar times. This processes helps to reduce spikes that are detected as a result of noise, as up and down-chirp correlation will be approximately equal for sounds that are approximately white noise. If there are no similarly timed spikes of similar amplitude, these spikes are recorded as chirp times.&lt;br /&gt;
&lt;br /&gt;
Both up and down-chirps are used primarily to have two different kinds of uniquely identifiable signals, providing the ability to determine which beacon corresponds to which pulse. Specially assigned timing identification beacons (ID beacons) broadcast a downchirp, which, when detected, can be compared to the current position determined by the Bluetooth positioning system component. The downchirp is assigned to the closest ID beacon according to the Bluetooth position, and since each beacon transmits in a pre-determined order, the current position in the sequence of beacon chirps is known. This method provides an ultrasound chirp sequence synchronisation method without the need for any kind of manual synchronisation. Note that the final version of the system only supports one ID beacon at the time of completion due to time constraints, but would be an important feature to expand upon in the future to extend the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
After discovering through testing that the amplitude for correlation of different chirps was not sufficient for weaker signals at large distances, the chirps were altered to only emit frequencies not shared by the opposite chirp signal. This helped to reduce the correlation value found when correlating with the incorrect chirp, allowing for more reliable chirp and noise differentiation. It was also found through testing that the maximum frequency able to be received by the iPad testing device was 20.5 kHz, which required us to lower the maximum chirp frequency to avoid offset correlations due to the non-receival of a section of the chirp signal. This has resulted in the chirp signals being slightly audible for people who are able to hear up sound up to 17 kHz, but is mostly unnoticeable in a louder environment unless standing closely to an ultrasound beacon.&lt;br /&gt;
&lt;br /&gt;
=== Synchronisation ===&lt;br /&gt;
&lt;br /&gt;
Precise synchronisation is required between each beacon to ensure that they all transmit precisely at the start of their time divisions. Our original intention was to implement manual synchronisation between beacons by use of an external device that is plugged into each beacon one at a time, but this proved to be ineffective after testing showed that clock drift could produce an error of up to one meter every minute per beacon. Due to the need for a sub-millisecond-accurate time synchronisation mechanism and the need to work with cheap microprocessors to stay under budget, inexpensive microprocessor-friendly 433 MHz Pulse Amplitude Modulation (PAM) RF modules were chosen to be used to solve the synchronisation issue.&lt;br /&gt;
&lt;br /&gt;
Each beacon is synchronised to a single RF synchroniser, and emits a pulse at a time dependent on the ID number of the beacon and the number of total beacons. Since each chirp is dependent on the receival time of the RF synchronisation pulse (and with some delay depending on the allocated time slot), the drift of each beacon is consistent and is directly caused by the synchroniser beacon. Due to the use of TDoA for ultrasound positioning, the consistent offset of each chirp will have a negligible effect on the system as the relative offset between each beacon is zero.&lt;br /&gt;
&lt;br /&gt;
After initial testing, it was found that RF interference on the 433 MHz channel was sometimes fatal to the system’s performance when only sending a single RF pulse. The synchronisation system was changed to send and detect a short digital message to confirm that the received signal was the intended signal as opposed to other noise. While this improved the performance of the system such that it was mostly usable when there was interference, there are still timing issues present during times with problematic interference. Due to time constraints, this issue can not be completely resolved, but would be an important task to consider for future development of the system.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
Originally a result weighting process was considered based in the calculated error of positioning, but was re-prioritised below other tasks due to the high accuracy of the ultrasound component positioning system after initial testing. Revisiting this idea may be important in the future to further increase the performance of the system.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
Both ultrasound and Bluetooth beacons should be placed as far apart from each other as possible, but placed such that there are always at least three of each kind of beacon within range of any position within the intended operating environment. If the distance error between two beacons is larger than the spacing, the trilateration can be impacted greatly, resulting in the need for wide spacings between beacons. The three beacon requirement is due to the trilateration process requiring at least three beacons to produce a position calculation.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
=== Functionality Overview ===&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations (figure [fig:design_map])&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest (figure [fig:design_web])&lt;br /&gt;
* Display of distancing and position information (figure [fig:design_debug])&lt;br /&gt;
&lt;br /&gt;
Screenshots of the application are shown in appendix [app:ios_screenshots].&lt;br /&gt;
&lt;br /&gt;
Other major features planned but not implemented due to time constraints include the display of a list of points of interest within the event, and navigation assistance to a selected point of interest. These features would be important to complete in future iterations of the project to provide a complete and useful positioning system. The functionality provided by the end of the project fulfils most of the requirements stated in appendix [app:requirements], with the additional unfinished features completing the desired functionality.&lt;br /&gt;
&lt;br /&gt;
=== Application Overview ===&lt;br /&gt;
&lt;br /&gt;
The iOS application follows the general process outlined in figure [fig:loadeventflowchart] after attempting to load an event.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/loadeventflowchart.png|frame|none|alt=|caption Application Load Event Flowchart&amp;lt;span data-label=&amp;quot;fig:loadeventflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After selecting the desired event, the event information, including positioning system and application parameters, beacon locations, and point of interest data, is downloaded in the form of an XML file. This file is then parsed and the data is placed into the Map object that contains all information relating to the current event loaded. Each item is registered in the appropriate place, such as the user being registered for a position update, and every displayed map item registered for drawing. The positioning system is then initialised, and the program follows the basic process of drawing all map items and updating the user’s position based on the position calculated as described in section [sec:design_comb].&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6566</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6566"/>
		<updated>2016-10-25T05:01:44Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs. This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
= Outcome Success Measures =&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the hardware can be found in Daniel Webber’s thesis .&lt;br /&gt;
&lt;br /&gt;
=== Chirp Transmission and Processing ===&lt;br /&gt;
&lt;br /&gt;
This section focuses on the signal processing aspects of the transmitted and received signals. Figure [fig:chirpflowchart] outlines the process followed by the smartphone application to determine the chirp receival times.&lt;br /&gt;
&lt;br /&gt;
Due to the discussion of how how the signal-noise ratio of a chirp signal (a pulse signal with rising or falling frequency over time) is greater than that of a plain sinusoid in , chirps will be used as the form of ultrasound communication for this positioning system. Also, the use of up-chirps and down-chirps allows for two uniquely identifiable signals, which can be used to determine which pulse corresponds to which beacon.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/chirpflowchart.png|frame|none|alt=|caption Chirp Processing Flowchart&amp;lt;span data-label=&amp;quot;fig:chirpflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
To determine the times of each pulse, as well as the type of signal, each signal received will be correlated (described in section [sec:correlation]) with reference up and down chirps. Correlation spikes above a specified threshold are recorded, and have their amplitude compared to other spikes of the opposite chirp that occur at similar times. This processes helps to reduce spikes that are detected as a result of noise, as up and down-chirp correlation will be approximately equal for sounds that are approximately white noise. If there are no similarly timed spikes of similar amplitude, these spikes are recorded as chirp times.&lt;br /&gt;
&lt;br /&gt;
Both up and down-chirps are used primarily to have two different kinds of uniquely identifiable signals, providing the ability to determine which beacon corresponds to which pulse. Specially assigned timing identification beacons (ID beacons) broadcast a downchirp, which, when detected, can be compared to the current position determined by the Bluetooth positioning system component. The downchirp is assigned to the closest ID beacon according to the Bluetooth position, and since each beacon transmits in a pre-determined order, the current position in the sequence of beacon chirps is known. This method provides an ultrasound chirp sequence synchronisation method without the need for any kind of manual synchronisation. Note that the final version of the system only supports one ID beacon at the time of completion due to time constraints, but would be an important feature to expand upon in the future to extend the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
After discovering through testing that the amplitude for correlation of different chirps was not sufficient for weaker signals at large distances, the chirps were altered to only emit frequencies not shared by the opposite chirp signal. This helped to reduce the correlation value found when correlating with the incorrect chirp, allowing for more reliable chirp and noise differentiation. It was also found through testing that the maximum frequency able to be received by the iPad testing device was 20.5 kHz, which required us to lower the maximum chirp frequency to avoid offset correlations due to the non-receival of a section of the chirp signal. This has resulted in the chirp signals being slightly audible for people who are able to hear up sound up to 17 kHz, but is mostly unnoticeable in a louder environment unless standing closely to an ultrasound beacon.&lt;br /&gt;
&lt;br /&gt;
=== Synchronisation ===&lt;br /&gt;
&lt;br /&gt;
Precise synchronisation is required between each beacon to ensure that they all transmit precisely at the start of their time divisions. Our original intention was to implement manual synchronisation between beacons by use of an external device that is plugged into each beacon one at a time, but this proved to be ineffective after testing showed that clock drift could produce an error of up to one meter every minute per beacon. Due to the need for a sub-millisecond-accurate time synchronisation mechanism and the need to work with cheap microprocessors to stay under budget, inexpensive microprocessor-friendly 433 MHz Pulse Amplitude Modulation (PAM) RF modules were chosen to be used to solve the synchronisation issue.&lt;br /&gt;
&lt;br /&gt;
Each beacon is synchronised to a single RF synchroniser, and emits a pulse at a time dependent on the ID number of the beacon and the number of total beacons. Since each chirp is dependent on the receival time of the RF synchronisation pulse (and with some delay depending on the allocated time slot), the drift of each beacon is consistent and is directly caused by the synchroniser beacon. Due to the use of TDoA for ultrasound positioning, the consistent offset of each chirp will have a negligible effect on the system as the relative offset between each beacon is zero.&lt;br /&gt;
&lt;br /&gt;
After initial testing, it was found that RF interference on the 433 MHz channel was sometimes fatal to the system’s performance when only sending a single RF pulse. The synchronisation system was changed to send and detect a short digital message to confirm that the received signal was the intended signal as opposed to other noise. While this improved the performance of the system such that it was mostly usable when there was interference, there are still timing issues present during times with problematic interference. Due to time constraints, this issue can not be completely resolved, but would be an important task to consider for future development of the system.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
Originally a result weighting process was considered based in the calculated error of positioning, but was re-prioritised below other tasks due to the high accuracy of the ultrasound component positioning system after initial testing. Revisiting this idea may be important in the future to further increase the performance of the system.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
Both ultrasound and Bluetooth beacons should be placed as far apart from each other as possible, but placed such that there are always at least three of each kind of beacon within range of any position within the intended operating environment. If the distance error between two beacons is larger than the spacing, the trilateration can be impacted greatly, resulting in the need for wide spacings between beacons. The three beacon requirement is due to the trilateration process requiring at least three beacons to produce a position calculation.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
=== Functionality Overview ===&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations (figure [fig:design_map])&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest (figure [fig:design_web])&lt;br /&gt;
* Display of distancing and position information (figure [fig:design_debug])&lt;br /&gt;
&lt;br /&gt;
Screenshots of the application are shown in appendix [app:ios_screenshots].&lt;br /&gt;
&lt;br /&gt;
Other major features planned but not implemented due to time constraints include the display of a list of points of interest within the event, and navigation assistance to a selected point of interest. These features would be important to complete in future iterations of the project to provide a complete and useful positioning system. The functionality provided by the end of the project fulfils most of the requirements stated in appendix [app:requirements], with the additional unfinished features completing the desired functionality.&lt;br /&gt;
&lt;br /&gt;
=== Application Overview ===&lt;br /&gt;
&lt;br /&gt;
The iOS application follows the general process outlined in figure [fig:loadeventflowchart] after attempting to load an event.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/loadeventflowchart.png|frame|none|alt=|caption Application Load Event Flowchart&amp;lt;span data-label=&amp;quot;fig:loadeventflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After selecting the desired event, the event information, including positioning system and application parameters, beacon locations, and point of interest data, is downloaded in the form of an XML file. This file is then parsed and the data is placed into the Map object that contains all information relating to the current event loaded. Each item is registered in the appropriate place, such as the user being registered for a position update, and every displayed map item registered for drawing. The positioning system is then initialised, and the program follows the basic process of drawing all map items and updating the user’s position based on the position calculated as described in section [sec:design_comb].&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6565</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6565"/>
		<updated>2016-10-25T04:55:34Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:TDoA] shows a scenario in which three beacons are set up in a similar way as shown in figure [fig:tri]. The differences in times of arrival &amp;lt;math&amp;gt;m_{21}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;m_{31}&amp;lt;/math&amp;gt; compared to the transmit time of the first beacon can be measured, and the difference in distances can then be calculated. The radius of each circle, starting at the differences in distances, can be increased until an intersection point between the three circles is found using trilateration.&lt;br /&gt;
&lt;br /&gt;
[[File:images/TDoA.png|frame|none|alt=|caption Time Difference of Arrival scenario&amp;lt;span data-label=&amp;quot;fig:TDoA&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs . This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
The Kalman filter process for each sample of data is as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
The Kalman gain is a value that is proportional to the current accuracy of recent data, determined using the error covariance calculated in the previous iteration of the Kalman filtering. The new data sample and calculated Kalman gain are used to set a new error covariance value so that the most recent measurement is taken into account in the accuracy calculations in the future. The new Kalman filter data estimate is calculated by changing the previous output estimate value based on weighting, determined by the Kalman gain and difference between the previous estimate and the new data.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
== Knowledge Gaps ==&lt;br /&gt;
&lt;br /&gt;
Many indoor positioning systems have been developed over the past two decades, but the use of smartphone-based receivers is a developing field due to relatively quick development of smartphones over the past decade. While we will not be exploring techniques and localisation methods that haven’t been used before, we do hope to add our system to the small number of indoor positioning systems that make use of smartphone technology currently available, with a system that supports sub-metre accuracy easy use of the system via a smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Technical Challenges ==&lt;br /&gt;
&lt;br /&gt;
The following technical challenges were proposed initially as being important to consider for a project of our nature:&lt;br /&gt;
&lt;br /&gt;
* Research, design, and implementation of efficient algorithms that are able to be computed with available processing power on a smartphone. This presents a challenge as optimisation of the algorithms may be required if the phone performs poorly while running our application.&lt;br /&gt;
* iOS development. We are both inexperienced with iOS programming, so this will require experimentation with iOS development to familiarise ourselves with the process.&lt;br /&gt;
* Synchronisation between the beacon network will be a challenge as most wireless protocols have an uncertainty in time-of-flight that must be overcome to perform precise synchronisation.&lt;br /&gt;
* The research and development of methods for dealing with multipath, non-line-of-sight and environment noise issues. Effective methods may still not function ideally in the worst-case scenarios, so more time will need to be spent ensuring that these issues are dealt with as well as possible.&lt;br /&gt;
* We will need to determine the best way to combine the results from the Bluetooth and ultrasound components of the positioning system, which can pose a challenge as most methods are heavily statistics-based and may require extra time and research to understand and make use of these methods.&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
This section discusses the deliverables we intended to achieve during the course of this project, and the success measures associated with our project.&lt;br /&gt;
&lt;br /&gt;
== Deliverables ==&lt;br /&gt;
&lt;br /&gt;
The key deliverables we initially intended to achieve by the end of this project were the production of an indoor positioning system that complies with the requirements and constraints described in appendix [app:requirements], and a smartphone application that provides location and advertising information to users of the system. Expanding upon this, a list of deliverables relating to the development of the MINIS system is described below, with the expected completion and final completion dates noted:&lt;br /&gt;
&lt;br /&gt;
# Bluetooth LE positioning system component complete (Expected: Week 11, Mid-year break, Completed: Week 5, Semester 2)&lt;br /&gt;
# Ultrasound positioning system component complete (Expected: Week 2, Semester 2, Completed: Week 11, Semester 2)&lt;br /&gt;
# App prototype ready - shows position of user on map (Expected: Week 5, Semester 2, Completed: Week 2, Semester 2)&lt;br /&gt;
# Mobile App Functionality Complete (Expected: Week 8, Semester 2, Completed: Week 11, Semester 2)&lt;br /&gt;
# Final Exhibition (Week 12, Semester 2)&lt;br /&gt;
&lt;br /&gt;
The above completed times indicate the time when no more additions to the application were made. A prototype system that was able to perform positioning was complete before the expected date, but every other aspect of the system has taken much longer to complete than originally intended. While the ultrasound and Bluetooth systems were functional since week 2 of semester 2, many changes, improvements, and fixes were made in the time between the first prototype and the final version. While the smartphone application is not feature complete, and there are still some issues and improvements to be made with the ultrasound, Bluetooth and combined system, the system was in a functional state ready for exhibition by week 11. Such incomplete features and issues include advanced data processing and dynamic distance model adjustment, as well as general system robustness and performance.&lt;br /&gt;
&lt;br /&gt;
== Success Measures ==&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
Each of these success measures are derived from the requirements outlined in appendix [app:requirements], and an evaluation of how well the final system meets these measures is included in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the hardware can be found in Daniel Webber’s thesis .&lt;br /&gt;
&lt;br /&gt;
=== Chirp Transmission and Processing ===&lt;br /&gt;
&lt;br /&gt;
This section focuses on the signal processing aspects of the transmitted and received signals. Figure [fig:chirpflowchart] outlines the process followed by the smartphone application to determine the chirp receival times.&lt;br /&gt;
&lt;br /&gt;
Due to the discussion of how how the signal-noise ratio of a chirp signal (a pulse signal with rising or falling frequency over time) is greater than that of a plain sinusoid in , chirps will be used as the form of ultrasound communication for this positioning system. Also, the use of up-chirps and down-chirps allows for two uniquely identifiable signals, which can be used to determine which pulse corresponds to which beacon.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/chirpflowchart.png|frame|none|alt=|caption Chirp Processing Flowchart&amp;lt;span data-label=&amp;quot;fig:chirpflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
To determine the times of each pulse, as well as the type of signal, each signal received will be correlated (described in section [sec:correlation]) with reference up and down chirps. Correlation spikes above a specified threshold are recorded, and have their amplitude compared to other spikes of the opposite chirp that occur at similar times. This processes helps to reduce spikes that are detected as a result of noise, as up and down-chirp correlation will be approximately equal for sounds that are approximately white noise. If there are no similarly timed spikes of similar amplitude, these spikes are recorded as chirp times.&lt;br /&gt;
&lt;br /&gt;
Both up and down-chirps are used primarily to have two different kinds of uniquely identifiable signals, providing the ability to determine which beacon corresponds to which pulse. Specially assigned timing identification beacons (ID beacons) broadcast a downchirp, which, when detected, can be compared to the current position determined by the Bluetooth positioning system component. The downchirp is assigned to the closest ID beacon according to the Bluetooth position, and since each beacon transmits in a pre-determined order, the current position in the sequence of beacon chirps is known. This method provides an ultrasound chirp sequence synchronisation method without the need for any kind of manual synchronisation. Note that the final version of the system only supports one ID beacon at the time of completion due to time constraints, but would be an important feature to expand upon in the future to extend the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
After discovering through testing that the amplitude for correlation of different chirps was not sufficient for weaker signals at large distances, the chirps were altered to only emit frequencies not shared by the opposite chirp signal. This helped to reduce the correlation value found when correlating with the incorrect chirp, allowing for more reliable chirp and noise differentiation. It was also found through testing that the maximum frequency able to be received by the iPad testing device was 20.5 kHz, which required us to lower the maximum chirp frequency to avoid offset correlations due to the non-receival of a section of the chirp signal. This has resulted in the chirp signals being slightly audible for people who are able to hear up sound up to 17 kHz, but is mostly unnoticeable in a louder environment unless standing closely to an ultrasound beacon.&lt;br /&gt;
&lt;br /&gt;
=== Synchronisation ===&lt;br /&gt;
&lt;br /&gt;
Precise synchronisation is required between each beacon to ensure that they all transmit precisely at the start of their time divisions. Our original intention was to implement manual synchronisation between beacons by use of an external device that is plugged into each beacon one at a time, but this proved to be ineffective after testing showed that clock drift could produce an error of up to one meter every minute per beacon. Due to the need for a sub-millisecond-accurate time synchronisation mechanism and the need to work with cheap microprocessors to stay under budget, inexpensive microprocessor-friendly 433 MHz Pulse Amplitude Modulation (PAM) RF modules were chosen to be used to solve the synchronisation issue.&lt;br /&gt;
&lt;br /&gt;
Each beacon is synchronised to a single RF synchroniser, and emits a pulse at a time dependent on the ID number of the beacon and the number of total beacons. Since each chirp is dependent on the receival time of the RF synchronisation pulse (and with some delay depending on the allocated time slot), the drift of each beacon is consistent and is directly caused by the synchroniser beacon. Due to the use of TDoA for ultrasound positioning, the consistent offset of each chirp will have a negligible effect on the system as the relative offset between each beacon is zero.&lt;br /&gt;
&lt;br /&gt;
After initial testing, it was found that RF interference on the 433 MHz channel was sometimes fatal to the system’s performance when only sending a single RF pulse. The synchronisation system was changed to send and detect a short digital message to confirm that the received signal was the intended signal as opposed to other noise. While this improved the performance of the system such that it was mostly usable when there was interference, there are still timing issues present during times with problematic interference. Due to time constraints, this issue can not be completely resolved, but would be an important task to consider for future development of the system.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
Originally a result weighting process was considered based in the calculated error of positioning, but was re-prioritised below other tasks due to the high accuracy of the ultrasound component positioning system after initial testing. Revisiting this idea may be important in the future to further increase the performance of the system.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
Both ultrasound and Bluetooth beacons should be placed as far apart from each other as possible, but placed such that there are always at least three of each kind of beacon within range of any position within the intended operating environment. If the distance error between two beacons is larger than the spacing, the trilateration can be impacted greatly, resulting in the need for wide spacings between beacons. The three beacon requirement is due to the trilateration process requiring at least three beacons to produce a position calculation.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
=== Functionality Overview ===&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations (figure [fig:design_map])&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest (figure [fig:design_web])&lt;br /&gt;
* Display of distancing and position information (figure [fig:design_debug])&lt;br /&gt;
&lt;br /&gt;
Screenshots of the application are shown in appendix [app:ios_screenshots].&lt;br /&gt;
&lt;br /&gt;
Other major features planned but not implemented due to time constraints include the display of a list of points of interest within the event, and navigation assistance to a selected point of interest. These features would be important to complete in future iterations of the project to provide a complete and useful positioning system. The functionality provided by the end of the project fulfils most of the requirements stated in appendix [app:requirements], with the additional unfinished features completing the desired functionality.&lt;br /&gt;
&lt;br /&gt;
=== Application Overview ===&lt;br /&gt;
&lt;br /&gt;
The iOS application follows the general process outlined in figure [fig:loadeventflowchart] after attempting to load an event.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/loadeventflowchart.png|frame|none|alt=|caption Application Load Event Flowchart&amp;lt;span data-label=&amp;quot;fig:loadeventflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After selecting the desired event, the event information, including positioning system and application parameters, beacon locations, and point of interest data, is downloaded in the form of an XML file. This file is then parsed and the data is placed into the Map object that contains all information relating to the current event loaded. Each item is registered in the appropriate place, such as the user being registered for a position update, and every displayed map item registered for drawing. The positioning system is then initialised, and the program follows the basic process of drawing all map items and updating the user’s position based on the position calculated as described in section [sec:design_comb].&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6564</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6564"/>
		<updated>2016-10-25T04:55:11Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Project Summary =&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:TDoA] shows a scenario in which three beacons are set up in a similar way as shown in figure [fig:tri]. The differences in times of arrival &amp;lt;math&amp;gt;m_{21}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;m_{31}&amp;lt;/math&amp;gt; compared to the transmit time of the first beacon can be measured, and the difference in distances can then be calculated. The radius of each circle, starting at the differences in distances, can be increased until an intersection point between the three circles is found using trilateration.&lt;br /&gt;
&lt;br /&gt;
[[File:images/TDoA.png|frame|none|alt=|caption Time Difference of Arrival scenario&amp;lt;span data-label=&amp;quot;fig:TDoA&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs . This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
The Kalman filter process for each sample of data is as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
The Kalman gain is a value that is proportional to the current accuracy of recent data, determined using the error covariance calculated in the previous iteration of the Kalman filtering. The new data sample and calculated Kalman gain are used to set a new error covariance value so that the most recent measurement is taken into account in the accuracy calculations in the future. The new Kalman filter data estimate is calculated by changing the previous output estimate value based on weighting, determined by the Kalman gain and difference between the previous estimate and the new data.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
== Knowledge Gaps ==&lt;br /&gt;
&lt;br /&gt;
Many indoor positioning systems have been developed over the past two decades, but the use of smartphone-based receivers is a developing field due to relatively quick development of smartphones over the past decade. While we will not be exploring techniques and localisation methods that haven’t been used before, we do hope to add our system to the small number of indoor positioning systems that make use of smartphone technology currently available, with a system that supports sub-metre accuracy easy use of the system via a smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Technical Challenges ==&lt;br /&gt;
&lt;br /&gt;
The following technical challenges were proposed initially as being important to consider for a project of our nature:&lt;br /&gt;
&lt;br /&gt;
* Research, design, and implementation of efficient algorithms that are able to be computed with available processing power on a smartphone. This presents a challenge as optimisation of the algorithms may be required if the phone performs poorly while running our application.&lt;br /&gt;
* iOS development. We are both inexperienced with iOS programming, so this will require experimentation with iOS development to familiarise ourselves with the process.&lt;br /&gt;
* Synchronisation between the beacon network will be a challenge as most wireless protocols have an uncertainty in time-of-flight that must be overcome to perform precise synchronisation.&lt;br /&gt;
* The research and development of methods for dealing with multipath, non-line-of-sight and environment noise issues. Effective methods may still not function ideally in the worst-case scenarios, so more time will need to be spent ensuring that these issues are dealt with as well as possible.&lt;br /&gt;
* We will need to determine the best way to combine the results from the Bluetooth and ultrasound components of the positioning system, which can pose a challenge as most methods are heavily statistics-based and may require extra time and research to understand and make use of these methods.&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
This section discusses the deliverables we intended to achieve during the course of this project, and the success measures associated with our project.&lt;br /&gt;
&lt;br /&gt;
== Deliverables ==&lt;br /&gt;
&lt;br /&gt;
The key deliverables we initially intended to achieve by the end of this project were the production of an indoor positioning system that complies with the requirements and constraints described in appendix [app:requirements], and a smartphone application that provides location and advertising information to users of the system. Expanding upon this, a list of deliverables relating to the development of the MINIS system is described below, with the expected completion and final completion dates noted:&lt;br /&gt;
&lt;br /&gt;
# Bluetooth LE positioning system component complete (Expected: Week 11, Mid-year break, Completed: Week 5, Semester 2)&lt;br /&gt;
# Ultrasound positioning system component complete (Expected: Week 2, Semester 2, Completed: Week 11, Semester 2)&lt;br /&gt;
# App prototype ready - shows position of user on map (Expected: Week 5, Semester 2, Completed: Week 2, Semester 2)&lt;br /&gt;
# Mobile App Functionality Complete (Expected: Week 8, Semester 2, Completed: Week 11, Semester 2)&lt;br /&gt;
# Final Exhibition (Week 12, Semester 2)&lt;br /&gt;
&lt;br /&gt;
The above completed times indicate the time when no more additions to the application were made. A prototype system that was able to perform positioning was complete before the expected date, but every other aspect of the system has taken much longer to complete than originally intended. While the ultrasound and Bluetooth systems were functional since week 2 of semester 2, many changes, improvements, and fixes were made in the time between the first prototype and the final version. While the smartphone application is not feature complete, and there are still some issues and improvements to be made with the ultrasound, Bluetooth and combined system, the system was in a functional state ready for exhibition by week 11. Such incomplete features and issues include advanced data processing and dynamic distance model adjustment, as well as general system robustness and performance.&lt;br /&gt;
&lt;br /&gt;
== Success Measures ==&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
Each of these success measures are derived from the requirements outlined in appendix [app:requirements], and an evaluation of how well the final system meets these measures is included in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the hardware can be found in Daniel Webber’s thesis .&lt;br /&gt;
&lt;br /&gt;
=== Chirp Transmission and Processing ===&lt;br /&gt;
&lt;br /&gt;
This section focuses on the signal processing aspects of the transmitted and received signals. Figure [fig:chirpflowchart] outlines the process followed by the smartphone application to determine the chirp receival times.&lt;br /&gt;
&lt;br /&gt;
Due to the discussion of how how the signal-noise ratio of a chirp signal (a pulse signal with rising or falling frequency over time) is greater than that of a plain sinusoid in , chirps will be used as the form of ultrasound communication for this positioning system. Also, the use of up-chirps and down-chirps allows for two uniquely identifiable signals, which can be used to determine which pulse corresponds to which beacon.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/chirpflowchart.png|frame|none|alt=|caption Chirp Processing Flowchart&amp;lt;span data-label=&amp;quot;fig:chirpflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
To determine the times of each pulse, as well as the type of signal, each signal received will be correlated (described in section [sec:correlation]) with reference up and down chirps. Correlation spikes above a specified threshold are recorded, and have their amplitude compared to other spikes of the opposite chirp that occur at similar times. This processes helps to reduce spikes that are detected as a result of noise, as up and down-chirp correlation will be approximately equal for sounds that are approximately white noise. If there are no similarly timed spikes of similar amplitude, these spikes are recorded as chirp times.&lt;br /&gt;
&lt;br /&gt;
Both up and down-chirps are used primarily to have two different kinds of uniquely identifiable signals, providing the ability to determine which beacon corresponds to which pulse. Specially assigned timing identification beacons (ID beacons) broadcast a downchirp, which, when detected, can be compared to the current position determined by the Bluetooth positioning system component. The downchirp is assigned to the closest ID beacon according to the Bluetooth position, and since each beacon transmits in a pre-determined order, the current position in the sequence of beacon chirps is known. This method provides an ultrasound chirp sequence synchronisation method without the need for any kind of manual synchronisation. Note that the final version of the system only supports one ID beacon at the time of completion due to time constraints, but would be an important feature to expand upon in the future to extend the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
After discovering through testing that the amplitude for correlation of different chirps was not sufficient for weaker signals at large distances, the chirps were altered to only emit frequencies not shared by the opposite chirp signal. This helped to reduce the correlation value found when correlating with the incorrect chirp, allowing for more reliable chirp and noise differentiation. It was also found through testing that the maximum frequency able to be received by the iPad testing device was 20.5 kHz, which required us to lower the maximum chirp frequency to avoid offset correlations due to the non-receival of a section of the chirp signal. This has resulted in the chirp signals being slightly audible for people who are able to hear up sound up to 17 kHz, but is mostly unnoticeable in a louder environment unless standing closely to an ultrasound beacon.&lt;br /&gt;
&lt;br /&gt;
=== Synchronisation ===&lt;br /&gt;
&lt;br /&gt;
Precise synchronisation is required between each beacon to ensure that they all transmit precisely at the start of their time divisions. Our original intention was to implement manual synchronisation between beacons by use of an external device that is plugged into each beacon one at a time, but this proved to be ineffective after testing showed that clock drift could produce an error of up to one meter every minute per beacon. Due to the need for a sub-millisecond-accurate time synchronisation mechanism and the need to work with cheap microprocessors to stay under budget, inexpensive microprocessor-friendly 433 MHz Pulse Amplitude Modulation (PAM) RF modules were chosen to be used to solve the synchronisation issue.&lt;br /&gt;
&lt;br /&gt;
Each beacon is synchronised to a single RF synchroniser, and emits a pulse at a time dependent on the ID number of the beacon and the number of total beacons. Since each chirp is dependent on the receival time of the RF synchronisation pulse (and with some delay depending on the allocated time slot), the drift of each beacon is consistent and is directly caused by the synchroniser beacon. Due to the use of TDoA for ultrasound positioning, the consistent offset of each chirp will have a negligible effect on the system as the relative offset between each beacon is zero.&lt;br /&gt;
&lt;br /&gt;
After initial testing, it was found that RF interference on the 433 MHz channel was sometimes fatal to the system’s performance when only sending a single RF pulse. The synchronisation system was changed to send and detect a short digital message to confirm that the received signal was the intended signal as opposed to other noise. While this improved the performance of the system such that it was mostly usable when there was interference, there are still timing issues present during times with problematic interference. Due to time constraints, this issue can not be completely resolved, but would be an important task to consider for future development of the system.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
Originally a result weighting process was considered based in the calculated error of positioning, but was re-prioritised below other tasks due to the high accuracy of the ultrasound component positioning system after initial testing. Revisiting this idea may be important in the future to further increase the performance of the system.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
Both ultrasound and Bluetooth beacons should be placed as far apart from each other as possible, but placed such that there are always at least three of each kind of beacon within range of any position within the intended operating environment. If the distance error between two beacons is larger than the spacing, the trilateration can be impacted greatly, resulting in the need for wide spacings between beacons. The three beacon requirement is due to the trilateration process requiring at least three beacons to produce a position calculation.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
=== Functionality Overview ===&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations (figure [fig:design_map])&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest (figure [fig:design_web])&lt;br /&gt;
* Display of distancing and position information (figure [fig:design_debug])&lt;br /&gt;
&lt;br /&gt;
Screenshots of the application are shown in appendix [app:ios_screenshots].&lt;br /&gt;
&lt;br /&gt;
Other major features planned but not implemented due to time constraints include the display of a list of points of interest within the event, and navigation assistance to a selected point of interest. These features would be important to complete in future iterations of the project to provide a complete and useful positioning system. The functionality provided by the end of the project fulfils most of the requirements stated in appendix [app:requirements], with the additional unfinished features completing the desired functionality.&lt;br /&gt;
&lt;br /&gt;
=== Application Overview ===&lt;br /&gt;
&lt;br /&gt;
The iOS application follows the general process outlined in figure [fig:loadeventflowchart] after attempting to load an event.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/loadeventflowchart.png|frame|none|alt=|caption Application Load Event Flowchart&amp;lt;span data-label=&amp;quot;fig:loadeventflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After selecting the desired event, the event information, including positioning system and application parameters, beacon locations, and point of interest data, is downloaded in the form of an XML file. This file is then parsed and the data is placed into the Map object that contains all information relating to the current event loaded. Each item is registered in the appropriate place, such as the user being registered for a position update, and every displayed map item registered for drawing. The positioning system is then initialised, and the program follows the basic process of drawing all map items and updating the user’s position based on the position calculated as described in section [sec:design_comb].&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6563</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6563"/>
		<updated>2016-10-25T04:53:33Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Project Summary =&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location. An indoor positioning system is required to determine a person’s location accurately within an indoor environment to be able to provide these services. This project consists of the research and development of a smartphone-based indoor positioning system that can be used to advertise information to a user based on their location. Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system. The Bluetooth and ultrasound components of the system complement each due to the different performance attributes associated with each method.&lt;br /&gt;
&lt;br /&gt;
A positioning accuracy of 75 cm was desired from the beginning of the project, based on the size of stalls to be found during the Ingenuity Expo final year project showcase, where the system is intended to be set up and available for use. System testing showed that an average positioning accuracy of 77 cm can be achieved by the system in ideal cases, which is very close to the desired accuracy. It was found that non-line-of-sight between the ultrasound beacons and the smartphone device and number of Bluetooth beacons were the main factors that influenced system performance. In poor non-ideal conditions, the positioning accuracy was found to be between 2 and 3 metres depending on the location within the testing environment. Overall, the final system was able to sufficiently satisfy the primary aims that the project was based around.&lt;br /&gt;
&lt;br /&gt;
Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:TDoA] shows a scenario in which three beacons are set up in a similar way as shown in figure [fig:tri]. The differences in times of arrival &amp;lt;math&amp;gt;m_{21}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;m_{31}&amp;lt;/math&amp;gt; compared to the transmit time of the first beacon can be measured, and the difference in distances can then be calculated. The radius of each circle, starting at the differences in distances, can be increased until an intersection point between the three circles is found using trilateration.&lt;br /&gt;
&lt;br /&gt;
[[File:images/TDoA.png|frame|none|alt=|caption Time Difference of Arrival scenario&amp;lt;span data-label=&amp;quot;fig:TDoA&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs . This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
The Kalman filter process for each sample of data is as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
The Kalman gain is a value that is proportional to the current accuracy of recent data, determined using the error covariance calculated in the previous iteration of the Kalman filtering. The new data sample and calculated Kalman gain are used to set a new error covariance value so that the most recent measurement is taken into account in the accuracy calculations in the future. The new Kalman filter data estimate is calculated by changing the previous output estimate value based on weighting, determined by the Kalman gain and difference between the previous estimate and the new data.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
== Knowledge Gaps ==&lt;br /&gt;
&lt;br /&gt;
Many indoor positioning systems have been developed over the past two decades, but the use of smartphone-based receivers is a developing field due to relatively quick development of smartphones over the past decade. While we will not be exploring techniques and localisation methods that haven’t been used before, we do hope to add our system to the small number of indoor positioning systems that make use of smartphone technology currently available, with a system that supports sub-metre accuracy easy use of the system via a smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Technical Challenges ==&lt;br /&gt;
&lt;br /&gt;
The following technical challenges were proposed initially as being important to consider for a project of our nature:&lt;br /&gt;
&lt;br /&gt;
* Research, design, and implementation of efficient algorithms that are able to be computed with available processing power on a smartphone. This presents a challenge as optimisation of the algorithms may be required if the phone performs poorly while running our application.&lt;br /&gt;
* iOS development. We are both inexperienced with iOS programming, so this will require experimentation with iOS development to familiarise ourselves with the process.&lt;br /&gt;
* Synchronisation between the beacon network will be a challenge as most wireless protocols have an uncertainty in time-of-flight that must be overcome to perform precise synchronisation.&lt;br /&gt;
* The research and development of methods for dealing with multipath, non-line-of-sight and environment noise issues. Effective methods may still not function ideally in the worst-case scenarios, so more time will need to be spent ensuring that these issues are dealt with as well as possible.&lt;br /&gt;
* We will need to determine the best way to combine the results from the Bluetooth and ultrasound components of the positioning system, which can pose a challenge as most methods are heavily statistics-based and may require extra time and research to understand and make use of these methods.&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
This section discusses the deliverables we intended to achieve during the course of this project, and the success measures associated with our project.&lt;br /&gt;
&lt;br /&gt;
== Deliverables ==&lt;br /&gt;
&lt;br /&gt;
The key deliverables we initially intended to achieve by the end of this project were the production of an indoor positioning system that complies with the requirements and constraints described in appendix [app:requirements], and a smartphone application that provides location and advertising information to users of the system. Expanding upon this, a list of deliverables relating to the development of the MINIS system is described below, with the expected completion and final completion dates noted:&lt;br /&gt;
&lt;br /&gt;
# Bluetooth LE positioning system component complete (Expected: Week 11, Mid-year break, Completed: Week 5, Semester 2)&lt;br /&gt;
# Ultrasound positioning system component complete (Expected: Week 2, Semester 2, Completed: Week 11, Semester 2)&lt;br /&gt;
# App prototype ready - shows position of user on map (Expected: Week 5, Semester 2, Completed: Week 2, Semester 2)&lt;br /&gt;
# Mobile App Functionality Complete (Expected: Week 8, Semester 2, Completed: Week 11, Semester 2)&lt;br /&gt;
# Final Exhibition (Week 12, Semester 2)&lt;br /&gt;
&lt;br /&gt;
The above completed times indicate the time when no more additions to the application were made. A prototype system that was able to perform positioning was complete before the expected date, but every other aspect of the system has taken much longer to complete than originally intended. While the ultrasound and Bluetooth systems were functional since week 2 of semester 2, many changes, improvements, and fixes were made in the time between the first prototype and the final version. While the smartphone application is not feature complete, and there are still some issues and improvements to be made with the ultrasound, Bluetooth and combined system, the system was in a functional state ready for exhibition by week 11. Such incomplete features and issues include advanced data processing and dynamic distance model adjustment, as well as general system robustness and performance.&lt;br /&gt;
&lt;br /&gt;
== Success Measures ==&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
Each of these success measures are derived from the requirements outlined in appendix [app:requirements], and an evaluation of how well the final system meets these measures is included in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the hardware can be found in Daniel Webber’s thesis .&lt;br /&gt;
&lt;br /&gt;
=== Chirp Transmission and Processing ===&lt;br /&gt;
&lt;br /&gt;
This section focuses on the signal processing aspects of the transmitted and received signals. Figure [fig:chirpflowchart] outlines the process followed by the smartphone application to determine the chirp receival times.&lt;br /&gt;
&lt;br /&gt;
Due to the discussion of how how the signal-noise ratio of a chirp signal (a pulse signal with rising or falling frequency over time) is greater than that of a plain sinusoid in , chirps will be used as the form of ultrasound communication for this positioning system. Also, the use of up-chirps and down-chirps allows for two uniquely identifiable signals, which can be used to determine which pulse corresponds to which beacon.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/chirpflowchart.png|frame|none|alt=|caption Chirp Processing Flowchart&amp;lt;span data-label=&amp;quot;fig:chirpflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
To determine the times of each pulse, as well as the type of signal, each signal received will be correlated (described in section [sec:correlation]) with reference up and down chirps. Correlation spikes above a specified threshold are recorded, and have their amplitude compared to other spikes of the opposite chirp that occur at similar times. This processes helps to reduce spikes that are detected as a result of noise, as up and down-chirp correlation will be approximately equal for sounds that are approximately white noise. If there are no similarly timed spikes of similar amplitude, these spikes are recorded as chirp times.&lt;br /&gt;
&lt;br /&gt;
Both up and down-chirps are used primarily to have two different kinds of uniquely identifiable signals, providing the ability to determine which beacon corresponds to which pulse. Specially assigned timing identification beacons (ID beacons) broadcast a downchirp, which, when detected, can be compared to the current position determined by the Bluetooth positioning system component. The downchirp is assigned to the closest ID beacon according to the Bluetooth position, and since each beacon transmits in a pre-determined order, the current position in the sequence of beacon chirps is known. This method provides an ultrasound chirp sequence synchronisation method without the need for any kind of manual synchronisation. Note that the final version of the system only supports one ID beacon at the time of completion due to time constraints, but would be an important feature to expand upon in the future to extend the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
After discovering through testing that the amplitude for correlation of different chirps was not sufficient for weaker signals at large distances, the chirps were altered to only emit frequencies not shared by the opposite chirp signal. This helped to reduce the correlation value found when correlating with the incorrect chirp, allowing for more reliable chirp and noise differentiation. It was also found through testing that the maximum frequency able to be received by the iPad testing device was 20.5 kHz, which required us to lower the maximum chirp frequency to avoid offset correlations due to the non-receival of a section of the chirp signal. This has resulted in the chirp signals being slightly audible for people who are able to hear up sound up to 17 kHz, but is mostly unnoticeable in a louder environment unless standing closely to an ultrasound beacon.&lt;br /&gt;
&lt;br /&gt;
=== Synchronisation ===&lt;br /&gt;
&lt;br /&gt;
Precise synchronisation is required between each beacon to ensure that they all transmit precisely at the start of their time divisions. Our original intention was to implement manual synchronisation between beacons by use of an external device that is plugged into each beacon one at a time, but this proved to be ineffective after testing showed that clock drift could produce an error of up to one meter every minute per beacon. Due to the need for a sub-millisecond-accurate time synchronisation mechanism and the need to work with cheap microprocessors to stay under budget, inexpensive microprocessor-friendly 433 MHz Pulse Amplitude Modulation (PAM) RF modules were chosen to be used to solve the synchronisation issue.&lt;br /&gt;
&lt;br /&gt;
Each beacon is synchronised to a single RF synchroniser, and emits a pulse at a time dependent on the ID number of the beacon and the number of total beacons. Since each chirp is dependent on the receival time of the RF synchronisation pulse (and with some delay depending on the allocated time slot), the drift of each beacon is consistent and is directly caused by the synchroniser beacon. Due to the use of TDoA for ultrasound positioning, the consistent offset of each chirp will have a negligible effect on the system as the relative offset between each beacon is zero.&lt;br /&gt;
&lt;br /&gt;
After initial testing, it was found that RF interference on the 433 MHz channel was sometimes fatal to the system’s performance when only sending a single RF pulse. The synchronisation system was changed to send and detect a short digital message to confirm that the received signal was the intended signal as opposed to other noise. While this improved the performance of the system such that it was mostly usable when there was interference, there are still timing issues present during times with problematic interference. Due to time constraints, this issue can not be completely resolved, but would be an important task to consider for future development of the system.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
Originally a result weighting process was considered based in the calculated error of positioning, but was re-prioritised below other tasks due to the high accuracy of the ultrasound component positioning system after initial testing. Revisiting this idea may be important in the future to further increase the performance of the system.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
Both ultrasound and Bluetooth beacons should be placed as far apart from each other as possible, but placed such that there are always at least three of each kind of beacon within range of any position within the intended operating environment. If the distance error between two beacons is larger than the spacing, the trilateration can be impacted greatly, resulting in the need for wide spacings between beacons. The three beacon requirement is due to the trilateration process requiring at least three beacons to produce a position calculation.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
=== Functionality Overview ===&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations (figure [fig:design_map])&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest (figure [fig:design_web])&lt;br /&gt;
* Display of distancing and position information (figure [fig:design_debug])&lt;br /&gt;
&lt;br /&gt;
Screenshots of the application are shown in appendix [app:ios_screenshots].&lt;br /&gt;
&lt;br /&gt;
Other major features planned but not implemented due to time constraints include the display of a list of points of interest within the event, and navigation assistance to a selected point of interest. These features would be important to complete in future iterations of the project to provide a complete and useful positioning system. The functionality provided by the end of the project fulfils most of the requirements stated in appendix [app:requirements], with the additional unfinished features completing the desired functionality.&lt;br /&gt;
&lt;br /&gt;
=== Application Overview ===&lt;br /&gt;
&lt;br /&gt;
The iOS application follows the general process outlined in figure [fig:loadeventflowchart] after attempting to load an event.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/loadeventflowchart.png|frame|none|alt=|caption Application Load Event Flowchart&amp;lt;span data-label=&amp;quot;fig:loadeventflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After selecting the desired event, the event information, including positioning system and application parameters, beacon locations, and point of interest data, is downloaded in the form of an XML file. This file is then parsed and the data is placed into the Map object that contains all information relating to the current event loaded. Each item is registered in the appropriate place, such as the user being registered for a position update, and every displayed map item registered for drawing. The positioning system is then initialised, and the program follows the basic process of drawing all map items and updating the user’s position based on the position calculated as described in section [sec:design_comb].&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6562</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6562"/>
		<updated>2016-10-25T04:49:56Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;br /&gt;
&lt;br /&gt;
== Distance Measurement Methods ==&lt;br /&gt;
&lt;br /&gt;
Before we can actually find the location of a user, the distances between the user and each beacon must be determined. The following methods are used to calculate the distances between the beacon and receiving device for either the Bluetooth or ultrasound component.&lt;br /&gt;
&lt;br /&gt;
=== Received Signal Strength Indication ===&lt;br /&gt;
&lt;br /&gt;
Received Signal Strength Identification (RSSI) is used for the Bluetooth component of the system, and uses the received signal strength to determine the distance between the user and the beacon. The received signal strength to distance measurement follows a log-distance path loss trend model  as depicted in figure [fig:RSSI] and described in the following equation: &amp;lt;math&amp;gt;r_i = r_o - 10 * n * log_{10} (d_i/d_o)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is the expected RSSI value, &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; is the distance, &amp;lt;math&amp;gt;r_o&amp;lt;/math&amp;gt; is a reference received RSSI value at reference distance &amp;lt;math&amp;gt;d_o&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is a constant value determined by the transmission characteristics.&lt;br /&gt;
&lt;br /&gt;
[[File:images/RSSI.jpg|frame|none|alt=|caption Log-Distance Path Loss Model&amp;lt;span data-label=&amp;quot;fig:RSSI&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In practice, RSSI values are typically differentiable to an extent up until roughly 10 metres . From then onwards, the signal strength starts to show only small changes when distance is increased. When long distance measurements are coupled with noise, the calculated distances start to become unreliable.&lt;br /&gt;
&lt;br /&gt;
=== Time of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time of Arrival (ToA) is the primary distancing method used with the ultrasound component of the positioning system. This is used when the transmission time of a signal is known, and consists of calculating the difference between the receive and transmit times to work out the distance travelled.&lt;br /&gt;
&lt;br /&gt;
The distance can be calculated using the following formula: &amp;lt;math&amp;gt;d = (t_{rx} - t_{tx})*v_p&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; is the distance between the receiver and transmitter, &amp;lt;math&amp;gt;t_{rx}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;t_{tx}&amp;lt;/math&amp;gt; are the receiving time and transmission time of the signal, and &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; is the propagation speed, which is the speed of sound in this case (approx. 340 m/s).&lt;br /&gt;
&lt;br /&gt;
=== Time Difference of Arrival ===&lt;br /&gt;
&lt;br /&gt;
Time Difference of Arrival (TDoA) is similar to ToA, but instead calculates the relative distances between the receiver and transmitters to determine the location of the receiver . This method is useful as it does not require the time of transmission to be known, and the final result can also be used to find the initial transmit time as the position of the user and beacons will be known. The differences in time are converted to difference in distances using the same method as in Time of Arrival.&lt;br /&gt;
&lt;br /&gt;
Figure [fig:TDoA] shows a scenario in which three beacons are set up in a similar way as shown in figure [fig:tri]. The differences in times of arrival &amp;lt;math&amp;gt;m_{21}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;m_{31}&amp;lt;/math&amp;gt; compared to the transmit time of the first beacon can be measured, and the difference in distances can then be calculated. The radius of each circle, starting at the differences in distances, can be increased until an intersection point between the three circles is found using trilateration.&lt;br /&gt;
&lt;br /&gt;
[[File:images/TDoA.png|frame|none|alt=|caption Time Difference of Arrival scenario&amp;lt;span data-label=&amp;quot;fig:TDoA&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Statistical Methods ==&lt;br /&gt;
&lt;br /&gt;
The following statistical methods are used in various parts of the system to analyse data received.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Correlation ===&lt;br /&gt;
&lt;br /&gt;
Cross-correlation is used to determine how much of a signal is alike to another, and is defined below: &amp;lt;math&amp;gt;(f*g)(\tau) = \int_{-\infty}^{\infty} f^*(t) g(t+\tau) dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;f(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g(t)&amp;lt;/math&amp;gt; are the signals being correlated, and &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; is the time lag. This effectively performs a sliding integral, resulting in high values when the two functions match up.&lt;br /&gt;
&lt;br /&gt;
=== Kalman Filtering ===&lt;br /&gt;
&lt;br /&gt;
Kalman filtering is a method used to produce an averaged result estimate of sensor data in real-time based on current and past inputs . This method if typically used with systems involving signal processing of noisy data to produce a smooth output signal that is less susceptible to noise and outliers.&lt;br /&gt;
&lt;br /&gt;
The Kalman filter process for each sample of data is as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
The Kalman gain is a value that is proportional to the current accuracy of recent data, determined using the error covariance calculated in the previous iteration of the Kalman filtering. The new data sample and calculated Kalman gain are used to set a new error covariance value so that the most recent measurement is taken into account in the accuracy calculations in the future. The new Kalman filter data estimate is calculated by changing the previous output estimate value based on weighting, determined by the Kalman gain and difference between the previous estimate and the new data.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
&lt;br /&gt;
The following research papers helped determine the best technologies and methods to use to develop our indoor positioning system. The work performed by Lazik, et. al  provides the foundation for the ultrasound component of our system. The system documented in the first reference is particularly relevant to our system, as it requires no peripherals for the receiving smartphone to be able to use the system. It also doesn’t require manual synchronisation between the beacons and phone due to the use of TDoA, which was a problem that we initially couldn’t find a solution to until realising the automatic synchronisation ability possible with TDoA.&lt;br /&gt;
&lt;br /&gt;
A method to synchronise the network of beacons with each other is another issue that we have faced. This paper uses IEEE 802.15.4 compliant devices to wirelessly synchronise the beacons, with a base stating receiving timing information from GPS satellites to synchronise with other beacons. This prompted the use of simple Radio Frequency (RF) transmitters and receivers to perform ultrasound beacon synchronisation.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth RSSI-based system was initially mostly influenced by Anagnostopoulos and Deriaz’s paper discussing a weighted averaging technique for high accuracy Bluetooth RSSI measurements . They were able to achieve a position accuracy of 0.97 metres in the best case, which would have been beneficial to our project if we were able to reproduce these results with the time constraints.&lt;br /&gt;
&lt;br /&gt;
WizSync  is a synchronisation method using ZigBee wireless communication sensors to retrieve timing information provided in Wi-Fi packets to perform accurate synchronisation between beacons. This is another synchronisation method we did considered, but it does also require more hardware present on each beacon, and this method requires that a Wi-Fi network is always in range of every beacon in the environment.&lt;br /&gt;
&lt;br /&gt;
Other enabling technologies that were helpful to our research when considering alternatives, but will not be of use when developing our final system are surveyed in . Fingerprinting methods use received signals to determine where the user is located within a room, and typically is only accurate within large fractions of a room, or a whole room itself. These methods were considered, but would be better for a system that requires only on room-level positioning. The use of the in-built accelerometer in smartphones is another interesting concept that wouldn’t have much use in our project, but may helpful in the times where no other signal can be received. The user’s movement can be roughly determined while not connected to the system so that the user can still be provided with updated location information when disconnected from the rest of the positioning system.&lt;br /&gt;
&lt;br /&gt;
Other localisation methods are also discussed in , including proximity-based and triangulation localisation. A proximity-based system would not be appropriate for our system due to the high precision requirement stated in appendix [app:requirements]. This would not be achievable if our system only provided information on how close you are to a beacon, without calculating the actual position of the user. Triangulation is another method of determining a user’s location, and is based on knowing the angles between the beacons and users, which is difficult with our chosen technologies, hence we are using the trilateration method instead.&lt;br /&gt;
&lt;br /&gt;
== Knowledge Gaps ==&lt;br /&gt;
&lt;br /&gt;
Many indoor positioning systems have been developed over the past two decades, but the use of smartphone-based receivers is a developing field due to relatively quick development of smartphones over the past decade. While we will not be exploring techniques and localisation methods that haven’t been used before, we do hope to add our system to the small number of indoor positioning systems that make use of smartphone technology currently available, with a system that supports sub-metre accuracy easy use of the system via a smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Technical Challenges ==&lt;br /&gt;
&lt;br /&gt;
The following technical challenges were proposed initially as being important to consider for a project of our nature:&lt;br /&gt;
&lt;br /&gt;
* Research, design, and implementation of efficient algorithms that are able to be computed with available processing power on a smartphone. This presents a challenge as optimisation of the algorithms may be required if the phone performs poorly while running our application.&lt;br /&gt;
* iOS development. We are both inexperienced with iOS programming, so this will require experimentation with iOS development to familiarise ourselves with the process.&lt;br /&gt;
* Synchronisation between the beacon network will be a challenge as most wireless protocols have an uncertainty in time-of-flight that must be overcome to perform precise synchronisation.&lt;br /&gt;
* The research and development of methods for dealing with multipath, non-line-of-sight and environment noise issues. Effective methods may still not function ideally in the worst-case scenarios, so more time will need to be spent ensuring that these issues are dealt with as well as possible.&lt;br /&gt;
* We will need to determine the best way to combine the results from the Bluetooth and ultrasound components of the positioning system, which can pose a challenge as most methods are heavily statistics-based and may require extra time and research to understand and make use of these methods.&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
This section discusses the deliverables we intended to achieve during the course of this project, and the success measures associated with our project.&lt;br /&gt;
&lt;br /&gt;
== Deliverables ==&lt;br /&gt;
&lt;br /&gt;
The key deliverables we initially intended to achieve by the end of this project were the production of an indoor positioning system that complies with the requirements and constraints described in appendix [app:requirements], and a smartphone application that provides location and advertising information to users of the system. Expanding upon this, a list of deliverables relating to the development of the MINIS system is described below, with the expected completion and final completion dates noted:&lt;br /&gt;
&lt;br /&gt;
# Bluetooth LE positioning system component complete (Expected: Week 11, Mid-year break, Completed: Week 5, Semester 2)&lt;br /&gt;
# Ultrasound positioning system component complete (Expected: Week 2, Semester 2, Completed: Week 11, Semester 2)&lt;br /&gt;
# App prototype ready - shows position of user on map (Expected: Week 5, Semester 2, Completed: Week 2, Semester 2)&lt;br /&gt;
# Mobile App Functionality Complete (Expected: Week 8, Semester 2, Completed: Week 11, Semester 2)&lt;br /&gt;
# Final Exhibition (Week 12, Semester 2)&lt;br /&gt;
&lt;br /&gt;
The above completed times indicate the time when no more additions to the application were made. A prototype system that was able to perform positioning was complete before the expected date, but every other aspect of the system has taken much longer to complete than originally intended. While the ultrasound and Bluetooth systems were functional since week 2 of semester 2, many changes, improvements, and fixes were made in the time between the first prototype and the final version. While the smartphone application is not feature complete, and there are still some issues and improvements to be made with the ultrasound, Bluetooth and combined system, the system was in a functional state ready for exhibition by week 11. Such incomplete features and issues include advanced data processing and dynamic distance model adjustment, as well as general system robustness and performance.&lt;br /&gt;
&lt;br /&gt;
== Success Measures ==&lt;br /&gt;
&lt;br /&gt;
The success of our project is measured from two different aspects: the positioning system and iOS application. In terms of the positioning system, the main aspects to consider when determining the success of the system are:&lt;br /&gt;
&lt;br /&gt;
* How closely was the 75 centimetre positioning accuracy achieved?&lt;br /&gt;
* How much of the area included in the operating environment can achieve this accuracy?&lt;br /&gt;
&lt;br /&gt;
In terms of the iOS application, we consider the following aspects when determining the success of the system:&lt;br /&gt;
&lt;br /&gt;
* Ease of use of the application to load and navigate an event&lt;br /&gt;
* Completeness of the major mobile application functionalities, including a map showing every stall at the event, and the ability to be given directions to a stall a user wants to go to, as well as showing information on their phone when close to a stall&lt;br /&gt;
&lt;br /&gt;
Each of these success measures are derived from the requirements outlined in appendix [app:requirements], and an evaluation of how well the final system meets these measures is included in section [sec:evaluation].&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
This section describes the design of each major component of the system, along with a discussion of the evolution of some design components that were influenced by results found or project constraints. The system design is split into four major components: the ultrasound positioning system, Bluetooth positioning system, combined system, and the iOS smartphone application.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound System ==&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
This section outlines the process that the ultrasound system follows to determine the position of a user within the operating environment of the system. The ultrasound component of the system consists of at least three ultrasound beacons placed within the operating environment, with the locations of the beacons registered on the smartphone application. The smartphone uses its built-in microphone to listen to ultrasound pulses sent from the beacons, which are then used to determine the distances between each beacon and the receiver. After finding the distances, trilateration (discussed in section [sec:trilateration]) is performed to find the position of the user. Figure [fig:usflowchart] depicts the process followed by the ultrasound system to determine the user’s current position, along with a discussion of the process.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/usflowchart.png|frame|none|alt=|caption Ultrasound Positioning Flowchart&amp;lt;span data-label=&amp;quot;fig:usflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Each ultrasound beacon is synchronised using a Radio Frequency (RF) pulse from a synchronising device (details in section [sec:sync_design]), with Time Division Multiple Access (TDMA) employed to share the limited range of ultrasound frequencies available for use. TDMA requires that each beacon transmits an ultrasound chirp at the start of their allocated time division to allow for precise Time-of-Flight (ToF) measurements and to provide a transmission channel with minimal interference. The ultrasound beacon chirp transmission and smartphone processing steps are discussed further in section [sec:sig_proc].&lt;br /&gt;
&lt;br /&gt;
Each ultrasound chirp is received by the smartphone with some delay from the original transmit time, depending on the distance between the beacon and receiver (described in section [sec:ToA]). The difference in distances of each beacon are calculated after determining the chirp receival times. The phone uses the TDoA method from section [sec:TDoA] to determine the initial position, as well as the time at which each beacon initially transmits their signals as only the differences in distances are known. Once the transmit time is known, the less computationally expensive ToA algorithm is used to determine the user’s location as the absolute distances can now be found. This method is fairly similar to that used by Lazik, et. al in , demonstrating that it is a viable and tested method that can produce results with sub-metre accuracy as required for this project. If there is an unexpectedly high change or inconsistency in distance or position, the current results are discarded and the beacon transmit times are redetermined with the use of TDoA. This allows for a more robust system that can withstand errors in measurements, additionally providing the ability for users of the system to walk from one area being synchronised by one synchroniser, to another set of beacons being synchronised by another synchroniser that transmits RF pulses at different times.&lt;br /&gt;
&lt;br /&gt;
The accuracy of distances, and hence position, is limited by inaccuracies in the RF synchronisation (discussed in section [sec:sync_design]), as well as acoustic multi-path effects of the ultrasound pulses. Features to reduce the effect of multi-path waves have not been included due to time constraints, but would be an important aspect to consider in the future of this project.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
An image of a complete ultrasound beacon is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/usbeacon.jpg|frame|none|alt=|caption Final Ultrasound Beacon&amp;lt;span data-label=&amp;quot;fig:usbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The final beacon design consists of an Atmel Atmega 328 microprocessor, three ultrasound speakers to cover a 360 degree angle, a wall clamp, a 433 MHz RF receiver, and a 9 Volt battery. The Atmega microprocessor was chosen as it is the same microprocessor used in the Arduino Uno prototype beacons, allowing for minimal code changes and testing when iterating from the initial prototype beacons. Each ultrasound speaker is powered by a half-H-bridge setup to reduce current draw from processor pins. Development of these beacons began after confirming that the system behaved sufficiently well during the Arduino Uno prototyping phase. We chose to make our own beacons to satisfy the budget constraints of the project, as the costs were lower to produce our own hardware than continuing to use and purchase more Arduino devices.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the hardware can be found in Daniel Webber’s thesis .&lt;br /&gt;
&lt;br /&gt;
=== Chirp Transmission and Processing ===&lt;br /&gt;
&lt;br /&gt;
This section focuses on the signal processing aspects of the transmitted and received signals. Figure [fig:chirpflowchart] outlines the process followed by the smartphone application to determine the chirp receival times.&lt;br /&gt;
&lt;br /&gt;
Due to the discussion of how how the signal-noise ratio of a chirp signal (a pulse signal with rising or falling frequency over time) is greater than that of a plain sinusoid in , chirps will be used as the form of ultrasound communication for this positioning system. Also, the use of up-chirps and down-chirps allows for two uniquely identifiable signals, which can be used to determine which pulse corresponds to which beacon.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/chirpflowchart.png|frame|none|alt=|caption Chirp Processing Flowchart&amp;lt;span data-label=&amp;quot;fig:chirpflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
To determine the times of each pulse, as well as the type of signal, each signal received will be correlated (described in section [sec:correlation]) with reference up and down chirps. Correlation spikes above a specified threshold are recorded, and have their amplitude compared to other spikes of the opposite chirp that occur at similar times. This processes helps to reduce spikes that are detected as a result of noise, as up and down-chirp correlation will be approximately equal for sounds that are approximately white noise. If there are no similarly timed spikes of similar amplitude, these spikes are recorded as chirp times.&lt;br /&gt;
&lt;br /&gt;
Both up and down-chirps are used primarily to have two different kinds of uniquely identifiable signals, providing the ability to determine which beacon corresponds to which pulse. Specially assigned timing identification beacons (ID beacons) broadcast a downchirp, which, when detected, can be compared to the current position determined by the Bluetooth positioning system component. The downchirp is assigned to the closest ID beacon according to the Bluetooth position, and since each beacon transmits in a pre-determined order, the current position in the sequence of beacon chirps is known. This method provides an ultrasound chirp sequence synchronisation method without the need for any kind of manual synchronisation. Note that the final version of the system only supports one ID beacon at the time of completion due to time constraints, but would be an important feature to expand upon in the future to extend the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
After discovering through testing that the amplitude for correlation of different chirps was not sufficient for weaker signals at large distances, the chirps were altered to only emit frequencies not shared by the opposite chirp signal. This helped to reduce the correlation value found when correlating with the incorrect chirp, allowing for more reliable chirp and noise differentiation. It was also found through testing that the maximum frequency able to be received by the iPad testing device was 20.5 kHz, which required us to lower the maximum chirp frequency to avoid offset correlations due to the non-receival of a section of the chirp signal. This has resulted in the chirp signals being slightly audible for people who are able to hear up sound up to 17 kHz, but is mostly unnoticeable in a louder environment unless standing closely to an ultrasound beacon.&lt;br /&gt;
&lt;br /&gt;
=== Synchronisation ===&lt;br /&gt;
&lt;br /&gt;
Precise synchronisation is required between each beacon to ensure that they all transmit precisely at the start of their time divisions. Our original intention was to implement manual synchronisation between beacons by use of an external device that is plugged into each beacon one at a time, but this proved to be ineffective after testing showed that clock drift could produce an error of up to one meter every minute per beacon. Due to the need for a sub-millisecond-accurate time synchronisation mechanism and the need to work with cheap microprocessors to stay under budget, inexpensive microprocessor-friendly 433 MHz Pulse Amplitude Modulation (PAM) RF modules were chosen to be used to solve the synchronisation issue.&lt;br /&gt;
&lt;br /&gt;
Each beacon is synchronised to a single RF synchroniser, and emits a pulse at a time dependent on the ID number of the beacon and the number of total beacons. Since each chirp is dependent on the receival time of the RF synchronisation pulse (and with some delay depending on the allocated time slot), the drift of each beacon is consistent and is directly caused by the synchroniser beacon. Due to the use of TDoA for ultrasound positioning, the consistent offset of each chirp will have a negligible effect on the system as the relative offset between each beacon is zero.&lt;br /&gt;
&lt;br /&gt;
After initial testing, it was found that RF interference on the 433 MHz channel was sometimes fatal to the system’s performance when only sending a single RF pulse. The synchronisation system was changed to send and detect a short digital message to confirm that the received signal was the intended signal as opposed to other noise. While this improved the performance of the system such that it was mostly usable when there was interference, there are still timing issues present during times with problematic interference. Due to time constraints, this issue can not be completely resolved, but would be an important task to consider for future development of the system.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth component of the system primarily provides assistance with the ultrasound measurements as discussed in section [sec:design_comb], as well as being a backup for when erroneous results are obtained using the ultrasound system. Information is obtained using the Bluetooth LE protocol, allowing for a long beacon battery life and easy acquisition of data. See  for a more in-depth discussion of more advanced techniques that were proposed for this system, but not implemented due to time and hardware constraints.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The analysis of the received signal strength identification (RSSI) data is the primary issue for the Bluetooth component of the system. The following flowchart outlines the process followed by the Bluetooth system to determine the user’s position:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/btflowchart.png|frame|none|alt=|caption Bluetooth Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:btflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The Bluetooth beacons send multiple packets per second to assist in the reduction of the effect of outliers when processing data. After extracting the RSSI value from the information packet, the distance between the receiver and beacon is found by the use of a static path-loss model as described in section [sec:RSSI]. This curve was parametrised using the average RSSI values of various beacons over various distances, with the same parameters used for each beacon. While these parameters do differ per beacon, the operating environment also affects the model parameters. Due to time constraints and the complexity of this issue, a static model has been used that can satisfactorily determine the user’s location. The use of precise ultrasound position calculations to parametrise the propagation parameters would be a good future addition to the system to improve the accuracy of the Bluetooth system. The position is then calculated from the distances using trilateration.&lt;br /&gt;
&lt;br /&gt;
Due to received RSSI values having a large number of outliers while continuously receiving values, it is necessary to process the data to reduce the effect of outliers. Kalman filtering (see section [sec:kalman]) is employed to filter the distance and position results to produce real-time averaged results.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Hardware ===&lt;br /&gt;
&lt;br /&gt;
RadLogic’s RadBeacon Bluetooth LE devices shown below are used as the beacon hardware for the Bluetooth component of the system. These devices are pre-made and use the Bluetooth LE protocol, requiring no hardware development or manual signal processing to retrieve the data needed. These devices support a variable transmit power and packet rate.&lt;br /&gt;
&lt;br /&gt;
[[File:images/photos/btbeacon.jpg|frame|none|alt=|caption RadBeacon Bluetooth LE Device&amp;lt;span data-label=&amp;quot;fig:btbeacon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Combined System ==&lt;br /&gt;
&lt;br /&gt;
The Bluetooth and ultrasound results are combined to complement each system to increase the robustness of the system.&lt;br /&gt;
&lt;br /&gt;
=== System Overview ===&lt;br /&gt;
&lt;br /&gt;
The combination of the results is done in such a way that the best aspects of each positioning system component are considered to produce a more robust final position result. The following diagram outlines the processed followed to combine the Bluetooth and ultrasound results into a single position estimate:&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/combinedflowchart.png|frame|none|alt=|caption Combined Positioning System Flowchart&amp;lt;span data-label=&amp;quot;fig:combinedflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After receiving a Bluetooth or ultrasound position update, if there has been no recent ultrasound or Bluetooth position updates, respectively, the received position update will be used as the final position update. If there are recent updates for both ultrasound and Bluetooth positions, the process of checking for distance errors is followed.&lt;br /&gt;
&lt;br /&gt;
As ultrasound measurements are typically more accurate than the Bluetooth measurements in ideal conditions (see section [sec:mezz_testing]), The ultrasound position is used in precedence of the Bluetooth position calculation if there is a low difference error between recent Bluetooth and ultrasound positions. If there is a large discrepancy between Bluetooth and ultrasound position, it is assumed that the error is a result of the ultrasound system incorrectly interpreting noise as a chirp, resulting in the system accepting the Bluetooth position as the true position. This process provides a robust system that is accurate and precise in the best situation, but still available for use in the worst case scenarios.&lt;br /&gt;
&lt;br /&gt;
Originally a result weighting process was considered based in the calculated error of positioning, but was re-prioritised below other tasks due to the high accuracy of the ultrasound component positioning system after initial testing. Revisiting this idea may be important in the future to further increase the performance of the system.&lt;br /&gt;
&lt;br /&gt;
=== Beacon Placement ===&lt;br /&gt;
&lt;br /&gt;
The system aspects discussed in this section are the leading factors to consider when determining the placement of beacons. The placement of beacons is primarily determined by the results shown in sections [sec:noise_testing], [sec:mezz_testing] and [sec:em307_testing]. These results show how noise, non-line-of-sight between beacons and the receiver, and other factors affect the accuracy and precision of the system.&lt;br /&gt;
&lt;br /&gt;
Both ultrasound and Bluetooth beacons should be placed as far apart from each other as possible, but placed such that there are always at least three of each kind of beacon within range of any position within the intended operating environment. If the distance error between two beacons is larger than the spacing, the trilateration can be impacted greatly, resulting in the need for wide spacings between beacons. The three beacon requirement is due to the trilateration process requiring at least three beacons to produce a position calculation.&lt;br /&gt;
&lt;br /&gt;
In terms of the ultrasound beacon placement, it is important consider line-of-sight if high accuracy and precision is desired, as shown in the results in sections [sec:mezz_testing] and [sec:em307_testing]. The ultrasound system update speed is based in the background noise level in the operating environment as shown in section [sec:noise_testing], requiring the closeness of ultrasound beacons to be considered based on desired system performance.&lt;br /&gt;
&lt;br /&gt;
The number of Bluetooth beacons and the spacing between them is the primary concern for Bluetooth positioning performance, along with the propagation characteristics needing to be set appropriately depending on the operating environment, as discussed in section [sec:noise_testing] and appendix [app:distancing].&lt;br /&gt;
&lt;br /&gt;
== iOS Application ==&lt;br /&gt;
&lt;br /&gt;
The iOS application is written in Objective C, and has been developed to provide users with access to the navigation and advertising information provided by the MINIS system.&lt;br /&gt;
&lt;br /&gt;
=== Functionality Overview ===&lt;br /&gt;
&lt;br /&gt;
As of the end of this project, the &amp;#039;&amp;#039;Mobile Indoor Navigation and Information System (MINIS)&amp;#039;&amp;#039; contains the following major features:&lt;br /&gt;
&lt;br /&gt;
* Bluetooth, ultrasound and combined positioning system&lt;br /&gt;
* Map display that shows user, point of interest, and beacon locations (figure [fig:design_map])&lt;br /&gt;
* Internet downloading of event data for external configuration of event data&lt;br /&gt;
* Webpage display when in proximity to registered point of interest (figure [fig:design_web])&lt;br /&gt;
* Display of distancing and position information (figure [fig:design_debug])&lt;br /&gt;
&lt;br /&gt;
Screenshots of the application are shown in appendix [app:ios_screenshots].&lt;br /&gt;
&lt;br /&gt;
Other major features planned but not implemented due to time constraints include the display of a list of points of interest within the event, and navigation assistance to a selected point of interest. These features would be important to complete in future iterations of the project to provide a complete and useful positioning system. The functionality provided by the end of the project fulfils most of the requirements stated in appendix [app:requirements], with the additional unfinished features completing the desired functionality.&lt;br /&gt;
&lt;br /&gt;
=== Application Overview ===&lt;br /&gt;
&lt;br /&gt;
The iOS application follows the general process outlined in figure [fig:loadeventflowchart] after attempting to load an event.&lt;br /&gt;
&lt;br /&gt;
[[File:images/system_design/loadeventflowchart.png|frame|none|alt=|caption Application Load Event Flowchart&amp;lt;span data-label=&amp;quot;fig:loadeventflowchart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
After selecting the desired event, the event information, including positioning system and application parameters, beacon locations, and point of interest data, is downloaded in the form of an XML file. This file is then parsed and the data is placed into the Map object that contains all information relating to the current event loaded. Each item is registered in the appropriate place, such as the user being registered for a position update, and every displayed map item registered for drawing. The positioning system is then initialised, and the program follows the basic process of drawing all map items and updating the user’s position based on the position calculated as described in section [sec:design_comb].&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6561</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6561"/>
		<updated>2016-10-25T04:46:44Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical Background =&lt;br /&gt;
&lt;br /&gt;
Our indoor positioning solution uses Bluetooth and ultrasound technologies to determine the position of a user as accurately as possible. Both enabling technologies complement each other, as Bluetooth systems typically have a longer range but lower accuracy, and ultrasound-based systems typically have a shorter range but higher accuracy . This section describes the enabling technologies, and provides an overview of the important methods that will be used to determine the user’s location within the operating environment.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth LE and iBeacon ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth LE (Low Energy) is a recent Bluetooth standard that supports Bluetooth communication devices that can operate with a much lower energy consumption, in exchange for a smaller data transfer rate. Most modern smartphones support this technology, making it perfect for a beacon-based indoor positioning system.&lt;br /&gt;
&lt;br /&gt;
iBeacons are small communication devices that use Bluetooth LE and are designed to offer proximity-based services. These devices follow Apple’s iBeacon protocol, allowing them to broadcast identification information and have minimal power consumption. This broadcast allows for the receiving device to determine the signal strength, which can be used to calculate distances from the receiving and transmitting devices (see section [sec:RSSI] for more information).&lt;br /&gt;
&lt;br /&gt;
Bluetooth iBeacons are advantageous for indoor positioning systems due to their low cost, availability in modern smartphones, and availability of commercial products that exist using this technology, requiring no hardware development. iBeacon devices also have a larger range than typical ultrasound systems, but this can vary depending on the transmit power . iBeacon distance measurements are however quite inaccurate as described further in section [sec:RSSI], and are sensitive to obstacles in the environment.&lt;br /&gt;
&lt;br /&gt;
== Ultrasound ==&lt;br /&gt;
&lt;br /&gt;
Ultrasound-based indoor positioning systems typically exploit the speed-of-sound to determine time-of-flight from measurements of received times of signals. This is due to the relatively low propagation speed of sound compared to available computing power, as it takes sound roughly 3 milliseconds to travel just one metre. The range depends on the transmit power and frequency, maximised with the highest transmit power and lowest frequency . These can both be entirely configured as we have full control over the transmission method.&lt;br /&gt;
&lt;br /&gt;
Most modern smartphones are capable of sampling audio at 44 kHz, allowing us to operate in the ultrasound frequency ranges of 20-22 kHz, as the upper-limit of human hearing is 20 kHz.&lt;br /&gt;
&lt;br /&gt;
An ultrasound component for our indoor positioning system is considered due to the complementing advantages of both Bluetooth and ultrasound-based systems. Indoor positioning systems based on ultrasound technology typically have sub-metre precision when determining a user’s location . Ultrasound systems are low cost, as they only require a microcontroller and ultrasound speaker to act as a transmitter, and no external peripherals are required for the receiving smartphone due to the built in microphone.&lt;br /&gt;
&lt;br /&gt;
Ultrasound systems based on time-of-flight calculations are however affected heavily by multi-path waves that bounce off of walls, so reflected signals may be interpreted as the signal currently being expected . The range of ultrasound beacons are usually lower than the range of Bluetooth beacons. While transmit power can be changed, this can result in the a greater multi-path effect on the system. A method of precise synchronisation is also required for ultrasound systems due to the need for each beacon to broadcast at a specific time to achieve accurate time-of-flight measurements.&lt;br /&gt;
&lt;br /&gt;
== Trilateration ==&lt;br /&gt;
&lt;br /&gt;
Trilateration is a method used to determine the position of an object based on the distances measured between an object of unknown location and beacons of known locations. Figure [fig:tri] shows an object of unknown position, surrounded by three beacons. Once the distances between the object and each beacon has been determined, the location of the object can be found by finding the intersection point between circles plotted around each beacon, with a radius equal to the distance measured.&lt;br /&gt;
&lt;br /&gt;
[[File:images/trilateration.png|frame|none|alt=|caption Trilateration scenario&amp;lt;span data-label=&amp;quot;fig:tri&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
For a scenario as shown in figure [fig:tri], where the first beacon is located at the origin, the second beacon is located on the x-axis, and the third beacon is located anywhere, the position of the object can be found using the following method:&lt;br /&gt;
&lt;br /&gt;
Describe each circle in terms of circle equations: &amp;lt;math&amp;gt;d^2_1 = x^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_2 = (x - x_2)^2 + y^2&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;d^2_3 = (x - x_3)^2 + (y - y_3)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_3&amp;lt;/math&amp;gt; are distances between beacons and object being located, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are the coordinates of the object being located, and &amp;lt;math&amp;gt;x_n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_n&amp;lt;/math&amp;gt; are the coordinates of the &amp;lt;math&amp;gt;n^{th}&amp;lt;/math&amp;gt; beacon.&lt;br /&gt;
&lt;br /&gt;
The position of the object being located can be found by calculating the intersection point between the three circles by solving equations 1-3 for x and y. To use this method for beacons of any location, the beacons must be shifted so that one is on the origin, and rotated so that another beacon is on the x-axis.&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6560</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6560"/>
		<updated>2016-10-25T04:45:57Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Aims ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?&amp;amp;quot;&amp;#039;&amp;#039; was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
Our proposed solution was to create the &amp;#039;&amp;#039;Mobile Indoor Navigation Information System (MINIS)&amp;#039;&amp;#039;, using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising information to each user of the system.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
== Significance ==&lt;br /&gt;
&lt;br /&gt;
Location based services is a developing area encompassing a variety of useful services depending on a person’s location, such as indoor navigation and advertising based on location . A positioning system is required to determine a person’s location so that these services can become available. Currently, the most used positioning system is GPS (Global Positioning System), which is primarily used to provide the user with their current position for vehicle navigation purposes. GPS excels in large open areas due to the existing satellite infrastructure and ease of use, but a different solution is required when dealing with indoor environments.&lt;br /&gt;
&lt;br /&gt;
GPS requires line-of-sight with the satellites to operate correctly, and also provides the user with a location that can have an error of anywhere between 2 to 60 metres . This is not useful within an indoor environment as there is no line-of-sight with the satellites, and locations of interest may be within a closer distance than the error in distances given by GPS measurements, making it difficult to accurately determine whether you have reached the correct destination.&lt;br /&gt;
&lt;br /&gt;
Indoor positioning systems solve this issue as they are able to provide location information when indoors and with high precision. We have aimed to find and use the best methods available to us to produce an easy-to-use indoor positioning system that is accurate and can cover a large area.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
This project has been undertaken to attempt to develop a refined indoor positioning system that performs well in a crowded indoor environment. A well performing indoor positioning system will give future large-environment providers, such as event holders and shopping mall owners, a strong option to consider when choosing a suitable indoor positioning system for their environment.&lt;br /&gt;
&lt;br /&gt;
Both the end-user and environment provider will benefit from a wide-scale indoor positioning system. The users of the system will be able to easily navigate the environment so that they are able to reach their destination promptly, as well as giving them easy access to an overview of the entire environment. The event providers will benefit from having a location based advertising solution, enabling them to send targeted advertising to customers walking past a shop, giving them the ability to pique their interest in a sale they would have otherwise not known about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?”&amp;#039;&amp;#039; is the leading research question associated with this project.&lt;br /&gt;
=== Aims ===&lt;br /&gt;
The following three primary aims have been identiﬁed to satisfy this question:&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
=== Proposed System ===&lt;br /&gt;
Our proposed solution is to create an indoor positioning system using Bluetooth iBeacon and ultrasound technologies, and to develop a iOS smartphone application to present location and advertising information to the user.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intend to have an indoor position system capable of determining the user’s location within the ﬁnal project exhibition hall, with a high enough precision to be able to diﬀerentiate the location of individual stalls. We also intend to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6559</id>
		<title>Projects:2016s1-145 Indoor localisation using Bluetooth LE for Event Advertising</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2016s1-145_Indoor_localisation_using_Bluetooth_LE_for_Event_Advertising&amp;diff=6559"/>
		<updated>2016-10-25T04:28:48Z</updated>

		<summary type="html">&lt;p&gt;A1647191: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Group members:&lt;br /&gt;
*Daniel Webber &lt;br /&gt;
*James Donovan &lt;br /&gt;
&lt;br /&gt;
Supervisors:&lt;br /&gt;
*Dr. Hong Gunn Chew&lt;br /&gt;
*Dr. Cheng Chew Lim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
“How can we provide advertising information to users based on their location within a crowded indoor environment?” was the leading research question associated with this project. The following three primary aims were identified initially to satisfy this question:&lt;br /&gt;
• To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
• To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
• To advertise information to the user based in their current location&lt;br /&gt;
Our proposed solution was to create the Mobile Indoor Navigation Information System (MI- NIS), using Bluetooth and ultrasound technologies to determine the location of a user, along with a corresponding iOS smartphone application to present location and advertising infor- mation to each user of the system.&lt;br /&gt;
By the end of the year, we intended to have a complete indoor position system capable of determining the user’s location within the final project exhibition hall, with a high enough precision to be able to differentiate the location of individual stalls. We also intended to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;“How can we provide advertising information to users based on their location within a crowded indoor environment?”&amp;#039;&amp;#039; is the leading research question associated with this project.&lt;br /&gt;
=== Aims ===&lt;br /&gt;
The following three primary aims have been identiﬁed to satisfy this question:&lt;br /&gt;
* To research and determine the best method to create a smartphone-capable indoor positioning system&lt;br /&gt;
* To develop an indoor positioning system capable of determining a user’s location within a crowded indoor environment&lt;br /&gt;
* To advertise information to the user based in their current location&lt;br /&gt;
&lt;br /&gt;
=== Proposed System ===&lt;br /&gt;
Our proposed solution is to create an indoor positioning system using Bluetooth iBeacon and ultrasound technologies, and to develop a iOS smartphone application to present location and advertising information to the user.&lt;br /&gt;
&lt;br /&gt;
By the end of the year, we intend to have an indoor position system capable of determining the user’s location within the ﬁnal project exhibition hall, with a high enough precision to be able to diﬀerentiate the location of individual stalls. We also intend to have a fully functional application released on Apple’s App Store to allow public use of our system.&lt;/div&gt;</summary>
		<author><name>A1647191</name></author>
		
	</entry>
</feed>