Engee 文档
Notebook

Engee 校验和计算

让我们为第 21.3.10.3 节中的 802.11-2016 示例生成 CRC-8 校验和,并将其与预期校验和进行比较。

模型描述

为了实现 802.11-2016 标准中规定的校验和算法变体,让我们配置General CRC Generator 块,使其与多项式$z^8 + z^2 + z + 1$ 配合使用,将初始位状态设为 1,将 XOR 位设为 1,并选择直接方法。

image.png

模拟长度为 0,即处理一个来自Input 的输入报文。该数据块在 802.11-2016 第 21.3.10.3 节中作为示例给出。报文包括位 {m0,....m22} 的值为 [1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1],它们 {c7, ..., c0} 的预期校验和为 [0 0 0 1 1 1 0 0 0]。该模型有用于比特比较计算校验和与预期校验和的模块。每次比较器输入与存储在比较器中的校验和相匹配时,相应的输出位就会取值1

In [ ]:
model_name = "generate_crc_8_checksum";
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
res = engee.run( model_name );

collect(res["comparedOut"]).value[end]
Out[0]:
8-element Vector{Bool}:
 1
 1
 1
 1
 1
 1
 1
 1

结论

我们已经验证了General CRC Generator 块的运行,并根据 802.11-2016 实现了校验和计算。