DD4WH
Well-known member
Born from an idea by Frank Boesing and developed together with him: this is the Teensy time signal receiver „Teensy DCF77“.
Yes, this is yet another script to decode the highly accurate time signal data from the longwave station DCF77. But this one works with the Teensy plus audio board and does not need any special receiver hardware! Only very few external components are needed:
These are the hardware options, ranging from a few cents to a maximum of 10 EUROS:
Start the script and it will adjust your Teensy Real Time Clock automatically to the atomic clock in Braunschweig, Germany and display the time, date, some signal decoding data and the FFT of the decoded longwave signal on an ILI9341.
The reception should work in a circle around the transmitter in Frankfurt/Main of about 2000 – 3000km.
However, the script is also prepared to take your favourite time signal station´s frequency (60kHz MSF for the UK, 60kHz for WWVB in the USA, 68.5kHz in China etc.). You would have to alter the decoding accordingly.
It is astonishing how easy it is to get reception and perfect decoding even inside buildings in noisy environments (noisy meaning polluted by electromagnetic noise: switching power supplies, plasma TVs, DSL modems, microprocessors like the Teensy etc. ;-)) with such a low budget-low tech receiving circuit.
The code uses a direct sampling approach (like the high performance professional SDRs) and converts the audio to baseband:
Find more information and full source code here:
https://github.com/DD4WH/Teensy-DCF77/wiki
Suggestions and additions for your specific time signal station in your part of the world highly acknowledged!
Have fun with the Teensy and the Audio lib (in our case running with a little more speed than usual ;-))!
Frank DD4WH & Frank B
P.S.: Known issues are the Q of the bandpassfilter (do not use values higher than 10 -->distortion due to fixed point 16 bit precision errors) and the lowpassfilter (do not use stop frequencies lower than 1700) which could be subtituted by FIR filters for better performance (but we did not do that, because in the present state you just put in your desired frequency, eg. 60kHz and the reception will easily work, however you would have to alter the decoding algorithm by yourself ;-)).
Yes, this is yet another script to decode the highly accurate time signal data from the longwave station DCF77. But this one works with the Teensy plus audio board and does not need any special receiver hardware! Only very few external components are needed:
These are the hardware options, ranging from a few cents to a maximum of 10 EUROS:
- Just add a few metres of wire to your MIC INPUT (via a 100nF cap) and connect GND to a good ground connection, a heating or a rain pipe or similar --> DONE
- If the signal is not strong enough with option 1, use an inductor/choke of some milli-Henrys and a capacitor of a few nano-Farads as a parallel resonator with a resonance frequency of 77.5kHz (Look here how to calculate that: https://github.com/DD4WH/Teensy-DCF77/wiki). Connect to the MIC input (via a 100nF cap) and add ground and a few metres of wire as an antenna.
- If option 2 is not possible, use a ferrite rod, put 300 windings of thin copper wire on it (on a length of about 2cm), measure the inductance and add a capacitor as described in option 2
- If none of the options above work, you would have to take the „expensive“ option and buy a DCF77-receiver for 5-15 EUROS and connect ist output to the LINE input of the audio board
Start the script and it will adjust your Teensy Real Time Clock automatically to the atomic clock in Braunschweig, Germany and display the time, date, some signal decoding data and the FFT of the decoded longwave signal on an ILI9341.
The reception should work in a circle around the transmitter in Frankfurt/Main of about 2000 – 3000km.
However, the script is also prepared to take your favourite time signal station´s frequency (60kHz MSF for the UK, 60kHz for WWVB in the USA, 68.5kHz in China etc.). You would have to alter the decoding accordingly.
It is astonishing how easy it is to get reception and perfect decoding even inside buildings in noisy environments (noisy meaning polluted by electromagnetic noise: switching power supplies, plasma TVs, DSL modems, microprocessors like the Teensy etc. ;-)) with such a low budget-low tech receiving circuit.
The code uses a direct sampling approach (like the high performance professional SDRs) and converts the audio to baseband:
- The input signal is sampled at 192ksps
- Bandpassfilter with high Q at 77.5kHz
- Mix with a local oscillator signal of 76.9kHz
- Audio with 600Hz
- FFT with 1024 points
- The relevant bins at 77.5kHz are treated with a sophisticated AGC algorithm written by Frank B and the length of the AM carrier pauses are measured and decoded. The corresponding bit pattern is decoded
- The built-in Teensy Real-Time-Clock is set to the decoded time and is now as accurate as the atomic clock of the PTB in Braunschweig ;-). To be honest: do not expect an accuracy of more than 0.1 seconds with this method!
Find more information and full source code here:
https://github.com/DD4WH/Teensy-DCF77/wiki
Suggestions and additions for your specific time signal station in your part of the world highly acknowledged!
Have fun with the Teensy and the Audio lib (in our case running with a little more speed than usual ;-))!
Frank DD4WH & Frank B
P.S.: Known issues are the Q of the bandpassfilter (do not use values higher than 10 -->distortion due to fixed point 16 bit precision errors) and the lowpassfilter (do not use stop frequencies lower than 1700) which could be subtituted by FIR filters for better performance (but we did not do that, because in the present state you just put in your desired frequency, eg. 60kHz and the reception will easily work, however you would have to alter the decoding algorithm by yourself ;-)).
Last edited: