Sunday, February 11, 2018

FPV Cam Latency

Download (or preview online!) the most current > XLS Latency Sheet
FPV Cams "Latency" or "LAG"


It is very important to see what your FPV plane/copter "sees" in REALTIME and react to eveade certain model death within milliseconds!

There is always some delay involved - but you should choose components to keep this minimal.
With high latency flying FPV feels like being drunk. Flying a non stabilized copter get's impossible soon - you fly worse than you actually need to. While you may not notice latency directly - without it you can become a better pilot. 

What components have an impact on latency?
+++ FPV cam:
Time from image capture (lens, chip) - to the output on the video cable.
Between those 2 events you have the image processing on the cams chip - so the right cam is important. See the Latency Excel Spreadsheet for most current measurements.

Older cams could add as much as 100ms of latency - this is REALLY a big deal!
Current cams are down as low as 5ms.
One problem here:
"unsharpness of measurement": each 16 or 20ms (NTSC or PAL) you get a new image. This means 60 or 50 pictures per second. it wont get faster than that (on analog video).
So everything below 16ms cant be directly measured. The moment you hit a signal (power on LED in my case) can be at a random position within this timespan of 16ms.
So I repeat many measurements and look for the lowest latency and the average - which is the probbability of seeing stuff the right time :)

+Video Transmission:
ANALOG transmission DOESNT use buffering. It doesnt use hightech chips that have to calculate a lot of stuff - it just transmits a power-signal (Video encoded in NTSC or PAL) over the air.
IT DOES THIS AT THE SPEED OF LIGHT!  (~ 300.000km/sec)
So the myth "over distance latency increases" is bullshit.
OK - if you're flying to the moon (384.400km) - it will get noticeable - but within reasonable distances you can forget it (each 300km would mean 1ms latency added).
I was able to measure video latency - but it's really in nano-seconds range on my oscilloscope :)

DIGITAL transmission however - this is another story. You have to ENCODE images (lots of them) into numbers - transmit them - and decode them on the other side. Clever minds try to make good algorithms and fast chips - but we're not there yet. Fastest systems are around 50ms - which is quite high compared to analoge vid...
See my review of the FPV Blue system - one of the most promising, very community interactive, projects that actually work, and can give great results!

++Control link:
So: you have a fast cam, see the obstacle (jumping tree, branch,...) asap - but HOW LONG does it take to convert the THUMB movement on your remote's stick to a control correction on the plane (servos) or copter (motor RPM change).
Drone Mesh did some good tests (also with osciloscope and decoding of signals on the screen).
I tried to test this myself - that's a lot of work - not finished my video to this - will update you. In the meantime whatch his videos!
No final results yet, it's a complicated matter - but I noticed the difference between ezUHF and Crossfire! - even between FrSky and Crossfire):
  FrSky 2.4ghz   20ms
  TBS Crossfire  12ms
  ezUHF              40ms  (but there is a lower latency mode I have to test yet!)


Latency testing method:
Better to probe the video cable (from CAM) directly, or measure the effect of the LED on the screen with a photo diode?
I decided to go back to the screen/photodiode method, because this is what you call "glass to glass" latency - the practical application for the enduser.
Additional benefit: This method allows us to compare digital and analog systems' latencies (since measuring video cable directly only works for analog).

Update 4/2018: in my last Video (Sparrow micro 2) I've come back to also testing cams "direct" with the video cable method. Newer cams can be tested for lantency very accurate now. Something has changed: on the video "curve" I see the light change immediatley - and not in "frame level accuracy". This takes away the 16-20ms inaccuracy. I saw that new cams like Foxeer Predator or Runcam Sparrow 2 have 1.3ms!!!

These are sketches of the two test methods (to maybe understand them easier):


see my video here for some closeups and details about the 2 test methods (starts around 03:00):


Also check "Drone Mesh" - he did quite similar testing here: