Latency

 This is an article published by RCmodel review

Latency is a term that is often used in the advertising material for RC systems but there appears to be quite a bit of confusion as to exactly what latency is and what effect it has.

Well in a nutshell, latency is the time it takes for movements of your transmitter's sticks to be duplicated by the control surfaces on your model.

The higher the latency, the longer they delay between you issuing a servo command such as full up elevator, and the elevator actually moving to the commanded position.

Like so many things in the hi-tech world of RC models, latency figures depend on a whole lot of things and so the figures quoted by an RC manufacturer may not tell the full story. Sometimes it's a little dangerous to simply do a brochure-level comparison of the various claims.

How much does latency matter?
The answer to this question depends on what type of flying you do and what type of model you fly.

If you simply enjoy boring holes in the sky with your high-wing trainer-type model or flying lazy circles with your thermal-soarer/DLG on a summer's afternoon then latency is not a big issue for you. More often than not, your control inputs are small and your model will respond slowly anyway.

However, if you're a balls-to-the-wall 3D helicopter flier, you'll really notice the difference between a high-latency RC system and a low-latency one. When a model is flying quickly or very close to the ground, a difference of a few hundredths of a second can turn a spectacular flight performance into an equally spectacular pile of twisted wreckage.

So you might think that having the lowest latency is essential for hardcore flying, right?

Well surprisingly, the answer is "not necessarily".

You may have seen some very good pilots doing some amazing flying with PCM radios and even very high-latency transmitters like the Futaba 9C. So how can these guys fly their models every bit as good as someone with the latest uber-low-latency equipment?

The answer lies in the human brain's ability to anticipate and compensate for latency.

When we practice a maneuver with a model and RC system, our brain is automatically compensating for the fact that there is a delay between control input and the model's response. Those who fly with low-latency systems will have different levels of compensation than those who fly with hi-latency systems.

Give someone who's used to a hi-latency system the chance to fly one that has much lower latency and he'll probably over-control the model -- simply because his brain is feeding control inputs in too soon and the model is responding more quickly to those inputs.

Likewise, give someone who's been flying a low-latency system the chance to fly a setup with hi-latency and he'll complain that the model is slow and the response feels mushy.

However, leave the two guys with the alternative systems for a while and their brains will soon adapt to the different latencies involved. Pretty soon they'll be flying almost as well as they did before. Their brains will have begun to automatically compensate for the change.

So, is low-latency important?

It is nice, but it's not essential. All else being equal, I'll choose a low-latency setup over a hi-latency one but unfortunately, all else is often not equal.

What determines latency?
The latency of an RC setup is the sum of many different elements.

When you move the transmitter stick, that changes a voltage inside the electronic circuits within. The microcontroller (computer) chip inside the radio measures this voltage and turns it into a number which represents the stick-position. The delay between the stick being moved and that number changing is the first component of our latency equation. Most of the time (fortunately) it's simply too small to measure.

Next up, the computer inside your radio does a whole lot of math on that number.

If you've got dual-rates, expo, endpoints and any mixing on that channel, the computer will have to recalculate what the final number will be. For example, if the number created for a channel is (say) 50 and you've got your rates set to 50% then the computer will have to divide 50 by 2 and come up with a new number: 25.

When you start doing complex stuff such as expo and CCPM mixing for helicopters, the time taken to do all that math can add up. Indeed, this seems to be where some radios, such as the Futaba 9C and the Hitec A9 get a little bogged down and their latency starts to rise somewhat.

Of course if you're flying a fairly simple setup with no fancy mixing then less math is required and that can help latency.

The next step with many existing 2.4GHz radios is that the list of numbers which have finally been calculated for each and every channel (ie: 4 numbers for a 4-channel radio and 9 numbers for a 9-channel radio, etc) are converted into what is known as a "frame" of PPM data. This is a legacy of the old FM days but it's still commonly used in radios that are converted to 2.4GHz via a plug-in module. Even some radios without a module (such as the DX7) have a PPM signal inside them.

