fec: Rust实现的前向纠错编码库

Show HN: SIMD Viterbi Decoder in Rust

fec: Rust实现的前向纠错编码库

fec 是一个专为软件定义无线电、航天及卫星应用打造的 Rust 前向纠错库。它实现了卷积码(含 Viterbi 解码器)和 Reed-Solomon 码,支持 CCSDS 标准及双基表示。在启用 nightly 的 SIMD 特性后,其性能超越 libcorrect 和 libfec。该库不仅与 libfec 保持位兼容,还通过 fec-shim 提供 C ABI 支持,是构建高可靠通信链路的理想选择。

在启用 SIMD 特性后,该库在 x86 架构上的性能超越了 libcorrect 和 libfec。
  1. nickcw

    我看了下 Reed-Solomon 的实现,之前自己也写过几个!注意到你用的是对数表来做乘法。我过去一直用 64KB 的表做直接查表,不过也许在现代处理器上这并不更快?

    下一个是 LDPC 码吗?

  2. eminence32

    这个库能用来解码 GOES 卫星的下行信号吗?goestools 就是用 libcorrect 来做这个的,搞个 Rust 版本应该会很有趣。

    https://github.com/pietern/goestools

  3. ChadNauseam

    我原以为这和 sentencepiece 的 unigram(它用的是 Viterbi 算法)有关,但看来完全是两个不同的领域。真神奇,同一个算法竟然出现在这么多不同的地方。

同日更多故事

2026-08-05