Understanding CIR output of the DW1000

I’m trying to make sense of the CIR output from the DW1000.

I am confused by two things:

  1. Why does the leading edge always seems to output a value of ~740-750ns (FPhw) no matter what the distance between the transmitter and receiver?

    When I move the Tx and Rx 30m apart there is no difference. Given the speed of light, this should cause a very noticeable ~100ns change.

  2. Why is the leading edge so large? At 750ns, this is a distance of ~225m. This does not make sense especially when I place my Tx and Rx on the same tabletop. Even if I subtract out the antenna delay of ~510ns, this is a distance of ~70m, which also makes no sense.

I suspect there is something I’m misunderstanding here, can someone enlighten me?

Is there some way where I can normalize the output to get sensible numbers or have the leading path actually change given the distance between Tx and Rx?

  1. This is the feature of DW1000, the receiver will place the max energy around this index, thus the FP is usually around this index when LOS.

  2. The 750ns does not relate to actual distance between the transmitter and receiver. The receiver gets SFD from the transmitter and timestamps this (see User Manual RMARKER), this is the RAW timestamp. Then the on-chip algorithm looks at the CIR to estimate where the FP is and give a better accuracy to the RX timestamp. You can only get a range/distance once you get ToF between the devices.

Have you solved your problem? I get CIRs from my DW1000 chip. I get a total of 992 samples, here I show the last 492 samples. I calculate each samples with abs(a+bi). The picture is shown below:


I don’t know why CIR is like this, can you give me some advice?

If you have a setup with a clear line of sight then what you will normally see is a fairly low signal up to around 740 - 750 followed by a large spike and then a series of (normally) smaller spikes that decay down.

If you aren’t getting something similar to that when you have a clear line of sight then you are almost certainly have a bug in how you are reading the data from the chip or how you are interpreting the data that you are getting.

That initial spike is the direct path signal, the later ones are the reflections.

To give you an idea of what to expect, here is the CIR I get when testing in an open field, just about the best possible environment. As you can see there is a single large spike representing the signal and virtually nothing else other than low level background noise.

And now here is the same system inside an old aircraft hanger, basically a large metal box with some very strong reflections. Despite the direct line of sight some of the reflections are stronger than the direct signal. But as shown by the read line the DW1000 still correctly identified the leading edge of the signal.

At my desk I see something a little different. I get a lot more smaller pulses after the first big spike. That’s due to lots of small reflections off different objects rather than one large reflection of a single large wall as seen in the hanger.

How is the process realized? Can I refer to any documents?

Hi Zoran,

I have a question regarding the second part of your reply. After acquiring TOF at the receiver, can I use that information to get the full channel response, meaning that the CIR starts at 0 (when the signal leaves TX) and the leading edge time (orange line in the figure) corresponds to the TOF?

Thank you,
jleng