Return-Path: X-Spam-DCC: paranoid 1233; Body=2 Fuz1=2 Fuz2=2 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on lipkowski.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00,DNS_FROM_AHBL_RHSBL, FORGED_RCVD_HELO,RATWARE_GECKO_BUILD autolearn=no version=3.1.3 Received: from post.thorcom.com (post.thorcom.com [195.171.43.25]) by paranoid.lipkowski.org (8.13.7/8.13.7) with ESMTP id tATL5wlg031296 for ; Sun, 29 Nov 2015 22:05:58 +0100 Received: from majordom by post.thorcom.com with local (Exim 4.14) id 1a397p-0005o9-5g for rs_out_1@blacksheep.org; Sun, 29 Nov 2015 21:03:13 +0000 Received: from [195.171.43.32] (helo=relay1.thorcom.net) by post.thorcom.com with esmtp (Exim 4.14) id 1a397o-0005o0-SC for rsgb_lf_group@blacksheep.org; Sun, 29 Nov 2015 21:03:12 +0000 Received: from parrot.netcom.co.uk ([217.72.171.49]) by relay1.thorcom.net with esmtp (Exim 4.86) (envelope-from ) id 1a396l-0004m3-FC for rsgb_lf_group@blacksheep.org; Sun, 29 Nov 2015 21:03:11 +0000 Received: from sb.abelian.org (i-194-106-52-83.freedom2surf.net [194.106.52.83]) by parrot.netcom.co.uk (Postfix) with ESMTP id 18D793273E8 for ; Sun, 29 Nov 2015 20:52:57 +0000 (GMT) Received: from [127.0.0.1] (localhost [127.0.0.1]) by sb.abelian.org (Postfix) with ESMTP id 39EFA28A0232 for ; Sun, 29 Nov 2015 21:01:51 +0000 (UTC) Message-ID: <565B67BE.9090600@abelian.org> Date: Sun, 29 Nov 2015 21:01:50 +0000 From: Paul Nicholson User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 To: rsgb_lf_group@blacksheep.org References: <8D2F8A79EEF4432-1FFC-66476@webmail-vd018.sysops.aol.com> <565B01D2.8020409@abelian.org> <565B59CD.4080302@virginbroadband.com.au> In-Reply-To: <565B59CD.4080302@virginbroadband.com.au> X-Scan-Signature: 138e3b341e0543401afa7e97ee054540 Subject: Re: LF: More EbNaut 137.777 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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.56 on 10.1.3.10 Status: O X-Status: X-Keywords: X-UID: 5442 Edgar wrote: > Which software did you use for the cross-correlation? I use http://abelian.org/vlfrx-tools for everything. The program vtcmp has an option for cross-correlation, you just give it a 2-channel input. For anyone interested, details follow... I have the LF band 135-139kHz mixed down to 0-4kHz at 8k/S sample rate and recorded continuously with vtwrite -G86400 /raw That puts VO1NA 137.777 kHz at 2777 Hz in /raw. The signal given to vtwrite has been through vttime so the timestamps and sample rate are exact. Then to extract the 00:00 message which is exactly 1312 seconds long, I do vtread -T2015-11-29_00:00,+1312 /raw | # Extract 1312 seconds vtfilter -h bp,f=2777,w=2 | # BP filter 2Hz wide vtmult -f 2777 | # Mix to I/Q, LO=2777 Hz vtresample -r 1000 > rxed.vt # Resample to 1k/sec That puts the baseband I/Q signal into rxed.vt. Timestamps are preserved through all these processing stages. I can decode the message with vtraw -oa < rxed.vt | # Convert to 3 column ASCII ebnaut -d -p 8K19A -r1000 -S2 -PS -L10000 -N8 -c4 and I see that ebnaut finds a reference phase of 45 degrees and finds the message at phase 180. I need to rotate the signal phase by 45 degrees to get VO1NA into the I channel only, and by another 180 degrees to get the correct polarity. To do this, I re-extract it this time with a phase shift using vtmix, vtread -T2015-11-29_00:00,+1312 /raw | vtfilter -h bp,f=2777,w=2 | vtmix -c 1/225 | # Gain = 1.0, phase shift = +225 vtmult -f 2777 | vtresample -r 1000 > rxed.vt rxed.vt has two channels, ch1 = I and ch2 = Q. All the signal should now be in channel 1. The message was 'TNX PAUL' so I encode that and convert the ASCII output of ebnaut -e into a 'vt' stream with the same timestamp as the rxed signal, echo 'TNX PAUL' | ebnaut -e -r1000 -S2 -p8K19A -N8 | vtdata -c1 -r1000 -T2015-11-29_00:00 > ref.vt ref.vt has one channel with the encoded message modulated at DC and the same timestamps as rxed.vt. Now I can just join these two files, selecting only ch1 from rxed.vt, and pipe the resulting pair into vtcmp to do the cross-correlation, vtjoin ref.vt rxed.vt:1 - | vtcmp -m cor -w 20 > cmp.dat cmp.dat is a 2-column ASCII file: time offset and amplitude, and this I plot with gnuplot. -- Paul Nicholson --