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.7 required=5.0 tests=BAYES_00,DNS_FROM_AHBL_RHSBL, 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 tBDGmUkm016731 for ; Sun, 13 Dec 2015 17:48:30 +0100 Received: from majordom by post.thorcom.com with local (Exim 4.14) id 1a89lx-0007LW-LP for rs_out_1@blacksheep.org; Sun, 13 Dec 2015 16:45:21 +0000 Received: from [195.171.43.32] (helo=relay1.thorcom.net) by post.thorcom.com with esmtp (Exim 4.14) id 1a89lx-0007LN-At for rsgb_lf_group@blacksheep.org; Sun, 13 Dec 2015 16:45:21 +0000 Received: from mout0.freenet.de ([195.4.92.90]) by relay1.thorcom.net with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.86) (envelope-from ) id 1a89kt-0008Ti-6w for rsgb_lf_group@blacksheep.org; Sun, 13 Dec 2015 16:45:20 +0000 Received: from [195.4.92.142] (helo=mjail2.freenet.de) by mout0.freenet.de with esmtpa (ID dl4yhf@freenet.de) (port 25) (Exim 4.85 #1) id 1a89kg-0002j9-AP for rsgb_lf_group@blacksheep.org; Sun, 13 Dec 2015 17:44:02 +0100 Received: from localhost ([::1]:59844 helo=mjail2.freenet.de) by mjail2.freenet.de with esmtpa (ID dl4yhf@freenet.de) (Exim 4.85 #1) id 1a89kg-0008TA-60 for rsgb_lf_group@blacksheep.org; Sun, 13 Dec 2015 17:44:02 +0100 Received: from mx8.freenet.de ([195.4.92.18]:48143) by mjail2.freenet.de with esmtpa (ID dl4yhf@freenet.de) (Exim 4.85 #1) id 1a89he-0006tR-Lo for rsgb_lf_group@blacksheep.org; Sun, 13 Dec 2015 17:40:54 +0100 Received: from x4d026b4d.dyn.telefonica.de ([77.2.107.77]:51258 helo=[192.168.178.27]) by mx8.freenet.de with esmtpsa (ID dl4yhf@freenet.de) (TLSv1.2:DHE-RSA-AES128-SHA:128) (port 587) (Exim 4.85 #1) id 1a89he-0001yq-86 for rsgb_lf_group@blacksheep.org; Sun, 13 Dec 2015 17:40:54 +0100 To: rsgb_lf_group@blacksheep.org References: <56686FA0.4050707@gmail.com> <56695B15.6010203@abelian.org> <56696950.1040300@abelian.org> <5669B7CE.1090601@freenet.de> <5669E1E3.6070008@abelian.org> <566D6597.4070901@freenet.de> <566D73CD.1070805@freenet.de> <566D7992.2070207@abelian.org> From: =?UTF-8?Q?Wolfgang_B=c3=bcscher?= Message-ID: <566D9F95.1000808@freenet.de> Date: Sun, 13 Dec 2015 17:40:53 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <566D7992.2070207@abelian.org> X-Originated-At: 77.2.107.77!51258 X-Scan-Signature: 39d0aa3a8a50eef73e9de70bcfcadb32 Subject: Re: LF: LF EbNaut test from JN80 on 137370 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit 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: 5797 Ok Paul, looks like we need a little adjustment then. I will add the option to save wave-files in SL in the EbNaut / VLF-RX tools compatible mode (details further below). DCF77 recorded with the LO (NCO) set to 77490 Hz, i.e. signal 10 Hz *above* the oscillator, produces a wave file with the following content: http://www.qsl.net/dl4yhf/t/dcf77_SDR-IQ_recording_NCO_at_77490Hz.png Channel 1 = "I", Channel 2 = "Q" . This 'I / Q wave file format' was introduced by SDR-IQ / Spectravue, and in turn this may have been inspired by the AD6620 (digital downconverter used in the SDR-IQ), which multiplies the input with cos( omega * t) for the "I" branch, and ...tada... -sin( omega * t) for the "Q" branch. ( this can be seen in the block diagram on the first page of the datasheet : http://www.analog.com/media/en/technical-documentation/data-sheets/AD6620.pdf The same convention was applied for the wave files in SpectraVue, and later also for SL when I added native support for that radio ) With a "DC" input signal (0 Hz, Vin = const = 1), the output from the I/Q downconverter would equal to the oscillator signal (complex NCO, ignoring the chain of decimators), i.e. i(t) = cos( omega * t) q(t) = -sin( omega * t) I had 'trimmed' the wave file export function in spectrum lab to produce wave files compatible with the original SpectraVue software. But I will add the option to produce wave files with the 'q' component so SL can write files with both conventions (for vlfrxtools / EbNaut: Q (2nd channel) peaking 90° before I, and for other SDR software I (1st channel) peaking before Q. Those flags (options) will be set by default in the configurations 'EbNaut_Rcvr' and 'EbNaut_Rcvr_SDR_IQ' (just in case someone also wants to try with an SDR-IQ). Of course users could just enter a modified RX frequency in the commandline for the decoder because there is no absolute phase anyway, but for the sake of simplicity, it should not be necessary to 'mirror' frequencies at the LO frequency for the decoder. All the best, Wolf . Am 13.12.2015 um 14:58 schrieb Paul Nicholson: > > If the signal is on the high side of the oscillator, > Q should lead I after the mixer, > > s(t) = sin(wc * t); // Signal, wc = 2 * pi * Fc > > i(t) = sin(wc * t) * cos( wo * t); // LO, wo = 2 * pi * Fo > q(t) = sin(wc * t) * sin( wo * t); > > expands to > > i(t) = 1/2 * { sin((wc+wo)*t) + sin((wc-wo)*t) } > q(t) = 1/2 * { cos((wc-wo)*t) - cos((wc+wo)*t) } > > which after LPF to remove the wc+wo component leaves > > i(t) ~= 1/2 * sin((wc-wo)*t) > q(t) ~= 1/2 * cos((wc-wo)*t) > > which has q(t) leading i(t) by 90 degrees. > > The above are the polarities used by vlfrx-tools and ebnaut. > > On the scope, signal at 77500 Hz and LO at 77490 Hz looks like > > http://abelian.org/vlf/tmp/151213a.gif > > with Q (the 2nd channel) peaking 90 deg before I. > > -- > Paul Nicholson > -- >