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=-2.2 required=5.0 tests=BAYES_00,DNS_FROM_AHBL_RHSBL, HTML_50_60,HTML_MESSAGE 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 tBCCGamj013961 for ; Sat, 12 Dec 2015 13:16:36 +0100 Received: from majordom by post.thorcom.com with local (Exim 4.14) id 1a7j3N-0005l0-QX for rs_out_1@blacksheep.org; Sat, 12 Dec 2015 12:13:33 +0000 Received: from [195.171.43.32] (helo=relay1.thorcom.net) by post.thorcom.com with esmtp (Exim 4.14) id 1a7j3N-0005kp-FX for rsgb_lf_group@blacksheep.org; Sat, 12 Dec 2015 12:13:33 +0000 Received: from mail-wm0-f42.google.com ([74.125.82.42]) by relay1.thorcom.net with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86) (envelope-from ) id 1a7j2N-00015H-RV for rsgb_lf_group@blacksheep.org; Sat, 12 Dec 2015 12:13:32 +0000 Received: by mail-wm0-f42.google.com with SMTP id n186so63414427wmn.1 for ; Sat, 12 Dec 2015 04:12:19 -0800 (PST) X-DKIM-Result: Domain=gmail.com Result=Good and Known Domain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=xdgoloHRkz4mDOJE/1WKAQnqwgCLLrGyiLn1QAIkkgQ=; b=vbJmiBCgUb7VjdW9aigOZPMhumRX6VwWQi2GtKKcQOVzhGev1acyk9gAnKctOSe0dk ZScGWtvoDdtHdQtlWAF4Taib+LrTnq4i4OK38mu6xFoVpdn/xAXizVGdzkG3ZNMKZi3z hwUPm/CKzoggyoiox6xUluYl2LEKU19sX/RJ8M8w8ejs0z7LhjRCZFA8mlPcRk94iNx1 4i9DIzUZCGfgFhcl3++nkZUmtZms0iOK08pOPoFQpvhqSe8YO+FRjegmdQWvRkjtd6ct v0ep/eABJwHgnVSi6tZJALPfqaUe3fwxvylPqaLoPzz3cBYcTpeThmNSC1HmVso6hO9o TUCg== MIME-Version: 1.0 X-Received: by 10.28.91.83 with SMTP id p80mr12701187wmb.87.1449922338038; Sat, 12 Dec 2015 04:12:18 -0800 (PST) Received: by 10.28.130.139 with HTTP; Sat, 12 Dec 2015 04:12:17 -0800 (PST) In-Reply-To: References: <56686FA0.4050707@gmail.com> <56695B15.6010203@abelian.org> <56696950.1040300@abelian.org> <5669B7CE.1090601@freenet.de> <5669E1E3.6070008@abelian.org> Date: Sat, 12 Dec 2015 12:12:17 +0000 Message-ID: From: Andy Talbot To: rsgb_lf_group@blacksheep.org X-Scan-Signature: 4998b3eda037fec4e885bebc9a2db934 Subject: Re: LF: LF EbNaut test from JN80 on 137370 Content-Type: multipart/alternative; boundary=001a11443810e928f20526b25941 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: 5776 --001a11443810e928f20526b25941 Content-Type: text/plain; charset=UTF-8 Hit send too soon on the last one On 12 December 2015 at 12:06, Andy Talbot wrote: > I've just added a fine tune to the PC prog to shift teh input frequeny by > any amount specified in a text box > > > { ipI& and ipQ& are the input samples from the receiver } > > LOtheta = Val(Tuning.Text) / Fsample > LocalOsc = LocalOsc + LOtheta 'Both are normalised > frequencies (Fsample = 1) > LocalOsc = LocalOsc - Int(LocalOsc) 'Fractional part only > theta = 2 * pi * LocalOsc > > IPData(DataPointer&, 0) = ipI& * Cos(theta) - ipQ& * > Sin(theta) ' I > IPData(DataPointer&, 1) = ipQ& * Cos(theta) + ipI& * > Sin(theta) ' Q > > The effect of that is for any positive freqeuncy in Hz intereed into Tuning.text , the spectrum plot shift positive, and conversely the display shifts wown for any -ve value entered Andy G4JNT > > >> >> On 10 December 2015 at 20:34, Paul Nicholson wrote: >> >>> >>> In vlfrx-tools I use >>> >>> I = s(t) * cos( 2pi * Fo * t); >>> >>> Q = s(t) * sin( 2pi * Fo * t); >>> >>> where s(t) is the incoming signal and Fo is the >>> local oscillator frequency. Is that right, or >>> should there be a minus sign in there somewhere? >>> >>> If s(t) is VO1NA at 137370.00000 and I set Fo to >>> 137369.9, then when I put I and Q into EbNaut, it >>> needs an offset of +0.1 Hz to decode as you would >>> expect with the LO being 0.1Hz on the low side. >>> >>> For more general mixing and frequency shift, >>> to select the upper sideband of the mixer output >>> I use >>> >>> I - j * Q >>> >>> is that the right way round? When I take I/Q data >>> from an RTL2832 I find I have to invert Q to get the >>> correct sideband, ie I + j * Q. That's the only >>> independent source of I/Q signal that I have available >>> to try. >>> >>> -- >>> Paul Nicholson >>> -- >>> >>> >> > --001a11443810e928f20526b25941 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hit send too soon on the last one

