Last changes  25.10.2011 Rev.3

Measurements of Signal Time Delays in Several SDR Programs.

 

I measured the signal time delays between input signal and the output  AF signal in several SDR programs to which I have an access. The operational system is Windows XP SP3. A simple home brew direct conversion I/Q RX with Tayloe sampling detector was used for this purpose. For test signal a HF generator was used with -60 dBm level at the antenna input which generates CW dots with 1 sec period. One of the audio I/Q outputs of the I/Q RX  was the reference signal path. This path has negligible delay (<1 ms). The  I/Q outputs from the same RX were fed to PC sound card input and processed by the appropriate SDR software. The time differences of the signals from the sound card output and I/Q RX direct output are measured on 2-channel oscilloscope.

The results are given in Table 1 and  also in SDR_Time_delay.xls

 

Table 1

 

 

Time delays in SDR

 

 

 

 

 

 

 

Windows XP sp2 , Compaque 3GHz 1Gb RAM

Sound card -  Creative Audigy SE 24 bit

 

96KHz s/rate

 

 

 

 

 

 

Delay depends from:

Type

ASIO drivers

Tested with filter bandwidth [Hz]

Filter shape facator

Spectral resolution

Delay [ms]

Filter BW

Filter shape factor

Spectr. resolution

 

 

 

 

 

 

 

 

 

Reference radios

 

 

 

 

 

 

 

 

Direct conversion RX

 

40 KHz

6dB/oct

 

<0.1

 

 

 

Alinco DX-70,analogue  

 

2.7

 ceramic filter

 

<1

 

 

 

Icom 756pro;  filters and demodulation are digital; no PC

 

3600

normal filter    (1)

 

1.6

Y

Y

 

 

 

1100

normal filter    (1)

 

3.3

Y

Y

 

 

 

500

bp filter    (1)

 

6

Y

Y

 

 

 

250

bp filter    (1)

 

11

Y

Y

 

 

 

50

bp filter    (1)

 

22

Y

Y

 

SDR radios

 

 

 

 

 

 

 

 

Power SDR

 

 

 

 

 

 

 

 

http://www.flex-radio.com/

no

25 - 2700

1024     (2,3)

 fixed?    (4,5)

115

N

Y

N

 

4ALL

25 - 2700

256     (2,3)

 fixed?    (4,5)

60

N

Y

N

 

4ALL

25 - 2700

4096     (2,3)

 fixed?    (4,5)

150

N

Y

N

KGKSDR  TRX  v.1.1.064

 

 

 

 

 

 

 

 

http://www.m0kgk.co.uk/sdr/

4ALL

100 - 2700

 fixed?    (3)

 fixed?    (4,5)

85

N

N

N

Linrad v.3.05

 

 

 

 

 

 

 

 

 http://www.sm5bsz.com/linuxdsp/linrad.htm

no

20 - 2700

 variable    (6)

variable

70

Y (7)

Y (7)

Y

v.3.26; default newcomer settings

4ALL

20 - 2700

 variable    (6)

variable

260

Y (7)

Y (7)

Y

Rockie v. 3.6.0.191

 

 

 

 

 

 

 

 

http://www.dxatlas.com/

no

250 - 2700

1.19

 fixed?    (4,5)

150

Y

Y

N

 

no

20

1.19

 fixed?    (4,5)

260

Y

Y

N

 

no

250 - 2700

1.02

 fixed?    (4,5)

450

Y

Y

N

 

no

20

1.02

 fixed?    (4,5)

600

Y

Y

N

Winrad 3.21

 

 

 

 

 

 

 

 

http://www.weaksignals.com/

no

20 - 2700

 fixed?    (6)

 variable?

400

N

N

N

 

4ALL

20 - 2700

 

 

200

N

N

N

Winrad 1.6.1

 

 

 

 

 

 

 

 

http://www.winrad.org/

4ALL

20 - 2700

 

 

200

N

N

N

HDSDR v.2.0      (12)

 

 

 

 

 

 

 

 

http://www.hdsdr.de/

no

 

 

 

400

N

N

N

Winrad plus v.1.05     (12)

 

 

 

 

 

 

 

 

http://www.wrplus.altervista.org/

no

 

 

 

300

N

N

N

Spectraview 3.21 beta

 

 

 

 

 

 

 

 

http://www.moetronix.com/spectravue.htm

no

100 - 2700

 fixed?    (3)

fixed?    (4,5)

320

N

N

N

 

 

 

 

 

 

 

 

 

SDR-radio v.1.4 beta

 

 

 

 

 

 

 

 

http://sdr-radio.com/

Que size 10

 

 fixed?    (3)

