Showing posts with label NTP. Show all posts
Showing posts with label NTP. Show all posts

Saturday, 6 June 2015

WSJT-X V1.5 Released

Development of WSJT is very active right now. While 1.5 was in its final phases of testing (so-called "Release Candidates") the development team were hard at work on V1.6. The main feature of the new release is improved decoding, in terms of both the ability to decode weak signals and the speed it which decoding takes place. The decoding speed is greatly enhanced by the use of multiple processing threads (it looks like up to four). On my 3 year-old Pentium Core i7 computer the improvement is dramatic, normally with sub-second decoding times.

Release 1.6, which is under active development, is attempting to consolidate all the JT "slow" modes, like JT4, JT65A, B and C, and WSPR. WSPR is getting the most attention now and will include a scheduler for band hopping based on 4 time periods, which are day, night, and the twilight periods for gray line propagation. I think this will really increase usage of WSPR worldwide once it is released.

If you want a copy of WSJT-X V1.5, you can download it for free from the WSJT-X Web Site. If your station can run PSK31, then you can run WSJT-X, although you will need a way to synchronize your computer clock. Usually that's done with time servers on the Internet (more free software), although you can also use GPS or time signal stations.

Friday, 8 May 2015

Setting the Time

I'll admit it. I'm a little bit obsessed with time. I like it when every clock in the house ticks over in perfect synch. Indeed, I will avoid ever buying a clock or device that doesn't keep perfect time.

It is only a minor obsession. I'm satisfied to be within a second which is good for digital communications modes that depend on accurate time, rather than the millisecond or even microsecond precision. Human technology can keep time to within 1 part in 1,000,000,000,000,000 or so but I would soon find myself single if I started investing the family nest egg in Cesium or Hydrogen Maser clocks.

Around a second accuracy is good for the JT modes like JT65 and JT9 (in the WSJT-X or JT65-HF programs), as well as WSPR. It is also handy if you're networking the N1MM logger program so that stations do not enter logs that are in the future, as far as the other stations are concerned.

There are 3 ways I've used to satisfy the craving for accuracy.

  1. The Network Time Protocol (NTP). This protocol runs over an IP network and does a great job of keeping computers in synch with each other despite the delays inherent in networks. Windows supports NTP but the implementation is not the best, so I generally use another free package from Meinberg to keep the system aligned with expensive atomic clocks at the National Research Council and other centres around the world. My only complaint with Meinberg is that it takes its time setting the clock after the system starts - around a 1/2 hour - which is pesky, especially on a laptop. All Linux systems have an NTP client available to install.
  2. Short Wave Stations. WWV, CHU and others transmit precise time signals, although they are somewhat skewed by the ionosphere unless you happen to live near one. I have an inexpensive clock that is always right which uses WWV. I'm sure there's also an inexpensive way to use WWV to set the computer clock but I've never tried to find one because GPS is so readily available.
  3. GPS - GPS (also GLONASS and Galileo) satellites send out very accurate time signals as each satellite contains a Cesium timepiece. Technology is available to use GPS to keep very accurate time for advanced computer and telephony systems but simple software is available for using a standard GPS dongle (either a USB or Serial Port) that usually runs around $20-30 to keep the system clock from drifting. The GPS solution is useful if you don't have an Internet connection, like with portable operation, although NTP works just fine over a mobile phone hotspot.
At home I run NTP. Rather than have each of the computers (and some other devices like NAS storage, TV sets and music players) connect directly to external time servers, I have my Raspberry-Pi single board computer handle the external connection and then act as a server for all the other devices over my local area network. This reduces the load on the external servers and the network traffic, as well as keeping the computers together if the Internet becomes unavailable (together, although only as correct as the Raspberry Pi's clock can maintain).

Computer clocks drift. My desktop system is pretty good at 1-2 seconds per day. The laptops drift several seconds per day. This isn't good enough for JT65 and it is very hard to set them manually. 

I've tried two software applications with my GPS dongle. The first thing you should know is that these applications have to be run with Administrator privileges (e.g. right-click, "Run as Administrator") so that they can change the system time. You wouldn't want any old app doing that.

The first one was a free app from TimeTools called "GPS Clock". It is a very simple app in which you just tell it the com port and it runs, displaying your position, the time and the NMEA messages coming from the GPS dongle. Unfortunately it is a very cranky application so I will only give it two starts out of five (two instead of one because it does work if you're nice to it). There is a configuration setting that determines how many seconds elapse between clock updates ranging from 1 to 60. If it is set to anything but 1 the program will bomb with an error. Also, if you forget to run the program with administrator privilege, it reports an error every second until you kill the program.

The other program is NMEATime from VisualGPS. It works solidly and can use both GPS and a somewhat less accurate NTP called Simple Network Time Protocol (SNTP). In addition to the latitude, longitude, altitude and time, it shows the position of the GPS satellites it can see and the signal strengths from each. It also managed to find my GPS dongle on its communication port without me having to tell it which COM port it was on. Unfortunately, perhaps inevitably, the program that works the best is not free - but you get a one month trial and the registration key is a reasonable $15. 

If your GPS unit has the capability, the program will also accept a hardware 1 PPS (pulse-per-second) input, which will give you sub-second accuracy. The 1 PPS output from even very inexpensive GPS devices is usually accurate to a microsecond, and over long periods can be used to synchronize a very stable oscillator to within a picosecond of "atomic time".

For both programs you must make sure that the speed of the COM port matches the device and the program you're using. It won't work otherwise.

For most of us, installing Meinberg, as recommended by the authors of both N1MM and WSJT-X, is all we need to do to guarantee accurate time-keeping by our computers.

73,
Chris