モールス信号のパタンを認識する
前回の記事で、モールス信号読み取りプログラムの大枠を作って紹介しましたが、モールス信号のオンオフパタンの読み取りは原始的な方法でお茶を濁してしまいました。今回はそこを強化してみた、という記事です。
モールス符号の入力を実際に理解させるときに、大きく二つ問題があります。
- 全く同一のタイミングで別の符号パタンが存在する
- モールス信号は人手で叩くこともあり、タイミングは必ずしも正確ではない
全く同一のタイミングについては、例えばこのようなもの
****** ****** ******
Bashこれは、トンの長さが文字二個分と認識すると”T T T” になって正しいコードです。トンの長さを文字六個分と認識するとこれは “S” になってこれも正しいコードです(SOS の S です)。
モールス符号のタイミングのブレで読み取りが紛らわしい問題については、実際にテストパタンで経験したものでは例えば
***** *************** *********** ******
Bashこれは P (.–.) のつもりですけれども三番目の信号が何かあいまいで L (.-..) とも読めてしまいます。他にも隙間があいまいで単なる信号の切れ目なのか文字の切れ目なのか判別がつけづらいという場合もありました。