Go Back  R/C Tech Forums > General Forums > Radio and Electronics
Latency in analog and digital systems. >

Latency in analog and digital systems.

Community
Wiki Posts
Search

Latency in analog and digital systems.

Thread Tools
 
Search this Thread
 
Old 11-14-2014, 02:28 PM
  #1  
Tech Elite
Thread Starter
iTrader: (1)
 
Join Date: Sep 2010
Location: My house.
Posts: 3,569
Trader Rating: 1 (100%+)
Default Latency in analog and digital systems.

*Warning to tl;dr's*
Just want to share some info I have been studying. Might have some complex/confused bits because of conflicting information, I'll do my best to be right.
For a start let's talk about analog servos and what a servo signal consists. Servo signal is where the servo position is, seems no one is using PCM nowadays and just PPM(pulse position modulation), our servos use PWM(pulse width modulation, like ESCs but works differently) to know where to move the servo horn, varies between 1 ms and 2ms, 1 is 90* left(or right), 2 is 90* right(or left) and 1.5ms is neutral. That position is updated 50 times per second so 50Hz. So 2ms is a signal just to say full to one side to a servo and a M12 claims almost zero latency? Wizardry I say. Moving on, the standard signal to analog servos goes something like this, a pulse with position for servo #1-> then #2...until the 22.5ms mark and that's why you saw 9 channel radios as the top end(9 servo each 2.5ms pulse = 22.5ms which was the limit back then). Back to the pulse train with time scale now with 2 channels: ST servo pulse of 1.5ms,a .5ms rest(this seems to be variable, at least in my GT3B and M8 the PPM out it shows that .5ms between pulses), TH servo signal of 1.5ms and nothing else until the pulse train done and a new train pulse starts. All the servo positions where done in 1.5+.5(rest time between each different servo)+1.5=3.5ms and this is Tx encoding not even accounting Rx decoding and sending to servos and servo own calculations.
See this example, if someone sets the car to turn that movement takes .3s to happen and the servo transit time is let's say .08s @ 60*, the example will use 30* sweep. So when the ST servo reached target position took .3s + .025s pulse train with target position + .04s transit speed=.365s latency between what your brain told to do and what happened on the track, being servo latency 6.9% of the total latency, 11% servo movement latency and 82.2% human reflex. That's for a reflexive command, pro's almost memorize stick movement so human reaction decreases quite a bit. Maybe Sanwa was talking about only Tx latency...

Again the pulse train(I like trains...). Now with digital servos which update their position faster and therefore have a higher duty cycle which means they know their position faster, hold it better and react faster to changes in input, the "filler" between the last servo pulse and the next first servo pulse gets smaller so you can cram more updates per second aka increase frame rate which is 333hz or each 3ms. The carriage got smaller but it wasn't full of servo signals so it's OK. It looks like this: a ST servo pulse with 1.5ms > .5ms rest > a TH servo pulse > .5ms rest > and ST servo pulse again... Basically they took 18.5ms(speaking of 2 channel AM analog Tx) of filler in the carriage. 4ms average latency, thats close to zero right? you might have notice I said 1ms pulse width for 90* one side and 2ms for 90* the other side, we don't use 90* in cars right? My research on the GT3B 0.6.1 firmware PPM stream shows that a neutral position is 1.2Xms, a full left is .576ms and 1.784ms is full right using 120% EPA. And it works? You know, this is a trick with servos. They read the .576ms fine and they understand it's X* left(or right). And more, rest between pulses is .3ms. That equates to a carriage of let's say full throttle and full right 1.784 x 2 + .3ms of rest x 2= 4.168ms worst case of latency instead of a 2ms x 2 + .5ms x 2= 5ms worst case theoretic. Best case of latency should be .576 x 2 + .3 * 2= 1.752ms. Mind=blown! Note I'm not saying the GT3B is as fast as a M12, it's PPM stream not a read on the antenna, the GT3B Achilles heel is the module. Just to see how real is the claim on the M12 and now I believe it might be very close to 4ms + Rx decoding time.
Now a example with the reflexive movement we made setting the car to make a turn:
.3s + 0.0038 average latency + .04s transit speed=.3438s or a decrease of 5.8% compared to previous exercise.
But steering and throttle aren't always stationary, so when you are correcting the steering for example there's 22.5ms of lag each way with analog instead of average of 3.8ms each way so now you can see how much faster a top end digital system is. This is what it's all about.

These are hard numbers and there's a couple of special cases which degrade latency on the analog systems but this is a condensed version(yeah right, might crash the server) and hope we can learn something today. Appreciate all the input, grammar corrections and so on.

Sources: https://en.wikipedia.org/wiki/Servo_control and it's sources (no I didn't plagiarized)
Heli and plane guys - they really know some chip.

Last edited by 30Tooth; 11-14-2014 at 02:30 PM. Reason: forgot tags, I suggest having a drink before reading all this. Water preferably.
30Tooth is offline  

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off



Contact Us - Archive - Advertising - Cookie Policy - Privacy Statement - Terms of Service -

Copyright © 2024 MH Sub I, LLC dba Internet Brands. All rights reserved. Use of this site indicates your consent to the Terms of Use.