이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
GPS 신호
이 항목에서는 레거시 GPS(위성 측위 시스템) 신호와 현대화된 GPS 신호의 신호 사양에 대해 설명합니다.
GPS 위성은 민간용으로 L1(1575.42MHz), L2(1227.60MHz), L5(1176.45MHz)의 서로 다른 세 가지 주파수를 사용합니다. GPS는 레거시 L1 대역과 L2 대역의 C/A(coarse acquisition) 코드와 P(precision) 코드, L1 대역의 L1C(modernized L1 civil) 코드, L2 대역의 CM(civil-moderate) 코드와 CL(civil-long length) 코드, 그리고 L5 대역의 L5 대역의 I5 코드(in-phase code)와 Q5 코드(quadrature-phase code)라는 서로 다른 다섯 가지 민간 신호를 사용합니다. GPS 위성은 여러 개의 거리 측정 코드(ranging code)와 내비게이션 데이터를 동시에 송신합니다. CDMA(코드 분할 다중 접속) 확산 스펙트럼 방법을 사용하면 GPS 수신기가 L1 대역에서 송신되는 레거시 신호와 L1C 신호 등 주어진 주파수 대역의 여러 신호를 구별할 수 있습니다. 이 방법에서는 높은 레이트 PRN(pseudo-random number) 시퀀스가 낮은 비트 레이트로 송출되는 메시지 데이터를 분산시키고, 각 위성 신호에는 고유한 PRN ID가 할당됩니다.
GPS와 기타 GNSS(범지구 위성 항법 시스템)가 수신기 위치를 확인하기 위해 거리 측정과 삼변측량(trilateration)의 원리에 따라 작동하는 방식을 이해하려면 GPS 작동 방식 항목을 참조하십시오.
레거시 GPS 신호
원래 GPS 설계는 두 가지 주파수를 사용합니다. 1575.42MHz(10.23MHz × 154)의 L1과 1227.60MHz(10.23MHz × 120)의 L2입니다. 레거시 GPS는 C/A 코드와 P 코드의 두 가지 거리 측정 코드로 구성되며, 두 코드 모두 일반인이 자유롭게 액세스할 수 있습니다.
거리 측정 코드
레거시 GPS 설계에는 다음 거리 측정 코드가 포함되어 있습니다.
C/A 코드 — 이 거리 측정 코드는 BPSK(이진 위상 편이 변조) 변조 기법을 사용하여 L1 주파수와 L2 주파수에서 송신합니다. 1밀리초마다 반복되는 1023비트 시퀀스로 구성됩니다. 자세한 내용은
gnssCACode를 참조하십시오.이 코드는 민간에서 아무런 제한 없이 사용할 수 있습니다.
P 코드 — 이 거리 측정 코드도 BPSK 변조 기법을 사용하여 10.23 Mcps의 칩 속도로 L1 주파수와 L2 주파수에서 송신합니다. P 코드의 더 높은 칩 속도는 C/A 코드에 비해 정확도를 높이는 데 기여합니다. 자세한 내용은
gpsPCode를 참조하십시오.P 코드는 공개적으로 사용 가능하지만 Y 코드로 암호화하여 P(Y) 코드를 형성하면 군사용으로 사용이 제한됩니다.
다음 단계를 통해 레거시 파형을 생성할 수 있습니다.
gnssCACode를 사용하여 C/A 코드를 생성합니다.들어오는 내비게이션 데이터를 C/A 코드와 XOR 처리합니다. 샘플 레이트가 일치하도록 합니다.
0을 +1로 매핑하고 1을 -1로 매핑한 다음 이 파형을 Q-브랜치에 배치합니다.
gpsPCode를 사용하여 P 코드를 생성합니다.들어오는 내비게이션 데이터를 P 코드와 XOR 처리합니다. 샘플 레이트가 일치하도록 합니다.
0을 +1/sqrt(2)로 매핑하고 1을 -1/sqrt(2)로 매핑한 다음 이 파형을 I-브랜치에 배치합니다.
결과 IQ 파형은 I-브랜치에 P 코드 파형이 있고 Q-브랜치에 C/A 파형이 있는 레거시 파형입니다.