On 12 December 2015 at 12:06, Andy Talbot = <andy.g4jnt@gmail.com> wrote:
I've just added a fine tune to the PC prog to shift teh input= frequeny by any amount specified in a text box
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0
=C2=A0
=C2=A0 { =C2=A0ipI& and ipQ& are the= input samples from the receiver =C2=A0}
=C2= =A0
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 LOtheta =3D Val(Tuning.Text) / Fs= ample =C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 L= ocalOsc =3D LocalOsc + LOtheta =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &#= 39;Both are normalised frequencies (Fsample =3D 1)
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 LocalOsc =3D LocalOsc - Int(LocalOsc) =C2=A0 = =C2=A0 =C2=A0'Fractional part only
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 theta =3D 2 * pi * LocalOsc
=C2=A0=C2=A0
<= div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 IPData(DataPointer&, 0) = =3D ipI& *=C2=A0Cos(theta)=C2=A0- ipQ& * Sin(theta) =C2=A0 =C2=A0 = =C2=A0 ' =C2=A0 =C2=A0I
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 IPData(DataPointer&, 1) =3D ipQ& *=C2=A0Cos(theta)=C2=A0+ ip= I& * Sin(theta) =C2=A0 =C2=A0 =C2=A0' =C2=A0 Q

The effect of that is f= or any positive freqeuncy in Hz intereed into Tuning.text , the spectrum pl= ot shift positive, and conversely the display shifts wown for any -ve value= entered

Andy =C2=A0G4JNT



On 10 December 2015 at 20:3= 4, Paul Nicholson <vlf0403@abelian.org> wrote:

In vlfrx-tools I use

=C2=A0I =3D s(t) * cos( 2pi * Fo * t);

=C2=A0Q =3D s(t) * sin( 2pi * Fo * t);

where s(t) is the incoming signal and Fo is the
local oscillator frequency.=C2=A0 =C2=A0Is that right, or
should there be a minus sign in there somewhere?

If s(t) is VO1NA at 137370.00000 and I set Fo to
137369.9, then when I put I and Q into EbNaut, it
needs an offset of +0.1 Hz to decode as you would
expect with the LO being 0.1Hz on the low side.

For more general mixing and frequency shift,
to select the upper sideband of the mixer output
I use

=C2=A0 =C2=A0I - j * Q

is that the right way round?=C2=A0 =C2=A0When I take I/Q data
from an RTL2832 I find I have to invert Q to get the
correct sideband, ie I + j * Q.=C2=A0 =C2=A0That's the only
independent source of I/Q signal that I have available
to try.

--
Paul Nicholson
--




--001a11443810e928f20526b25941--