The problem with PPM is that it's designed to deliver data relatively slowly. The convention is that a frame of data will take about 20mS (1/50th of a second) to be spat-out by the transmitter. This means that even though modern 2.4GHz systems can handle data at a much faster rate, most systems are still hog-tied by this very slow transfer of data between the radio's computer and the bits that actually do the transmitting.

Where a number of "native 2.4GHz" systems have made huge strides is by ditching the PPM signal and simply delivering the numbers directly to the bit that sends the signal. This means that instead of it taking 1/50th of a second to deliver that information, it can take as little as 1/200th of a second, which is a significant improvement.

The next step is the time it takes for the system to send that data as a radio signal to the receiver. Fortunately this is very quick because most 2.4GHz systems can transmit data at a very high rate and the signal itself travels at the speed of light between transmitter and receiver. This figure really is far to small to worry about.

Once the signal arrives at the receiver it has to be decoded and sent to the servos -- which is where we get a little more latency introduced. The biggest latency here is the way that the servo-pulses are created.

Some receivers will send all channel pulses to all servos simultaneously. Others will send a servo pulse to each channel in sequence. Since the pulses themselves are (on average) 1.5mS long, in the case of an 8-channel receiver this could mean that the last servo pulse will be delayed by an average of 10.5mS or (worst case) up to 14mS.

Some systems go half-way in-between and "group" their servo outputs, sending the most important channels (like the cyclic outputs in a CCPM helicopter) simultaneously and then the other signals shortly afterwards).

Now we have finally delivered the new command to our servo -- but still nothing is moving so our latency calculation hasn't finished yet. There is now a very finite time involved between when the servo receives a command to move to the new position and it actually reaches that new position. This is possibly the largest delay of all in most RC setups.

For small movements, this figure can be quite low but, for very large moments (such as going from neutral to full stick) the delays can be the single largest component of the latency equation. Even a very fast servo will have a center-to-maximum-throw time that is measured in tens or even hundreds of milliseconds. Add a heavy control-surface to the servo and the inertia of that control surface will make movement even slower than the manufacturer's (unloaded) specifications.

So let's do some simple math and add the most significant numbers in this chain of latency together...

Calculation delay(10mS), PPM delay(15mS), receiver output delay(5mS), servo movement delay (50mS).

These are "averaged" amounts and come to the sum-total of 80mS, for a fairly reasonably spec'd PPM-based 2.4GHz RC system, from "thumb to control-surface". The figures will vary from brand to brand of RC system, servos and model -- but I think it's fair to say that the numbers are pretty close.

So what difference would a "low-latency" radio which uses a frame rate of just 8mS instead of the normal 20mS have on this?

Well remember that a normal radio has a 20mS frame rate but this means the *average* latency will be about 2/3 to 3/4 of that figure (15mS) so dropping to 8mS will represent what seems like a significant improvement.

However, the latency improvement of 7mS gained by the faster frame rate is a mere 8% of the total "thumb to control-surface" average latency in our hypothetical RC setup.

Would you notice this improvement?

If you're one of the top 1%-5% of fliers who do fly hardcore 3D then yes, I think you would, but only just.

Would it improve your flying?

Well, if you're amongst the 95%-99% that makes up the rest of the model-flying community, I don't think so. Even if you did notice the difference (if the model felt more responsive), your brain would soon adapt to compensate for this lower-latency, as mentioned above.

Summary
If a radio offers lower latency without compromising other important areas (such as price, interference rejection, brownout-resistance, the type of mixing flexibility you need, etc -- then go for it.

However, if you choose a radio based solely on the manufacturer's (or a third-party's) latency figures, and especially if the difference is relatively small when compared to other brands you may be contemplating, prepare for disappointment.

Within a year or two, I'm picking that all new radios will offer sub-10mS frame-rates and that more powerful processors will mean that the delays introduced by the complex mixing required for things such as CCPM helicopters will be greatly reduced.

In the meantime, if your existing radio is doing the job, don't feel that you need to rush out and buy a new one just because the manufacturer is boasting lower latency or a faster frame-rate.

This article is available for republication