de WAØTTN - PSK31 on PDA Devices

Note: This article is quite old now, however I'm leaving it here for reference. In the intervening years since I wrote this, mobile processors still do not support hardware floating point, or at least not to any extent. However, there is at least one PSK31 implementation that does run on a the Windows Mobile operating system, PocketDigi written by Vojtech Bubnik, OK1IAK. Vojtech's excellent solution was to us a fixed point math library. While fixed point computation in software is effective only up to a certain point, this program works very well on modern mobile devices with sufficient horsepower.

I've received a number of requests to port the WinPSKX ActiveX control to operate on PDA (Personal Digital Assistant) devices, most notably the Compac iPAQ, aka the Pocket PC, running the WinCE "operating system". Since WinCE is the closest relative to the Windows environment, I'll discuss PDA in relation to it. While WinCE devices appear to be miniature versions of personal computers running the Microsoft Windows operating system, they are quite different. This article explains the limitations of these devices.

Intended Usage

WinCE devices appear to perform quite remarkably for their size, however they have quite limited resources. These devices work best in a wireless network environment and can be thought of serving a purpose similar to the remote head of your tranceiver. Their primary purpose is to provide an interface to the user, and provide a communications channel between the user and the resources on the local area network (LAN). They do have a notable degree of processing power on their own, and can be used to some extent in an offline manner. However, the intended purpose is to provide a highly-portable user interface device, as opposed to a full-blown, semi-portable computer system such as a laptop. The illusion that the WinCE devices are miniature personal computers has sparked the idea, numerous times, that these devices might serve as a PSK31 terminal.

Floating Point Processor

By far, the most limiting factor is the lack of a floating point processor (FPU). The DSP computations for encoding and decoding the PSK31 data, and the FFT computations for performing the spectral analysis, are quite math intensive. Some of you may remember how personal computers performed back in the days of the 80386, the processor of the venerable first-generation personal computers. Intel developed the 80387 math coprocessor to answer the demands of the computationally challenged 80386, but it was the 80486 with its embedded FPU that really got us on the road to high-powered number crunching. I only point this out to remind us all that FPUs were once, and in the case of the handheld devices, considered a luxury, not a given.

Like the original personal computers in the days of yore, most (if not all - I need to do more research) WinCE devices do not incorporate an FPU. The intent, as mentioned previously, of the WinCE device is to provide a user interface. While there is a floating point emulation library available, the computations required for the PSK31 processing are not be feasible.

Microphone Input

Most (if not all - again, more research required) WinCE devices provide an earphone jack for private listening. This can easily be used for the PSK31 encoder output. However, the WinCE devices typically do not provide an input jack, but rather only a built-in microphone. While it is possible to simply tape a tranducer, such as a small speaker or earphone, over the WinCE device's microphone, audio quality and ambient noise may present a problem for PSK31 decoding.

Other Issues

Although not an insurmountable issue, the lack of a keyboard means that PSK31 transmission must rely heavily on macros. In the occasional case where the user absolutely must resort to keyboard input, the Pen gesture interpreter and/or keyboard emulator would suffice, although not as effectively as a standard keyboard.

As will be discussed further below, PDAs do not have many options for data exchange either. In the typical environment, a PDA uses a wireless network for data exchange while roaming. For stationary use, a cradle typically provides a USB connection to a desktop computer.

Some Possibilities

One option I've considered for using my iPAQ around the house as a remote PSK31 device is to port the Network WinPSKX experiment to it. The iPAQ would serve as the host for the remote PSK31 application client, while the heavy DSP and FFT number crunching, and the soundcard interface to the radio, is handled by a desktop server over the network. This is certainly feasible. But as I've suggested in the Network WinPSKX discussion, is it really useful?

Naturally, the desire for a truly portable handheld PSK31 device, capable of performing the DSP and FFT computations, is great. A couple of other options show promise also.

One suggestion Moe Wheatley, AE4JY, has made is the possibly of using an SDR (Software Defined Radio), such as Bob Larkin's DSP-10: In this case, the SDR provides the radio transceiver and PSK31 encoder/decoder functionality, and the PDA would simply provide the user interface. The hardware interface between the SDR and the PDA is yet another consideration, and is discussed further below.

Another possibility comes from the New Jersey QRP club's self-contained PSK transceiver. In this case, the Motorola DSP controller board has been programmed for PSK31 encoding and decoding. Unfortunately, handheld devices don't (as far as I know) have serial I/O ports, so another means of interfacing the hardware would need to be employed.

In both of the previous two possibilities, the hardware interface between the PDA and the hardware is an issue. There are two sets of data required, the text data representing the QSO, and the spectrum data for the waterfall display. In order to achieve sufficient throughput for the spectrum data, a USB connection is likely the only feasible solution. However, the device must usually be resting in a cradle which provides the USB connector. So, again, it's not a truely mobile configuration.


This does not mean that there is no hope for a truely portable PSK31 device. The intended purpose and use of the current PDA technology is just not sufficient for PSK31 at this time. The lack of a floating point processing means that an external device must handle the PSK31 encoding and decoding. And the hardware for data exchange limits how the PDA might be connected to an external DSP device.

But time will tell. Technology marches on, and we PSK31 die-hards will continue to search for a truly portable PSK31 solution.

73 to all,
Dave Cook, WAØTTN

Send e-mail to Dave:

Go to the WAØTTN Web page.

Go to the Dave Cook Consulting Web page.

Last updated May 31, 2010