- 语言
- 英语
- 发布于
- 17天前
- 复刻
- 2
brian-armstrong/fec ↗· Rust· BSD-3-Clause· 最近提交 15天前
fec 是一个 Rust crate,实现了软件无线电与航天通信里反复出现的两类纠错码。其一是带维特比译码器的卷积码,硬判决与软判决都支持,涵盖 rate 1/2 k=7、rate 1/2 k=9、rate 1/3 k=9、rate 1/6 k=15 这些常用组合,码率可取 1/2 到 1/8,约束长度可取 4 到 16。simd 特性以 nightly Rust 为前提,开启后译码器会用 SSE、AVX2 或 AVX512 加速。
其二是 GF(2^8) 上的里德所罗门码,错误与擦除都能纠,CCSDS (255,223) 同时给出常规表示和实际传输所用的对偶基(Berlekamp)表示,参数照搬公开的 CCSDS 标准。作者在 Ryzen 7840HS 上用 libfec 自带的测试程序测量,结果是所有码型都比 libfec 快。这个 crate 脱胎于同一作者的 C 库 libcorrect,许可证为 BSD-3-Clause。