Nordic Distance Toolbox - measurement at high precision

Hello,

I have a problem with distance measurement using BLE. I adapted DM sample from nordic connect SDK to do measurement using "high precision" method. I collected over 100 samples for different distances beween my devices.

As you can see on following diagrams, I get like 2 different measured distances for one real static distance between 2 devices. Do you have any ideas what could cause this effect? The effect takes action not only for "high precision method" but as well as for example phase slope and at different distances.

My setup:

devices: custom boards using NRF52840, pcb antenna

sw: nordic connect SDK v1.9.1, nrf_dm sample

To enable high precision measurement I added following code to dm.c source file:

high_prec = nrf_dm_high_precision_calc();

and enabled CMSIS DSP in project config:

CONFIG_CMSIS_DSP=y
CONFIG_CMSIS_DSP_MATRIX=y

Thank you.

Lubo

Parents
  • There could be issues with your customer HW, please double check if there are any issues with the antenna path or similar interference noise from close proximity network on the radio path towards the antenna. There are some calibrations that we do to tune away hardware specific offsets and you need to do the same for custom hardware.
    In the file nrfxlib\nrf_dm\include\nrf_dm.h -> sruct nrf_dm_config_t -> member dist_offset_err, you can add an offset of the error that your hardware is showing with this solution. This offset will be different for different hardware and with custom hardware, you need to test and adjust these distance offsets that fits for your hardware

Reply
  • There could be issues with your customer HW, please double check if there are any issues with the antenna path or similar interference noise from close proximity network on the radio path towards the antenna. There are some calibrations that we do to tune away hardware specific offsets and you need to do the same for custom hardware.
    In the file nrfxlib\nrf_dm\include\nrf_dm.h -> sruct nrf_dm_config_t -> member dist_offset_err, you can add an offset of the error that your hardware is showing with this solution. This offset will be different for different hardware and with custom hardware, you need to test and adjust these distance offsets that fits for your hardware

Children
Related