logo
  
Investigating Flex 6700 total latency
Inspired by Andy KU7T excellent write-up I wanted to look at my  own flex radio 6700 setup and measure the TOTAL latency at around 3500km. 
 
The problem: 
Whilst using the flex maestro remotely, there is a perceivable high audio latency which makes it extremely difficult to use for high rate contests. KU7T in his tests showed that the flex takes a mimimum of  48ms to process an RF signal and output it to the speakers at the front of the radio, so the minimum latency you can expect is around 50ms...
 
Questions to answer:
a) What is my station's Total Latency  ie from Signal to Ear at 3500km for my 6700?
 b) How does it compare with other remote stations?
 
METHODS:
Inspired by KU7T I measured the following setup :
 
6700--- ROUTER---ADSL------3500km----------FIBRE----- ROUTER---PC or Ipad or Maestro [no wifi anywhere]
 
To measure the latency I used a  win 10 PC (@3500km from radio) with  a behring uca-202 USB sound card attached to it. Any sound card with stereo line-in sound card should work.
 
 
 
The UCA202 uses RCA as inputs for L and R channels. I used 2x RCA to mono phono cables. One for the REFERENCE signal (real time) [L] and one for the test signal [R].
 
  
 
 
The test signals were one of following:
a) Maestro model A (running v 3.1.12), connected via ethernet, using audio from headphones output 
b) Ipad Pro 2020, running smartSDR app (V3.9.12) with a VA-UC006 USB-C dock, ethernet and SoundBlaster SB1920 sound card with audio out
c) RemAud (by DF3CB) v2.1 encoding at PCM 22Khz, 16bit stereo (10ms buffer). I used my PCs integrated sound card and connected the RCA to phono cable from the  headphone output of the PC to the R INPUT  channel  of the UCA202.
d) Imac late 2013 running Catalina, ethernet and smartsdr OS 1.4.32 
e)  iPhone X  smartSDR 3.9.12 WIFI,  iOS 14.4 (large audio buffer both enabled and dsiabled)
f) Windows 10 PC (i5-7400) runnung smartSDR 3.1.12 ethernet 
 
Variables and other settings:
Filter sharpness (maestro menu->Phone/CW->filter options): Settings 1-4 (1=low latency)
 
 
 
 
Ipad/Iphone  SmartSDR app was set to NO (disabled) Large audio buffer (Settings->extended Settings) 
 
For real time reference I used a KX3 (@3500km from flex) with a 5m wire as an antenna and tuned onto any signal I could hear on 40m.
   
I then tuned the flex at exactly the same frequency and using audacity I captured BOTH signals as described by KU7T and calculated the latency.
 
Tip: In audacity select:  show Length and end of selection at the bottom of the screen and time format hh:mm:ss + milliseconds
 
 
 
I measured differences on 2-3 different signal times to ensure repeatability. 
 
To help answer the second question, I measured the latency from two of my friends' remote setups:
a) CR6K running remaud V2.1 8Khz PCM buffer 20ms
b) G5W running FTDX101 using yaesu  SCU-LAN app with audio RX buffer set to minimum (100ms)
 
 
 
Results:
Network latency was obtained using the ping command. This is Round Trip Time. In my case in was 95ms ie approx 48 ms each way.
 
All values in ms 
 
 
SmartSDR
PC *
Maestro $
RemAud $
Ipad Pro  $
imac *
iPhone *^  
iPhone  
Level 1 filtering 
608
588 
155 
88 
163 
80 
107
Level 2 filtering  
620 
600 
192 
120 
182 
125 
142 
Level 3 filtering  
658 
631 
226 
139 
212 
130 
193 
Level 4 filtering  
715 
693 
269 
195 
271 
185 
220 
 * ping 89ms
  $ ping 95ms 
^ Large audio buffer disabled
£ Large audio buffer enabled 
 
With regards to other stations total latency:
CR6K total latency of 202ms ping time 46ms
G5W total latency of 199ms ping time 47ms 
 
 
Discussion:
Results show an unacceptably high latency for maestro or stock smartSDR for the PC of 588ms/608ms.   Using an Iphone X and Ipad Pro seems to have the best result with a total latency of 80 and 88ms respectively. The large audio buffer for iphone and Ipad  for the low latency filter results in a latency of 107 and  150ms.  Taking into account that the one way network latency is approx 48ms (ping time /2) then the non network latency (processing etc) for the ipad is hence 40ms which is comparable with what KU7T has published for the time it takes the 6600M to output audio from the speaker jack.  This is an impressive 6.7x better than the best result achieved for the maestro or stock software. RemAud gives an alternative acceptable latency of 155ms. In his tests, KU7T showed that latency can be as low as 98ms using this technique.
 
For this experiment I made the assumption that the KX3 has no processing latency to output the signal.  
 
It is interesting that the results above for the flex compare favourably with other non-flex remote solutions and it seems that a latency of 200ms or less is appropriate to allow efficient contest operations. 
 
 
Conclusion: 
 To achieve lowest total latency for the flex 6700  it seems that best option is to use an iOS/OSX based device such as an iphone or ipad (pro) or imac with smartSDR, large audio buffer disabled and flex filter options setting set to Low latency. The flex has the potential of being a great remote contest radio provided that the stock software/maestro is NOT used to stream audio. Based on these results my maestro is now demoted to smart control! The community is eagerly awaiting software improvements by flex on the remote side.
 
 
Many thanks to KU7T for sharing the methodology to the world and inspiring more experimentation. Also thanks to CT1ILT and G3BJ for allowing me access to their stations to make these measurements.
 
 
UPDATE 22/02/2021:
Flex Helpdesk acknowledge that this is a known issue and is to do with Windows Audio latency issues beyond their control but are looking at possible solutions! Remaud which also uses windows seems to achieve a lower latency so it is theoretically possible to improve the flex software by changing the design. 
 
UPDATE 28/02/2021:
Repeated mearements for the ipad and new measurements for iphone X and iMac added as well as reference measurements to CR6K and G5W.
 
UPDATE 01/03/2021:
Added windows smart SDR measurenents.