1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-23 10:05:46 -05:00
sdrangel/plugins/channelrx/radioclock
2024-08-27 09:54:09 +02:00
..
CMakeLists.txt Update CMakeLists.txt to support both Qt5 and Qt6. Add option ENABLE_QT6 2022-11-17 14:34:54 +00:00
radioclock.cpp Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
radioclock.h Frequency Scanner: allow scanning channels of a MIMO device 2023-12-14 21:57:49 +01:00
radioclockbaseband.cpp Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
radioclockbaseband.h Rewriting of copyright notices for plugins/channelrx. Part of #1893 2023-11-18 12:02:48 +01:00
radioclockgui.cpp Removed destroy method leftovers and Sonar lint 2024-08-27 09:54:09 +02:00
radioclockgui.h Radio Clock: Add JJY. 2024-04-07 16:51:55 +01:00
radioclockgui.ui Fix tooltips 2024-06-16 23:38:33 +02:00
radioclockplugin.cpp Updated plugin versions 2024-08-13 22:35:18 +02:00
radioclockplugin.h Rewriting of copyright notices for plugins/channelrx. Part of #1893 2023-11-18 12:02:48 +01:00
radioclocksettings.cpp Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
radioclocksettings.h Radio Clock: Add JJY. 2024-04-07 16:51:55 +01:00
radioclocksink.cpp Fix typos in cpp files 2024-07-10 23:06:38 +02:00
radioclocksink.h Remove unused includes and use more direct includes 2024-04-20 19:10:18 +02:00
radioclockwebapiadapter.cpp Rewriting of copyright notices for plugins/channelrx. Part of #1893 2023-11-18 12:02:48 +01:00
radioclockwebapiadapter.h Rewriting of copyright notices for plugins/channelrx. Part of #1893 2023-11-18 12:02:48 +01:00
readme.md plugins: remove UTF-8 BOMB from readme.md 2024-04-26 08:37:24 +02:00

Radio Clock Plugin

Introduction

This plugin can be used to receive the time and date as broadcast on Low Frequency (LF) by various transmitters that are tied to atomic clocks:

  • MSF - UK - 60kHz
  • DCF77 - Germany - 77.5kHz
  • TDF - France - 162kHz
  • WWVB - USA - 60kHz
  • JJY - Japan - 40kHz

If you'd like other transmitters to be supported, please upload a .sdriq file to SDRangel's github issue tracker.

Typically, it will take two minutes before the time is able to be displayed (up to one minute to find the minute marker, then another minute to receive the timecode).

Although the atomic clocks used to transmit the timecode are extremely accurate, propagation, SDR data transfer and demodulation delays limit accuracy of the displayed time to around 1 second.

Interface

The top and bottom bars of the channel window are described here

Radio clock plugin GUI

1: Channel frequency entry mode

Select from one of the following modes to determine how the channel center frequency is calculated:

  • Δf - Specify an offset in Hz from device center frequency.
  • f - Specific a frequency in Hz.

2: Channel Frequency

Specifies channel center frequency according to frequency entry mode (1):

  • Δf - Offset in Hz from device center frequency.
  • f - Absolute frequency in Hz.

3: Channel power

Average total power in dB relative to a +/- 1.0 amplitude signal received in the pass band.

4: Level meter in dB

  • top bar (green): average value
  • bottom bar (blue green): instantaneous peak value
  • tip vertical bar (bright green): peak hold value

5: BW - RF Bandwidth

This specifies the bandwidth of a LPF that is applied to the input signal to limit the RF bandwidth.

6: TH - Threshold

For MSF, DCF77, WWVB and JJY, specifies the threshold in dB below the average carrier power level that determines a binary 0 or 1.

7: Modulation

Specifies the modulation and timecode encoding used:

  • MSF - OOK (On-off keying)
  • DCF77 - OOK (On-off keying)
  • TDF - PM (Phase modulation)
  • WWVB - OOK (On-off keying)
  • JJY - OOK (On-off keying)

8: Display Time Zone

Specifies the time zone used to display the received time. This can be:

  • Broadcast - the time is displayed as broadcast (which is typically the time zone of the country the signal is broadcast from, adjusted for summer time. WWVB broadcasts UTC).
  • Local - the time is converted to the local time (as determined by your operating system's time zone).
  • UTC - the time is converted to Coordinated Universal Time.

9: Date

Displays the decoded date.

10: Time

Displays the decoded time, adjusted for the time zone set by (8).

11: Status

Displays the demodulator status. This can be:

  • Looking for minute marker - Indicated at startup or after signal lost, while looking for the minute marker.
  • Got minute marker - Indicated after finding the minute marker and waiting for the first timecode to be received.
  • OK - Indicates timecodes are being received.
  • Parity error - Indicates a parity error in received timecode.

The date and time fields are only valid when the status indicates OK.

If while in the OK state several second markers are not detected, the status will return to Looking for minute marker.

12: Daylight Savings

Displays the daylight savings state:

  • In effect
  • Not in effect
  • Starting
  • Ending

For MSF, DCF77 and TDF, starting/ending is indicated one hour before the change. For WWVB it is set for the whole day. Japan does not use daylight savings.

Waveforms

The scope shows how various variables within the demodulator vary with time. These can be used to help debug operation of the demodulator.

The signals available include:

  • IQ - IQ data at channel sample rate (1kHz).
  • MagSq - Magnitude squared (power) of received signal after being filtered with a moving average filter.
  • TH - Current threshold, which is moving average of MagSq - TH setting.
  • FM - Output of FM demodulator for TDF demodulator only.
  • Data - Demodulated data. For MSF/DCF77, this data=MagSq>TH.
  • Samp - Indicates when data is sampled (either for the second marker or for a timecode data bit).
  • GotMM - Indicates whether the minute marker has been received. Cleared when synchronization to second marker is lost.
  • GotM - Indicates when a marker is detected. For WWVB only.

As an example of how this can be used, we can plot the MagSq as X and the calculated TH as Y, which can help to set the value of the TH setting to an appropriate level.

Radio clock plugin GUI