?

600

N

N

N

 

 

 

 

 

 

 

 

 

Perseus v.4.0 b

 

 

 

 

 

 

 

 

  http://microtelecom.it/index.html

A.latency=4 (10)

1000

32   (8)

variable

200

N

Y

N

500Ks/s (9) , agc off

A.latency=4

1000

512   (8)

variable

330

N

Y

N

 

A.latency=20

1000

32   (8)

variable

440

N

Y

N

 

A.latency=20

1000

512   (8)

variable

600

N

Y

N

default settings

A.latency=9

1000

128   (8)

variable

320

N

Y

N

WEBSDR

 

 

 

 

 

 

 

 

http://www.websdr.org/

 

 

 

 (11)

 

 

 

 

http://www.websdr.at/

 

 

 

 (11)

250

 

 

 

http://87.249.142.70:88/

 

 

 

 (11)

260

 

 

 

http://susanne.esrac.ele.tue.nl:8901/

 

 

 

 (11)

270

 

 

 

http://sdr.vdonsk.ru/

 

 

 

 (11)

400

 

 

 

http://websdr.sp3pgx.uz.zgora.pl:8901/

 

 

 

 (11)

550

 

 

 

http://www.nachtuilen.net/

 

 

 

 (11)

2300

 

 

 

 

 

 

 

 

 

 

 

 

Remarks

 

 

 

 

 

 

 

 

1. IC756 pro has 2 types of software  filters  - with smooth and steep (bp) frequency response

 

 

 

2. The number in shape factor column is the PowerSDR buffer length in RX mode.

 

 

 

 

3. Filter shape factor is unknown

 

 

 

 

 

 

 

4. Fixed spectral resolution. Spectral zoom is graphical.

 

 

 

 

 

5. Unknown spectral resolution.

 

 

 

 

 

 

 

6. Shape factor can be obtained from the filter curve

 

 

 

 

 

 

7. In Linrad the user can change the  buffers length dynamicaly, respectively the resolution.

 

 

 

    If the buffer size is fixed then the delay does not depend from filter bandwith and shape.

 

 

 

8. Number of filter taps

 

 

 

 

 

 

 

 

9. Delay does not depend from the sampling rate.

 

 

 

 

 

 

10. Settings in the SDR software

 

 

 

 

 

 

 

11. WebSDR settings are CW/1KHz BW. Different versions of software is used in the servers.

 

 

 

12. Winrad clones HDSDR and Winrad-plus delays were measured with Perseus SDR hardware.

 

 

 

 

 

 

Explanations & Comments

 

