Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lipkowski.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,RCVD_IN_DNSWL_MED, SPF_PASS,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.0 X-Spam-DCC: EATSERVER: mailn 1166; Body=2 Fuz1=2 Fuz2=2 Received: from post.thorcom.com (post.thorcom.com [195.171.43.25]) by lipkowski.org (8.14.4/8.14.4/Debian-8+deb8u1) with ESMTP id v01MTlAq016032 for ; Sun, 1 Jan 2017 23:29:48 +0100 Received: from majordom by post.thorcom.com with local (Exim 4.14) id 1cNoZI-0006Lm-J9 for rs_out_1@blacksheep.org; Sun, 01 Jan 2017 22:25:32 +0000 Received: from [195.171.43.34] (helo=relay2.thorcom.net) by post.thorcom.com with esmtp (Exim 4.14) id 1cNoZH-0006Ld-AN for rsgb_lf_group@blacksheep.org; Sun, 01 Jan 2017 22:25:31 +0000 Received: from omr-a012e.mx.aol.com ([204.29.186.61]) by relay2.thorcom.net with esmtps (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.87) (envelope-from ) id 1cNoZC-0002un-FP for rsgb_lf_group@blacksheep.org; Sun, 01 Jan 2017 22:25:30 +0000 Received: from mtaomg-mac01.mx.aol.com (mtaomg-mac01.mx.aol.com [172.26.222.207]) by omr-a012e.mx.aol.com (Outbound Mail Relay) with ESMTP id 0FF82380009C for ; Sun, 1 Jan 2017 17:25:24 -0500 (EST) Received: from core-acx02h.mail.aol.com (core-acx02.mail.aol.com [10.76.5.147]) by mtaomg-mac01.mx.aol.com (OMAG/Core Interface) with ESMTP id B624F38000082 for ; Sun, 1 Jan 2017 17:25:23 -0500 (EST) Received: from 188.192.95.60 by webprd-a33.mail.aol.com (10.72.57.52) with HTTP (WebMailUI); Sun, 01 Jan 2017 17:25:23 -0500 Date: Sun, 1 Jan 2017 17:25:23 -0500 From: Markus Vester To: rsgb_lf_group@blacksheep.org Message-Id: <1595c2321d6-5127-2947c@webprd-a33.mail.aol.com> In-Reply-To: <15957072d95-4526-28d9f@webprd-m80.mail.aol.com> MIME-Version: 1.0 X-MB-Message-Source: WebUI X-MB-Message-Type: User X-Mailer: JAS STD X-Originating-IP: [188.192.95.60] x-aol-global-disposition: G DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mx.aol.com; s=20150623; t=1483309524; bh=MV8C06m23OWGwuW+oSpUAgWdyL0Uev+on0Ph4lLPdE8=; h=From:To:Subject:Message-Id:Date:MIME-Version:Content-Type; b=FBCsY2ZKxrHukJ9Bzcq9xMDtCik56kjff9YRRgpeOknx5+GlkMRheAU7T8GdZpFsv KrgEmMXuBDi0BSnOVqGFjPXykUPmmliKItx0cmTHJLZKAHdAh+425j6LJpF/+iZV18 AB/BsMhZZfjKwAswO39JlZrOf0/6IRKfzhj+qCP0= x-aol-sid: 3039ac1adecf586981d37ec7 X-Scan-Signature: bb13d668bd6c56d236c8970bb5dcbf33 Subject: LF: How to obtain EbNaut decodes from SpecLab txt files Content-Type: multipart/alternative; boundary="----=_Part_212998_1717750358.1483309523412" X-SA-Exim-Scanned: Yes Sender: owner-rsgb_lf_group@blacksheep.org Precedence: bulk Reply-To: rsgb_lf_group@blacksheep.org X-Listname: rsgb_lf_group X-SA-Exim-Rcpt-To: rs_out_1@blacksheep.org X-SA-Exim-Scanned: No; SAEximRunCond expanded to false X-Scanned-By: MIMEDefang 2.75 Status: O X-Status: X-Keywords: X-UID: 10057 ------=_Part_212998_1717750358.1483309523412 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Joe, LF, this should be a step-by-step guide to obtain EbNaut decodes from your .txt= files.=20 If you haven't done already, download the Windows decoder ebnaut-rx.exe (ei= ther 32 or 64 bit version) from Paul's website=20 http://abelian.org/ebnaut/software_ms.shtml and my auxiliary utilities from http://df6nm.bplaced.net/VLF/fec_tests/df6nm_ebnaut_utilities.zip . Place the following files into a single directory: ebnaut-rx.exe ebnaut_ifft3a.exe show_rawsyms3b.exe sr.txt together with your SpecLab data export file(s), e.g. 12310712.txt 12310612.txt Next you should edit sr.txt, which will be used by ifft3a to write the corr= ect metadata into the wav file header. It contains four numbers: the audio = samplerate, the pre-FFT decimation factor from SpecLab'S FFT settings, the = FFT length, and the RF center frequency. Replace the first entry (12000) by= your calibrated samplerate. So the file content should now be "11999.7658 = 48 524288 137500" (without the quotes). Save this file. Then in Windows Explorer, drag-and-drop 12310712.txt over ebnaut_ifft3a.exe= to initiate the file conversion. A console window will blink up shortly an= d a file 12310712.wav will be written. There will also be a temporary fft.d= at file which can be deleted.=20 Now it's time to start the decoder by double-clicking ebnaut-rx.exe. Fill i= n the symbol period (2), filename (12310712.wav), and CPUs (1 or 2) fields.= We don't yet know the proper values for the start offset and freq offset f= ields so initially leave them at zero. Press "Run" at the bottom, and then = abort the decoder already after a couple of seconds by pressing "Stop" agai= n. Now under "Signal file", you will find the meta information from the wav he= ader, which is based on sr.txt and the timestamp in the SpecLab data file. = Here the file start time is shown as 06:55:17.4 UT. With the knowledge that= my transmission started 0.2 seconds after the hour, ie. 07:00:00.2 UT, you= can calculate the time difference as 4 min 42.8 sec, or 282.8 s. Enter thi= s value into the start offset field, and run and abort the decoder again. The decoder has written a file rawsyms.txt, containing the complex amplitud= es of the 896 two-second symbols. This can be inspected by doubleclicking o= n the show_rawsyms3b.exe utility. A window with four graphs will pop up: A = symbol-phase and a vector constellation plot at the top, a red spectrum in = the middle, and a blue spectrum-of-squares at the bottom. For information, = ebnaut-utilities.zip contains an annotated screenshot explaining the meanin= g of the graphs.=20 We will now look for your pilot tone in the red spectrum. With 2 s symbols,= this spectrum is 1/2 Hz wide, ie. from -0.25 to +0.25 Hz with 50 mHz per b= ox. As the pilot is not far from the center frequency, we indeed find it's = ~ 25 dB peak at about 1.8 boxes right of the middle, or +0.09 Hz.=20 But we need the frequency with better precision, so we will do a few run-st= op-showrawsyms iterations to accurately bring it to the middle. The next ro= und using 0.09 Hz as freq offset already brings the peak into the small red= zoomed graph on the right. The phase points are gathered around a slightly= upwards-sloping trendline. This means that the QRG is almost right but sti= ll slightly higher. In this example, the carrier is strong enough that it i= s also the highest peak in the blue plot, so the frequency readout at the b= ottom is valid: +0.00058 Hz/2 suggests that we should try 0.00029 Hz higher= . Rounding to the nearest 0.1 mHz, we start the decoder again with 0.0903 H= z offset. This produces properly centered peaks and a horizontal trendline = for the phase dots, so we hit it right. Let the decoder run a few seconds l= onger and observe the 13-asterisk "decode" from the pilot carrier.=20 Using our a-priori knowledge that your DDS pilot is 0.8 mHz below 137500, w= e know now that the real receiver center frequency was 137500 - 0.0008 - 0.= 0903 Hz or 0.0911 Hz below 137500 Hz. Now let's have a go at the real signals! My transmission was exactly on 137= 490 Hz which should be -10 Hz offset. As your RX is already at -0.0911 Hz, = we will enter only -9.9089 Hz freq offset. Run the decoder again - and watc= h Gizmo's message appear already after a couple of seconds. Show it to Tang= les! This signal is strong enough to show up in the rawsyms plot. Note that the = phase dots are now assembled around two lines (0=C2=B0 and 180=C2=B0), and = due to the balance of PSK symbols the red carrier peak has completely vanis= hed. The blue peak could still guide you to the right frequency, but this o= ne will quickly be lost in the noise when the signal is weaker. If you like you can tweak the offsets very slightly to improve the Eb/N0 re= sult. In case of non-constant phase (e.g. due to propagation), you will som= etimes have to let the decoder run through a number of phase combinations u= ntil it finally finishes at 25% status. Now let's try to find Riccardo's 8-character message in your 12310612.txt f= ile. In that file, the pilot is found at 0.0910 Hz and thus the RX center f= requency was 0.0918 Hz low. Ric's TX frequency was 137485.0006 Hz, giving -= 14.9994 + 0.0918 =3D -14.9068 Hz freq offset. He was starting exactly on th= e hour without delay, so the time offset is 282.6 s. Let the decoder run th= rough the phase iterations. Hmmm - no result for a long time, then a couple= of gibberish answers with high rank numbers showing little significancy. A= nd nothing but noise in the rawsyms plots. Give up? We know that around sunrise, the ionosphere is pressed downwards, which sho= rtens the path and creates a small positive Doppler shift. So let's try to = increase the freq offset very slightly. 200 uHz up to -14.9070 Hz? Yes! The= FBDECODE appears after a short while with phase pattern 0 0 30 30 degrees = - apparently still with a slight phase slope. Another 200 uHz to -14.9072 H= z brings the message up instantly at flat phase, 180 180 180 180 degrees. Well that was a long essay... Want more exercise? I did send another 8-character 2-second message last ni= ght Jan 1st, hourly from 01 to 07 UT (plus 0.2 s TX latency). Can you decod= e it? All the best, Markus (DF6NM) -----Urspr=C3=BCngliche Mitteilung-----=20 Von: Markus Vester An: rsgb_lf_group Verschickt: Sa, 31 Dez 2016 11:36 pm Betreff: LF: IW4DXW received by VO1NA Joe, Riccardo, here's your little New Year's present: Ric's 6 UT transmission could be dec= oded from Joe's 0612 file, with just enough SNR. Congratulations! This must= be a new east-west distance record. Gizmo's message to Tangles made it across the ocean three times. Thanks to = Alex K. for reporting the decode from Moscow! I won't post a screenshots fr= om Joe's files now, but rather provide more detailed explanations how to do= it yourself. But that will have to wait till tomorrow, as we're already cl= ose to midnight.=20 Happy New Year, and best wishes for 2017 to all in the group! Markus (DF6NM) EbNaut received by VO1NA on 2016 Dec 31 -------VO1NA------ ---------DF6NM---------- --------IW4DXW----------- file pilot rx foffs start sym carr foffs start sym carr hhmm Hz Hz Hz s dB dB Hz s dB dB 0312 .0968 .0976 -9.9024 282.8 nil 0412 .0935 .0943 -9.9057 282.8 7.1 8.6 -14.9051 282.6 nil 0512 .0917* .0925 -9.9075 282.8 nil -14.9069 282.6 nil = *glitch? 0612 .0910 .0918 -9.9082 282.8 1.7 2.1 -14.9072* 282.6 -0.6 -0.3 = *+0.4 mHz =20 0712 .0904 .0912 -9.9088 282.8 8.2 8.9 -14.9082 282.6 nil 0812 .0899 .0907 -9.9093 282.8 nil ------=_Part_212998_1717750358.1483309523412 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Hi Joe, LF,
this should be a step-b= y-step guide to obtain EbNaut decodes from your .txt files.

