#矩阵 #二进制 #字段 #ECC #前向纠错

binfield_matrix

GF(2)码的向量矩阵乘法

4个版本

使用旧的Rust 2015

0.2.0 2018年3月29日
0.1.2 2018年1月5日
0.1.1 2018年1月5日
0.1.0 2017年12月30日

#11 in #前向纠错

每月 36 次下载
4 crate 使用

MIT 许可证

6KB
66 代码行

binfield_matrix – GF(2)码的向量矩阵乘法

文档

此crate提供在GF(2)中进行向量矩阵乘法的例程。

使用方法

crate可以通过将 Cargo 中的依赖项添加到 Cargo.toml 来使用

[dependencies]
binfield_matrix = "0.1.0"

并在 crate 根目录中导入它

extern crate binfield_matrix;

lib.rs:

GF(2)二进制字段错误纠正码的向量矩阵乘法。

这些例程通过使用 GF(2) 加法和乘法计算 1×M 的二进制向量 v 和 N×M 的二进制矩阵 M 的乘积 vMT = MvT。输入向量、输出向量和矩阵列表示为二进制词,因此最大向量大小由最大机器字大小决定。

示例

以下示例通过矩阵乘以码字 1010

1 1 1 1
0 0 1 0
1 0 0 0
0 1 0 1
0 0 1 0
1 0 1 0

第一个示例仅计算奇偶校验位,第二个示例计算“系统化”码字,即将奇偶校验位附加到原始码字。

use binfield_matrix::{matrix_mul, matrix_mul_systematic};

assert_eq!(matrix_mul::<u32, u32>(0b1010, &[
    0b1111,
    0b0010,
    0b1000,
    0b0101,
    0b0010,
    0b1010,
]), 0b011010);

assert_eq!(matrix_mul_systematic::<u32, u32>(0b1010, &[
    0b1111,
    0b0010,
    0b1000,
    0b0101,
    0b0010,
    0b1010,
]), 0b1010011010);

依赖项

~155KB