다음 플롯은 L1 대역의 GPS 신호 스펙트럼을 보여주며, C/A 코드, P 코드, L1C 신호를 표시합니다.

내비게이션 데이터
LNAV(legacy navigation message)는 1500비트 길이의 프레임으로 송신되며, 각 프레임은 5개의 서브프레임(각 300비트)으로 구성됩니다. 데이터 레이트가 50bps이므로 각 서브프레임을 송신하는 데는 6초가 걸리고 각 프레임을 송신하는 데는 30초가 걸립니다. 각 서브프레임은 10개의 워드로 구성되며, 각 워드는 30비트(24개의 데이터 비트와 6개의 패리티 비트)로 구성됩니다. GPS 데이터에는 위성의 위치와 시계에 관한 정보가 포함되어 있습니다. 다음 그림은 LNAV 데이터의 프레임 구조를 보여줍니다.
자세한 내용은 GPS Waveform Generation 예제를 참조하십시오.

아래 표에서는 각 LNAV 메시지 서브프레임의 내용을 설명합니다.
| 서브프레임 | 워드 | 설명 |
|---|---|---|
| 1 | 1–2 | TLM(telemetry word)와 HOW(handover word) |
| 3–10 | 위성 시계와 GPS 시간 관계 | |
| 2–3 | 1–2 | TLM과 HOW |
| 3–10 | Ephemeris | |
| 4–5 | 1–2 | TLM과 HOW |
| 3–10 | Almanac, 전리층, UTC 데이터 |
각 서브프레임은 위성에 의해 생성된 TLM과 HOW로 시작됩니다. 위성은 TLM을 먼저 송신하고 바로 뒤에 HOW를 송신합니다.
각 TLM 워드는 30비트 길이이며 데이터 프레임에서 6초마다 발생하고 각 서브프레임의 첫 번째 워드입니다. TLM 워드는 프리앰블로 시작하며 이어서 TLM 메시지, 무결성 상태 플래그, 예약 비트 1개, 패리티 비트 6개로 구성됩니다. TLM 메시지에는 정밀 측위 서비스(precise positioning service) 사용자와 제어 세그먼트에 필요한 정보가 포함되어 있습니다.
HOW는 30비트 길이이며 각 서브프레임에서 TLM 워드 바로 다음에 오는, 두 번째 워드입니다. HOW는 데이터 프레임에서 6초마다 발생합니다. 최상위 비트(MSB)가 먼저 송신되고 HOW는 time-of-week(TOW) 개수의 MSB 17개로 시작합니다.
다음 그림은 GPS LNAV 데이터 서브프레임의 TLM과 HOW를 보여줍니다.

