Return to KLUBNL.PL main page

rsgb_lf_group
[Top] [All Lists]

Re: LF: WOLF Again, ADC Dynamic Range

To: [email protected]
Subject: Re: LF: WOLF Again, ADC Dynamic Range
From: "Stewart Nelson" <[email protected]>
Date: Mon, 25 Apr 2005 14:19:50 -0700
Delivery-date: Mon, 25 Apr 2005 22:19:23 +0100
Envelope-to: [email protected]
References: <[email protected]>
Reply-to: [email protected]
Sender: [email protected]
Hi Markus and all,

WOLF keeps an array of "reference match power" values for each
possible frame offset and frequency.  The highest value in
this array is displayed as "pm", and its index is used to
attempt decoding.

When I first wrote this about five years ago, I made a stupid
decision to save some memory by storing these values in 16-bit
integers.  With -t set to 10 Hz, there are about 2 million
entries, and I thought that saving 4 megabytes (vs. using
32-bit floats) would allow WOLF to run on some older machines.
I naively thought that the received audio would always be
mostly noise, so dynamic range would not be a problem.

As a result, if the gain is limited by strong carriers in the
passband, then the pm values all get quantized to zero and
WOLF does not know what frequency or frame timing to use.

However, in his recent GUI releases, Wolf DL4YHF changed the
match tables to use 32-bit floats, so I would expect that
this dynamic range problem should be gone (these days,
an extra 4 MB is insignificant).  If you still have trouble
using Wolf's latest code, let us know; perhaps there is another
quantizing bug hiding in there.

73,

Stewart KK7KA


----- Original Message ----- From: <[email protected]>
To: <[email protected]>
Sent: Monday, April 25, 2005 1:26 PM
Subject: Re: LF: WOLF Again, ADC Dynamic Range


Dear John,

three blocks were decoded successfully in Nuernberg, at 01:23, 03:09 and
03:41 UT:

 t:1920 f: 0.029 pm:    7 jm:665 q: -1.4 -4.6 XES WOLF 137441 -

Propagation appeared to be well above average, with both WD2XGJ and VO1NA
visible in good quality between midnight and about 04:45 (see image below).

I could also decode these sections of your transmission from an all-night
audio recording, decimated to 86.14 Hz samplerate at 8 bits, using the original
DOS version of WOLF. At first there was not enough gain, "pm" stayed zero and
"f" stuck to the lower tolerance limit (-0.2Hz). Recognizing your comment about
audio gain, I then "hendrixized" the file by running it through the sndrec32
"louder by 25%" function several times, and voila, suddenly it decoded
alright, with pm increasing in 3 to 5 unit steps. Apparently there is some
threshold
in Stewart's decoder, which does not allow it to recognize low-level signals,
even if they would be well above the (quantization and other) noise.

However for live audio, I cannot increase the gain much here, as I have
several strong signals in the full SSB passband needed for the grabber (SXV,
DCF39
on the edge, DK1IS, DK7SU and others). Thus my ADC full scale is normally set
to approximately 100 µV/m, with 16-bit digitizing.

Interestingly, experiments have verified that even an 8-bit soundcard setting
gives more than adequate dynamic range. The quantization noise level would be
Nq = +40 - 8 * 6.02 - 1.76 - 10 log(11025/2) dBµV/m/sqrt(Hz) = -47.3
dBµV/m/sqrt(Hz),
still 20 dB below the minimum noise background of -27 dBµV/m/sqrt(Hz),
observed on very quiet sunday mornings.

Are you really sure you want to go down to 15 Watts, and what is your ERP
then? Well, we'll see what we can do ;-)

Good luck, 73

Markus



<Prev in Thread] Current Thread [Next in Thread>