ARRL -- The national association for Amateur Radio ARRL -- The national association for Amateur Radio
hamcity.com -- Ad
Find on this site...
Site Index 
  
Search site:
  
Call sign search:
 
ARRL Member Login...
Username:   Password:

  
Register    Forgot userid/password? 
Quick Links...
Text-only 
Current Feature Articles

  •  
  • Feb 08 Youth@HamRadio.Fun: Ham Radio 2.0
  •  
  • Feb 05 Surfin': Viewing the New Star of Ham Radio
  •  
  • Feb 02 300 Feet of Cooperation
  •  
  • Feb 01 ARRL In Action: What Have We Been Up to Lately?
  •  
  • Feb 01 It Seems to Us: Where Are the Spots?
  •  
  • Jan 29 Surfin': Radio-Spotting Through the Windshield
  •  
  • Jan 27 Amateur Radio Quiz: Blasts from the Past
  •  
  • Jan 26 Hamming on High
  •  
  • Jan 22 Surfin': My World Is a Radio
  •  
  • Jan 15 Surfin': Addicted to the Internet

    ARRL Products:
    Contesting

    (More)

    RSGB IOTA Directory -- Everything you need to know for the popular worldwide Islands on the Air award. 45th Anniversary Edition.

    Worked All States Pin -- You won the award...now show off your accomplishment!

    RSGB Prefix Guide -- The complete guide to prefix identification and information. DXCC listings by prefix, award details, and more. 8th edition.

    6 Metre Handbook -- The most up-to-date guide to exploring all the excitement on the "Magic Band."

    DXing on the Edge -- The Thrill of 160 Meters

       

    Can Computers Copy Code?

    By James A. Cour, K1ZC
    June 18, 2003


    In a word: yes...but how well will they perform? The answer to that question is clearer after a review of five software packages that can tell a dit from a dah.


    You have probably seen computer programs that claim to be able to convert a stream of Morse code to text using the soundcard of your PC and, if you've tried one or two, you may have been disappointed with the results. As I tried to develop the ability to "head copy" at faster speeds, I played around with a few of these programs, but got relatively poor results. I was wondering if it was just my bad luck, or whether some programs actually did a superior job of decoding Morse. There was only one way to satisfy my curiosity; I downloaded trial copies of five programs and put them through their paces.

    Selection Criteria and Methodology

    There are a variety of sound card translators available as commercial applications and ham-created shareware. Versions are available for DOS, Linux, Macintosh and other operating systems, but my evaluation focused on those running in a Microsoft Windows environment. Certainly, some of the DOS programs would probably run in a DOS window, but since most users prefer the familiar graphical user interface, I only tested Windows-based applications.

    In order to insure a fair comparison, I created a set of computer-generated sound files in WAV format and played them back through my sound card using the Windows Sound Recorder. The test was run on a 450 MHz computer with 192 MB of RAM, running Windows 98 SE. All other applications and background processes were closed except those required by Windows itself.

    The test files were generated using NuMorse Pro, a code-training program that I highly recommend, both for those learning code for the first time or those that want to improve their skills. I expected that most programs would do a decent job with the test files, and why shouldn't they? The computer generates clean code with ideal 3:1 element weighting and, with virtually no background noise, a high signal-to-noise ratio.

    I also created more challenging test files to analyze noisy conditions, fading, bad fists, and a range of code speeds. NuMorse will create computer-generated noise, both man-made and atmospheric, and can also simulate the effects of path fading. I chose background effects somewhere near the middle of the range, enough to be very noticeable, but not so severe as to obscure the signal.

    Each sample was created from the same text file contained a typical contact with the exchange of calls signs, operator name, signal report, weather and rig type. The text included the 43 characters and pro-signs used in FCC tests. I also recorded a number of 40-meter QSOs with a range of conditions.

    Each program was given the challenge of interpreting computer generated code at 25-50 WPM, 25 WPM with background noise and simulated fading, W1AW test files at 20-40 WPM (downloaded as MP3 files from the ARRL Web site) and off-the-air samples.

    The Results: Strengths and Limitations

    Results for each of the programs are detailed below, with a 0-5-scale rating, but overall the winner and still champion is (you guessed it): a well-trained pair of ears. I was very impressed with some of the programs; they could pick out a signal and decode it when I could barely hear it above the noise. However, even the best programs cannot handle poorly sent code.

    One station I monitored kept calling CQ with pauses between elements where pauses don't belong. As a result, "CQ" was translated as "NNMA." It's hard to fault the programs for translating exactly what they received, but a set of human ears would not have made the same mistake. Another challenge is decoding messages in the novice bands sent at very slow speeds, resulting in a translation consisting predominantly of "E" and "T" as the decoders interpret each element as a complete letter. Finally, all the applications take a few seconds to "tune in" and calibrate the decoding algorithm. If the sender speeds up and slows down at random, the decoder will constantly be miscalibrated.

    Code sent by skilled operators or machine-generated messages were another story. All of the programs did an excellent job with the 25 WPM samples and, with sufficient processor speed, can handle the 50 WPM samples. Noise was not a problem for the better software; the algorithms did a fine job of picking out the strongest signals from the noise and copying reliably.

    The speed of the computer's processor is critical. I had performance issues with every application, except one, when running my normal set of background applications (firewall, anti-virus, etc). As the tests ran, it was evident that most of the applications suffered from a severe case of indigestion. When the system could no longer keep up, the decoders would either dump the contents of the receive buffer, thereby missing letters, or just stop decoding completely. Admittedly, my 450 MHz laptop is not the latest or greatest, and it has a slow display adapter, but if you are planning to use an older box in your shack, you should think again. Those with newer machines that run at 1 GHz or faster should probably not see any performance issues. Since all of these programs are graphics intensive, a fast graphics card will also come in handy.

    CWGet

    This is the no frills approach to CW decoding. There is only one screen and a minimal number of controls, but this little program delivered the best overall performance, and it was the only application tested that could even begin to handle the 50 WPM code stream without suspending all background applications. It provided solid copy through the worst noise conditions and did a fine job of decoding hand-sent messages from on‑air sessions.

    CWGet is extremely easy to use. Just set the automatic threshold control to insure that a good signal-to-noise ratio exists, press the "GoToMax" button to select a strong signal peak, and watch the text come scrolling across. The automatic threshold adjustment is very fast so it is not necessary to adjust the sound-card controls manually. The "AutoGTM" feature automatically selects the signal peak with the highest amplitude and, if that signal goes silent, it moves to the next signal after a brief pause. Together, these features make the program a delight to use.

    The only limitation to CWGet is that it does nothing but decode. If you want to send code, it is necessary to use the companion freeware program CWType. Other digital modes, including RTTY, PSK31 and AMTOR, are supported in separate applications that require an additional license fee. Users needing a full range of digital capabilities are probably better off with SkySweeper or HamScope. Documentation is sparse; the program comes with only a brief on‑line help file, but then there is not much to know about this great little utility. I found the default display a bit hard to read, but fonts and colors may be customized on the set-up menu.

    If all you need is a simple-to-use CW decoder, and don't mind the lack of additional features, CWGet may be your best choice.

    SkySweeper

    SkySweeper is a very sophisticated digital signal analyzer. It comes with a wide range of analysis tools, including the typical FFT spectrum analyzer and waterfall display, but adds a three‑dimensional FFT display, signal statistics and IQ constellation analyzer. Each of the various features can be added or deleted in a configuration window. Popular combinations can be saved and up to eight can be assigned to toolbar buttons for later use.

    The quality of the graphics, user interface, and overall layout were outstanding. The font in the CW decoder window was larger than most and the black text on a white background was easy to read, although allowing the user to specify fonts and colors would be an additional plus. For interactive use, a "Chat Window" can be added, and in chat mode the RX and TX windows can be modified for any font and color combination desired. Multiple receive windows can be added to work crowded band conditions, provided that your computer has the horsepower to decode two streams simultaneously.

    If you have been looking for a single program for Windows that handles all digital modes, this is it. It comes with 14 different decoders, 8 encoders, 8 filters and the previously mentioned range of analysis tools. About the only feature it lacks is support for some of the more rarely used SSTV formats. Make no mistake, SkySweeper was written as a signal analyzer and it does not pretend to be anything else. It does not provide rig control features or interface with any of the QSO logging programs, although the author has told me that version 2.9 will add rig control features for the more common radios.

    If there is any drawback to SkySweeper it is that the sheer range of functionality might intimidate some users, but the interface is very intuitive and I found myself using some of the more powerful features very quickly. The text window seems to break words across lines, seemingly at random, which is annoying at times, but not a serious defect. SkySweeper comes with a well-illustrated 135‑page user guide, supplied in the popular Adobe PDF format, and virtually all of that material is also available in the help file.

    It decodes all the popular digital modes, and then some. Rather than try to describe all the features, I suggest that power users pay a visit to the Web site and download the user manual. I wrote a number of e-mail messages and received prompt, helpful answers from the author.

    SkySweeper was definitely my favorite application out of the group; the combination of features, overall quality and user interface make it unbeatable.

    HamScope

    HamScope is a multi-mode decoder that handles CW, PSK-31, and RTTY. It did an excellent job with most of the test files, including the noisy samples. It was not quite as capable as interpreting the live hand-sent code, but it got about 80 percent correct. It was able to read clean samples up to a speed of 40WPM and could probably do better with a faster computer.

    One big plus for HamScope is the ability to decode two messages at once. Using the mouse, the user can set a primary and secondary frequency, either in the spectrum graph or waterfall display. HamScope uses a similar interface for PSK-31 and RTTY, so once you have mastered the program for one mode, there is almost no learning curve for the others. The program supports both transmit and receive. HamScope has one other outstanding feature: its price. This is true freeware without banners, nag screens, or any of the other usual annoyances.

    The downside to HamScope is the need to constantly adjust the sound card controls. Unlike SkySweeper and CWGet, the sound card volume must be adjusted using the sliders accessed through the task bar. Too little volume and the program can't detect enough signal to decode; too much volume and the system overloads. Once adjusted, it's not necessary to play with the input level, so long as the radio remains tuned to one signal. However, when scanning the bands looking for random stations calling CQ, there will be a lot of adjustment required as conditions change.

    It lacks an automatic "maximum amplitude" feature, so the user must select this manually with the mouse. If the selection is not spot on the frequency, the AFC will tune in the peak automatically, but this process is slow and it is often better to use the manual program controls to fine tune the signal. I found the default display (shown above) somewhat hard to read, but the program allows the user to change fonts and colors for most of the major features. The receive windows are large enough to hold long messages and all of the windows can be easily resized dragging the separator bar.

    HamScope comes with its own PSK31 decoder and supports the free MMRTTY engine add‑in. It comes with a very useful help file, including a frequency guide to digital signals. The author, Glen Hansen, KD5HIO, is a helpful and friendly fellow.

    MRP40

    MRP40 is similar in look and feel to CWGet. It comes with a simple interface, but with a few more features than CWGet, including the ability to send. The default text display is easily the most readable of the group and it's further customizable from the pull‑down menu. Like HamScope, the input volume must be adjusted manually, but once set it was much more tolerant of changing conditions avoiding the need to constantly tweak the sound card settings.

    I found MRP40 to be much more sensitive than the other applications to hardware speed. The program has a limited buffer space and, if the CPU cannot decode fast enough, the program dumps the contents of the buffer and those characters are lost. This was a constant problem on my test computer, but when I reran the tests on a faster machine I managed to do fine without overloading the buffers. If you have a newer computer with a fast graphics card it should be fine, but if you are not sure, the author allows a trial period that provides ample time for testing.

    Decoder performance was outstanding. MRP40 did a very nice job picking the signal out of the noise with the test samples and decoded without any problem on the faster computer. MRP40 also did a very good job of decoding the on-air sample, but it was necessary to manually select the frequency since there were other, less intelligible signals nearby, and those were automatically selected by the "Go Max" function. Documentation was very limited.

    If you try MRP40, be careful with the installation program. Unlike most Windows install routines, MRP40 will offer to overwrite newer DLL files with older ones included in the installation package. This is generally a very bad idea because there is no way to know how this will affect other programs on your system. Make sure you have backed up if you want to use the libraries shipped with the product. All of this may not be necessary, though; I declined to overwrite any of my files and MRP40 ran just fine with the newer files I already had on my system.

    CW Decoder

    CW Decoder is another freeware application, this one from the NorCal QRP Club and Grant Connell, WD6CNF. This is a fairly simple program that does a nice job on clean signals.

    CW Decoder did well with the 25 WPM sample and even the 50 WPM test file, but it struggled with finding a signal buried in the noise and could not find the weak on-the-air signal. Unless you have a clear night with relatively strong signals, you might find the sensitivity of this offering unacceptable. I found the interface somewhat less friendly than the other applications, and it seemed to take a longer time in "learn" mode before it started to decode messages.

    The relatively short text lines result in words being broken across lines, which is distracting. The program has a few other quirks that fall into the category of minor irritations, for example clicking the "X" in the upper right corner of the window does not terminate the program and close the window, you have to press the large "Quit Program" button just below. I suspect that frequent users learn to live with these quirks fairly easily. As another true freeware offering, you can't beat the price.

    James Cour, K1ZC, has been a ham since March, 2002. An investment banker in suburban Chicago, Illinois, he is also the president of the Metro Amateur Radio Club. He can be reached via e-mail at k1zc@attbi.com.

       



    Page last modified: 11:33 AM, 18 Jun 2003 ET
    Page author: awextra@arrl.org
    Copyright © 2003, American Radio Relay League, Inc. All Rights Reserved.