If you haven't done already, download the Windows decoder ebnaut-rx.= exe (either 32 or 64 bit version) from Paul's website
 http://abel= ian.org/ebnaut/software_ms.shtml
and my auxiliary utilities from
&nbs= p;http://df6nm.bplaced.net/VLF/fec_tests/df6nm_ebnaut_utilities.zip .
=
Place the following files into a single directory:
 ebn= aut-rx.exe
 ebnaut_ifft3a.exe
 show_rawsyms3b.exe
 = sr.txt
together with your SpecLab data export file(s), e.g.
 123= 10712.txt
 12310612.txt

Next you should edit s= r.txt, which will be used by ifft3a to write the correct metadata into the = wav file header. It contains four numbers: the audio samplerate, the pre-FF= T decimation factor from SpecLab'S FFT settings, the FFT length, and the RF= center frequency. Replace the first entry (12000) by your calibrated sampl= erate. So the file content should now be "11999.7658 48 524288 137500" (wit= hout the quotes). Save this file.

Then in Windows Expl= orer, drag-and-drop 12310712.txt over ebnaut_ifft3a.exe to initiate the fil= e conversion. A console window will blink up shortly and a file 12310712.wa= v will be written. There will also be a temporary fft.dat file which can be= deleted.

Now it's time to start the decoder by doubl= e-clicking ebnaut-rx.exe. Fill in the symbol period (2), filename (12310712= .wav), and CPUs (1 or 2) fields. We don't yet know the proper values for th= e start offset and freq offset fields so initially leave them at zero. Pres= s "Run" at the bottom, and then abort the decoder already after a couple of= seconds by pressing "Stop" again.

