Udit’s Status Report for 2/29/20

What was done this week:

I was focused on figuring out a way to program the chips with Python through SPI as a backup plan for if doing baremetal or the decawave API proved too difficult. Someone did something like this here:https://iosoft.blog/category/ultra-wideband-uwb/

I read through the entire thing and learned a lot about some of the math. But Shiva was able to figure out how to directly program the chips starting from some C examples so this approach was put on the backburner for later.  I also did significant work on the Design Presentation and the Design Report since I wanted to work on that while Shiva and Rhea worked on the TWR/TDoA communication + SPI backhaul.

I also kept track of these new facts about TWR/TDoA calculations that will be important.

  • You need to use asymmetric 3 message TWR to make sure that different clock speeds will be matched
    • Formula:
      rnd1 = Rx2 - Tx1 # Round-trip 1 to 2
      rep1 = Tx2 - Rx1 # Reply time 1 to 2
      rnd2 = Rx3 - Tx2 # Round-trip 2 to 3
      rep2 = Tx3 - Rx2 # Reply time 2 to 3 
      time = (rnd1 × rnd2 - rep1 * rep2) / (rnd1 + rnd2 + rep1 + rep2)
  • Even with this formula, you have to experimentally determine the UWB clock delay (how long it takes for chips to send the signal) to get the exact distance

Our team is about 1 day behind since we have TWR working but still are yet to do radio delay calibration since the output we are getting seems inaccurate. We still have a sizable amount of the design report to do and finalize but we have most of it in pieces.

The hardest part remains time sync but we tackle that problem with the many options we have to solve as soon as we get backhaul into RPi working in any fashion.

I feel much better about the project than last week.

Leave a Reply

Your email address will not be published. Required fields are marked *