Skip to content

New Working Multilateration routines

Note: What I do need to do is create some new tests to see if we are actually capturing the correct drop pulses, or just collecting combinations of pulses and pretending they are a drop. Causing not 1, but 2 gross errors in the data. I might leave this until we start writing the real program in c++. It would also be a great exercise in c++ to get me started.

Got lots done since my last post, which is good because I was lagging slightly as of last week. All the notes are in the respective files, and I should probably convert them into word format at some point. Basically what has happened is we have managed to get the simplified multilateration routines working, without any matlab specific code. This has happened mainly thanks to Kevin, who initially wrote some Sanskrit about a solution to the Multilateration routines and some code to solve for x and y. It took some time to decode those scribbles but now its done, it works at least 5 times faster than my previous attempts. There is also room for more speed increases with some close code profiling.

The code uses some simple analytical methods to obtain an initial estimate of x and y, then using some general iteration and Aitken’s Acceleration to create a very accurate solution. At the worst point, we are about 6mm out, which converts to about 4uS.

I generate an error value by recreating the ToA’s using the x,y’s calculated previously. Because we are not strictly using the ToA data, just TDOA to calculate the x,y’s then the ToA’s are independent; meaning that when we calculate it back, the answer is not necessarily what we started off with. So add the differences between the actual and the calculated, and we have an error signal!

As for timings and accuracy, here is some matlab output comparing the original routines to the new ones:

run('..\..\Create Samples\V0_5\V0_5.m')
run('..\V0_7\V0_7.m')
run('..\..\Create Samples\V0_6\V0_6.m')
V0_8

Drop_Number = 99
Elapsed time is 94.876437 seconds.
There were 99 drops originally, we have found 88
11.1% Error
Drop_Number = 103
Elapsed time is 20.169884 seconds.
There were 103 drops originally, we have found 93
9.7% Error

So the errors approximatly the same (random of course). I might look into these errors some more, because 10% is quite a lot, but it only happens at higher rain rates. I believe it is to do with the possiblility of generating some combination of a number of drops that happens to be correct. I could try turning the tolerance down a bit.

Post a Comment

Your email is never published nor shared. Required fields are marked *