Now under "Signal f= ile", you will find the meta information from the wav header, which is base= d on sr.txt and the timestamp in the SpecLab data file. Here the file start= time is shown as 06:55:17.4 UT. With the knowledge that my transmission st= arted 0.2 seconds after the hour, ie. 07:00:00.2 UT, you can calculate the = time difference as 4 min 42.8 sec, or 282.8 s. Enter this value into the st= art offset field, and run and abort the decoder again.
The decoder has written a file rawsyms.txt, containing the complex amplitu= des of the 896 two-second symbols. This can be inspected by doubleclicking = on the show_rawsyms3b.exe utility. A window with four graphs will pop up: A= symbol-phase and a vector constellation plot at the top, a red spectrum in= the middle, and a blue spectrum-of-squares at the bottom. For information,= ebnaut-utilities.zip contains an annotated screenshot explaining the meani= ng of the graphs.

We will now look for your pilot ton= e in the red spectrum. With 2 s symbols, this spectrum is 1/2 Hz wide, ie. = from -0.25 to +0.25 Hz with 50 mHz per box. As the pilot is not far from th= e center frequency, we indeed find it's ~ 25 dB peak at about 1.8 boxes rig= ht of the middle, or +0.09 Hz.

But we need the freque= ncy with better precision, so we will do a few run-stop-showrawsyms iterati= ons to accurately bring it to the middle. The next round using 0.09 Hz as f= req offset already brings the peak into the small red zoomed graph on the r= ight. The phase points are gathered around a slightly upwards-sloping = trendline. This means that the QRG is almost right but still slightly highe= r. In this example, the carrier is strong enough that it is also the highes= t peak in the blue plot, so the frequency readout at the bottom is valid: += 0.00058 Hz/2 suggests that we should try 0.00029 Hz higher. Rounding to the= nearest 0.1 mHz, we start the decoder again with 0.0903 Hz offset. This pr= oduces properly centered peaks and a horizontal trendline for the phase dot= s, so we hit it right. Let the decoder run a few seconds longer and observe= the 13-asterisk "decode" from the pilot carrier.

