If you run amateur radio digital modes like WSPR, FT4, FT8, and JT65, you are most likely aware that they use alternating periods of time for transmitting and listening. These modes use precisely tuned clocks to determine when to make the switch and also to handle the phase and frequency of the baseband (audio) signals.
Successful operation with these modes requires not only pure and precisely tuned radio signals, but also switching between transmit and receive modes at precisely the right times on the clock. Running with a computer clock which is too fast or slow will result in reduced ability to receive transmissions of others, and to be received by other stations. Large clock errors could result in transmitting on top of others for part of an interval and causing interference.
The good news is that you have multiple ways to set the computer clock and keep it within a millisecond or two, of not a few tens of microseconds, just by using Network Time Protocol (NTP) and an internet connection. I will cover some settings you can apply in order to enjoy such accurate time and make some suggestions in case you have a need for clock accuracy as close as a few nanoseconds to the actual time.
As the saying goes, a person with two clocks never really knows what time it is. Actually, neither does the person with one clock. The person with two, or a luckier person with ten clocks, can get a time hack he trusts, then average the time indications and come up with reasonable values for the time. But in that endeavor, there is always going to be a question of how good the clocks are: how fast or slow they run, whether the last time hack was precise, and when another time hack is necessary.
Thanks to industrial production of caesium and rubidium clocks, plenty of schools, businesses, and other consumers of time can own atomic clocks and enjoy references with minimal drift. In fact, today's clocks are so good that relativistic influences, like gravity, are factors in the errors of any specific clock. Atomically referenced time is available from navigation satellites, with a precision as sharp as about ten nanoseconds. What is challenging is not so much getting a drift-free clock, but having a means to reliably transfer the time accurately to downstream users.
What time providers really do is monitor astronomical time and also keep groups of atomic clocks running. The time and date are defined by a specific date to start the epoch, and then some number of atomic clock ticks from then until the present time. Those atomic clocks, which base time on fundamental physical phenomena, plus a hack based on astronomical time, are termed to be "stratum 0" time sources. The next layer of clocks, which reference the output from stratum 0 sources, are termed "stratum 1" time sources. When transferring time from a source to a consumer, including clocks for the next stratum, the delay of the time transfer must be understood and considered in the awareness of time as it is passed along the strata and used.
Serious consumers of timing data will access multiple clocks of the lowest stratum available, consider the delays associated with the communication of time, and do statistical analysis on the data. For example, software may get hacks from multiple sources, take the mean of the best results and then discard the worst outliers. The result is a best estimate of the actual time.
There is no infinitely precise time reference, but pretty good estimates can be made, and that is what end users, such as radio hobbyists use. Without a direct connection to stratum 0 sources, the best
The computers we use in radio communication have internal clocks, which may be pretty good, but none are perfect. NTP software can manage the quality of the time hacks applied to the local machine's clock, and how often it is done. For the low power / weak signal amateur radio modes, you should strive for a precision of within a millisecond or two. NTP can accomplish that.
You probably have at least a basic NTP utility on your computer to automatically set the clock. If on Windows or macOS, you should go into your settings and make sure automatic time updates are enabled. Enable the following settings:
Those first three items in the above list are the most important. Make sure you use good sources, as near as possible, and use hardware timestamping. Depending on how your machine's clock actual rate and drift, updating more requently might be necessary. I have had machines with good clocks on the motherboards, which could go an hour without updating, and ratty ones which needed to resync every few minutes. Your results will vary.
On Windows, you can open a Powershell window and send some comands to force a time hack and also to configure sources for future updates. The code below configures w32tm to use pool.ntp.org. Enter these commands, line by line:
net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org"
net start w32time
w32tm /config /update
w32tm /resync /rediscover
On macOS, you can accomplish a quick time hack with a command executed in the terminal:
sntp 0.pool.ntp.org
You can also set the system to direct time queries to an NTP server of your choice (and it persists across reboots):
sudo /usr/sbin/systemsetup -setnetworktimeserver 0.pool.ntp.org.configure your system's NTP software by editing the file /private/etc/ntp.conf. By default the file contains server time.apple.com, which is not bad, but could be better. Consider replacing the default entry with a set of reliable NTP servers from a pool:
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org
On macOS, the default timekeeping software, timed, is not considered effective enough to maintain millisecond accurate time. What does work well, and is freely available via Homebrew, is chrony. Use these commands to install it, start it, and restart it after editing its configuration:
brew install chrony
brew services start chrony
brew services stop chrony
brew services restart chrony
For time sources, use multiple servers from the NTP pools and configure some extra prameters, especially interleaving:
pool 0.pool.ntp.org iburst minpoll 4 maxpoll 10 maxsources 3 xleave
pool 1.pool.ntp.org iburst minpoll 4 maxpoll 10 maxsources 3 xleave
pool 2.pool.ntp.org iburst minpoll 4 maxpoll 10 maxsources 3 xleave
pool 3.pool.ntp.org iburst minpoll 4 maxpoll 10 maxsources 3 xleave
Stop and then restart chrony to enjoy a system with precise timekeeping on macOS, down to the millisecond level, and often better if you have a fast internet and are near your NTP servers.
Linux has the best out-of-the-box potential for accurate timekeeping, as a lot of distributions include Chrony and the Chrony Daemon by default. In some cases, a distro may default to ntpd, but Chrony is in the repositories and easy to install in minutes. Install it if you don't already have it. On Debian, Ubuntu, and Linux Mint, for example, use Apt to install Chrony:
sudo apt update; sudo apt install chrony
Chrony's default settings are not sufficient for consistent millisecond accuracy with NTP. You should use "sudo" and edit the file /etc/chrony/chrony.conf. Enable hardware timestamping and also set a reliable pool of servers, with extra features turned on:
# Enable hardware timestamping on all compatible interfaces.
hwtimestamp *
# Use a reliable NTP server pool.
pool 0.pool.ntp.org iburst minpoll 4 maxpoll 10 maxsources 3 xleave extfield F323 extfield F324
pool 1.pool.ntp.org iburst minpoll 4 maxpoll 10 maxsources 3 xleave extfield F323 extfield F324
pool 2.pool.ntp.org iburst minpoll 4 maxpoll 10 maxsources 3 xleave extfield F323 extfield F324
pool 3.pool.ntp.org iburst minpoll 4 maxpoll 10 maxsources 3 xleave extfield F323 extfield F324
Those two changes should be enough to get millisecond or better precision using NTP on Linux!
Assuming your Linux distribution uses systemd, restart chrony with a systemctl command for the changes to take effect:
sudo systemctl restart chronyThe configurations given above should set up NTP to smartly query a set of time servers and maintain the system time well within limits for radio signalling modes such as FT4, FT8, WSPR, and JT-65. If more precision is necessary, consider installing either an add-on GNSS (satellite navigation) based time source, or an add-on atomic clock card. Those atomic clocks usually have a rubidium standard and also a GNSS module for syncing with official time sources. Once synced, they stay dead nuts on time.
© 2015 - 2026 Skywavelinux.com, All Rights Reserved. Written and curated by Webmaster - Developer Philip Collier Contact, Privacy Policy and Disclosures, XML Sitemap.