DWM3000 as Antenna Delay Reference Test Board

Hello,
This might be an odd one to ask as I doubt someone outside Qorvo/DW themselves has a good answer, but hopefully some of you already tried this out.

Can you use an off-the-shelf DWM3000 module as a reference test board for calibrating antenna delay?

The Qorvo APS312 app note mentions this custom in-house DW3000 based reference board they are using to calibrate every other design. While one would still require some high end instrumentation to work through all the testing outlined in the RF section, I was curious to know if you could at least use a DWM3000 module to perform the antenna delay calibration as specified in the “2.2.5 Calibrating for Antenna Delay” section of the app note.

I am aware that TWR with 3 devices that all have unknown antenna delays can resolve the delays using EDM and the physical distances between the devices (as described in an app note for the DW1000), but would really like to have a quick way of doing it without all of that setup/iterations.

If this doesn’t work, or there are high chances it won’t, are there some solutions that don’t require 10k$ equipment?

Thank you and Best Regards,
Filip.

You can do the calibration with a single reference device if you know the delay on that device is set correctly. So how much do you trust the factory calibration on the DWM3000?

To be honest the best approach I’ve found so far is to installed everything and survey them in accurately first. Then measure a few hundred times between every possible pair of units that have a clear line of sight. At this point you have far more data than is technically needed to calculate the antenna delays. You could split the devices into groups of 3 and calculate the values for each group but you’ll almost certainly find that gives you slightly different values depending on how you group things. Instead I thrown all of the data into a least squares optimisation and find the delays that give the minimum errors for all possible signal paths.

One thing to keep in mind, you will see a variation in effective antenna delay depending on the orientation of the devices.

1 Like

Thank you for the response, Andy.
Regarding your first point, well, they do sell the DWM3000 at around 2x the price of the DW3xxx transceiver, but at the end of the day it is an evaluation tool and I assume calibrated and characterized as such.
When you mention " is to installed everything and survey them in accurately first." that assumes you are doing this with just the anchors in a typical RTLS system, already in their final places, correct? It is my understanding that for a tag within an RTLS wireless synchronized system, its antenna delay is also important and should be known. Citing from APS014 Section 2.3.3 (for DW1000 but I assume it still applies):
"For RTLS systems generally, the receiver antenna delay should be known for most accurate
ranging in a system using wired synchronization and both the transmitter and receiver
antenna delays should be known in a system using wireless synchronization."
Also, that method might already include the distance bias effect within what you would otherwise call the antenna delay, but it still only works if none of the devices move relative to each other (which is also why I assume you say “but you’ll almost certainly find that gives you slightly different values depending on how you group things”)

The aim would be to get everything as calibrated and ready to go as we can from the factory floor even if it takes some extra steps.
Then assuming we can get the antenna delays for 3 custom devices using the DW3xxx transceiver (with identical-ish antennas at equal distances to each other) by the EDM method, could we use that data and one of the devices to (to some degree) reliably calibrate the rest on the factory floor?

Thank you,
Filip.

Yes. We place the tag in the middle of the area, put it into anchor mode and survey it’s location. The tool also includes the option to put more emphasis on minimising tag to anchor range errors over anchor to anchor range errors.

All measurements will have noise (which averaging helps with) and things like signal strength and temperature biases which you are never going to correct for perfectly (which averaging won’t help with). You can also get some signal angle of arrival range effects due in part to signal levels and partly from physical antenna characteristics. All of this will show up as antenna delay in the calibration. Which is why I find I get better results using this overdetermined approach, these other effects get averaged out a little bit.

I also find that these effects can be a little environment dependent which is why calibrating in the final site gives better results. Open fields seem to give range errors that are a few cm different to an office enviroment.

For a factory calibration we have a known unit (calibrated as part of a large group in a big open area) mounted in a fixed location. The new unit is placed at a known location and we set the antenna delay to give the correct range to the known unit. After calibrating it we test again to verify that the error is now below a threshold.
Taking units calibrated this way and then calibrating them in site we normally get results that are different by 2-4 cm. So not a huge difference but enough that the on site version makes an improvement in the end results.

