Reducing latency

70 views
Skip to first unread message

Conrad PA5Y

unread,
Oct 20, 2021, 6:46:39 PM10/20/21
to Leif Asbrink, lin...@googlegroups.com

Hello Leif,

 

I hope that you are well.

 

I use a Linrad master for timf2 output to MAP65 and a Linrad slave.

 

I use the demodulated output of the master and slaves via a virtual soundcard using Portaudio and the windows WASAPI driver. I have 1.5 sec which is significant latency and now that WSJT-X has removed the Dsec feature found in WSJT-10 I do find problems with decodes due to this delay time. I probably have all kinds of suboptimal settings in Linrad which increase this delay. I have a fast PC and everything is very stable but I must do something about this.

 

I use the Smartblanker and WSJT-X expects a 48000Hz sample rate so which parameters affect latency? I only use this system for JT65/Q65 on EME, I have never really understood how to optimise the first FFT bandwidth for JT65, do I need a 2nd FFT storage time of 5 seconds? I use a 3kHz filter, what about the baseband storage time? Then I suppose the DMA settings are relevant. After all this time I have become something of an appliance operator and forgot many aspects of Linrad operation.

 

Here are my par_ssb settings.

 

First FFT bandwidth (Hz) [10000]

First FFT window (power of sin) [2]

First forward FFT version [0]

First FFT no of b threads [0]

First FFT storage time (s) [1]

First FFT amplitude [2000]

Main waterfall saturate limit [0]

Enable correlation spectrum [0]

Enable second FFT [1]

First backward FFT version [0]

Sellim maxlevel [12000]

First backward FFT att. N [6]

Second FFT bandwidth factor in powers of 2 [2]

Second FFT window (power of sin) [2]

Second forward FFT version [0]

Second forward FFT att. N [7]

Second FFT storage time (s) [5]

Enable AFC/SPUR/DECODE [0]

AFC lock range Hz [0]

AFC max drift Hz/minute [100]

Enable Morse decoding [0]

Max no of spurs to cancel [0]

Spur timeconstant (0.1sec) [5]

First mixer bandwidth reduction in powers of 2 [4]

First mixer no of channels [1]

Third FFT window (power of sin) [2]

Baseband storage time (s) [2]

Output delay margin (ms) [100]

Output sampling speed (Hz) [48000]

Default output mode [1]

Audio expander exponent [3]

Baseband waterfall saturate limit [0]

No of averages in meter.txt [0]

A/D speed [96000]

Check [10415]

Conrad PA5Y

unread,
Oct 20, 2021, 7:03:22 PM10/20/21
to lin...@googlegroups.com

Oh, I just re-read the relevant section of the Linrad User Guide by Gaetan, ON4KHG. It was very enlightening, and I think that I have enough info to experiment further. By the way I use Voice meter Potato as a virtual soundcard. It is much more stable and does a much better job than VAC in dealing with the inevitable variable bit rate of any virtual sound card. In this use I do not see any artefacts causing weak signal degradation. Myschenko’s VAC makes no attempt to correct for clock misalignment which has significant consequences.

 

I would still be interested to hear how others have minimised latency.

 

Regards

 

Conrad PA5Y

--
There is an excellent Linrad User Guide by Gaetan, ON4KHG, at:
http://w3sz.com/Linrad%20Installation%20&%20Configuration%20User%20Guide%20-%20V1-0.pdf
---
You received this message because you are subscribed to the Google Groups "Linrad" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linrad+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/linrad/DB8P189MB0779F3DEDF620AA0C6063F12B5BE9%40DB8P189MB0779.EURP189.PROD.OUTLOOK.COM.

Earl Shaffer

unread,
Oct 20, 2021, 7:54:46 PM10/20/21
to Linrad
Hi Conrad.

The IQ+ manual also does a very good job of suggesting good settings for Linrad.
My Linrad on my XP computer has less than 100ms delay through the network. If you wish, I can share my parameters with you. I don't remember off the top of my head which parameters are important for speed either. I very often see a reported DT of 2.7 seconds with Linrad as the front end.
Linrad is on my XP computer. On my Razen 5, I feed Map65 directly from the network so perhaps this is not quite what you are looking for. I get vertical and horizontal from separate rigs to WSJTx. This works very well. Some stations I have worked never show up on Map65.

WB9UWA

Leif Asbrink

unread,
Oct 22, 2021, 1:38:02 AM10/22/21
to lin...@googlegroups.com
Hello Conrad,

The processing in Linrad is in the frequency domain.
The delay is the sum of the time stored in the three
FFT buffers plus a sometimes small delay from input
and output buffers.

The delay in a buffer is 1/bw times a factor that depends
on what window you choose.

The bandwidth you set will affect dynamic range, for
close spaced signals. On EME usually no problem.
I sugget you set fft1 to 1 kHz with a sine squared
window. That will give a delay of 2 ms.

Then set the second fft bandwidth factor to zero with a
sine squared window for a 2 ms delay in the second fft.
The waterfall sensitivity will suffer badly, but I guess
you do not need it to be good.

For the third fft set only about 10 points on the
3 kHz filter with a sine squared window. That is 300 Hz
per point with a delay of about 6 ms. With few points
on the filter you should use filtering in the time
domain, otherwise signals on the skirts will become
distorted. You can use fewer points than 10 but the
flatness of the filter would suffer.

Then look at the timing by pressing 'T' if you have
a margin, you can make it smaller by use of a smaller
output delay margin.

Finally you might try other drive routines for input
and output.

Without the second FFT you might have 60 ms from antenna
to loudspeaker under Windows and 10 ms under Linux.
Look here:
http://sm5bsz.com/lir/rxdel/drivers.htm

73

Leif

Conrad PA5Y

unread,
Oct 22, 2021, 4:51:15 AM10/22/21
to lin...@googlegroups.com
Hello Leif all of that is clear except this.

' For the third fft set only about 10 points on the
3 kHz filter with a sine squared window. That is 300 Hz per point with a delay of about 6 ms. With few points on the filter you should use filtering in the time domain, otherwise signals on the skirts will become distorted. You can use fewer points than 10 but the flatness of the filter would suffer.'

I do not know how to relate these comments to the parameters. In par_ssb I only see,

Third FFT window (power of sin) [2]
Baseband storage time (s)

Or is it item 23 in the baseband graph as shown on page 22 of the user guide? I should set the filter BW to 3kHz and enter 10 in box 23?

Regards

Conrad PA5Y
To view this discussion on the web visit https://groups.google.com/d/msgid/linrad/20211022073759.1580404249792fcd64050425%40sm5bsz.com.

Leif Asbrink

unread,
Oct 22, 2021, 8:01:36 PM10/22/21
to lin...@googlegroups.com
Hi Conrad,

The arrows in the upper right corner of the baseband graph
will change the number of points in fft3. Arrow left will
reduce the number of points within the filter to half.
At some point you have reached a minimum. Then you can use
the arrows in the upper left corner to expand the spectrum,
then you can step further down in fft3 size. You can also
reduce the first mixer bandwidth reduction.

If you go to the extreme with Linrad parameters you may
get spurs close to strong signals. I have written several
pages on these issues long ago, I do no longer remember where.

73

Leif
> To view this discussion on the web visit https://groups.google.com/d/msgid/linrad/AM0P189MB0772EA0ABD6F001757EB7AC1B5809%40AM0P189MB0772.EURP189.PROD.OUTLOOK.COM.
Reply all
Reply to author
Forward
0 new messages