我在Delphi中使用Windows API Beep函数在morse代码中发出了测试应用程序。然后在Android中创建了一个应用程序,将这个莫尔斯代码存储在WAV文件中。现在我希望Android应用程序解码莫尔斯电码。是否有一些声音处理教程,或者有人发布一些简单的代码(想想这里不简单)作为一个例子?或者也许我需要采取措施才能使其发挥作用?
我还下载了JTransforms和jfttw库,但实际上并不知道从哪里开始。
此致 evilone
答案 0 :(得分:4)
FFT对此来说太过分了 - 您可以使用简单的Goertzel filter将莫尔斯电码与背景噪声隔离开来,然后解码输出。
答案 1 :(得分:3)
我认为QST杂志的旧版本在几年前有一篇关于用于莫尔斯/ CW解码的DSP的文章。可能想尝试搜索他们的档案。
基本上,您需要DSP代码来确定在任何给定时间点是否存在音调,以及每种音调的开始和关闭时间的估计。然后根据预期的代码速度缩放每个音调的持续时间和音调之间的间隙时间,并与每个莫尔斯代码字母的时间表进行比较,以估计每个或任何字母出现的概率。
在最简单的情况下,您可能会有一个点划线空间决策树。在严重的噪音和褪色以及高度个性化的拳头/计时中,您可能需要一些复杂的统计和/或自适应音频模式匹配技术才能获得不错的结果。