Hi All,

On Sun, 20 Nov 2011 21:33:28 -0500
"William H. Fite" <omni...@gmail.com> wrote:
> Nonetheless, what is evolving is the shared understanding that in order to
> extract all the delicious juices from the SDR-fruit, one probably needs to
> devote a powerful machine to that purpose.
.
.
. 
> On Sun, Nov 20, 2011 at 8:30 PM, Brett Gazdzinski <
> brett.gazdzin...@verizon.net> wrote:
> 
> > Well, what is the bottleneck/source of trouble?
> > Slow cpu's?
> > The ever changing operating system?
> > The firewire/usb interface?
> >
> > It seems to me the weakest point most mentioned is latency on cw.
> > Where does that come from?

Good question:-)

I spent some time to investigate that. Limited of course by
the hardware at hand. There have been many postings on this 
thread, but not many numbers. In my experience we need a 
latency that is no more than 50 ms to operate normal hand-keyed 
CW. That would be the time from key-press until we hear our 
own signal in the RX. If we want to operate QSK (which is
really advantageous) the time is the sum of key-down to tx 
output plus antenna input to loudspeaker output. 

Are there other opinions? What is normal for Flex users today?
With what kind of computers is it necessary to set more than
minimum size for ASIO buffers. (With MME drivers fast response 
is impossible)

I have made tests on a fast computer: 2*Xeon with 8 CPU cores. 
A 650 MHz Pentium 3 behaves a little different, but it allows
a time of 55 ms from antenna to loudspeaker under Windows XP
while Windows 7 does not work at all on the old computer. 
The reason is probably the audiodg.exe bug. (I do not want 
to pay a licence to be able to check whether Windows update 
has fixed the bug.) Under Linux with X11 only the very latest 
kernels allow 40 ms from antenna to loudspeaker on the old 
single core computer. (with svgalib it has been fast for 
many years.)

I have tested the different parts of the delay with Linrad, and
I have also tested PowerSDR on the fast computer. The delay I 
find with PowerSDR is what should be expexted. The delay depends 
on the ASIO buffer size and on the DSP buffer size. With both 
set to minimum the delay from antenna input to loudspeaker output 
is 13 milliseconds. Perfectly stable with no glitches regardless of
what other programs I run simultaneously. Admittedly I have only 
"nice" softwares in the computer. Internet Explorer, Acrobat 
Reader, Notepad and a few others. None of them affects DPC 
latency regardless how heavy I use them to write to the hard 
disk.

More details are at the bottom of this page:
sm5bsz.com/lir/rxdel/3-26sdr/sdr.htm

Linrad does not use isosynchronous transfer to/from the 
soundcard(s) but that does not affect the timing, it just 
makes the code more complicated. The above page shows 
the difference in filter performance in Linrad when 
the DSP buffers are set for 8 ms and for 30 ms delay 
from antenna to loudspeaker.
 
The total delay is the sum of the sound system input delay,
the processing delay and the sound system output delay. In PSDR
input and output use the same buffer size for input and output
with a common interrupt routine (as far as I have understood.)

In Linrad input and output are separate. The input is studied here:
sm5bsz.com/lir/rxdel/3-26in/rxin.htm

As it turns out, only the Delta44 and the Lynx Two allow really
small latency on the input side. Win 7 is better than XP with
the motherboard HDA Intel because under XP there is only a
MME driver while there is a WASAPI driver for Windows 7.

I do not have a good selection of modern soundcards, but I
think the investigation shows pretty clearly that choosing
a suitable soundcard is critical. The availability of good 
drive routines is the culpit. Good for low latency that is:-)

ASIO only allows one driver so it is not possible to open 
input and output simultaneously with ASIO in Linrad. It is
important to use ASIO for output, less so for the input.
Having different drivers works fine in XP, but not with
Vista or Windows 7. As far as I can see the isosynchronous
IO with ASIO works correctly with the Delta44 in PSDR under
Vista and Win 7. The MME driver is OK for XP only however.

The output side is more complicated:
sm5bsz.com/lir/rxdel/3-26out/rxout.htm

Some cards with ASIO, WASAPI or WDM-KS drivers are fast, but
the presence of those drivers does not necessarily mean that
the card is fast.

There is a program dpclat.exe (free to download) by which
one can study DPC latency problems. The only "program"
that I can run to affect the latency significantly is
a function button on my laptop. I do not know what the 
button is intended to do, maybe switch to an external screen,
but when I press it, the screen goes black for perhaps
0.1 s and then all is normal. The event will however
cause a DPC latency of 30 ms and cause problems for all
fast SDR softwares.

I would be interested to know if there is some software that
I can download and install and that would cause DPC latency
problems in a nice repeatable fashion. I would like
to verify that error messages are properly generated.
Also try to avoid problems by changing priorities etc.



Anyway, conclusions:

Todays computers have the CPU power needed for really small 
latency. PSDR seems to use it well. Choosing a good soundcard 
may however be critical.

Modern Windows is faster than older versions if you find a
soundcard with proper drive routines for Windows 7.
(I do not know if Windows 8 differs. It refuses to install
on my computer.)

I think we need better software rather than better hardware.
If the soundcard adds a 30 ms buffer for its special effects
and does not allow us to turn that feature off, we need a 
better driver (for our purposes.) More and faster CPUs would
not help at all.

Is there anyone who can report problems when using a Delta 44
with ASIO drivers and ASIO buffers with 64 samples on Pentium 4
or better? I know some softwares have been reported to cause
problems. I think a compilation of offensive softwares would
be of great interest. What programs cause problems and
how large buffers would they require on different PC
generations? Would it help to run such programs at reduced
priority?

The problem is software. We can make the delay somewhat smaller 
with faster hardware, but really silly softwares (from an SDR 
point of view) can not be fixed with better and faster faster 
processors. We will have to run those in another computer or
perhaps have another virtual Windows installation for them.


73

Leif / SM5BSZ

_______________________________________________
FlexRadio Systems Mailing List
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archives: http://www.mail-archive.com/flexradio%40flex-radio.biz/
Knowledge Base: http://kc.flexradio.com/  Homepage: http://www.flexradio.com/

Reply via email to