python字典表示摩尔斯电码_python – 如何解调(音频)莫尔斯电码

本文探讨了如何处理包含440 Hz摩尔斯电码的音频信号,目标是将其转换为文本。面对诸如噪声、不一致的传输速度和人类发送的不完美信号等问题,需要一个能够适应这些复杂因素的解决方案。目前的程序能识别键控状态,但无法准确解析点和短划线。寻求关于检测发送/不发送状态以及改进莫尔斯电码解析的建议。
摘要由CSDN通过智能技术生成

我有一个无线电接收器.收音机的声音输出到我的电脑.声音输出包含大约440 Hz的摩尔斯电码.莫尔斯电码的速度范围从2到20

WPM.我知道如何判断其他电台是否正在发送,但我如何处理发送/不发送状态并将其转换为文本?我认为可能有比蛮力更好的解决方案.

复杂因素:

>我希望程序能够确定其他工作站的传输速度,而不是像大多数莫尔斯电码程序那样由用户指定.

>有噪音

>摩尔斯电码发射器不会立即打开和关闭.上升和下降时间大约为4毫秒.

>大部分摩尔斯电码都是由人发送的,因此并不完美:

>例如,单词之间的暂停应该由7个元素组成,但它可以是5到8之间的任何内容.

>在一次谈话中,发送速度的人可能会有大约20%的变化

>我想在或多或少的实时做到这一点.如果程序输出一些东西,意识到它是一个错误,并纠正它就没问题.

到目前为止的程序输出示例.它可以将音频解析为键控/非键控,但将其解析为点/短划线不起作用.

###########################################################__________________________

_________________________________####################################################

#####################################################################################

#######################################______________________________________________

_____________________________________________________________________________________

_____________________________________________________________________________________

_____________________________________________________________________________________

_____________________________________________________________________________________

_________________________

关于确定发送/不发送的事物的任何代码/建议和/或解决该莫尔斯代码的部分将不胜感激.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摩尔电码是一种通过短暂的电信号或灯光表达字母和数字的编码方式。在Python中可以用简单的方式实现摩尔电码的转换。 首先,我们可以定义一个摩尔电码字典,将每个字母和数字对应的摩尔电码表示存储在字典中。然后,用户输入需要转换的字符串,我们可以将输入的字符串转换成大写并遍历每一个字符,根据字典的映射将每个字符转换成摩尔电码的形式。 接着,我们可以用点(.)表示短暂的信号,用横线(-)表示长时间的信号,用空格表示字母之间的间隔,用两个空格表示单词之间的间隔。然后,将转换好的摩尔电码打印输出或者以灯光的形式展现出来。 下面是一个简单的Python代码示例: ```python morse_code_dict = { 'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..', '0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.' } def to_morse_code(message): morse_code = "" for char in message.upper(): if char != " ": if char in morse_code_dict: morse_code += morse_code_dict[char] + " " else: morse_code += " " return morse_code input_message = input("请输入需要转换的消息: ") morse_code = to_morse_code(input_message) print(f"摩尔电码: {morse_code}") ``` 通过这段简单的Python代码,我们可以输入需要转换的消息,然后得到对应的摩尔电码结果。这样就实现了一个简单的Python摩尔电码的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值