Arinc标签处理
我处理arinc标签。每1秒,我接收它们(也许只是一些)。当相应帧的SSM在10个连续帧中不正常操作时,我认为标签是有效的。 这是我的算法,我想知道它是否是编码它的最佳方法: 计数器是用9初始化的全局数据Arinc标签处理,c,algorithm,C,Algorithm,我处理arinc标签。每1秒,我接收它们(也许只是一些)。当相应帧的SSM在10个连续帧中不正常操作时,我认为标签是有效的。 这是我的算法,我想知道它是否是编码它的最佳方法: 计数器是用9初始化的全局数据 if(Label is received) { if(SSM == NO) { Get the label and set it as valid Counter = 9; } else { if(counter > 0) {
if(Label is received)
{
if(SSM == NO)
{
Get the label and set it as valid
Counter = 9;
}
else
{
if(counter > 0)
{
counter --;
}
else
{
label is invalid
}
}
}
当SSI指示
normal
时,标签的特定实例可用。等待标签SSI字段的10个实例持续指示normal
,即延迟(在您的情况下)10秒,对于每秒更新一次的数据而言,这是“永久的”。最好立即使用normal
数据,并对数据字段执行验证,可能是通过对数据进行去盎司滤波或求平均值或低通滤波。发布的代码不会按照问题中的说明执行。而是立即
将标签状态设置为有效
,并且在收到不正常
标签的连续10个实例之前,不会将标签状态设置为无效
。此外,大约有256个标签,但此代码不区分它们。当SSI指示normal
时,标签的特定实例可用。等待标签SSI字段的10个实例持续指示normal
,即延迟(在您的情况下)10秒,对于每秒更新一次的数据而言,这是“永久的”。最好立即使用normal
数据,并对数据字段执行验证,可能是通过对数据进行去盎司滤波或求平均值或低通滤波。发布的代码不会按照问题中的说明执行。而是立即
将标签状态设置为有效
,并且在收到不正常
标签的连续10个实例之前,不会将标签状态设置为无效
。此外,还有大约256个标签,但此代码不区分它们