top of page

Software

Overview

Bluefinder is used to locate Bluetooth devices using software define radios. It uses the BlueDentist algorithm for identifying and recording of Bluetooth devices and extends these findings by estimating the location of the devices. In order to find the location, BlueFinder uses the Angle of Arrival algorithm. This algorithm can be found in the Direction Estimation thread in the software flow. 

Flow Diagram

Flow Chart.png

The ISM24 is the top level function that controls all of the worker threads.
ISM24 refers to the 2.4GHz band where we are measuring the signals. The program follows a multi-step process using threads to measure, analyze, and decode Bluetooth signals.
Starting from the left,

  • The Capture Thread is where we adjust the radio configuration such as sample size and frequency. The captured data is placed into a frame -- which acts as a buffer for complex 16-bit numbers. If the buffer is full, some samples will be dropped, or sent along with the next frame.

  • A valid frame is then sent on to the channelizer thread, which splits the sample up into the 79 bluetooth channels.

  • The Filter thread determines the time selection of the frame that contains a Bluetooth signal.

  • The Analysis thread will calculate the channel power for the frame and estimate noise floor threshold.

  • Both of which helps us identify whether or not the frame potentially contains Bluetooth data. If the power of the channel > noise threshold, then it is possible a Bluetooth device is in a channel.

  • If a frame potentially captured a Bluetooth signal, then it is sent to the decode thread, where the frame is decoded for a Bluetooth access code.

  • We are currently working on the direction finding thread, which will calculate an estimate of the location of a device by using the angle of arrival estimations from different antennas. 

  • Finally, the data, location of the signal source, will be saved on a SSD.

Angle of Arrival 

The algorithm calculates the angle to the signal source using phase shift between the same signal received by two or more antennas (antenna array)

 

The more antennas in an antenna array, the better the estimation of the angle of arrival of a signal. We currently have two antennas for each of our two XTRXs, but additional antennas would improve the accuracy of the location estimation.

Below is a video demonstrating how antennas interact in the angle of arrival algorithm. 

Note: Our project only reached the goal of estimating of location using the Angle of Arrival algorithm, but we realize that there are other algorithms that can be used to improve this estimate. Below are some additional ideas we had for improving our project estimates.  

Time Difference of Arrival 

The algorithm calculates the distance to the signal source using the difference of time the same signal is received by two or more antennas. Like GPS, three antennas are required to determine location. 

Below is a video demonstrating how antennas interact in the time difference of arrival algorithm. 

Hybrid of Both Algorithms

To continue, we could combine the AOA algorithm and the TDOA algorithm to perform a better location estimation of bluetooth signal. 

Below is a video demonstrating how antennas interact in the hybrid of both algorithms. 

bottom of page