【问题标题】:Algorithm for matching data匹配数据的算法
【发布时间】:2023-03-13 22:15:01
【问题描述】:

我有一个项目,我正在测试一种对噪音非常敏感的设备(电磁、无线电等)。该设备基于给定的输入(音频)每秒生成 5-6 字节的二进制数据(对于未经训练的人来说看起来像是胡言乱语)。

根据噪声,设备有时会丢失字符,有时会插入随机字符,有时会同时插入多个字符。

我编写了一个应用程序,让用户能够即时查看它生成的错误(与主文件相比 [例如设备在理想条件下应输出的内容])。我的算法基本上采用实时数据中的每个字节,并将其与已知主文件中相同位置的字节进行比较。如果字节不匹配,我将在当前位置的两个方向都有一个 10 个字符的窗口,我将在其中寻找附近的匹配项。如果匹配(加上一两个验证),我会在 UI 中直观地标记位置并记录错误。

这种方法工作得相当好,实际上,考虑到传入数据的速度,它也可以实时工作。但是,我觉得我正在做的事情并不是最优的,如果数据以更高的速率流式传输,这种方法就会崩溃。

我可以采取其他方法吗?这类事情有已知的算法吗?
多年前我读到美国宇航局的数据收集设备(例如与太空和月球/火星上的飞行器通信的设备)尽管在太空中受到了巨大的干扰,但仍有 0.00001% 的数据丢失。

有什么想法吗?

【问题讨论】:

    标签: algorithm string string-matching


    【解决方案1】:

    我认为主要兴趣是设备产生的信号?什么更重要?检测何时发生错误或使信号对此类错误“稳健”?我最近做了很多信号处理,对信号进行去噪是我日常工作的一部分,我基本上是在尝试估计真实信号并去除任何污染物。

    我不知道设备产生的信号如何进一步使用......如果它被记录到计算机上,那么您可以轻松应用一些去噪,例如尝试小波去噪。您将找到以您选择的多种语言执行此操作的软件包。

    【讨论】:

      猜你喜欢
      • 2011-01-26
      • 1970-01-01
      • 2021-12-25
      • 2011-06-18
      • 2012-09-01
      • 2018-12-15
      • 2013-05-18
      • 1970-01-01
      • 2018-10-16
      相关资源
      最近更新 更多