Fast & Accurate BLE Channel Sounding for Localization with nRF54L15

Hi,

For my Master Thesis, I’m working on localization using nRF54L15 boards with BLE Channel Sounding. I’ve been using the official samples available online, specifically the Bluetooth: Channel Sounding Initiator with Ranging Requestor/Initiator example.

I’ve already explored how phase slope can be used to estimate distance and have implemented a basic version myself. I also tested using only ~30 frequencies, evenly spread between 2404 MHz and 2478 MHz, and the distance estimation still works surprisingly well with decent accuracy.

At this point, I’m looking to:

  1. Increase the measurement rate significantly – ideally up to 2 distance measurements per board pair per second.

  2. Maintain or improve accuracy – though speed is the current priority.

  3. Easily implement sequential connections with multiple boards to perform multilateration (similar to GPS, using the intersection of 3 distance circles for localization).

I’d really appreciate any advice or insights on how to approach these challenges, especially in terms of improving throughput and managing board-to-board interactions efficiently.



Nick De Leenheer

  • More concrete i have these questions:

    But in general... i am curious about some the scanning parameters for channel sounding (CS):

    1. How to connect with more devices(i have seen some samples with multiconnections)
    2. How to easily retrieve the device name from the reflector correctly and to see where it is stored (because the bt_scan_filter_match contains some usefull info that i dont know how i can use)

    3. Can you scan for specific devices?


    to retrieve the reflectors name i currently use:



    but this code also has random characters behind the name

  • Hi

    1. As of now we don't have specific multi-connection support added, but there will be more additions to the Channel Sounding features in the next version of NCS (v3.0.0) coming soon.

    2. The device name can be added to the advertisement packet with BT_DATA_NAME_COMPLETE. Please check out the DevAcademy course on Bluetooth Low Energy available here. 

    3. Yes, it should be able to filter for specific devices, either with device name or by UUID filterting.

    Best regards,

    Simon

Related