Usi= ng our a-priori knowledge that your DDS pilot is 0.8 mHz below 137500, we k= now now that the real receiver center frequency was 137500 - 0.0008 - 0.090= 3 Hz or 0.0911 Hz below 137500 Hz.

Now let's have a go= at the real signals! My transmission was exactly on 137490 Hz which should= be -10 Hz offset. As your RX is already at -0.0911 Hz, we will enter only = -9.9089 Hz freq offset. Run the decoder again - and watch Gizmo's message a= ppear already after a couple of seconds. Show it to Tangles!

This signal is strong enough to show up in the rawsyms plot. Note th= at the phase dots are now assembled around two lines (0=C2=B0 and 180=C2=B0= ), and due to the balance of PSK symbols the red carrier peak has completel= y vanished. The blue peak could still guide you to the right frequency, but= this one will quickly be lost in the noise when the signal is weaker.

If you like you can tweak the offsets very slightly to imp= rove the Eb/N0 result. In case of non-constant phase (e.g. due to propagati= on), you will sometimes have to let the decoder run through a number of pha= se combinations until it finally finishes at 25% status.
<= br>Now let's try to find Riccardo's 8-character message in your 12310612.tx= t file. In that file, the pilot is found at 0.0910 Hz and thus the RX cente= r frequency was 0.0918 Hz low. Ric's TX frequency was 137485.0006 Hz, givin= g -14.9994 + 0.0918 =3D -14.9068 Hz freq offset. He was starting exactly on= the hour without delay, so the time offset is 282.6 s. Let the decoder run= through the phase iterations. Hmmm - no result for a long time, then a cou= ple of gibberish answers with high rank numbers showing little significancy= . And nothing but noise in the rawsyms plots. Give up?
We know that around sunrise, the ionosphere is pressed downwards, which sh= ortens the path and creates a small positive Doppler shift. So let's try to= increase the freq offset very slightly. 200 uHz up to -14.9070 Hz? Yes! Th= e FBDECODE appears after a short while with phase pattern 0 0 30 30 degrees= - apparently still with a slight phase slope. Another 200 uHz to -14.9072 = Hz brings the message up instantly at flat phase, 180 180 180 180 degrees.<= /div>

