我有一个无线电接收器.收音机的声音输出到我的电脑.声音输出包含大约440 Hz的摩尔斯电码.莫尔斯电码的速度范围从2到20
WPM.我知道如何判断其他电台是否正在发送,但我如何处理发送/不发送状态并将其转换为文本?我认为可能有比蛮力更好的解决方案.
复杂因素:
>我希望程序能够确定其他工作站的传输速度,而不是像大多数莫尔斯电码程序那样由用户指定.
>有噪音
>摩尔斯电码发射器不会立即打开和关闭.上升和下降时间大约为4毫秒.
>大部分摩尔斯电码都是由人发送的,因此并不完美:
>例如,单词之间的暂停应该由7个元素组成,但它可以是5到8之间的任何内容.
>在一次谈话中,发送速度的人可能会有大约20%的变化
>我想在或多或少的实时做到这一点.如果程序输出一些东西,意识到它是一个错误,并纠正它就没问题.
到目前为止的程序输出示例.它可以将音频解析为键控/非键控,但将其解析为点/短划线不起作用.
###########################################################__________________________
_________________________________####################################################
#####################################################################################
#######################################______________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_________________________
关于确定发送/不发送的事物的任何代码/建议和/或解决该莫尔斯代码的部分将不胜感激.