摩斯码音频解码器的实现

看了 morsecode.world 给出的摩斯码音频处理流程,大概思路是滤波+二值化+译码。
大体步骤有四步:

  1. 做滑动窗口的FFT。这一步是为了找到合适的滤波器参数,找到频率分量最大的那快区域,然后做窄带滤波,能够尽可能的提升信噪比。
    这里要注意的是,FFT的点数影响时间分辨率和频率分辨率。如果做256点的FFT,Web Audio采样速率为48khz, 那么频率分辨率是 187.5Hz,也就是 采样率÷FFT点数。时间分辨力为5.3ms, 为FFT点数/采样率 (ms)。如果一个英文单词平均60个时间元, 每个时间元有2~3个采样点,那么256点FFT能够支持的wpm数量为 60x1000/(5.3x60x2.5)≈75 wpm.
    所以,我们得到以下结论:
    FFT点数越多,频率分辨率越精细,信噪比增益越大,但时间分辨率越模糊,能支持的wpm越小。

  2. 找到最大的频率分量bin,做滤波。

  3. 找到合适的幅度阈值,对音频信号,做二值化处理。

  4. 根据wpm,将二值化后时间序列译码为di-da.

摩斯码音频解码流程
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。