Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Location updates interfere with measured signal strength #1224

Open
lettoka opened this issue Feb 21, 2025 · 0 comments
Open

Location updates interfere with measured signal strength #1224

lettoka opened this issue Feb 21, 2025 · 0 comments

Comments

@lettoka
Copy link

lettoka commented Feb 21, 2025

Summary

We discovered that activity tracking (e.g. GPS location updates) running on the phone interferes with the BLE signals. The measured signal strength, which is the primary source of our localization method, changes on some specific phones, while location tracking is running in another application.
 
Our localization method relies on two different steps:

  • Ranging iBeacons - this is a less precise method but also plays an important role in our logic.
  • Measuring the received signal strength after connection. This is measured by the peripheral which is an embedded device.

 
We tested all available phones to us which is approximately 20 Android and 16 iOS devices.
 

The effect on the recorded signal can be split up to two separate problems:

  1. The measured iBeacon signals have periodically occurring peaks. These peaks can be even by 30 dBm higher than the normal value. We could only reproduce this with the Samsung Galaxy S series from S10 to S21. Newer models we have (S22 Ultra, S23 or S24) and also other Samsung models we tested  (A34,A50,A54,A14) don’t show this behavior. We also checked some Pixel, Sony Xperia, Motorola and Xiaomi phones but were not able to reproduce the issue with them either.
An example how these peaks look like:
Image

Location tracking was turned on when peaks started to occur. The different colors are different measured iBeacons. The phone and all the iBeacons were in a fixed position during the whole measurement.

  1. The measured signal strength on the peripheral has continuously different values while location updates are active. The device that measures the phones signal sends back the result of the measurement, so we can display it. The values are sent back after a moving average was calculated to reduce some noise.
This was only seen on iPhones, and on the Samsung Galaxy S22 Ultra, but the change was not as high as on the iOS devices. Only specific models are affected, these are the ones where we have seen the biggest changes: iPhone SE3, iPhone 13 mini, iPhone 13,iPhone 14, iPhone 16 pro. 
 

Some example pictures:

iPhone 13 mini:

Image

iPhone 14:

Image

The top graph shows the measured iBeacons and the bottom one shows the measured RSSI values by the peripheral. The orange area marks time where location updates were active. We can see that also the iBeacons have the same dampening of the signal strength value. Again, the position of all devices was fixed during the measurement.


_A third example just to show that the values are not always getting lower, but sometimes higher (iPhone 16 pro):_

Image

How to handle?

Is there any explanation to these behaviours other than HW/ antenna issues and interference? Or is there a way we could handle these cases or at least filter it out?

Thank you for your answer in advance!

Best regards,
Levente

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant