In 2008 I wrote a short article on how to add ‘MSF’ to your NTPd refid list.

On June 23rd this year the majority of UK citizens chose in favour of a Brexit.
For European timekeepers this is the opportunity to lock to a standard outside Europe ; -)

MSF is a British VLF time signal, formerly known as the ‘Rugby Clock’.
As of April 1st 2007 the 60 kHz time code transmitter is located in Anthorn, England
and its official name became ‘The Time from NPL’  (click here to read more).

The relocation from Rugby to Anthorn had a side effect: the effective radiated
power (ERP) reduced 6dB, from 60 kW to 15 kW. Significant . . .

MSF operates in a similar way like DCF, albeit that (of course ; -) its time code format
differs (significantly). It transmits UTC with +1 hour offset during summertime and
lacks leapsecond alerts.
Note: UTC differs very slightly from GMT. GMT is not the international standard anymore.

Last year Udo uploaded a development version of his DCF77 library to Github.
Besides severe recoding and restructuring he also added ‘experimental’ MSF60 support
and requests people to test his code before releasing the next ‘formal’ library.

In order to contribute to Udo’s library -by testing it- I modified a DCF77 receiver
for 60 kHz reception, just like I did in 2008 (see above). At that time I experienced
severe reception issues and therefore discarded MSF synchronisation.

However, around 8 years later, using the dcf77 noise resilient library may be more proof
of the pudding than only eating DCF frames from Mainflingen ; -)

Distances from my location to Anthorn and Mainflingen are ca. 625 and 360 km respectively.
Taking ERP’s (MSF 15 kW, DCF 35 kW) into account, MSF must have around 5 dB (~ 3x)
lower field strength than DCF.

After modifying the DCF receiver to 60 kHz and tuning the ferrite rod antenna I got clean
second beats in my shack. However, in my computer room LOTS of spikes appeared on the output signal.
To receive ‘optical’ proper LED time stamps I had to place the receiver near a window.

Some fiddling in my code was necessary to let it work with the experimental
library in MSF mode. The first successful MSF lock took around 12 minutes.

Perhaps the internal local oscillator frequency offset -stored in eeprom- had to redetermined,
although I can hardly believe this? Anyway, after this first lock the contraption syncs to
a clean MSF signal within ca. 5 minutes.

Of course MORE proof of the pudding is to check if my clock locks in severe conditions.

Below two extracts from the DCF Scope sketch are displayed. Top: worst case, below: ‘in front of window’ signal.

12, +-2XX8----+--1XX9---+6X7------+---------+---------+----2XXXXXXX5--2XX6+------1XXX2--------7------7XX
13, XXX2------+2XXXX4---+-----5XX5+---------+-----XX-3XXX2---3--+---------+----1X---+------6X5+-----7X2X
14, X13-------+--4X8----+--------2X---7XX1-2XX6---91--+-6X4-----+----X3-7X3----26---+-X2--XXXX+X364----8
15, 3---------89---X494-+-18---7X6+48---61--+X7-------+49----X8-+---73----42--8X6---4XX6------+---------
16, +-----8X2-97----1X3-8764------+--7XX----+--7X3----+--------6X474------2X9--8X3--+2XX1---54+----57---
17, +-------4X5--66-----+-8XX2-XX-+-----95-1XX292-----+--------33----27---+----8XX2-+--6---5X9+---------
18, +14-------+-----66--7548518X--+-----3X--+---------+--------X834--7XX1-+-84X4--44+17654----+----6----
19, +-87------+34-14----+------6XXX8--5825--+8XX2-----12--------58-----18-+---17-2X5+---------+-------2X
20, X--684----+4XX2-----27--36----+---------+---934---+----9XXX-+-668X8X192--------42XX2-----46-----6X95

Figure 1. DCF Scope result of very distorted MSF ticks. Receiver positioned near interfering equipment.


12, +----8XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX9-----+---------+---------+---------+---------
13, +-----5XXXXXXXX4----+---------+---------+---------+---------+---------+---------+---------+---------
14, +----6XXXXXXXXXX2---+---------+---------+---------+---------+---------+---------+---------+---------
15, +----8XXXXXXXXXX4---+---------+---------+---------+---------+---------+---------+---------+---------
16, +----8XXXXXXXXXX3---+---------+---------+---------+---------+---------+---------+---------+---------
17, +----9XXXXXXXXXX2---+---------+---------+---------+---------+---------+---------+---------+---------
18, +----9XXXXXXXXXX3---+---------+---------+---------+---------+---------+---------+---------+---------
19, +----9XXXXXXXXXX3---+---------+---------+---------+---------+---------+---------+---------+---------
20, +----9XXXXXXXXXX3---+---------+---------+---------+---------+---------+---------+---------+---------
21, +----9XXXXXXXXXX4---+----4XXXXXXXXXX----+---------+---------+---------+---------+---------+---------
22, +----7XXXXXXXXXX1---+----3XXXXXXXXX7----+---------+---------+---------+---------+---------+---------

Figure 2. Clean DCF Scope output of my MSF receiver, positioned near a window.

The signal from figure 2 results in a MSF lock after ca. 5 minutes.
Believe it or not, but the ‘signal’ from figure 1 resulted in a lock after around 40 minutes.
‘Normal’ MSF/DCF receivers would be useless in figure 1 conditions. However, Udo’s library does a magnificent job!

The MSF receiver now serves as NTPD reference clock for an experimental NTP  server.

Current running sketch is here.