R/C Tech Forums

R/C Tech Forums (https://www.rctech.net/forum/)
-   Radio and Electronics (https://www.rctech.net/forum/radio-electronics-137/)
-   -   Lap Timing Decoder (https://www.rctech.net/forum/radio-electronics/688671-lap-timing-decoder.html)

howardcano 02-12-2013 02:07 AM


Originally Posted by Racer-rich (Post 11803299)
Hi,
I have been trying to follow this discussion with some interest. I am wandering how you plan to determine which of several transponders currenting in the timing loop the analog decoding output is assigned to? It seems to me that the antenna amp is seeing an rf hash of multiple input signals all on the same frequency. Similar to many people trying to use the same (non-2.4g) radio channel to control their cars at the same time. I have seen this situation occur many times with bad results:).
Thanks,
-Rich

That is an excellent question! Each transponder transmits its own unique digital data train, but only for a short time (88 microseconds). It then stays inactive (not transmitting) for a much longer time (about 2 to 4 milliseconds) so that other transponders can send their data. This inactive time is varied, as freexray has pointed out, so that if two transponders send their data at the same time during any given transmission, they will send at a different time in the next attempt.

Occasionally the data will be garbled by simultaneous transmission, and the decoder ignores this. This will happen more often when there are large numbers of transponders passing through the loop, but given sufficient time, all of the transponders will transmit their data successfully.

Ema-77 02-12-2013 04:42 AM


Originally Posted by OM2KW (Post 11802171)
I also wanted not to use pc as main system but use low cost router with linux system (eg tplink wr1043 and openwrt firmware) and present results via web server via wifi. In this case you just need small hw and can use any web client e.g. on smartphone.

That's a great idea !!

I also suppose you need a microcontroller (fast one reading your phase detection method) with some sort of TCP stack in order to be able connect to the rf stuff at one side and at the lan port of the router to the other.

I think that the router can be a really nice for pratice/personal use of the lap timing device because you don't have to take a PC to the track.
Otherwise I think that for manage a full race you still need something more than a smartphone or a tablet, so in my opinion it will be useful if the "detection module" can be connected also to a PC.

howardcano 02-12-2013 05:59 AM

Here are the screen shots for Gerrie's previous post:


Originally Posted by PA3EXV (Post 11791384)
Hello Howard,
Remember I was using that nice PC Laptimer software called "PCLapcounter" for my initial testing? It is free to use for the first 10 laps. Good enough to study the AMB20 protocol, as there are no restrictions besides the maximum amount of laps that can be counted. I continued some study because I think that software is worth the 50 Euro and this amount can be easily shared amongst my RC friends that I meet in the weekends.
I would like to share some info to the community on the subject you study as well, to make the information that comes from the decoder towards the PC better understandable. The "PCLapcounter" has the option to unmark the tickbox called 'Get lap time from decoder'. It is found under the settings menu were you select the decoder-type. I have unmarked that option and fed my own strings into the COM-port that I emulate the decoder with (COM3 in my case). The strings that I generate are send from COM4, and fed back into the RX-pin of COM3. The strings that I generate from COM4 I have full controll over. In that way I debugged what is minimal needed in AMB20 protocol to have the PCLapcounter react to the incomming strings. One could think by unmark the tickbox called 'Get lap time from decoder', the string from decoder to PC can be minimalistic and only contain Car-ID_crlf, but that was not the case. I've seen you go into the direction the PC is to count the laptime, so you only want to send minimal info from decoder to PC. That is also what I think is a good idea, don't use a real time clock (RTC) in the decoder. get back to some earlier post I did, the string for AMB20 contains "@Car-ID, Time, amount of hits in the loop +crlf". Look above for exact details. During my tests of today, I tried to remove all info for time and amount of hits from the string, because I unmarked that tickbox and had the PC doing the time_measurements. It turned out not to work!
To get the PC to react and do the time-measurement rather than the decoder do the time-measurements, you still need to include all positions in the string from decoder -> PC. However that info can contain all zero's. As an axample for a passing of car with transponder-ID 16, this means: "@160000000000crlf".
I have doen a few screenshots to explain further (and because it looks nicer in a large piece of boring text...):

http://i1273.photobucket.com/albums/...pse7e122b7.png

The above picture shows the defined transponders during my test. The transponder-ID's were set to #12, #14, #16 and #18.

In the below picture you can see the PCLapcounter software actually running. The screen was opened were it shows the incomming transponder-ID's. Clearly the 4 transponders that send their incomming passings are seen. Mind that the time_info received by the individual transponders is "0", because all send info was set to zero's!

http://i1273.photobucket.com/albums/...ps8647427f.png

Most interresting is the screen in which the incomming data is shown in ASCII format.
This is the last picture I include:

http://i1273.photobucket.com/albums/...ps215f5d70.png

In writing: ASCII received by the PCLapcounter for passing of car that has transponder ID #16, without timestamp:
Send to COM3: @1600000000crlf
Received in PC: 40 31 36 00 00 00 00 00 00 00 00 00 00 0D 0A

This is my contribution so far, I hope it helps. At least the info is not lost now...

Gerrie


PA3EXV 02-12-2013 06:08 AM

@Howard: I replied to your PM just now. The 3 pictures are in a public Photobucket album.

@OM2KW: Funny, I did the same yesterday evening, without noticing you also did some calculations on the time a car is inside a loop.
My observations were with a 1" wide loop, and a car passing the loop at 20mph, the amount of hits seen by the decoder is about 7 maximum. This is 1 additional at approaching the loop, and 1 just outside the loop. I calculated by using the earlier post from Howard in which he states the random interval between 2 busrst is set to 4mS - 8mS at 16 discreet random steps. I took the average of 6mS repeattime for the bursts.

General: If the decoder missing already missing 1 burst, the accuracy of that lap is influenced already. The middle_of_loop is then calculated from 6 in stead of 7 bursts.
Any comment?

howardcano 02-12-2013 06:48 AM


Originally Posted by PA3EXV (Post 11805330)
@Howard: I replied to your PM just now. The 3 pictures are in a public Photobucket album.

@OM2KW: Funny, I did the same yesterday evening, without noticing you also did some calculations on the time a car is inside a loop.
My observations were with a 1" wide loop, and a car passing the loop at 20mph, the amount of hits seen by the decoder is about 7 maximum. This is 1 additional at approaching the loop, and 1 just outside the loop. I calculated by using the earlier post from Howard in which he states the random interval between 2 busrst is set to 4mS - 8mS at 16 discreet random steps. I took the average of 6mS repeattime for the bursts.

General: If the decoder missing already missing 1 burst, the accuracy of that lap is influenced already. The middle_of_loop is then calculated from 6 in stead of 7 bursts.
Any comment?

The repetition time is 2 to 4 ms. Please forgive me if I stated this incorrectly before.

If we use only the first and last hits through the loop to calculate lap time, and we miss either the first or the last (but still have the next nearest hit available), then the loop crossing time will be off by 2 ms (assuming a 4 ms repetition rate), plus any quantization error (from sending the time stamp in increments of 1 ms). 3 ms is close enough for me! I don't believe that AMB claims much better than that.

If the first and last hits are missed, then the average of the next nearest hits will give the same number as if none were missed.

Using time stamp increments of 1 ms is somewhat arbitrary. We could easily chop it up (perhaps 8x?) finer to reduce the quantization error.

I'm certainly open to any other ways of calculating the loop crossing time. We won't use AMB's method, but there are probably others that I haven't considered. I just suggested taking the average of the first and last time stamps because it is simple, and can be done very quickly in a small microprocessor (add the time stamps, right shift the result) if it becomes necessary.

Ema-77 02-12-2013 07:42 AM


Originally Posted by howardcano (Post 11805463)
The repetition time is 2 to 4 ms. Please forgive me if I stated this incorrectly before.

If we use only the first and last hits through the loop to calculate lap time, and we miss either the first or the last (but still have the next nearest hit available), then the loop crossing time will be off by 2 ms (assuming a 4 ms repetition rate), plus any quantization error (from sending the time stamp in increments of 1 ms). 3 ms is close enough for me! I don't believe that AMB claims much better than that.

If the first and last hits are missed, then the average of the next nearest hits will give the same number as if none were missed.

Using time stamp increments of 1 ms is somewhat arbitrary. We could easily chop it up (perhaps 8x?) finer to reduce the quantization error.

I'm certainly open to any other ways of calculating the loop crossing time. We won't use AMB's method, but there are probably others that I haven't considered. I just suggested taking the average of the first and last time stamps because it is simple, and can be done very quickly in a small microprocessor (add the time stamps, right shift the result) if it becomes necessary.

If you go at the end of this document http://www.transponderservices.com/d...epaper_RC4.pdf there are some test results of the amb transponder/decoder.
It seems that they not only measure the hits, but also the strength of the received signal, so probably they can be more accurate.

However personally I don't care about 3, 4 or 50ms of error on my laps, I only want to know the correct final standings :nod: .

howardcano 02-12-2013 07:49 AM


Originally Posted by Ema-77 (Post 11805661)
If you go at the end of this document http://www.transponderservices.com/d...epaper_RC4.pdf there are some test results of the amb transponder/decoder.
It seems that they not only measure the hits, but also the strength of the received signal, so probably they can be more accurate.

That is correct. Here is a very quick description:

http://www.rctech.net/forum/11728173-post33.html



Originally Posted by Ema-77 (Post 11805661)
However personally I don't care about 3, 4 or 50ms of error on my laps, I only want to know the correct final standings :nod: .

Spoken like a true racer!

Racer-rich 02-12-2013 10:47 AM


Originally Posted by howardcano (Post 11804848)
That is an excellent question! Each transponder transmits its own unique digital data train, but only for a short time (88 microseconds). It then stays inactive (not transmitting) for a much longer time (about 2 to 4 milliseconds) so that other transponders can send their data. This inactive time is varied, as freexray has pointed out, so that if two transponders send their data at the same time during any given transmission, they will send at a different time in the next attempt.

Occasionally the data will be garbled by simultaneous transmission, and the decoder ignores this. This will happen more often when there are large numbers of transponders passing through the loop, but given sufficient time, all of the transponders will transmit their data successfully.

Thanks for the info that helps a lot!
-Rich

OM2KW 02-12-2013 02:30 PM

I think that signal strength measurement will not give more precise in timing measurement. SS measurement is in my opinion not fast enough especially in situation when you have more transponders close to loop. I can not imagine how we can measure signal strength for multiple sources with abt 88us bursts very very close each other in time and sometimes also overlapping in time. In my opinion 1ms reading of original system is only marketing number. And i also vote for relative accuracy - final standings

OM2KW 02-12-2013 02:32 PM

@pa3exv: in real live i can see several tens of reading during one pass. The highest numbers I have seen was abt 90 (loop close to corner)

OM2KW 02-12-2013 02:36 PM

@ema-77
I thing that small hw as router board can handle all race situations. Of course it is not very convient to set it up via smartphone but for race event you can use larger gui e.g. tablet of pc. I just want to have web gui for control iow. at client (pc, smartphone, tablet) you do not need any apps besides of web browser

howardcano 02-12-2013 03:10 PM


Originally Posted by OM2KW (Post 11807103)
I think that signal strength measurement will not give more precise in timing measurement. SS measurement is in my opinion not fast enough especially in situation when you have more transponders close to loop. I can not imagine how we can measure signal strength for multiple sources with abt 88us bursts very very close each other in time and sometimes also overlapping in time. In my opinion 1ms reading of original system is only marketing number. And i also vote for relative accuracy - final standings

Acquiring the signal strength of the burst is not difficult (it's actually easier than doing the phase detection!), but it might not give enough increase in accuracy to make it worthwhile. Also, it's not necessary to measure the strength of overlapping transmissions, since the data would be unrecognizable in that case.


Originally Posted by OM2KW (Post 11807124)
@ema-77
I thing that small hw as router board can handle all race situations. Of course it is not very convient to set it up via smartphone but for race event you can use larger gui e.g. tablet of pc. I just want to have web gui for control iow. at client (pc, smartphone, tablet) you do not need any apps besides of web browser

You have some fantastic ideas for your decoder! Perhaps you should start a thread documenting your design? I would definitely be interested in it!

OM2KW 02-13-2013 11:10 AM

I think that we are speaking about same think but different approach. I am quite busy and dont think will have time to seriously work in separate thread, if you do not mind i will try to share ideas about topic here. My idea is that more ideas can give better result in joint effort.

OM2KW 02-13-2013 11:20 AM

What is your target dynamic range in your setup?

howardcano 02-13-2013 11:47 AM


Originally Posted by OM2KW (Post 11810812)
I think that we are speaking about same think but different approach. I am quite busy and dont think will have time to seriously work in separate thread, if you do not mind i will try to share ideas about topic here. My idea is that more ideas can give better result in joint effort.

I agree, one of the best things about a forum is that there are so many talented individuals to contribute ideas and check my work!


Originally Posted by OM2KW (Post 11810854)
What is your target dynamic range in your setup?

That will be determined during testing. Right now the front end will tolerate substantial overdrive without losing phase information. If AGC proves necessary, I can easily add it (probably at the phase detector input amplifier).


All times are GMT -7. It is currently 08:09 AM.

Powered By: vBulletin v3.9.3.9 Patch Level 3
Copyright © 2026 MH Sub I, LLC dba Internet Brands. All rights reserved. Use of this site indicates your consent to the Terms of Use.