Obviously it does depend on how you are surveying in the anchors, if you are only accurate to a few cm then this difference doesn’t matter much.

HI Andy
Can you describe the test method of factory antenna delay in a little more detail? Such as how far away, how many tests, software calls. Can provide some experience to learn.
Thank You!!

Around 18 meters (the length of our production area). The reverence units are mounted on the roof at one end, the unit under test fits into a fixed bracket at the other end.

It measures 1000 ranges, calculates the average range error, standard deviation of range, average received power and standard deviation of power.
If the average power is too low the unit is flagged as faulty.
If the standard deviations are over a certain threshold it flags the results as unreliable, repeat the test. If they are consistently over the threshold then the unit is flagged as in need of checking.
The required antenna delay is then calculated and programmed into the unit.
We then measure a further 250 ranges and verify that the average range error is now within the allowed tolerance.

The results of this aren’t as good as can be done in an open air test but it’s fairly quick and gives reasonable results. We normally do a final calibration after final installation but this ensures reasonable results out of the box.

Software calls used are meaningless, it’s our own firmware and test software so unless you are using our system they wouldn’t work. Our anchors are capable of measuring range to any other specified anchor and reporting the results when instructed to over an RS232 link. The tags can be sent a command to act as an anchor. So we do that and then the test is the same for everything.

Hello Andy,
This is an interesting approach and while I think I may be asking for too many sensitive details regarding your setup, I am willing to try :slight_smile:

Are your UWB devices using linear or circular polarization antennas?
How close to the ceiling (I assume you mount the devices using a ceiling attached mechanism, but not on the actual ceiling) are the devices and how do you account for multipath interference from it or the floor?

Is the ceiling or part of it covered in RF absorber? Making a pseudo anaechoic chamber for any path interference that would be very close (time-domain) to the direct path, and ignoring all other paths due to low power/higher delay.

Best Regards,
Filip.

Some basic answer -

The FCC ID is 2AU5C-VIPSR01. If you know where to look that will get you photos. Nothing in those listings should be considered confidential since it’s in a public report.

Linear. As can be seen in the photos from the FCC report.

The units are around 10 cm high with magnetic feet. The antenna and ground plane are at the very top. It’s a standard office type ceiling, a metal grid with foam panels filling the gaps. The unit mounts upside down and attached directly to the metal grid. Very quick, easy and secure. We drew lines on the grid to make it easy to check if things get moved by more than a few mm by accident.

If we put both devices on the ceiling we do indeed see weird effect. But the unit under test isn’t on the ceiling. It’s lower down in a place that puts it above most peoples heads but still easily accessible. Since the ceiling is fairly high this keeps the line of sight path between the two points a reasonable distance from most obstructions so we don’t need anything special. And if it couldn’t cope with floors, walls or other bit’s of metal in random locations in the environment it wouldn’t be much of an indoor positioning system. What’s the point in calibrating something to be perfect in a perfect environment when it needs to work in the real world? Far better to make it work reasonably in a typical environment and then provide a simple means to fine tune it in the final environment.

Thanks for the ID, that looks sweet, and good job to the team that designed it. Is that antenna something custom or does it belong to some class of antennas (just as a learning opportunity)?

And my question was mostly aimed at understanding how much of the extracted data from your setup could be affected by it (specifically the antenna delay) considering the antenna probably has a rather symmetric radiation pattern with some significant back-lobe under the ground plane. If one decides to mount this on a pole further away from the ceiling (as no false ceiling might be available) could it conceivably perform worse due to the antenna delay being measured was assuming a specific antenna environment? Have you ever had this happen?

Best Regards,
Filip.

