CIR magnitude from DW1000

Hi all,

I was using dwm1002 anchor and dwm1003 tag for positioning. In order to get information about the channel, I retrieved the CIR data from the accumulator and plotted them. The figure showed good result, for example in a LOS scenario:

However, there is no information about what does the magnitude of these CIR data represent. Normally for CIR the y axis is the channel gain, in dB. Here, the magnitude of the highest peak is around 6000, which is hard to explain in dB.

Does anyone have idea about what is the unit for CIR data?

Hi Xiaochen.

Can you tell me, How do I extract CIR data from accumulator. I am very beginner in this area

Thank you

It depends on the firmware you are running. The API includes a function to read the CIR data as part of the diagnostics. Or the user manual describes the method needed to extract the information directly.

The user manual also gives a calculation to calculate the first path and peak powers in dBm. It should be possible to apply the same conversion factor to convert the CIR Y axis scale into dBm. However since generally the value of the CIR is mainly of interest relative to itself and the threshold (which is given in the same units as the CIR data) this conversion isn’t normally needed.


Sorry for the late reply. Could you specify your problem a little bit? The way I read the accumulator data is using putty serial communication. Maybe you can try this?

Can you guide how to collect data from accumulator or point to a link where I can read and understand it



Do you mind letting me know if your implementation is based on FreeRTOS or bare metal (or some other RTOS)?


I am using DWM1000 PDoA kit from Decaware which consists of DWM1002 and DWM 1003. I believe its NRF board.

Thanks! How about @Xiaochen?

Yes of course.
I assume you have already read the users manual for DW1000 and DWM1002. In order to retrieve accumulator data, what I did is:

  1. connect the DWM1002 node to PC via USB cable;
  2. start a terminal program (here I use putty) and connect to the node’s virtual COM port;
  3. In the terminal, use commands to add tags;
  4. Enable accumulator output (use the command “accum 1”);
  5. run the node, you’ll get the raw accumulator data from the terminal

Note that the raw accumulator data might be truncated if the sampling rate is too high. What decawave suggests is a sampling rate lower than 1Hz. I am using 1Hz and it works fine for me.

As long as you get the raw CIR data, you can parse them to get the actual CIR. To do this, you can refer to DW1000 user manual 7.2.38 Register file: 0x25 – Accumulator CIR memory

If there are more questions, let me know

1 Like

Hi, I am also using the beta PDoA kit (DWM1002 + DWM1003).

Thank you for your support, I will let you know and keep updating


Thanks for your reply. I was actually curious about if your implementation is RTOS-based or bare-metal. If it’s the former, which RTOS are you using for the PDoA kit? I’m using ZephyrRTOS for some other Decawave devices but interested in getting a PDoA kit.

Thank you!