New Bayesian Morse Decoder
In my previous blog entry I shared the first test results using Bayesian CW decoder integrated to FLDIGI. As I indicated the software has still bugs but when it works the accuracy improvement compared to the legacy FLDIGI decoder was pretty impressive. I was testing again tonight as ham bands were full of CW stations working in ARRL Straight Key Night. I made also many audio file captures to be used as additional testing material.However, as my alpha testers have also noticed the current decoder is very sensitive to proper audio signal settings. In order to analyze this problem a bit more details I re-implemented FLDIGI audio processing chain from audio file playback to the decoder (including the FFT filtering in CW.CXX) in a standalone version of the Bayesian Morse Decoder. It was easier to run a series of tests by just varying command line variables and WAV audio files and capture the results for analysis & plotting the data.
After running a series of tests I compared the signal amplitude against decoder errors and found a very sharp non-linear behavior related to speed estimation algorithm. By increasing signal volume by only 0.06% I was able to re-produce this event that alpha testers found and also capture the dynamic behavior of various parameters, including <spdhat> that I used below to plot the speed estimate over time.
Figure 1. below shows that initially the speed tracking is trying to find the correct speed (in this case 40 WPM) but fairly soon it goes down below the lower limit 10 WPM and is not able to recover from this error situation. This is similar behavior that alpha testers have seen.
Figure 1. Speed estimator bug |
Figure 2. Normal speed estimator behavior |
I am very thankful for those brave hams who took this first (broken) alpha release and provided me not only good feedback but also some WAV file examples that I have been able to use to track down these problems.
I have also converted all the files from C to C++ to make it easier to re-integrate to FLDIGI. I will continue cleaning up the code and keep working to improve the speed estimator. Once I have the next alpha release ready for another set of tests I will announce it in the fldigi mailing lists and eham.net CW forum.
73 and Happy New Year
Mauri AG1LE