We have staged 2 DWM3001CDK (1 INITF/ 1 RESPF) using the CLI-firmware and got it working but the distance (cm) error is between 40cm to 50cm when comparing to ground truth, we measured from 30cm to 200cm at 10cm interval (both boards are facing each other)
Is there any way to reduce the error? Or are we doing something wrong here? (misconfig perhaps, etc)
Are you getting a constant (or almost constant) range error over the whole range?
If so then by far the most likely cause is antenna delay calibration. For every unit the delay between the devices internal timing logic and the antenna is different and needs to be calibrated. There may be a factory calibration already on the devices but this is rarely perfect.
For a single pair of devices the simplest solution is to measure the average error and subtract that from the results, either by changing the delay value programmed into the units or at the user application level.
When you get into multiple devices it gets more complicated since you need to calculate how much of the error is caused by each device. There are lots of posts here about how to work that out.
OK so if you calibrate that out you’ll be in the +/- 5 cm range. Which is about where you would expect.
After compensating and calibrating for all the things I can think of I can normally get the mean error down to 2 cm or less for any given range. But the standard deviation on individual measurements is typically in the 3 cm range so without any averaging you see around a 10 cm spread of ranges.
DWM3001CDK modules were already calibrated and the calibrated values are recorded in OTP.
In the CLI, you can use the GETOTP command to retrieve the calibrated values. And you can find the antenna delay values map in Developer Manual Section 13.1. in the QM33_DW3k_SDK_1.0.1. You can also do the same for the TX power and Xtal trim calibration.