The antenna is custom in the sense that it was designed and built specifically for this product. And yes, the photos are deliberately take from angles that make it hard to see details of the antenna.
But it is also a fairly standard class of antenna, if you do an image search for conical UWB antenna you’ll get lots of examples. There is nothing particularly innovative or special there, we just didn’t want to make things too easy for other people. :slight_smile:

That design of antenna is a pain to deal with mechanically and isn’t optimal in terms of signal levels when used in an anchor near a wall. But it does give you a very symmetrical gain pattern horizontally and fairly minimal variation over a fairly wide range of elevations. Which makes getting accurate positions a lot easier. We mount them either the correct way up or upside-down depending on the application. The only time we have any issues is when passing almost directly underneath one, that is minimised by using up to 12 anchors at a time and then we have some geometry dependent correction factors in the firmware to further reduce the impact.

As I indicated before, if accuracy matters we normally perform an on site delay calibration for the system as a whole. These additional values are generally fairly small. The factory values are baked into each unit and are set within the UWB chip so they are automatically accounted for. The site specific values are the additional correction needed for that install and are stored as part of the anchor location information for the site. They are then corrected for during the position calculation process.

HI Andy
Thank you for sharing!

Some questions:

  1. Does the antenna delay have to be as far as 18 meters? APS312 does not define the test distance, or you are the distance results of repeated verification.

  2. During the test, there is no blocking object between the two test devices? I think there will be interference. Is it placed in a higher position?

  3. Didn’t you do some frequency deviation test and sensitivity test?

Thank You!

Why 18 meters?
We wanted to calibrate as close to the normal operating ranges as possible. Ideally it would be longer but that’s how bit the room is.

Yes, sometimes a particularly tall person walks in between the two. Or someone carries a bit of equipment between them. But we average 1000 measurements and also track the yield and standard deviation. If something like that happens to a large enough extent to impact the results we can detect it and re-test.

So yes there is a sensitivity test. Centre frequency is checked and xtal trim values are calculated at an earlier production stage.

As indicated before, our aim wasn’t to have a theoretically perfect ideal world calibration. Because that is a pain to set up and run in a production environment, especially when this is a minor side product rather than the main product being built. And as soon as you try to use the ideal result in the real world it isn’t quite right anyway. Instead we aim for a calibration setup where the error from ideal isn’t zero but is less than you’ll get in most real world applications. That gives reasonable out of the box performance and then for peak performance we calibrate after installation.

Hi flupas,

As you mentioned in your message, you only need to have 3 devices to produce a golden board.
And a test setup with 3 devices does not cost 10k$.
After getting a golden board, it is possible to do the antenna delay calibration by using two boards in case of one of the board has to be a golden board.

Kind regards,
Emre

HI Andy
Can you share how you got that Reference device generation for the antenna delay calibration? According to the calibration method described in APS014, an accurate Reference device cannot be obtained. :dizzy_face: :dizzy_face:

To come up with a reference unit for delay calibration we took 8 identical units. Placed them on tripods so they were all at the same height off the ground (around 2 m) and spread them out evenly in a circle that was ~10 m across.
We then measured their physical locations optically using a total station, this gave us the true antenna locations to +/- 2mm.
We then measured from each unit to the other 7 1000 times using double sided TWR. Since this was repeated for each unit this gave us 2000 measurements for each of the 28 possible pairs.

So we now have the true physical locations, 28 measured ranges and 8 unknown antenna delays. Each of those measured ranges should be the true physical distance plus the two relevant antenna delays.
I then threw together a python script that used the numpy least squares optimisation library to find the set of delay values that best fit the measurements.

That will give you reasonable results for most systems. For it to be truly accurate you need to avoid or compensate for other effects that impact measured range. Since it’s not possible to place the units so all the distances are the same that means corrections based on the received signal levels. And depending on the antenna and physical design the effect that angle of arrival has on antenna delay (which is in part a signal level effect).
As with just about anything in UWB, getting it fairly good isn’t to bad. Getting that last bit of accuracy is a nightmare.

1 Like