私はラジオ受信機を持っています。あのラジオの音声出力は私のコンピュータに送られます。音声出力には、440 Hz または約 440 Hz のモールス符号が含まれています。そのモールス符号の速度は 2 ~ 20 WPMの範囲である可能性があります。相手局が送信しているかどうかはなんとなく分かるのですが、その送信中・非送信中の状態を文字にするにはどうすればいいのでしょうか?総当たりよりも良い解決策があるかもしれないと思いました。
複雑な要因:
- ほとんどのモールス信号プログラムのようにユーザーが指定するのではなく、プログラムが相手局の送信速度を把握できるようにしたいと考えています。
- ノイズあり
- モールス信号送信機は、すぐにオンとオフを切り替えるわけではありません。約 4 ミリ秒の立ち上がり時間と立ち下がり時間があります。
- このモールス符号の多くは人によって送信されるため、完全ではありません。
- たとえば、単語間の一時停止は 7 つの要素であると想定されていますが、5 から 8 までの任意の数になる可能性があります。
- 人の送信速度は、1 回の会話で約 20% 異なる可能性があります
- これを多かれ少なかれリアルタイムで実行したいと考えています。プログラムが何かを出力し、それが間違いであることに気づき、それを修正すれば問題ありません。
これまでのプログラムの出力例。オーディオをキー付き/キーなしに解決できますが、それをドット/ダッシュに解決することはできません。
###########################################################__________________________
_________________________________####################################################
#####################################################################################
#######################################______________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_________________________
送信/送信しないことを決定するコード/提案、および/またはそれをモールス信号に解決するセクションをいただければ幸いです。