#cyclic #codec #fec #ecc #p25 #dmr

cai_cyclic

(17, 9, 5) 循环码的编码和解码

3 个版本

使用旧的 Rust 2015

0.1.2 2018 年 3 月 29 日
0.1.1 2018 年 1 月 7 日
0.1.0 2017 年 12 月 31 日

#13#fec


code-rs 中使用

MIT 许可证

11KB
184

cai_cyclic – (17, 9, 5) 循环码的编码和解码

文档

这个crate提供了用于编码和解码DMR和P25所使用的循环码的例程。

使用方法

可以通过cargo将该crate作为依赖项添加到Cargo.toml

[dependencies]
cai_cyclic = "0.1.0"

并在crate根目录下导入它

extern crate cai_cyclic;

lib.rs:

编码和解码DMR和P25所使用的基(17, 9, 5)循环码

基码的生成多项式为

g(x) = x8 + x5 + x4 + x3 + 1

它可以检测多达4个错误或纠正多达2个错误。

DMR "正交余数" 码

DMR空中接口将此码扩展到(18, 9, 6),并在LSB中添加一个额外的奇偶校验位,然后通过删除两个MSB数据位将其缩短到(16, 7, 6)。额外的奇偶校验位使用掩码1010111计算。

P25 "缩短循环" 码

P25空中接口通过删除MSB数据位将该码缩短到(16, 8, 5)。

参考文献

解码算法基于Lin和Costello的《错误控制编码》(1983)以及Roman的《编码与信息理论》(1992),第345页中描述的算法。

依赖项

~160KB