ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [GPS/궤도요소] IODE에 대해 알아보자
    항법연구실/GPS와 데이터 2026. 3. 30. 20:55

    GPS는 궤도를 돌며 2시간 주기로 신호를 보낸다. 

    수신기에서 이 신호를 받아 우리가 읽을 수 있는 RINEX format으로 나타내고 

    RINEX format에서 위성 궤도 요소를 담은 navigation 파일과 반송파/의사거리 정보를 담은 observation 파일을 제공한다. 

    그 외의 다양한 파일이 있지만 이번엔 navigation파일에 존재하는 IODE궤도 정보만 다루어 볼 예정이니 넘어간다. 

     

    IODE란? 

    Issue of Data, Ephemeris: 8비트로 구성된 궤도 정보의 버전 번호로 한 마디로 표현하자면, 궤도 요소의 고유한 전송 시점(Epoch)라고 할 수 있다. 데이터의 타임스탬프가 조금 더 직관적일까? 

     

    위성이 새로운 궤도 데이터를 생성하여 전송할 때마다 IODE를 바꾼다. 따라서 수신기 입장에서 이 IODE번호가 곧 데이터가 생성된 특정 시점을 대표한다고 봐도 되는 것이다. 

     

     

    1 25 11 26  0  0  0.0 0.353768467903D-03-0.909494701773D-12 0.000000000000D+00
        0.180000000000D+02 0.751250000000D+02 0.461662087222D-08 0.101928633138D+01
        0.393949449062D-05 0.108660990372D-02 0.436231493950D-05 0.515364533424D+04
        0.259200000000D+06 0.335276126862D-07-0.139143367866D+01 0.000000000000D+00
        0.958413568401D+00 0.290343750000D+03-0.891847350622D-01-0.825677249915D-08
       -0.342871424828D-10 0.100000000000D+01 0.239400000000D+04 0.000000000000D+00
        0.200000000000D+01 0.000000000000D+00-0.884756445885D-08 0.530000000000D+03
        0.253302000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
     2 25 11 26  0  0  0.0-0.193784944713D-04 0.852651282912D-11 0.000000000000D+00
        0.830000000000D+02 0.908437500000D+02 0.441089801732D-08 0.237325448931D+01
        0.484846532345D-05 0.168585825013D-01 0.502541661263D-05 0.515363721275D+04
        0.259200000000D+06 0.281259417534D-06-0.155452519893D+01 0.134110450745D-06
        0.963997835385D+00 0.278500000000D+03-0.891674575608D+00-0.792890169915D-08
       -0.175721605225D-09 0.100000000000D+01 0.239400000000D+04 0.000000000000D+00
        0.200000000000D+01 0.000000000000D+00-0.176951289177D-07 0.830000000000D+02
        0.252018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
     3 25 11 26  0  0  0.0 0.637137331068D-03-0.773070496507D-11 0.000000000000D+00
        0.270000000000D+02-0.455312500000D+02 0.392337771014D-08-0.129336081218D+01
       -0.238046050072D-05 0.631107296795D-02 0.351481139660D-05 0.515367777061D+04
        0.259200000000D+06 0.540167093277D-07-0.407324312613D+00 0.124797224999D-06
        0.992338060806D+00 0.327531250000D+03 0.122639830160D+01-0.799283293357D-08
       -0.140005831805D-09 0.100000000000D+01 0.239400000000D+04 0.000000000000D+00
        0.200000000000D+01 0.000000000000D+00 0.139698386192D-08 0.270000000000D+02
        0.258997000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00

     

     

    navigation 데이터의 일부를 가지고 왔다. 

    이 IODE정보는 위성 PRN 번호, epoch 시간 아래 첫번째에 위치하고 있다. 

    예를 들어, 1번 위성의 2025.11.26 00:00 시점에 입수한 데이터는 180번 세트야 ! 라고 표현할 수 있는 것이다. 

     


    IODE의 번호가 부여되는 규칙 

     

    그런데 IODE는 1~256사이의 값을 가지고, 그 값도 일정하지 않다. 

    			 0                       103
                          7200                       109
                         14400                       110
                         21600                       115
               28783.999979496                         4
                         28800                       116
               35983.999992907                        16
                         43200                        21
                         50400                        22
                         57600                        23
                         64800                        24
                         72000                        25
                         79200                        26

     

    2026.02.20일자 PRN3번 위성의 시점(seconds of day)와 IODE를 나타낸 값이다. 

     

    어라? 근데 IODE의 흐름이 조금 이상하다. 

     

    12시(43200초)부터는 21, 22, 23..이렇게 차근차근 가는데 0시와 2시 사이에는 103-109의 차이가 있고, 또 갑자기 2시간 간격이 아닌 데이터가 입수되고 IODE는 4로 뚝 떨어진다. 그럼 도대체 IODE의 숫자는 어떻게 부여하는걸까 ? 

     

    그 답은 IS-GPS-200에서 찾을 수 있다. Section 20.3.4.4 Data Sets에서 IODE에 번호를 부여하는 규칙이 나온다. 

     

    더보기

    20.3.4.4 Data Sets

     

    The IODE is an 8 bit number equal to the 8 LSBs of the 10 bit IODC of the same CEI data set. The following rule governs the transmission of IODC and IODE values in different CEI data sets: (1) The transmitted IODE (and therefore, the transmitted IODC) will be different from any value transmitted by the SV during the preceding six hours. The range of IODC will be as given in Table 20-XII for Block IIR/IIR-M/IIF and GPS III/IIIF SVs.

     

    Cutovers to new CEI data sets will occur only on two-hour boundaries except for the first CEI data set of a new CEI data sequence propagation. The first CEI data set may be cut-in (reference paragraph 20.3.4.1) at any time during the two hours and therefore may be transmitted by the SV for less than two hours. Upon transition to short-term operations, cutover from these 2-hour CEI data sets to 4-hour CEI data sets and subsequent cutovers to succeeding 4-hour CEI data sets shall occur modulo 4 hours relative to end/start of week.

     

    Upon transition to long-term operations, cutover from 4-hour CEI data sets to 6-hour CEI data sets shall occur modulo 12 hours relative to end/start of week. Subsequent cutovers to succeeding 6-hour CEI data sets shall occur modulo 6 hours relative to end/start of week. Cutover from 6-hour CEI data sets to 12-hour CEI data sets and subsequent cutovers to succeeding 12-hour CEI data sets shall occur modulo 12 hours relative to end/start of week. Cutover from 12-hour CEI data sets to 24-hour CEI data sets and subsequent cutovers to succeeding 24-hour CEI data sets shall occur modulo 24 hours relative to end/start of week.

     

    Except for the first CEI data set of a new CEI data sequence propagation, the start of the transmission interval for each CEI data set corresponds to the beginning of the curve fit interval for the CEI data set. Each CEI data set remains valid for the duration of its transmission interval, and nominally also remains valid for the duration of its curve fit interval. A CEI data set is rendered obsolete before the end of its curve fit interval when it is superseded by the SV cutting over to the first CEI data set of a new CEI data sequence propagation.

     

    The start time of the curve fit interval of the first CEI data set of a new CEI data sequence propagation may be later than the start time of the curve fit interval of the preceding CEI data set that was transmitted prior to the cutover. The beginning of the curve fit interval of the first CEI data set of a new CEI data sequence propagation will be a multiple of 300 seconds (5 minutes) relative to the start of week.

     

    The toe shall be equal to the toc of the same LNAV CEI data set.

     

    Updates to parameters in Table 6-I-1 shall prompt changes in toe/toc/IODC/IODE. Any parameter marked with NOTE1 may be changed with or without a change in toe/toc/IODC/IODE.

     

    Normal Operations.

    The subframe 1, 2, and 3 CEI data sets are transmitted by the SV for periods of two hours. The corresponding curve fit interval is four hours.

     

    Short-term and Long-term Extended Operations.

    The transmission intervals and curve fit intervals with the applicable IODC ranges are given in Table 20-XII.

     

    IS-GPS-200

     

    CEI: Clock(위성의 시계 보정값), Ephemeris(궤도 정보), Integrity(무결성, 신뢰도)

    1. IODC와 IODE의 상관관계(데이터 무결성)

    LSB(Least Signigicant Bit, 최하위 비트)
    • 8비트 꼬리 맞추기 
      10비트인 IODC(시계 정보 번호)의 하위 8비트(LSBs)는 반드시 IODE(궤도 정보 번호)와 같아야한다.
      예를 들어, IODC가 10 0110 1011(10비트)라면, 이 값의 뒤쪽 8자리(8 LSBs)인 0110 1011이 바로 IODE값이 되는 것이다. 
    • 중복 방지:
      위성은 최근 6시간 이내에 사용했던 IODE/IODC값을 다시 사용하지 않는다. 수신기가 옛날 데이터를 새 데이터로 착각하는 것을 방지하기 위함이다 ! 

     

    2. 데이터 교체 시점(Cutover)규칙 

    데이터가 새로운 내용으로 바뀌는 시점을 'Cutover'라고 한다. 
    • 일반 운영(Normal): 보통 2시간 단위로 데이터가 교체된다. (0시, 2시, 4시..)
    • 예외 상황 : 새로운 궤도 계산 결과 (New Propagation)가 나왔을 때는 2시간 주기가 아니더라도 아무때나 즉시 교체될 수 있다. 이때 첫 데이터의 시작 시간은 300초(5분) 단위로 맞춰진다. 
    • 장기 운영: 위성이 지상국과 통신이 끊겨 자체적으로 버티는 모드로 들어가게되면 교체 주기가 4시간 → 6시간 →12시간 →24시간으로 점점 길어진다. 

    3. 유효 기간과 적합 구간(Transmission vs Curve Fit) 

    새로운 데이터가 전송되기 시작하면, 기존 데이터의 적합 구간이 남았더라도 기존 데이터는 폐기된 것으로 간주하고 새 데이터를 써야한다. 
    • 전송 구간(Transmission Interval): 위성이 해당 데이터를 실제로 방송하는 시간(보통 2시간)
    • 적합 구간(Curve Fit Interval): 해당 데이터가 물리적으로 유효한 시간(보통 4시간)

    4. 파라미터 업데이트 신호 

    • 동시 변경: 궤도 기준 시간(toe)과 시계 기준 시간(toc)은 항상 같아야한다. 
    • 트리거: 궤도나 시계 관련 주요 파라미터가 하나라도 바뀌면, 수신기가 이를 즉시 알 수 있도록 toe, toc, IODC, IODE가 동시에 세트로 변경된다. 

    IODE는 궤도 요소를 가져와 궤도를 예측할 때 중요한 역할을 한다.

Designed by Tistory.