我正在尝试解析来自外部摄像头的 stanag 4609 klv 流。
首先,我试图计算流中接收到的高度值。
根据 stanag 4609 文档,该值为 2 个字节长,以英尺为单位,表示为 float 。
我知道相机高度约为 39.8 米,但我无法将收到的 2 个字节解释为该值(以英尺为单位)。 我收到的 2 个字节是 {12,23}。
我怎样才能以正确的方式解读它?
谢谢
最佳答案
在 STANAG 4609 KLV 中,浮点值被编码为整数。你可以查看MISB ST0601对于您感兴趣的特定数据元素。它会为您提供将 2 字节整数转换为正确浮点值的转换公式。
假设您指的是 Sensor True Altitude
(标签 15),转换公式为 (19900/65535) * int_value - 900
。
将此应用于您的数据:
- 将字节 [12, 23](十六进制的 [0x0C, 0x17])解释为整数。 0xC17 等于 3095。
- 应用公式。
(19900/65535) * 3095 - 900
= 39.81 米
关于stream - 理解 stanag 4609 klv 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934228/