Well that was a long essay...

Wan= t more exercise? I did send another 8-character 2-second message last night= Jan 1st, hourly from 01 to 07 UT (plus 0.2 s TX latency). Can you decode i= t?

All the best,
Markus (DF6NM)


-----Urs= pr=C3=BCngliche Mitteilung-----
Von: Markus Vester <markusvester@aol= .com>
An: rsgb_lf_group <rsgb_lf_group@blacksheep.org>
Versc= hickt: Sa, 31 Dez 2016 11:36 pm
Betreff: LF: IW4DXW received by VO1NA
Joe, Riccardo,
here's your little New Year's present: Ric's 6 UT transmission could= be decoded from Joe's 0612 file, with just enough SNR. Congratul= ations! This must be a new east-west distance record.

Gizmo's messag= e to Tangles made it across the ocean three times. Thanks to Alex K. f= or reporting the decode from Moscow! I won't post a screenshots from J= oe's files now, but rather provide more detailed explanations how= to do it yourself. But that will have to wait till tomorrow= , as we're already close to midnight. 

Happy New Year, and = ;best wishes for 2017 to all in the group!

Markus (DF6NM)

EbNaut received by = VO1NA on 2016 Dec 31
-------VO1NA------   ---------DF6NM-----= -----   --------IW4DXW-----------
file   pilot   rx&nbs= p;   foffs   start  sym  carr  &nbs= p; foffs   start  sym  carr
hhmm    Hz  =    Hz     Hz     &nb= sp; s     dB   dB    &nbs= p;  Hz      s     dB = ;  dB
0312  .0968  .0976  -9.9024  282.8 =     nil
0412  .0935  .0943  -9.9057  282.8 &n= bsp; 7.1  8.6   -14.9051  282.6    nil
0512  = .0917* .0925  -9.9075  282.8     nil &nb= sp;    -14.9069  282.6    nil  = ;   *glitch?
0612  .0910  .0918  -9.9082  282.8 &n= bsp; 1.7  2.1   -14.9072* 282.6 -0.6 -0.3  *+0.4 mHz&nb= sp; 
0712  .0904  .0912  -9.9088  282.8   8.2&nbs= p; 8.9   -14.9082  282.6    nil
0812  .0899  = .0907  -9.9093  282.8     nil


<= /div>
------=_Part_212998_1717750358.1483309523412--