Some preliminary explanation for those who are not familiar with DSP.  The time delay does not depend from the speed of the PC as far as this speed is sufficient for the program to work flawlessly. This time delay depends mainly from the number of data samples that are needed to implement the spectral display, filtering and demodulation. More data samples are needed for higher relative spectral resolutions and steeper filters. Simply said – to have 1Hz spectral resolution you need 1 sec time window where to perform Fourier transform and that will be the unavoidable time delay.  These are theoretical limits and can not be surpassed with better hardware and software. Any SDR program in its most simple form should have input data buffers where the samples are stored for processing. There must be also data output buffers where already processed samples are fed to DAC generating the audio signal. The length of all these buffers determines the actual time delay. There might be  also delays in the operational system drivers.  Discussion on these topics can be found elsewhere e.g.  in “Studies of the input hardware delay in SDR systems” http://www.sm5bsz.com/lir/rxdel/3-26in/rxin.htm

 

  1. The measurement accuracy is not high -    5 - 10%  .

 

  1. Since the theoretical limits of the time delay depends from the spectral resolution and filter shape factor there are also columns for these parameters. In most programs the spectral resolution is not known. It can be approximately estimated visually from the screen but I have not bothered to do that.  The spectral resolution and spectral zoom should not be mixed. Spectral zoom is only a graphical expansion of the spectrum and the time delay should be unchanged. From the other hand changing the spectral resolution needs different number of samples to be processed and time delay may change.

 

  1. If the time delay does not depend from spectral resolution or shape factor that means that in the particular program a fixed length buffers are used which have sufficient length for the worst case.

 

  1. I noticed that there were additional 10 – 15 ms time delay with all programs when USB card (Creative SB Live 24bit) was used compared to PCI sound card. Probably the driver of this USB card use additional data buffers to insure uninterruptible data flow. Windows is a sophisticated system and there might be additional time delays due to its internal structure. That means that somewhere there are additional internal data buffers which introduce additional delay. It might happen that with other sound cards the time delay will be different. ASIO drivers are used by some of the programs to avoid unnecessary time delays and for this reason I have put a separate column in the Table.  The ASIO buffer length in each case was set to minimal value at which the program runs flawlessly.

 

  1. Icom 756pro is a narrow band digital radio as far as the filtering and demodulation is performed by DSP.  The much less delays compared to software SDR are due to the lack of a high resolution FFT spectral display. Probably the filtering is implemented in the time domain and the length of the data buffers is variable and tailored to the type of the used filter.

 

  1. I tried to put each program in the minimal time delay mode but some of the programs have so many variables that it is always possible that I missed some important parameter due to my lack of knowledge.  This is especially true for Linrad where the user  can change almost every dsp parameter. The values of Linrad variables for fastest processing are taken from SM5BSZ page  “Time delay at 250 Hz bandwidth in FT-1000D and Linrad.htm”  ( http://www.sm5bsz.com/lir/rxdel/rxdel.htm ). The default figures are for newcomer mode (without any change) with Portaudio ASIO4ALL drivers.  Linrad computes the time delay with T command and these delays are with good agreement with the measured one.
  2. The figures of the  time delays given in Table 1 should not be used to claim that one software is better than another. The values given in Table 1  do not assume  that at minimal delay  conditions the different programs will have the same performance. It is more liklely that longer time delays will give better performance  (but not always). In most cases the filter shape factors and spectral resolutions are different (and unknown) so the theoretical time delays should also be different. A good example is PowerSDR which has 60 ms delay when RX buffer in Setup window is set to  256. In this mode the filter shape factor is not good  and very narrow band filters are useless. Some of the programs have a second high resolution  spectral display  which also might increase the time delay.  

 

  1. I do not have an access to SDRmax software ( http://www.srl-llc.com/  ) and Excalibur ( http://www.winradio.com/ ) since I do not have the hardware. I suppose that there should be no significant additional time delays in the direct sampling RX hardware (if there is no sample memory there). For example the figures given in the Table  1 for Spectraview SDR should be valid when SDR-IQ or SDR-14 hardware is used.  The same holds true when the other programs are used with direct sampling RX.  HPSDR project ( http://openhpsdr.org/  ) use  Power SDR software so the delays should be not different from those given in the table.

 

  1. When measuring the time delay,  the audio output from SDR should not have any clicks or interruptions. Such interruptions  mean that the software is not capable to process the incoming signal flawlessly! In such a case the measured delays might be quite wrong.  Usually these glitches are due to insufficient computer power or insufficient  sample buffers length.

 

  1. The Perseus direct sampling RX software was tested at 500 KS/s rate but at 125 KS/s rate the figures are almost the same. The measurements are performed at fixed filter bandwidth of 1000 Hz. No ASIO drivers are used.

 

  1.  All measurements in Table 1 are made in CW mode and AGC is in off state (if the software permits).

 

  1.  WebSDR (PA3FMW,  http://www.websdr.org/  ) time delays were also measured for some European servers. WebSDR settings are in CW mode at approximately 1 KHz BW.  It must be mentioned that different versions of the software and different soundcards are used in the measured servers. The time delays given in the Table include also the Net delay. The  large delay in one of the servers (2300 ms) is  probably intentional. Optical LAN connection to the Net provider is used at my side.

 

  

 May 2009     73,   Chavdar,   LZ1AQ

 

 

Revision 1,   May  2009 

Revision 2,   September  2009

  1. In the Table  the time delay in Winrad does not depend from spectral resolution or zoom.
  2. The time delays in Linrad are reduced  in the table with 30 ms since the settings I used were with 512 FFT3 instead of 256 points and some other settings were not optimal.
  3. In Linrad due to variable spectral resolution the time delay is also variable and can be set to lower  or higher values. See  “A CW receiver with a small time delay and a fast waterfall graph”.  (  http://www.sm5bsz.com/linuxdsp/usage/ldfw/ldfw.htm  ). At fixed FFT3 resolution the time delay does not depend from filter bandwidth and shape.
  4. Alberto I2PHD (http://www.weaksignals.com/)  pointed out that using device specific ASIO drivers the time delay will be reduced further on. I tried the Creative original ASIO drivers that appear after the Audigy SE card installation but unfortunately they do not work with Winrad as well as with all other SDR programs by the unknown reason.
  5. I was told that in Perseus  “you have an option to chose delay between roughly 200 and 400 ms”

 

Revision 3,   Oct.  2011

1.      Some changes in the Table 1 concerning filter bandwidth and shape factor.

2.  More explanations

3.     Added measured time delays for Perseus.

4.    Added measured time delays for SDR-radio.

5. Added measured time delays for WebSDR.

 

 Back to Home