cwdecoder の解読精度は如何なものでしょうか。
簡単な実験をしてみました。
78文字の欧文と46文字の和文をそれぞれパソコンからオーディオ出力して、cwdecoder で解読ミスした文字数をカウントしました。
<欧文> 78文字
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
<和文> 46文字
あいうえおかきくけこさしすせそたちつてとなにぬ
ねのはひふへほまみむめもやゆよらりるれろわをん
cwdecoder のトーン周波数は 558Hz に設定されているので、 CW MANIA を 560Hz に設定しています。
結果
実は私、今まで一度も CW 解読器を手に取ったことがなく、使用した経験もないのです。だから、この結果がどう評価されるべきなのか、正直なところよくわかりません。
一般に市販されている CW 解読器は、30wpm という速度でもきちんと解読することが可能なのでしょうか。
これについては、本当に気になっています。。。
速度(wpm) | 欧文 | 和文 |
10 | 0/78 | 0/46 |
15 | 0/78 | 0/46 |
20 | 0/78 | 0/46 |
25 | 2/78 | 2/46 |
27 | 2/78 | 2/46 |
28 | 6/78 | 1/46 |
29 | 8/78 | 9/46 |
30 | 約3割ミス | 約5割ミス |
※試験は2回ずつ行いミスが多い方を採用しています。
※サンプル数 N が小さいので、あくまでも参考程度ということで。
"W" と解読してほしいところを "△M" とは・・・ おしい。
さて、今回の結果を見ていただければわかる通り、25wpm での解読ミスが少なく、私自身、非常に満足しています。
ただし、ホントのところどうなのか、正直なところまだ把握できていません。
もしよろしければ、他の解読器と比較分析するための情報を頂けると大変助かります。
スケッチを見ていると「Goertzel アルゴリズム」のパラメータを変化させることで、もう少しチューニングができそうなので、30 wpm で最適化するパラメータを模索してみようかと思います。
Arduino のような非力なマイコンでの復号はこの精度が限界なのでしょうか。
多くの方が疑問に思っているかもしれませんが、信号処理のためにはやはり、ARMプロセッサーのような高速なマイコンが必要なのでしょうか。
そして、より高い精度を求めて、サンプリング周波数を高くできたらどうなるのでしょうか。
ここまできたら 30wpm でも 95% 以上の精度で解読させたいものです。
これは将来の課題ですね。。。
取りあえず、今日はここまでです。