public abstract class SubFrame extends Object
Modifier and Type | Field and Description |
---|---|
protected static int |
PARITY_SIZE
奇偶校验字段的大小。
|
static int |
PREAMBLE_VALUE
TLM前导。
|
protected static int |
WORD_SIZE
字大小。
|
Modifier | Constructor and Description |
---|---|
protected |
SubFrame(int[] words, int nbFields)
简单构造函数。
|
Modifier and Type | Method and Description |
---|---|
static boolean |
checkParity(int previous, int current)
检查奇偶校验。
|
int |
getAlert()
获取警报标志。
|
int |
getAntiSpoofing()
获取反欺骗标志。
|
protected int |
getField(int fieldIndex)
获取字段。
|
int |
getId()
获取子帧ID。
|
int |
getIntegrityStatus()
获取完整性状态标志。
|
int |
getMessage()
获取遥测消息。
|
int |
getPreamble()
获取遥测前导。
|
int |
getTow()
获取下一个12秒消息的周时间。
|
boolean |
hasParityErrors()
检查子帧是否存在奇偶校验错误。
|
static SubFrame |
parse(EncodedMessage encodedMessage)
子帧的构建器。
|
protected void |
setField(int fieldIndex, int wordIndex, int shift, int nbBits, int[] words)
设置字段。
|
protected void |
setField(int fieldIndex, int wordIndexMSB, int shiftMSB, int nbBitsMSB, int wordIndexLSB, int shiftLSB, int nbBitsLSB, int[] words)
设置字段。
|
public static final int PREAMBLE_VALUE
protected static final int WORD_SIZE
protected static final int PARITY_SIZE
protected SubFrame(int[] words, int nbFields)
words
- 原始字
nbFields
- 子帧中的字段数(包括TLM和HOW数据字段,不包括非信息和奇偶校验)
public static SubFrame parse(EncodedMessage encodedMessage)
此构建器根据切换字中的ID和子帧4和5的SV Id创建相应的子帧类型。
encodedMessage
- 包含一个子帧的编码消息
SubFrame1
, SubFrame2
, SubFrame3
, SubFrame4A0
, SubFrame4A1
, SubFrame4B
, SubFrame4C
, SubFrame4D
, SubFrame4E
, SubFrameAlmanac
, SubFrameDummyAlmanac
public static boolean checkParity(int previous, int current)
实现了IS-GPS-200N中表20-XIV中的算法
previous
- 前30位字(仅使用最低有效位的两位)
current
- 当前30位字
public boolean hasParityErrors()
protected int getField(int fieldIndex)
字段索引在各个子帧类中被定义为常量。
fieldIndex
- 字段索引(从0开始计数)
protected void setField(int fieldIndex, int wordIndex, int shift, int nbBits, int[] words)
fieldIndex
- 字段索引(从0开始计数)
wordIndex
- 字索引(从1开始计数,以匹配IS-GPS-200表)
shift
- 应用的右移位数(即应该移除的下一个字段的LSB位数)
nbBits
- 字段中的位数
words
- 原始30位字
protected void setField(int fieldIndex, int wordIndexMSB, int shiftMSB, int nbBitsMSB, int wordIndexLSB, int shiftLSB, int nbBitsLSB, int[] words)
fieldIndex
- 字段索引(从0开始计数)
wordIndexMSB
- 包含MSB的字索引(从1开始计数,以匹配IS-GPS-200表)
shiftMSB
- 应用于MSB的右移位数(即应该移除的下一个字段的LSB位数)
nbBitsMSB
- MSB中的位数
wordIndexLSB
- 包含LSB的字索引(从1开始计数,以匹配IS-GPS-200表)
shiftLSB
- 应用于LSB的右移位数(即应该移除的下一个字段的LSB位数)
nbBitsLSB
- LSB中的位数
words
- 原始30位字
public int getPreamble()
public int getMessage()
public int getIntegrityStatus()
public int getTow()
public int getAlert()
public int getAntiSpoofing()
public int getId()
Copyright © 2002-2023 CS GROUP. All rights reserved.