현대화된 GPS 신호
현대화된 GPS 민간 신호는 두 가지 주요 발전, 즉 데이터 없는 수집 보조(dataless acquisition aid)의 통합과 내비게이션 메시지에 FEC(순방향 오류 정정) 코딩 적용으로 특징지어집니다. 데이터 없는 수집 보조는 GPS 신호 수집을 용이하게 하고 전력 수준을 개선하기 위해 데이터 신호와 동시에 송신되는 추가 신호입니다. 내비게이션 데이터는 일반적으로 초당 50비트의 느린 송신 속도를 가지며 사소한 장애도 상대적으로 심각한 결과를 초래합니다. 따라서 내비게이션 메시지에 FEC 코딩을 구현하면 현대화된 GPS 신호의 복원력이 크게 향상됩니다.
현대화된 신호
QoS(서비스 품질)를 향상시키기 위해 현대화된 GPS는 L1C, L2C, M 코드, L5라는 새로운 신호를 도입했으며, L1C, L2C, L5 신호는 일반인이 자유롭게 액세스할 수 있습니다.
L1C — 이 신호는 민간용으로 공개되어 있으며 L1 주파수로 송출됩니다. BOC(binary offset carrier) 변조 방식을 사용합니다. BOC 변조에 대한 자세한 내용은
bocmod를 참조하십시오.L1C는 두 가지 거리 측정 코드 성분(파일럿 및 데이터 거리 측정 코드)과 하나의 오버레이 코드 성분으로 이루어져 있습니다. PRN 코드의 길이는 10,230칩이며 1.023Mcps로 송신되므로 10ms마다 반복됩니다. 자세한 내용은
gpsL1CCodes항목을 참조하십시오.다음 단계를 수행하여 L1C 파형을 생성할 수 있습니다.
IS-GPS-800에 정의된 대로 초당 100비트로 데이터를 생성합니다. 각 비트의 지속 시간은 10밀리초입니다.
L1C는 데이터용 거리 측정 코드(L1CD 코드)와 파일럿용 거리 측정 코드(L1CP 코드)라는 두 가지 유형의 거리 측정 코드를 사용합니다. L1CD 코드와 L1CP 코드의 칩 속도는 모두 초당 1.023메가칩(mega chip)이며 길이는 10밀리초입니다. 따라서 반복 전 칩 수는 10,230개입니다.
하나의 10밀리초 데이터 비트가 거리 측정 코드 블록 크기와 정확히 일치하므로 하나의 데이터 비트가 하나의 거리 측정 코드 블록으로 확산됩니다.
사용자 데이터 비트로 L1CD 코드를 확산하여 데이터 성분을 구합니다. 사용자 데이터 비트의 레이트는 초당 100비트입니다.
L1CP 코드를 오버레이 코드(L1CO 코드)로 확산하여 파일럿 성분을 구합니다. L1CO 코드의 레이트는 초당 100비트입니다.
BOC(1,1)를 사용하여 데이터 성분을 변조합니다.
TMBOC(Time-multiplexed BOC) 변조 기법을 사용하여 파일럿 성분을 변조합니다.
형성된 최종 IQ 파형은 GPS L1C 파형입니다. TMBOC 변조에 대한 자세한 내용은 GPS L1C Waveform Generation 항목을 참조하십시오.

L2C — 이 신호도 민간용으로 공개되어 있으며 L2 주파수로 송출됩니다. C/A 코드와 달리 L2C에는 거리 측정 정보를 제공하기 위한 두 가지 고유한 PRN 코드 시퀀스, 즉 CM(civil-moderate) 코드와 CL(civil-long) 코드가 포함되어 있습니다. 이러한 코드는 정확한 거리 측정 정보를 전달하도록 설계되었습니다. CM 코드의 길이는 10,230칩이며 20ms마다 반복됩니다. CL 코드의 길이는 767,250칩이며 1,500ms마다 반복됩니다. 각 신호는 초당 511,500칩으로 송신됩니다. 그러나 신호는 CM과 CL을 함께 다중화하여 1.023Mcps 신호를 형성합니다.
다음 단계를 수행하여 L2C 파형을 생성할 수 있습니다.
L2-CM 코드와 L2-CL 코드를 생성합니다.
내비게이션 데이터 CNAV를 L2-CM 코드와만 XOR 처리합니다.
XOR 처리된 CNAV와 L2-CM 데이터는 L2-CL 코드와 비트 단위로 다중화해야 합니다.
L2-CM은 초당 511.5킬로칩(kilo chip)이고 L2-CL은 초당 511.5킬로칩이므로 다중화된 비트 스트림은 초당 1.023e6칩입니다.
4번에서 생성된 다중화된 스트림에서 0을 +1로 매핑하고 1을 -1로 매핑합니다. 이 파형을 Q-브랜치에 배치합니다.
gpsPCode를 사용하여 P 코드를 생성합니다.들어오는 LNAV 내비게이션 데이터를 P 코드와 XOR 처리합니다. 샘플 레이트가 일치하도록 합니다.
0을 +1/sqrt(2)로 매핑하고 1을 -1/sqrt(2)로 매핑한 다음 이 파형을 I-브랜치에 배치합니다.
형성된 최종 IQ 파형은 기저대역 GPS L2C 파형입니다.

다음 플롯은 L2 대역의 GPS 신호 스펙트럼을 보여주며, P 코드와 L2C 신호를 표시합니다.

