Morse Decoder diagnostics come in handy to debug your software and see what works, or not. Also, having a built in keyer helps.
Of course, what you really want to do is decode Morse off-the-air. But, I also needed a way to originate the CW sent to me decoder, so I could have more control over what I was trying to decode.
So, I built-in a 5-40 WPM keyer that sends pure 800 Hz Morse to my decoding algorithms, shown lower left above. In addition to several short messages, the keyer can simulate hand-keyed Morse by randomly varying speeds and ratios by up to twenty percent. Also, it will add noise to the signal. With these features, I can run Morse decoder diagnostics on poorly formed code in noisy conditions.
Finally, I added a diagnostics log, shown in black in the lower half on the left. This shows me the timings and ratios of the CW signals being received.
Here is a rundown of the columns in the diagnostics display. My first two columns show Unit Tone and Unit Space timing, in milliseconds, as measured by my decoder. These are around 60 and 70 milliseconds. for 20 WPM code. My third and fourth columns are timing ratios for received tones (column 3) and spaces (column 4). My fifth column shows the decoded letter after all elements are processed.
As a side note, I decode based on Elements which contains one tone (dot or dash) and one following space. By the length of the spaces, I can tell whether the Element is part of a character, a space after a character, or a space after a word. All of this relates to the magic ratio of 1:3:7 for Morse formation.
Morse Decoder Diagnostics in Detail
So, the Tone Radio (column 3) is the length of a tone relative to Unit Tone. As you can guess, it should be near 1.0. Similarly, the Space Ratio (column 4), should be near 1.0 for an intra-character space, near 3.0 for a space between characters, and much larger for a word space.
For my letter “E” above, you can see the ratio pair of 1.0 tone and 6.8 space. Since the space ratio is much greater than 3, while to tone is equal to Unit Tone, you know this is an “E” at the end of a word, in this case “DE”.
I can use my Morse Decoder diagnostics to see what is not working, and why.