Return to KLUBNL.PL main page

rsgb_lf_group
[Top] [All Lists]

Re: VLF: DK7FC > W1VD / K3SIW 8.27 kHz EbNaut - We don't give up!

To: [email protected]
Subject: Re: VLF: DK7FC > W1VD / K3SIW 8.27 kHz EbNaut - We don't give up!
From: DK7FC <[email protected]>
Date: Sat, 17 Mar 2018 16:40:52 +0100
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1521301256; bh=dnB5W4qA2SM/1OGe33ICppqsXIKvI37g8dMPFwhEBf8=; h=Date:From:To:Subject:From; b=nGyRBfmnbiQ6Wg+VmMNjuTFstERJuO+2Dz2mZBvCr8f0dwELb1ViGu1KS9TkYIbSU AGJGkIYP0H+cTpHcxThXT8byLptxPx6cRMJ6dIDd1rUCKnXhLFc2v8D3epar2eyOEJ rI41Th5K3Cp+5LFseQ69Ld2rji3zu7tnA15h23j2TA55EO38Cnu4K9vBRueyRKdBCT 3GADH52Pea43ijOYEx3WLfSCovtF/Dktl4qDQ4XMtlmifhCcACf8jnYj1HWadYpa/S Lm6s2kAJiTdF39XtPp0MYZM2gCeglp/+45iR0EZ2jrsroXMigGKOeRVQsTB7drZ5UZ nfWfKJCETL1xA==
In-reply-to: <[email protected]>
References: <1UQOBAX9Wi.5GpBpi86BpG@optiplex980-pc> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]>
Reply-to: [email protected]
Sender: [email protected]
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.8) Gecko/20100227 Thunderbird/3.0.3
Hi Paul,

Thanks for the script. I tried it out using the 2 character message decoded by W1VD some weeks ago.
I confirm it works well!
Since i know there are some vlfrx tools newcomers (like me), i post a capture in the attachment which may explain basic steps. Maybe it is useful for some...

First i took your new normstack script and worked out the decode of the 3 stacked transmissions. Then i used your normal stacking tool, without the normalisation. The message is in there at 3.2 dB SNR only and we see no decode.

Using Markus' add.exe i produced sum212223.wav. add.exe is also without normalisation. But this wav file produces a decode and the SNR shown is 10.72 dB.
Now i wonder why there is not the same result as when using ./stack ...

Have i done something wrong or is there some kind of incompatibility?
Currently i see no way to use your normalisation script (iqnorm2) to normalise the txt files produced by SpecLab. It would be interesting to see if there can be an even better result when normalising with iqnorm2, then stacking with Markus' add.exe and then decoding as usual with vlfrx tools.

Any ideas or suggestions?

73, Stefan


Am 16.03.2018 16:41, schrieb Paul Nicholson:

Sorry I missed a chunk off the last email!

Here's my solution to normalising and stacking:

First a little change to the iqnorm script, to change
the first field from a timestamp to a record number:

#!/usr/bin/awk -f

BEGIN{
   idx = 0;
   sum_square = 0
}
{
   stamp[idx] = NR  ####  Changed to record number NR
   ival[idx] = $2
   qval[idx] = $3

   sum_square += $2*$2 + $3*$3
   idx++

   if( idx == 300)
   {
      rms = sqrt( sum_square/idx)

      for( i = 0; i < idx; i++)
         printf( "%s %.5e %.5e\n", stamp[i], ival[i]/rms, qval[i]/rms)
      idx = 0;
      sum_square = 0
   }
}

I've saved this as iqnorm2

I have the .wav files in a sub-directory, eg:

ls -l W1VD

-rw-rw-rw- 1 root root 131200 2018-03-01 12:27 01.wav
-rw-rw-rw- 1 root root 131200 2018-03-02 13:45 02.wav
-rw-rw-rw- 1 root root 131200 2018-03-03 12:26 03.wav
-rw-rw-rw- 1 root root 131200 2018-03-04 16:22 04.wav
-rw-rw-rw- 1 root root 131200 2018-03-05 14:00 05.wav
-rw-rw-rw- 1 root root 131200 2018-03-06 12:40 06.wav
-rw-rw-rw- 1 root root 131200 2018-03-07 16:33 07.wav
-rw-rw-rw- 1 root root 131200 2018-03-08 14:41 08.wav
-rw-rw-rw- 1 root root 131200 2018-03-10 12:53 10.wav
-rw-rw-rw- 1 root root 131200 2018-03-11 17:28 11.wav
-rw-rw-rw- 1 root root 131200 2018-03-12 21:05 12.wav
-rw-rw-rw- 1 root root 131200 2018-03-13 15:08 13.wav
-rw-rw-rw- 1 root root 131200 2018-02-26 13:59 26.wav
-rw-rw-rw- 1 root root 131200 2018-02-27 14:13 27.wav

Now a script to normalise and stack.  This uses the
standard unix join command instead of vtjoin, since
the files are already ASCII and all share the same
record number, we can just join on column 1:

#!/bin/bash

dir=$1

rm -f stack.dat

for file in $(ls $dir/*.wav)
do

   vtwavex $file |
      vtraw -oa |
      ./iqnorm2 > temp.dat


   [ ! -f stack.dat ] && {
      # first file
      mv temp.dat stack.dat
   } || {
      # subsequent files
      join stack.dat temp.dat | awk '{
         printf( "%s %.5e %.5e\n", $1, $2 + $4, $3 + $5)
      }' > new.dat

      mv new.dat stack.dat
   }

done

Save that as, say, normstack and make executable.

Then I run

./normstack W1VD

which produces a stack.dat, then

cat stack.dat | ebnaut -dp16K21A -r0.4572395 -T 198.3 -F0.1 ...

Similarly,

./normstack K3SIW

cat stack.dat | ebnaut -dp16K21A -r0.771603 -T 216 -F0.0 ...

This works because ebnaut ignores the timestamp (or whatever else)
in column 1.

--
Paul Nicholson
--

Attachment: vlfrx_stacking.jpg
Description: JPEG image

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