M 코드 — 이 신호는 군용으로 제한되며 군용 GPS 신호의 재밍 방지와 보안 액세스를 더욱 개선하도록 설계되었습니다. M 코드는 L1 주파수와 L2 주파수 모두에서 송출됩니다. 신호에는 신호 수신을 개선하기 위한 뚜렷한 측파대 로브가 있습니다.
L5 — 이 신호는 민간용으로 공개되어 있으며 L5 주파수로 송출됩니다. L5는 SoL(인명 안전) 운송과 기타 고성능 응용 분야에 대한 까다로운 요구 사항을 충족하도록 설계되었습니다. L5는 L1 신호와 L2 신호에 비해 더 높은 송신 전력으로 우수한 성능을 제공하는 고급 신호 구조를 지원합니다. 이러한 성능 향상은 약 3dB, 즉 2배의 전력 증가에 해당합니다. L5 신호는 I5 코드(in-phase code)와 Q5 코드(quadrature-phase code)라는 두 가지 PRN 거리 측정 코드를 송신합니다. 두 코드의 길이는 모두 10,230칩이고, 10.23Mcps로 송신되며, 1ms 후에 반복됩니다. I5 코드와 Q5 코드의 생성은 동일하며 초기 상태만 다릅니다. 자세한 내용은
gpsL5Codes를 참조하십시오.다음 단계를 수행하여 L5 파형을 생성할 수 있습니다.
IS-GPS-705 표준에 정의된 대로 GPS L5 CNAV 데이터를 생성합니다.
표준에 설명된 대로 동위상(I5 코드) 성분과 직교 위상(Q5 코드) 성분에 대한 거리 측정 코드를 개별적으로 생성합니다.
I5 코드와 Q5 코드의 칩 속도는 모두 10.23MHz이고 10230칩마다 반복됩니다. 따라서 각 코드 블록의 지속 시간은 1밀리초입니다.
GPS L5 데이터는 초당 100비트입니다. I-브랜치의 각 데이터 비트를 뉴먼 허프만 코드 10비트와 XOR 처리합니다. 이렇게 하면 XOR 연산 후의 출력은 1킬로보드(kilo baud)입니다. 즉, 모든 비트의 지속 시간이 1밀리초가 되며, 이는 확산 코드의 코드 블록 하나와 같습니다.
3단계의 출력에서 1밀리초 비트를 I5 코드 블록과 XOR 처리합니다. 비트 0을 +1/sqrt(2)로 매핑하고 비트 1을 -1/sqrt(2)로 매핑하여 최종 파형의 동위상 브랜치 신호 성분을 얻습니다.
1킬로보드의 Q-브랜치를 위해 뉴먼 허프만 코드(Newman Huffman code) 20비트를 생성합니다.
각 Q5 코드 블록을 뉴먼 허프만 코드와 XOR 처리합니다. 비트 0을 +1/sqrt(2)로 매핑하고 비트 1을 -1/sqrt(2)로 매핑하여 최종 파형의 직교 위상 브랜치 신호 성분을 얻습니다.
형성된 최종 IQ 파형은 기저대역 GPS L5 파형입니다.

다음 플롯은 L5 대역의 GPS 신호 스펙트럼을 보여주며, GPS L5 신호를 표시합니다.

내비게이션 데이터
현대화된 신호는 기존 LNAV 메시지의 향상된 버전인 CNAV(civil navigation) 메시지를 사용합니다. CNAV 데이터는 더 정확하며 더 높은 정밀도의 표현을 사용합니다. L2C와 L5는 CNAV 메시지 구조를 사용하는 반면 L1C는 CNAV-2라는 다른 메시지 구조를 사용합니다.
L2C와 L5 — CNAV 데이터는 메시지 유형의 형태로 연속적으로 송신됩니다. 각 메시지 유형은 300비트로 구성되며, L2C의 경우 25bps, L5의 경우 50bps로 송신됩니다. 이러한 비트는 1/2 레이트의 컨벌루션 인코더(rate-half convolutional-encoder)를 통과하여 각 메시지 유형에서 L2C의 경우 50bps, L5의 경우 100bps로 600비트를 얻습니다. 각 메시지 유형을 송신하는 데는 L2C의 경우 12초, L5의 경우 6초가 걸립니다. 각 메시지 유형의 송신 순서는 완전히 임의적이지만, 최적의 사용자 경험을 제공하기 위해 순서가 조정됩니다. 다음 그림은 L2C의 CNAV 메시지 구조를 보여줍니다. L5 CNAV 메시지 구조는 L2C와 유사하지만 각 단계에서 두 배 더 빠르게 데이터를 전송합니다.

