Jitter Observation

Background

The standard RTTY baud rate is 45.45, which requires a 22 ms signal interval (1/45.45). Similarly, 75-baud RTTY requires a 13.33 ms interval (1/75). To generate this timing, EXTFSK uses the Windows multimedia timer. However, because Windows is not a real-time operating system, this timer is not perfectly accurate. The resulting timing variations, known as "jitter," can affect the RTTY signal. The motivation for this experiment was to quantify the extent of this inaccuracy.

Experimental Setup

Oscilloscopes are commonly used for jitter measurement, but devices with this capability can be expensive. I don't have one, which led me to an alternative idea. From the perspective of a modern microcontroller, RTTY signals are quite slow, with frequencies under 100 Hz. Therefore, I decided to measure the jitter using a microcontroller.

I used an mBed, a popular microcontroller. In this setup, the mBed continuously monitors the RTTY signals from EXTFSK and EXTFSK64, measuring the time between signal transitions (rising and falling edges). Each time a transition is detected, the interval time is recorded and sent to a PC via USB.

Experiment setup diagram

The program running on the mBed is very simple (the source code is available if you are interested). I also wrote a simple PC program to record the data from the mBed and analyze the jitter. The graphs on this page were generated using gnuplot.

mBed and UM232H
mBed (left) and UM232H (right)
USB Serial Converter FTDI UM232H
PC Intel Core i7-3770 CPU @ 3.40GHz, 8GB RAM
OS Windows 7 64-bit Service Pack 1 (Japanese)
Application MMTTY 1.68A

First, I measured the 75-baud RTTY signals generated by a true serial port (not by EXTFSK/EXTFSK64) to verify the accuracy of the measurement setup.

Jitter measurement of true hardware
Figure 1. True Hardware

As the figure shows, the measurement setup appears to be working well. I expected to see a single peak at 13,333 µs, but there are two. This is likely due to a non-symmetrical waveform caused by the signal level translation from RS-232 to LVCMOS levels. In other words, the low-to-high signal transition time is slightly different from the high-to-low transition time. This is just a hypothesis, as I do not have an oscilloscope to observe the actual waveform.

Measurement Results

Figure 2 shows the measurement results for EXTFSK64. It clearly exhibits more jitter than the true hardware. The interval time varies from 13,300 µs (13.30 ms) to 13,370 µs (13.37 ms) around the 13,333 µs (13.333 ms) center, with most values falling within a +/- 0.3% range. The minimum and maximum intervals observed were 13,277 µs (-0.4%) and 13,400 µs (+0.5%), respectively.

Jitter measurement of EXTFSK64
Figure 2. EXTFSK64 and USB-Serial Adapter

Joe (W4TV) commented that USB "slots" can increase jitter, especially if a mass storage device (like a USB hard drive or thumb drive) is attached to the same root hub. Thank you, Joe, for the valuable comment. I completely agree.

USB hub

I then measured the jitter while a file copy operation was running in the background (from the main C: drive to a USB thumb drive connected to the hub shown above). Figure 3 shows the result. The jitter clearly increased. The observed minimum and maximum intervals were 13,266 µs (-0.5%) and 13,672 µs (+2.5%), respectively.

Jitter measurement with file copy in background
Figure 3. EXTFSK64 and USB-Serial Adapter with background file copy

EXTFSK uses the Windows multimedia timer, while EXTFSK64 uses the high-performance counter. It is interesting to see if there is a difference in their jitter performance.

Photo of measuring operations
Figure 4. A photo of the measurement setup

Since EXTFSK only supports 45 baud, I compared EXTFSK and EXTFSK64 at that rate. The desired interval time is 22,000 µs (22 ms). Figures 5 and 6 show the results for EXTFSK and EXTFSK64, respectively. EXTFSK64 appears to have less jitter.

Jitter measurement of EXTFSK
Figure 5. EXTFSK and USB-Serial Adapter
Jitter measurement of EXTFSK64
Figure 6. EXTFSK64 and USB-Serial Adapter

Summary

The jitter of the generated RTTY signals is affected by many factors, including CPU, OS, chipset, device drivers, the USB serial converter, and other I/O devices. The results presented here were derived from a single combination of these factors. Modern PCs often lack a serial port, and while USB serial converters provide a workaround, most do not support 45 or 75 baud. I hope EXTFSK and EXTFSK64 help more hams enjoy RTTY, because RTTY is fun.

Acknowledgements

Many thanks to Joe (W4TV) and Jim (W5IFP) for their testing and valuable comments.