Matched Filter was to improve signal-to-noise ratio and an algorithm borrowed from Self Organizing Map (SOM) neural network to improve morse decoding.
With help of Rene I posted experimental FLDIGI software in here
FLDIGI Experimental features
Dave W1HKJ was kind enough to provide a set of test files. I copied the wav files at http://www.w1hkj.com/developers/
to my local hard disk.
I opened AlsaPlayer and added the wav files in the playlist as shown in Figure 1.
On my system the software version crashes after 2-3 memory replay events when experimental features are enabled. Therefore I had to take the tests with only two files at the time when experimental features were enabled. I have not yet found the reason for these Sig11 events. I used memory replay feature in the tests below.
Here are the tests I performed:
1) Legacy FLDIGI detection and decoder - all files
I disabled matched filter (check box "off") and disabled SOM detector ("Use Farnsworth timing" "off"). I started AlsaPlayer and let it cycle through all files in order shown below. FLDIGI morse detection result is shown on Figure 1. Errors are reduced from 1db onwards. Signals between -3dB to 0dB produce decoding errors.
Figure 1. Legacy FLDIGI detection and decoder - test signals -3dB....6dB |
2) Using Matched Filter and SOM detection for -3dB and -2DB signals
For files cw.-3db.wav and cw.-2db.wav I enabled Matched Filter and SOM detection. I let the whole 36 seconds run and clicked waterfall to cause memory replay event for -3dB signal. I did the same for -2dB signal. The result is shown on Figure 2. below.
Figure 2. -3dB and -2dB detection with Matched Filter and SOM |
3) Using Matched Filter and SOM detection for -1dB and 0DB signals
For files cw.-1db.wav and cw.0db.wav I enabled Matched Filter and SOM detection. I let the whole 36 seconds run and clicked waterfall to cause memory replay event for -1dB signal. I did the same for 0dB signal. The result is shown on Figure 3. below.Figure 3. -1dB and 0dB detection with Matched Filter and SOM |
4) Using Matched Filter and SOM detection for 0dB and 1DB signals
For files cw.0db.wav and cw.1db.wav I enabled Matched Filter and SOM detection. I let the whole 36 seconds run and clicked waterfall to cause memory replay event for 0 dB signal. I did the same for 1dB signal. The result is shown on Figure 4. below.Figure 4. 0dB and 1 dB detection using Matched Filter and SOM |
5) Using Matched Filter and SOM detection for 1dB and 2DB signals
For files cw.1db.wav and cw.2db.wav I enabled Matched Filter and SOM detection. I let the whole 36 seconds run and clicked waterfall to cause memory replay event for 1 dB signal. I did the same for 2dB signal. The result is shown on Figure 5. below.Figure 5. 1dB and 2dB detection with Matched Filter and SOM |
6) Using Matched Filter and SOM detection for 3dB and 6DB signals
For files cw.3db.wav and cw.6db.wav I enabled Matched Filter and SOM detection. I let the whole 36 seconds run and clicked waterfall to cause memory replay event for 3 dB signal. I did the same for 6dB signal. The result is shown on Figure 6. below.Figure 6. 3dB and 6 dB detection with Matched Filter and SOM |
7) Legacy FLDIGI detection for -3db and -2dB
In this test I focused on -3dB and -2dB signals. Figure 7 below was taken using legacy FLDIGI decoding. One CQ and parts of call sign HKJ was detected.Figure 7. FLDIGI legacy decoder for -3dB and -2dB signals |
8) FLDIGI SOM detection for -3db and -2dB
In this test I focused on -3dB and -2dB signals. Figure 7 below was taken using SOM decoding (Matched Filter is off). One CQ and parts of call sign HKJ was detected. SOM algorithm has returned best matching characters - but most of these are garbage due to noise.Figure 8. FLDIGI SOM decoding for -3dB and -2dB signals |
9) FLDIGI SOM & Matched Filter and FLDIGI legacy detection comparison for -3db signal
In this test I focused on -3dB signal. Figure 9 below was taken using SOM decoding (Matched Filter is on) first 2 rounds. Memory replay event was triggered by clicking waterfall. Then SOM and Matched Filter were turned off and 2 rounds of legacy decoder was run. SOM decoder shows in green text, legacy decoder in black text below.Figure 9. FLDIGI SOM and legacy decoder for -3db signal |
10) CONCLUSIONS
- Matched filter works best when a long buffer is processed. Using memory replay events (clicking Waterfall) you can get the whole 36 second long signal run through the Matched Filter, like in Figure 9.
- Matched filter is sensitive to correct frequency. Using 4x zoom feature on waterfall allows you to center the bandwith on exactly right frequency.
- Matched Filter is sensitive to correct Morse speed. With manual adjustment to 20 WPM you can reduce errors compared to default 18 WPM setting. Automatic speed adjustment may not work correctly during memory replay events - how to verify this?
- SOM decoder calculates Euclidian minimum distance of the detected lengths of "dits" and "dahs" durations compared to codebook values.
- SOM decoder tries to find best matching characters from the codebook. Noise can cause incorrect coding - a "dit" is interpreted as "dah" or vice versa, or some "dits" or "dah" is missing. See Figure 9. for examples:
W1DKR is miscoded - D (-..) instead if H(....) and R (.-.) instead of J (.---). WLUAJ is miscoded - L(.-..) instead of 1 (.----) and U(..-) instead of H(....) and A(.-) instead of K(.-.)
RQ (.-. --.-) instead of CQ (-.-. --.-)
No comments:
Post a Comment