아래 표에서는 각 CNAV 메시지 비트의 내용을 설명합니다.
비트 설명 1–8 프리앰블(Preamble) 9–14 송신 위성의 PRN(PRN of transmitting satellite) 15–20 메시지 유형 ID(Message type ID) 21–37 잘린 TOW(time of week) 개수(Truncated time of week (TOW) count) 38 알림 플래그(Alert flag) 39–276 내비게이션 메시지 페이로드(Navigation message payload) 277–300 순환 중복 검사(Cyclic redundancy check) L1C — CNAV-2 데이터의 데이터 레이트는 100bps입니다. CNAV-2 데이터의 각 프레임은 1800비트로 구성되며, 이는 다시 세 개의 서브프레임으로 나뉩니다. L2C CNAV와 L5 CNAV는 ephemeris에 특화된 메시지 유형을 사용하는 반면, 모든 CNAV-2 프레임에는 해당 정보가 포함됩니다.
첫 번째 서브프레임은 52비트로 구성되며 TOI(time of interval) 정보를 포함합니다. TOI 정보의 실제 길이는 9비트이지만, BCH(Bose Choudhuri Hocquenghem) 인코더는 이 9비트를 인코딩하여 52비트를 출력합니다.
두 번째 서브프레임은 1200비트로 구성되며 시계 데이터와 ephemeris 데이터를 포함합니다. 시계 데이터와 ephemeris 데이터의 실제 길이는 600비트이지만, LDPC(저밀도 패리티 검사 코드) 인코더는 이 600비트를 인코딩하여 1200비트를 출력합니다. 두 번째 서브프레임의 데이터는 GPS CS(control segment: 제어 세그먼트)가 데이터를 업데이트할 때까지 여러 프레임에 걸쳐 일정하게 유지됩니다.
세 번째 서브프레임은 548비트로 구성되며 almanac 데이터, 지구 방향 파라미터, 차등 보정 파라미터, 전리층 파라미터, UTC(협정 세계시) 파라미터, 문자 메시지, 위성 이동체 구성을 포함할 수 있습니다. 정보의 실제 길이는 274비트이지만, LDPC 인코더는 이 274비트를 인코딩하여 548비트를 출력합니다. 세 번째 서브프레임의 데이터는 프레임마다 변경됩니다.
두 번째 서브프레임과 세 번째 서브프레임은 총 1748비트를 구성합니다. CNAV-2 데이터의 프레임 하나를 얻으려면 첫 번째 서브프레임에 두 번째 서브프레임과 세 번째 서브프레임의 인터리빙된 비트 1748개를 추가합니다. 다음 그림은 CNAV-2 메시지 구조를 보여줍니다.

아래 표에서는 각 CNAV-2 메시지 서브프레임의 내용을 설명합니다.
서브프레임 비트 수 설명 원시 인코딩됨 1 9 52 TOI 2 600 1200 시간 보정 데이터와 ephemeris 데이터(Time correction and ephemeris data) 3 274 548 변수 데이터(almanac, 전리층 정보, UTC)(Variable data (almanac, ionospheric information, UTC))
참고 문헌
[1] IS-GPS-200, Rev: N. NAVSTAR GPS Space Segment/Navigation User Segment Interfaces. Aug 22, 2022; Code Ident: 66RP1.
[2] IS-GPS-800, Rev: J. NAVSTAR GPS Space Segment/User segment L1C Interfaces. Aug 22, 2022; Code Ident: 66RP1.
[3] IS-GPS-705, Rev:J. NAVSTAR GPS Space Segment/User segment L5 Interfaces. Aug 22, 2022.