【问题标题】:AFSK Encoding and Decoding in RubyRuby 中的 AFSK 编码和解码
【发布时间】:2015-01-26 18:35:56
【问题描述】:

我正在寻找可用于使用无线电/声波传输和接收数据的“音频频移键控”(AFSK) 编码器和解码器。

Bell 202 是我正在尝试使用的 AFSK 标准,它将二进制数据编码为 1200hz 和 2200hz 两种音调。这两个音代表二进制中的 1 和 0。

我正在尝试在 ruby​​ 中使用 win32-sound 来生成这些音调,它确实如此。问题是,在一种音调之间切换并移动到另一种音调大约需要 1 秒才能完成,这对于 bell 202 能够运行的 1200 波特速度来说太慢了。

我的问题是:有没有其他方法可以创建这些音调并更快地在它们之间切换?另外,当我在这里时,是否有一个 gem 可以让我将这些音调解码回二进制数据?

【问题讨论】:

    标签: ruby radio


    【解决方案1】:

    不久前,我尝试用 Ruby 编写一个 AFSK 调制器/解调器。我得到了一个可以编写和读取 WAV 文件的工作原型,但与实时性能相去甚远(如果我没记错的话,我将它优化到大约 8 倍实时)。

    一些提示:

    • Ruby + Audio 很烂,你可能找不到很多用于解调的 Gems
    • 对我来说,只有纯 C 解决方案(带有一个小的 Objective-C 包装器,因此我可以在 iPhone 应用程序中使用它)才能提供必要的性能提升
    • 使用连续相位 FSK (CPFSK) 消除编码信号中的不连续性,有助于很多提高信号质量
    • 我使用了一个相干解调器,然后是一个状态机,效果很好https://www.kth.se/polopoly_fs/1.141538!/Menu/general/column-content/attachment/lec9.pdf

    【讨论】:

    • 感谢您的信息!非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2013-04-05
    • 2011-10-27
    • 2018-08-18
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多