Return-Path: Received: from post.thorcom.com (post.thorcom.com [195.171.43.25]) by klubnl.pl (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x160cow4012592 for ; Wed, 6 Feb 2019 01:38:56 +0100 Received: from majordom by post.thorcom.com with local (Exim 4.14) id 1grB6H-0008On-CG for rs_out_1@blacksheep.org; Wed, 06 Feb 2019 00:30:01 +0000 Received: from [195.171.43.32] (helo=relay1.thorcom.net) by post.thorcom.com with esmtp (Exim 4.14) id 1grB2Q-0008OX-Mo for rsgb_lf_group@blacksheep.org; Wed, 06 Feb 2019 00:26:02 +0000 Received: from sonic314-14.consmr.mail.bf2.yahoo.com ([74.6.132.124]) by relay1.thorcom.net with esmtp (Exim 4.91) (envelope-from ) id 1grB2G-0003vX-5g for rsgb_lf_group@blacksheep.org; Wed, 06 Feb 2019 00:25:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1549412747; bh=LPVlVX8d5v4J5mYHaCyKPFuvVIThBBGa72DhTPwO77A=; h=Date:From:To:Subject:References:From:Subject; b=fMVgs3Q6RPn0jw9bOAU1AfCqvcIGsrDdf/yG5v6tDbCTa0F2VpAoyjqAW+10vlEdtS7KPmcfTBQAW0Xym0l3rIxrzvlgz0XPUZ7Ai8u2DC/R1oZ3AqSwX+nQmWyzoOGOmcvHEOFln7ud9hjPlhNOxnAkBRBE5AM4aV3brMCrKL03y7eads2ROTf3bIbdxCF1Q6tzbDsHxmPi8Fu/1P2zd7I1Su5eFLh49CL0BGuPUJwevtn3l/1qOlMtz4IEjxHthAPFshPV5pPj4sBPhX5+oa+hxzprgclv0kA/aruHhi7UClsTUSyv1bGEqNa/hjxvxXK1kCxYUxQyh+aVzTB2rg== X-YMail-OSG: uQFwFr0VM1mZ_HAwSOyWHwWe1ZpVPNUoL2dq2KMA2jVGDxlaX0mtPmLu_DUzXM4 HoBIVn_z6IleSm9musiT9bd6zc0vepx8PLPRooAOs0JyH3nSAWl0QzYZK8Mr5f57UH.7MYChn2Dz ZP7rMH3Uo6.w1iP8YO7xgWaGHYQ7sa8sNpGjg1YTwGiDpuVSeoZqGQM6TDg60DWRBorS.QQZ5CuY WSzboKmPD2r35J6pcN5TzdaI.FaJg1Sr28._q4rlu37bPtspN3uPNF4T.6XO_Ur1QYLzmUPA9V4R UaDS.BdMofUwbhIw56N6G1HLRXOeoNPLXogirpxtdDDLvuBi6V.cwYoxvxlt3PfJog80qA5mWkIB c3mMas8zx1u2mph1j4CZbaQ3laHQZb7ITK80EClmlAsrMj41DS4dHyY9X8Lp0xxlIgYa.Ted5xTk 2pRugKyX1sg6_dFhJt9CMYmF.M_hagvdHTR4Qw6rkxq9zwyOkw5LIFdBxJa6PH68UAb5MKMfNFQK ylaKq6j6udciAVkrm6lqmB7C5ylm_TID9eiSPdy1Y0w1ifX.puF9j.Q74RZV71oUvfSX8m73FRsx uJSX6ATnCuIIrleU60muD3wWA4038UhEY2QnkjA.Mcqp1emBaykOySDmT03zqAsifzjpGR9ymeEF 0ai3KWmjv6Xj_ItPy8K78nluf6DkSwfsnr8kxbUyfjdkccOZawDFAXl4rT_FqfvOZkEQguN4H_9E JoFSbxf50R85XTp9_AJvGb8AzeFJ_Z.E0z.LXVcfp7864.EUvMDTmRBpDYhVRtD0LpVWtq0dkVfF .2nLqEcLvgV_y_qshO.6bvs_O8xzUA2rKo21mvnKPhGgxErpr3Ec04O401OesDZzwUMoEirPZqN1 7XHv3mebw8T2P47GrXhmtMWVqRIvWilIXi1H7K.51cuLpDnpB8Z1Vg259sO1g5P4WHOISxnCIVkI VdjJm2w9xvjT3rYmvRQv_xava1hCQvwaZ4IZBqaxlPfmRQ7gk6x7ZRqzsx5JWqDGUxv8UfrgpW7d FIGpF6_cGosS2DaAGEqP8Cw-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.bf2.yahoo.com with HTTP; Wed, 6 Feb 2019 00:25:47 +0000 Date: Wed, 6 Feb 2019 00:25:44 +0000 (UTC) From: Markus Vester To: rsgb_lf_group@blacksheep.org Message-ID: <1247452499.3663263.1549412744353@mail.yahoo.com> MIME-Version: 1.0 References: <1247452499.3663263.1549412744353.ref@mail.yahoo.com> X-Mailer: WebService/1.1.13027 aolwebmail Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko X-Spam-Score: 0.0 (/) X-Spam-Report: Spam detection software, running on the system "relay1.thorcom.net", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: There is now an extension for non-integer Hz frequencies (e.g. 8270.0025 Hz): http://df6nm.bplaced.net/LF/u-blox_ebnaut/setubx2.zip setubx2 works the same way as setubx did, except that it can take a [...] Content analysis details: (0.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [74.6.132.124 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (markusvester[at]aol.com) 0.0 HTML_MESSAGE BODY: HTML included in message X-Scan-Signature: 7574eaf38ab90cf371fa9661dd9329b0 Subject: Re: LF: Generating EbNaut from u-blox GPS timepulse - also non-integer Hz Content-Type: multipart/alternative; boundary="----=_Part_3663262_974195683.1549412744351" X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on post.thorcom.com X-Spam-Level: *** X-Spam-Status: No, hits=3.2 required=5.0 tests=FORGED_MUA_MOZILLA,HTML_20_30, HTML_MESSAGE autolearn=no version=2.63 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 ------=_Part_3663262_974195683.1549412744351 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable There is now an extension for non-integer Hz frequencies (e.g. 8270.0025 Hz= ): http://df6nm.bplaced.net/LF/u-blox_ebnaut/setubx2.zip setubx2 works the same way as setubx did, except that it can take a non-int= eger frequency as argument.=C2=A0A phase offset is calculated from the=C2= =A0fractional part of the frequency and the time of day, and it is sent to = the=C2=A0ublox module as a "user delay".=C2=A0By executing setubx2 periodic= ally, the phase is slowly advanced,=C2=A0producing the desired fine offset.= =C2=A0 Absolute phase is referenced to local midnight and maintained over outages = or restarts. Also setubx2 can simlpy replace setubx=C2=A0in the EbNaut scri= pts.=C2=A0 Note that the frequency should not be too far from an integer Hz (preferabl= y closer than +-0.1 Hz), to avoid large phase steps and strong 1 Hz spuriou= s sidebands. Best 73, Markus (DF6NM) -----Urspr=C3=BCngliche Mitteilung----- Von: Markus Vester An: rsgb_lf_group Verschickt: So, 3. Feb. 2019 19:28 Betreff: LF: Generating EbNaut from u-blox GPS timepulse Here's a short summary of my recent experiments and conclusions. LEA-6T hardware: At around 27 =E2=82=AC, this LEA-6T module is perhaps one of the cheapest s= olutions with two timing outputs - see http://www.eevblog.com/forum/projects/ebay-u-blox-lea-6t-gps-module-teardow= n-and-initial-test/Although the LEA series has been superseded by NEO-7 and= -8 with GLONASS and Galileo capabilities, but these tend to be much more e= xpensive. My unit arrived within about a week, and started up fine through the includ= ed USB adapter board. Unfortunately my device did not remember settings aft= er powerdown, which turned out to be due to a missing flash eeprom chip, an= d also (believe it or not) a faulty solder joint on backup-battery charging= resistor. In fact all the solder joints looked as if they had been hand so= ldered in a Chinese garage factory, but that's fine with me. =C2=A0 Then I connected the timepulse outputs through 470 ohm protection resistors= and separate coax cables. With 3.3 Vpp behind the resistor we get ~ 1 mW a= vailable power. However connecting the little ublox module barefoot to the = antenna produced good carrier traces and successful EbNaut decodes at the D= L0AO MF-Grabber, 48 km from here. For PA switching, I later employed a simp= le VOX circuit fed by TP2 output signal. The frequency can be set at any integer Hz from 1 Hz to 24 MHz. The stepsiz= e is fine for LF and MF but perhaps inconvenient at VLF where we would rath= er avoitd integer Hz frequencies. But it may be possible to create small an= d precise sub-Hz offsets by regularly advancing phase, using the user-delay= field. Note that at higher HF frequencies, a noticable degradation of GPS = sensitivity occured presumably due to interference to the on-board ceramic = antenna. EbNaut generation: The idea for ebnaut is to generate PSK by using ublox commands to change po= larity of timepulse, minimizing hardware and doing away with audio mixers o= r external phase switches. I started by monitoring the 40-byte TP5 commands= in in the binary message display. Then based on the specificaton on the u-= blox website, https://www.u-blox.com/sites/default/files/products/documents/u-blox6_Recei= verDescrProtSpec_%28GPS.G6-SW-10018%29_Public.pdf (chapters 23 and 31.24.3), I wrote a small Basic executable setubx.exe whic= h reads a template and=C2=A0patches the frequency, flag and checksum fields= . The output can be redirected to the virtual com-port of the USB=C2=A0conn= ection (e.g. >com6). Note that any changes are not executed immediately but only at the start th= e next second. If a command has been issued as early as 1.0 to 0.1 s before= , the output inversion happens about 50 ms after the next second tick (impl= ying a negligible 0.05 s extra symbol delay). The advantage is that no subs= econd timing is required for the issuing of commands, allowing the use of s= imple DOS timeout or sleep functions. On the other hand, the maximum signal= ling speed is thus limited to 1 symbol per second. As mentioned before, I have created a directory for Windows scripts and a f= ew screenshots, and also this email: http://df6nm.bplaced.net/LF/u-blox_ebnaut/ To prepare an EbNaut transmission, you'd go through the following steps: - download and unpack ebnaut_ublox.zip=20 - use Paul's ebnaut-tx.exe and "write lines" to produce a pskln_xxx.txt out= put file, - edit the file with notepad to replace "1" by "call 1" (same for 0) and sa= ve as a .bat file, - right-click and edit frequency and delay functions in 1.bat and 0.bat=C2= =A0=C2=A0=20 - edit the send_ebnaut...bat according to your desired transmit schedule. BTW I did struggle with strange peculiarities in batch scripting... We need= to wait until the second before the next of 3-second-multiple, but why thi= s cryptic notation: @set /a waittime=3D2-(3%time:~6,2%%%3) - set /a is for arithmetic calculations for a variable, - %time:~6,2% provides two digits for the seconds in a minute, - %% is an expansion of the % modulo operator which is required in a batch = script,=C2=A0=C2=A0=20 - 3%time:~6,2% expands xx to 3xx, only to avoid 08 or 09 being interpreted = as an invalid octal numbers.=20 Spectral purity: Originally I had hoped for relatively low jitter, as little as 21 ns from t= he 48 MHz clock. But it turned out that on most output frequencies the jitt= er is really much larger, leading to relatively strong 1 kHz spaced spuriou= s sidelines. It looks as if frequencies were internally generated on a rela= tively coarse raster, and then the phase is then being corrected periodical= ly each millisecond. But some preferred frequencies are much cleaner than o= thers, specifically =C2=A0- integer divisors of 48 MHz (well-known and easy to understand),=20 =C2=A0- but also all multiples of 366.2155 Hz. This raster happens to be 48= 000.34 kHz/2^17, so I speculate that this may be a "DDS"-like architecture,= clocked by my particular 48 MHz crystal, and outputting the msb of an over= flowing 17-bit-counter. When the output frequency is set slightly above one of these sweet spots, t= he level of 1 kHz sidelines gradually increases. But going only 1 Hz below = the spot produces a sharp detoriation to the worst levels. For example: =C2=A0137330 Hz -15 dB, 137331 Hz -54 dB, =C2=A0137536 Hz =3D 48 MHz/349: -54 dB, =C2=A0475710 Hz -5 dB(!), 475712 Hz -47 dB. When sweeping through frequencies, a "sawtooth-like" dependence of spurious= levels can be observed (screenshot lea-6t_sweep_474-480.5kHz.png).=20 Hope this may be useful=E2=80=A6 Best 73, Markus (DF6NM) ------=_Part_3663262_974195683.1549412744351 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
There is now an extension for non-integer Hz= frequencies (e.g. 8270.0025 Hz):
http://df6nm.bplaced.net/LF/u-blox_ebn= aut/setubx2.zip
setubx2 works the same way as setubx did, except that it= can take a non-integer frequency as argument. A phase offset is calcu= lated from the fractional part of the frequency and the time of day, a= nd it is sent to the ublox module as a "user delay". By executing= setubx2 periodically, the phase is slowly advanced, producing the des= ired fine offset. 

Absolute phase is referenced to local midnig= ht and maintained over outages or restarts. Also setubx2 can simlpy replace= setubx in the EbNaut scripts. 

Note that the frequency sh= ould not be too far from an integer Hz (preferably closer than +-0.1 Hz), t= o avoid large phase steps and strong 1 Hz spurious sidebands.

Best 73,
Markus (DF6NM)

-----Urspr= =C3=BCngliche Mitteilung-----
Von: Markus Vester <markusv= ester@aol.com>
An: rsgb_lf_group <rsgb_lf_group@blacks= heep.org>
Verschickt: So, 3. Feb. 2019 19:28
Betreff: LF: Generating EbNaut from u-blox GPS timepulse
=
Here's a sh= ort summary of my recent experiments and conclusions.

LEA-6T hardware:
At around 27 =E2=82=AC, t= his LEA-6T module is perhaps one of the cheapest solutions with two timing = outputs - see
http://www.eevblog.com/forum/pr= ojects/ebay-u-blox-lea-6t-gps-module-teardown-and-initial-test/
Although the LEA series has been superseded by NEO-7 an= d -8 with GLONASS and Galileo capabilities, but these tend to be much more = expensive.

My = unit arrived within about a week, and started up fine through the included = USB adapter board. Unfortunately my device did not remember settings after = powerdown, which turned out to be due to a missing flash eeprom chip, and a= lso (believe it or not) a faulty solder joint on backup-battery charging re= sistor. In fact all the solder joints looked as if they had been hand solde= red in a Chinese garage factory, but that's fine with me.
 
Then I connected the time= pulse outputs through 470 ohm protection resistors and separate coax cables= . With 3.3 Vpp behind the resistor we get ~ 1 mW available power. However c= onnecting the little ublox module barefoot to the antenna produced good car= rier traces and successful EbNaut decodes at the DL0AO MF-Grabber, 48 km fr= om here. For PA switching, I later employed a simple VOX circuit fed by TP2= output signal.

The frequency can be set at any integer Hz from 1 Hz to 24 MHz. The step= size is fine for LF and MF but perhaps inconvenient at VLF where we would r= ather avoitd integer Hz frequencies. But it may be possible to create small= and precise sub-Hz offsets by regularly advancing phase, using the user-de= lay field. Note that at higher HF frequencies, a noticable degradation of G= PS sensitivity occured presumably due to interference to the on-board ceram= ic antenna.

E= bNaut generation:

The idea for ebnaut is to generate PSK by using ublox commands to chan= ge polarity of timepulse, minimizing hardware and doing away with audio mix= ers or external phase switches. I started by monitoring the 40-byte TP5 com= mands in in the binary message display. Then based on the specificaton on t= he u-blox website,
https://www.u-blox.com/sit= es/default/files/products/documents/u-blox6_ReceiverDescrProtSpec_%28GPS.G6= -SW-10018%29_Public.pdf
(chapters 23 and 31.2= 4.3), I wrote a small Basic executable setubx.exe which reads a template an= d patches the frequency, flag and checksum fields. The output can be r= edirected to the virtual com-port of the USB connection (e.g. >com6= ).

Note that = any changes are not executed immediately but only at the start the next sec= ond. If a command has been issued as early as 1.0 to 0.1 s before, the outp= ut inversion happens about 50 ms after the next second tick (implying a neg= ligible 0.05 s extra symbol delay). The advantage is that no subsecond timi= ng is required for the issuing of commands, allowing the use of simple DOS = timeout or sleep functions. On the other hand, the maximum signalling speed= is thus limited to 1 symbol per second.
As mentioned before, I have created a directory= for Windows scripts and a few screenshots, and also this email:
http://df6nm.bplaced.net/LF/u-blox_ebnaut/

To prepare an EbNaut tr= ansmission, you'd go through the following steps:
- download and unpack ebnaut_ublox.zip
= - use Paul's ebnaut-tx.exe and "write lines" to produce a pskln_xxx.txt out= put file,
- edit the file with notepad to rep= lace "1" by "call 1" (same for 0) and save as a .bat file,
- right-click and edit frequency and delay functions in 1.bat= and 0.bat  
- edit the send_ebnau= t...bat according to your desired transmit schedule.

BTW I did struggle with strange pec= uliarities in batch scripting... We need to wait until the second before th= e next of 3-second-multiple, but why this cryptic notation:
@set /a waittime=3D2-(3%time:~6,2%%%3)
- set /a is for arithmetic calculations for a variable,
- %time:~6,2% provides two digits for the seconds in = a minute,
- %% is an expansion of the % modul= o operator which is required in a batch script,  
- 3%time:~6,2% expands xx to 3xx, only to avoid 08 or 09 be= ing interpreted as an invalid octal numbers.

Spectral purity:

Originally I had hoped for relatively = low jitter, as little as 21 ns from the 48 MHz clock. But it turned out tha= t on most output frequencies the jitter is really much larger, leading to r= elatively strong 1 kHz spaced spurious sidelines. It looks as if frequencie= s were internally generated on a relatively coarse raster, and then the pha= se is then being corrected periodically each millisecond. But some preferre= d frequencies are much cleaner than others, specifically
 - integer divisors of 48 MHz (well-known and easy to unde= rstand),
 - but also all multiples of 3= 66.2155 Hz. This raster happens to be 48000.34 kHz/2^17, so I speculate tha= t this may be a "DDS"-like architecture, clocked by my particular 48 MHz cr= ystal, and outputting the msb of an overflowing 17-bit-counter.

When the output frequenc= y is set slightly above one of these sweet spots, the level of 1 kHz sideli= nes gradually increases. But going only 1 Hz below the spot produces a shar= p detoriation to the worst levels. For example:
 137330 Hz -15 dB, 137331 Hz -54 dB,
=  137536 Hz =3D 48 MHz/349: -54 dB,
 = ;475710 Hz -5 dB(!), 475712 Hz -47 dB.

When sweeping through frequencies, a "sawtooth-lik= e" dependence of spurious levels can be observed (screenshot lea-6t_sweep_4= 74-480.5kHz.png).

Hope this may be useful=E2=80=A6

Best 73,
= Markus (DF6NM)


<= /div>
------=_Part_3663262_974195683.1549412744351--