如何解压 TEDS ConRes 类型?

How to unpack the TEDS ConRes type?

提问人:Max Kielland 提问时间:11/3/2023 更新时间:11/3/2023 访问量:28

问:

在TEDS(传感器电子数据表)模板中,有两种数据类型被描述为

ConRes的。
“恒定的分辨率。这是压缩的自定义数据类型 浮点值,提供已定义 间隔”

ConRelRes。
“恒定的相对分辨率。这是 提供对数映射的压缩浮点值 确定的时间间隔”。

据我了解,它们压缩最小值/最大值之间的范围,并且仅使用对范围进行编码所需的最小位数。

如果我知道最小值/最大值,如何将该值转换为 C 型双精度值?

C 双精度浮点

评论


答:

2赞 0___________ 11/3/2023 #1

这很简单。例如:

%PhaseCorrection Phase Correction @ ref CAL 6bits ConRes (-3.2 to 3.0, step 0.1)

-3.2 到 3.0 是 6.2。您需要离散值。它以 6 位编码,可以代表 64 个值。6.2/.1 + 1 = 63

unsigned ConRes6bitIntegerVal = something;
double PhaseCorrection = -3.2 + 0.1 * ConRes6bitIntegerVal;

评论

0赞 Max Kielland 11/3/2023
例如,在 v0.9 模板 1 中; -3.2 是最小范围,0.1 是步长。所以我的值是 -3.2+0.1*值。最大范围未超过值为 6 位,因此最大值为 2^6-3.2 = 60.8。正确?"Phase correction @ F ref", "RO", 6, "ConRes", -3.2, 0.1, "0.0", "°"