Distance Measurement Accuracy

Hello and thank you for your help.

I am working with the nrf52840 for a project that uses distance estimates. I have tried the sample Bluetooth: nRF Distance Measurement with Bluetooth LE discovery using MCPD. Can I check if there are any accuracy estimates for the MCPD ranging mode or any tested margin of error? I would like to see if the measurements I am getting are within the expected range.

Thank you.

  • Hi

    Please check out the slides from the Nordic distance toolbox webinar available here. In high precision mode you can see that the standard deviation is ~37cm, which is for example in an office environment with a lot of noise this gives reliable results up to 10 meters. In less noisy environments this increases, but testing should be done to find what you can expect.

    Best regards,

    Simon

  • Thank you for your help.

    Can I check what the testing environment for the slides were like? From slide 23 I can see it's an office setup, but could I know if the DKs were positioned to face each other or if there was a lot of metal in the surroundings?

    I've been testing with multiple DKs and I seem to be getting readings around 9 metres even with high precision for a physical distance of 6 metres. The graph below shows the output measurements for a constant distance of 6m over 2 minutes (277 readings).

    At 3 metres, high precision readings seem less consistent as well. The graph below is measured distance against reading number for 240 readings over 2 minutes at a constant distance of 3 metres.

    For the setup, I had the 2 nRF52840 boards on the floor with a metal measuring tape between them. Any interfering WiFi was turned off as well. Are there any other envrionmental considerations I should make?

    I setup the high precision by adding the line CONFIG_DM_HIGH_PRECISION_CALC=y to the proj.conf file for the distance measurement sample. It looks like it's working, since I get far more readings over 2 minutes without using high precision, which I assume is expected since high precision takes more time to compute. Please let me know if this is the right way to configure high precision as well.

  • I'm sorry, we don't have more concrete information than what is stated in the slides and the webinar itself on what exactly the environment was like. However it should be safe to assume the two DKs were placed on two desks in an open office environment with no metal obstacles directly inbetween them. Wifi and other BLE devices was likely not disabled.

    What does this "metal measuring tape" do exactly in your setup? And what size is it?

    Best regards,

    Simon

  • Thank you.

    The measuring tape is a standard aluminum tape I used as a reference for the actual distance. My setup is similar to the image below where the boards were on the floor. Removing the tape gives me slightly larger readings (around 9.4m for an actual distance of 6m compared to 9.1m with the tape).

    Can I check if the method of configuring high precision was correct? I didn't modify any of the sample code for distance measurement except for setting CONFIG_DM_HIGH_PRECISION_CALC=y in the proj.conf file.

     Distance measurement sample used: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/bluetooth/nrf_dm/README.html 

  • Okay, I thought maybe you used it to try and block the signal, Can you confirm that the SDK version you're using for testing is v2.2.99 of the nRF Connect SDK, then I can ask the developers if there are any known issues with the version you're using? Enabling CONFIG_DM_HIGH_PRECISION_CALC in your project config file should be sufficient, but please note that the calculation has an impact on MCPD ranging only. Can you also try raising the two DKs from the floor by putting them on chairs or desks for example?

    Best regards,

    Simon

Related