**GPS** 또는 **범지구위치결정시스템**은 현재 GLONASS와 함께 완전하게 운용되고 있는 범지구위성항법시스템 중 하나이다. 미국 국방부에서 개발되었으며 공식 명칭은 NAVSTAR GPS이다. 무기 유도, 항법, 측량, 지도 제작, 측지, 시각 동기 등의 군용 및 민간용 목적으로 사용되고 있다.

GPS에서는 중궤도를 도는 24개(실제는 그 이상)의 인공위성에서 발신하는 마이크로파를 GPS 수신기에서 수신하여 수신기의 위치벡터를 결정한다.

GPS 위성은 미국 공군 제50우주비행단에서 관리하고 있다. 노후 위성의 교체와 새로운 위성 발사 등 유지와 연구, 개발에 필요한 비용은 연간 약 7억5천만 달러에 이른다. 그러나 GPS는 전 세계에서 무료로 사용 가능하다.

## 개요
GPS 수신기는 세 개 이상의 GPS 위성에서 송신된 신호를 수신하여 위성과 수신기의 위치를 결정한다. 위성에서 송신된 신호와 수신기에서 수신된 신호의 시간차이를 측정하면 위성과 수신기 사이의 거리를 구할 수 있는데, 이때 송신된 신호에는 위성의 위치에 대한 정보가 들어 있다. 최소한 세 개의 위성과의 거리와 각 위성의 위치를 알게 되면 삼변측량에서와 같은 방법을 이용해 수신기의 위치를 계산할 수 있다. 그러나 시계가 완전히 정확하지 않기 때문에 오차를 보정하고자 보통 네 개 이상의 위성을 이용해 위치를 결정한다.

## 체계

### 시스템 구성
GPS는 **우주 부분**, **제어 부분**, **사용자 부분**로 구성되어 있다.

#### 우주 부분
우주 부분(SS)은 궤도를 도는 GPS 위성을 의미한다. GPS는 24개의 인공위성이 여섯 개의 궤도면 상에 분포하도록 설계되었다.

GPS 위성의 고도는 약 20,183 km이다. 또한 항성일마다 궤도를 두 번 일주하며, 각각의 GPS 위성은 지상의 한 점을 하루에 한 번 통과하게 된다. GPS 궤도는 지상의 대부분 위치에서 최소한 여섯 개의 GPS 위성을 관측할 수 있도록 배열되어 있다.

2019년 4월 기준 총 31개의 GPS 위성이 운용중이다. 퇴역한 위성들이 궤도 상에 남아 있으므로 숫자는 더 된다. 최소한 24개의 위성을 통해 작동하도록 되어 있으며,

1978년부터 1985년까지 초기에 발사된 GPS 위성들을 Block-I/IA로 분류하며 현재 이들 위성은 모두 퇴역하였다. 1989년부터 발사된 위성들은 Block-II로 분류되며 1995년에 완전작전능력이 선언되었다. Block-IIR 위성은 1997년부터 기존의 Block-II/IIA 위성을 대체하기 시작하였다. Block-IIR 위성은 중앙처리 장치를 재프로그래밍할 수 있도록 개선되었으며, 또한 새로운 군사용 신호인 M-코드 신호를 L1과 L2 채널에, 민간용의 개량된 신호인 L2C 신호를 L2 채널에 담아 송신하는 기능이 추가되었다. Block-IIR의 개량형인 Block-IIR-M 위성은 2005년 9월 25일에 최초로 발사되었다.

#### 제어 부분
GPS 위성의 궤도를 추적하고 위성을 관리하는 제어 부분(CS)은 지상의 제어국으로 이루어져 있다. 하와이, 콰절런, 어센션섬, 디에고 가르시아 섬과 콜로라도스프링스의 다섯 군데의 제어국에서 미국 지리정보국의 운영 하에 위성을 추적한다. 위성의 추적 자료는 콜로라도 스프링스의 슈리버 공군기지에 위치한 주제어국으로 보내어진다. 주 제어국은 미국 공군의 제50우주비행단에서 운영한다. 주제어국에서는 취합된 최신의 궤도 정보를 분석하여 각 추적 제어국의 안테나를 통해 GPS 위성으로 새로운 궤도 정보를 송신함으로써 위성의 시각을 동기함과 동시에 천문력(ephemeris)을 조정한다.

#### 사용자 부분
GPS의 사용자 부분(US)은 GPS 수신기이다. GPS 수신기는 GPS 위성에서 송신하는 주파수에 동조된 안테나, 수정발진기 등을 이용한 정밀한 시계, 수신된 신호를 처리하고 수신기 위치의 좌표와 속도 벡터 등을 계산하는 처리장치, 계산된 결과를 출력하는 출력장치 등으로 이루어져 있다. GPS 수신기의 성능은 얼마나 많은 수의 GPS 위성으로부터 동시에 수신할 수 있는가로 평가되는 경우도 있는데, 초기의 수신기는 최대 너덧개의 위성으로부터 동시에 수신할 수 있었으나 2006년 기준으로 일반적인 GPS 수신기는 열두개 내지 스무개의 위성으로부터 동시에 수신이 가능하다. 모든 GPS 위성이 같은 주파수를 사용하여 신호를 송신하지만, 수신기가 각 GPS 위성의 신호를 구별할 수 있는 이유는 각 위성 고유의 의사잡음부호를 PSK 변조를 통해 스펙트럼확산하여 송신하기 때문이다.

측위 정확도를 높이기 위해 상대측위방식(DGPS(Differential GPS))을 사용하는 경우, GPS 수신기에는 다른 수신기와의 관측 결과 송수신을 위해 RS-232 등의 통신 포트가 내장된다. 또한 근래에는 USB나 블루투스 등이 내장된 GPS 수신기를 개인용 컴퓨터와 연결해 활용하는 경우도 있다.

##### 수신기 종류
GPS 수신기는 관측값의 형태와 코드의 종류에 따라 다음과 같은 4가지 유형으로 분류된다.

### 위성 신호
각각의 GPS 위성은 위성에 탑재된 시계의 시각 및 오차와 위성의 상태 정보,모든 위성과 관련된 궤도 정보와 상태(almanac), 각각의 궤도정보와 이력(ephemeris), 오차 보정을 위한 계수 등이 포함된 **항법메시지**(navigation message)를 50 bps의 속도로 지속적으로 방송한다.

모든 위성의 궤도 정보 및 상태(almanac)에는 모든 GPS 위성의 비교적 장기간 동안 유지되는 궤도 정보가 들어 있는데 이를 완전히 송신하는 데 12.5분이 걸린다. 갓 생산된 GPS 수신기의 초기 구동을 위해서는 궤도 정보 및 이력의 완전한 수신이 필요하다. 즉, GPS 수신기에서 한 GPS 위성으로부터 궤도 정보 및 이력의 수신이 완료된 경우, 다른 위성으로부터의 수신이 진행된다.

각 위성의 궤도정보및 이력(이페머리스:ephemeris)에는 지상의 제어국으로부터 2시간마다 갱신되고 4시간 동안 유효한 개별 위성의 궤도 정보가 담겨 있다.

이와같은 항법메시지는 **C/A 코드**(Coarse/Acquisition code 또는 Standard code)와 **P 코드**(Precision code)와 함께 반송파에 실려 송신된다. C/A 코드와 P 코드는 각각 비트율 1.023 Mbps, 10.23 Mbps로 위성마다 고유한 의사잡음부호가 담긴다. C/A 코드는 민간에 개방되어 있으나 P 코드는 군사 목적으로 전용하기 위해 공개되지 않은 W 코드를 이용해 암호화되는데, 암호화된 P 코드를 Y 코드 또는 P(Y) 코드라고 한다. P(Y) 코드를 해독하기 위해서는 특별한 장비가 필요하다.

GPS가 사용하는 반송파의 송신 주파수와 각 채널에 위상 변조를 거쳐 담기는 정보는 다음과 같다.

### 기준좌표계

#### 천구기준좌표계
CRF (Celestial Reference Frame)라 부르는 이 천구기준좌표계는 관용적으로 결정되 반드시 이론적인 좌표계와 일치시킬 필요가 없다. 하지만 지구가 태양의 주위에서 가속도를 가지는 운동을 하기 때문에 지심좌표계는 실제 완전한 관성체가 아니며, 이로 인해 이 좌표계에 의사관성이라는 용어를 포함하여 부르기도 한다.
이러한 천구 기준 좌표계의 대표적인 하나가 국제자전서비스(International Earth Rotation Service)에 의해 결정되는 ICRF라 부르는 기준계이다. ICRF는 500개 이상의 은하계 밖의 물체를 관측하여 실시간으로 결정된다.

### 위치 계산
위성으로부터 송신된 신호를 이용해 좌표를 계산하기 위해서는 정밀한 시계가 필요한데, GPS 위성에는 고정밀의 원자 시계가 탑재되어 있으며, GPS 수신기는 필요한 정밀도에 따라서 원자 시계 또는 수정발진기를 이용한 시계 등이 탑재되어 있다. 위성으로부터 수신한 항법메시지를 통해 GPS 수신기의 시계와 GPS 위성의 시계를 비교한다.

위성으로부터 반송파에 실려 보내진 C/A 코드를 GPS 수신기가 감지하면 똑같은 코드를 생성해 두 코드의 시간차를 측정한다. 측정된 두 코드의 시간차에 전파의 속도를 곱하면 GPS 위성과 수신기간의 거리가 구해진다. 그러나 실제 전파 경로로 인한 오차, GPS 위성과 GPS 수신기에 내장된 시계의 오차, 수신기 내부 회로에서 발생하는 오차 등으로 인해 이렇게 구한 거리는 실제의 거리가 아닌 **의사거리**(pseudorange)이다. GPS로부터 수신한 신호에는 항법메시지도 들어 있는데 의사거리는 항법메시지에 담겨 있는 각종 계수를 이용해 보정된다.

P(Y) 코드를 이용한 거리 계산도 C/A 코드를 이용한 계산과 비슷하다. 그러나 암호화되어 있기 때문에 허용된 사용자만이 해독할 수 있다.

GPS에서 위치는 세계측지계인 WGS84 좌표계에 따라 계산된다. 따라서 각 지역에 맞는 좌표계에 적용하기 위해서는 적절한 좌표 변환이 필요하다.

### 정확도와 오차
GPS 수신기에서 위치를 계산하기 위해서는 현재의 시각, 위성의 위치, 신호의 지연량이 필요하다. 위치 계산 오차는 이 가운데 주로 위성의 위치와 신호 지연의 측정으로부터 발생한다.

신호의 지연 시간은 GPS 위성으로부터 수신한 신호와 동일한 신호를 GPS 수신기에서 발생시켜 비교하여 얻는다. 이 비교 과정에서 발생하는 오차는 수신기의 수신 상태가 양호한 경우, 부호 길이의 1% 정도이므로 C/A 코드에서는 약 1~10 ㎱이다. 전파의 속도를 고려하면 1~3 미터 정도의 오차이다. 이는 신호 지연 측정 과정에서 발생하는 오차의 최소치이다. P(Y) 코드를 해독할 수 있는 경우, 부호 길이의 1%의 오차는 약 30 센티미터에 해당한다.

이 밖에 다음과 같은 오차가 발생한다.

#### 대기권 오차
전리층과 대류권은 GPS에서 송신된 신호의 속도에 영향을 미친다. 의사거리의 오차를 줄이는 데에는 대기권으로 인한 오차를 줄이는 것이 가장 효과적이다. 한편, 대기권의 영향은 GPS 위성이 수신기의 바로 위에 있을 때 가장 작고, 지평선 부근에 위치할 때 가장 큰데, 이는 대기권을 통과하는 거리의 차이 때문이다.

전리층으로 인한 오차는 산란으로 인한 것으로 신호의 주파수에 따라서 달라진다. 군사용의 고정밀 GPS 수신기는 L1과 L2 채널을 동시에 수신함으로써 전리층 효과를 직접 보정할 수 있으나, L1 채널만을 수신하는 일반적인 GPS 수신기는 다만 항법메시지에 포함된 오차 보정 계수를 사용해 전리층 효과를 보정한다. 전리층 오차는 태양활동에 따라 그 효과가 변하는데, 태양활동 극대기일 때 전리층 오차는 가장 커진다.

대류권의 오차는 공기와 수증기로 인한 것인데 전리층 오차보다 그 변화가 빠르다. 수신기의 고도는 대류권 오차과 관련이 있는데, 이것은 GPS 위성 신호가 통과하는 거리가 고도에 따라 달라지기 때문이다.

DGPS 방식을 사용한 위치 결정에서는, 이미 좌표를 알고 있는 참조점에서 GPS 관측 결과로부터 계산한 좌표를 비교하여 해당 지역의 전리층과 대류권 오차 보정량을 구해 FM 이나 간이 무선 회선을 통해 방송하기도 한다.

#### 다중경로에 따른 오차
GPS 신호는 다중경로의 영향을 받는다. 수신기 주변의 건물 등의 지형 지물로 인해 위성으로부터 송신된 신호가 굴절, 반사되는데, 이로 인해 오차가 발생한다. 협상관기(narrow correlator)나 특별히 설계된 안테나 등의 기법을 사용해 오차를 보정한다. 움직이는 차량에 장착된 수신기의 경우 반사되어 들어오는 신호가 쉽게 수렴되지 않으므로 다중경로의 효과가 그렇게 심각하지 않다.

#### 천체력 및 위성 시계 오차
항법 메시지는 12.5분마다 갱신되어 전송된다. 따라서 실제로는 항법 메시지가 현재보다 더 예전의 정보일 수 있다. 예를 들어, GPS 위성이 정확한 궤도로 유지하기 위해 움직이는 경우, 그 이후 새로운 천체력이 수신되기 전까지 얼마 동안은, 수신기가 계산한 해당 위성의 위치가 실제 위치와는 일치하지 않는다. 또한, 위성에 탑재된 시계는 매우 정밀하지만 클럭 드리프트(clock drift)가 발생하기 때문에 위치 결정 결과에 최대 2 미터 정도의 오차가 생길 수 있다.

이와 같은 오차는 전리층 오차와 달리 몇 날 또는 몇 주간에 걸쳐서 변화하기 때문에 보다 안정적인 편에 속한다. 그러므로 더 정확한 궤도 정보와 이력(almanac)을 별개의 채널을 통해 사용함으로써 쉽게 오차를 보정할 수 있다.

#### SA
**SA**는 민간 부문의 사용을 제한하기 위하여 의도적으로 오차를 발생시키는 방법을 의미한다. SA가 적용된 GPS 신호를 사용한 측정에서는 수직방향으로 30 미터, 수평방향으로 10 미터 정도의 오차가 발생한다. 그러나 이와같은 오차는 매우 빨리 변하지 않기 때문에, 민간 부문에서는 DGPS(Differential GPS) 등의 방법을 사용해 오차를 없앨 수 있었다.

민간용의 GPS 사용을 제한하기 위해 도입된 SA는 아이러니하게도 걸프 전쟁 당시 공급이 충분하던 민간용 GPS 장비와 그에 비해 부족하던 군사용 GPS 장비의 공급으로 인해 제거되는 계기를 맞는다. 또한 미국연방항공청은 독자적인 라디오 항법 시스템을 유지하는 데 필요한 재정을 절감할 수 있다는 이유로 SA를 제거할 것을 지속적으로 요구하였다. 결국 빌 클린턴 미국 대통령의 성명에 이어 2000년 5월 1일부터 SA의 오차를 0으로 설정함으로써 SA 기능이 실질적으로 제거되었다. SA 기능은 아직 완전히 제거된 것은 아니므로 오차량을 조정함으로써 언제든지 재도입할 수 있지만 그럴 가능성은 적으며 미국연방항공청에서도 SA를 재도입할 계획이 없다고 밝혔다.

### 간섭과 전파 방해
지상의 수신기에 도달하는 GPS 신호는 상대적으로 약하기 때문에 다른 발생원으로부터 생기는 전자파 때문에 감도가 더욱 약해질 수 있으며, 이렇게 되는 경우 GPS 신호를 얻고 추적하는 것이 매우 어렵거나 불가능해진다.

태양플레어는 GPS 수신을 저해할 수 있는 자연적인 원인중의 하나로, 태양 쪽을 향하는 지구의 절반 지역이 태양플레어의 영향을 받게 된다. 지자기폭풍 역시 GPS 신호 수신을 저해하는 원인의 하나이다. 또, 차량 내부에 장착된 수신기는 앞유리의 결빙을 방지하기 위해 내장된 열선 때문에 GPS 신호를 수신하는 데 장애가 발생할 수 있다.

전파교란 역시 GPS 신호에 영향을 미친다. 미국 캘리포니아 지역에서는 TV 안테나 증폭기의 의도치 않은 오작동으로 인해 항만 지역 전체에서 GPS 신호 수신이 불가능해졌던 기록이 있다.

미국 연방 정부는 2001년 아프가니스탄 전쟁에서 위와 비슷한 전파교란기가 사용된 것으로 여기고 있으며, 미군은 이라크 전쟁에서 GPS 유도 폭탄을 이용해 GPS 교란기를 파괴하였다고 주장하였다.

몇몇 나라에서는 실내 또는 신호가 약한 곳에서 GPS 신호를 수신할 수 있도록 GPS 중계기 사용을 허가하고 있으나 유럽 연합과 영국 등은 GPS 위성과 GPS 중계기로부터 동시에 신호를 수신하는 경우 교란이 발생할 수 있는 이유를 들어 GPS 중계기 사용을 금지하고 있다.

자연적인 이유(태양플레어 등) 또는 인공적인 이유(전파교란 등)로 발생하는 GPS 수신 장애에 대처하기 위해 많은 방법들이 개발되었다. 한 가지 방법은 항법이나 유도 등에서 GPS만을 사용하지 않고 다른 시스템을 함께 사용하는 것이다. 존 룰리는 “계기 비행을 하는 조종사는 GPS 체계에 문제가 발생할 경우에 대비한 대체 시스템을 갖고 있어야 한다” 고 말한 바 있다.

### 정확도 향상
GPS를 이용한 위치 계산의 정확도는 정밀한 모니터링과 함께 GPS 신호를 다른 방법으로 측정하는 등으로 개선할 수 있다.

SA가 없어진 이후, GPS에서 발생할 수 있는 가장 큰 오차는 전리층으로 인한 것이다. 물론 GPS 위성에서 오차 보정 계수를 송신하지만, 전리층의 불확실한 조건으로 인해 오차를 완전히 막을 수는 없다. 이는 GPS 위성에서 두 대역, L1과 L2 대로 신호를 동시에 송신하는 이유이기도 하다. 신호가 전달되는 경로에 따른 전리층 오차는 신호의 주파수와 총전자 함유량의 함수이다. 그러므로 주파수가 다른 두 대역의 신호가 도달하는 시간 차이를 측정함으로써 총전자 함유량을 구할 수 있고 따라서 전리층 지연도 계산된다.

해독 장치가 달려 있는 GPS 수신기는 L1과 L2대에 실려 송신되는 P(Y) 코드를 수신할 수 있지만, 이와 같은 해독 장치는 미군 및 허가된 정부 관련 기관에서만 사용할 수 있다. 해독 장치가 없는 경우 무코드(codeless) 기법을 사용해 L1과 L2 대의 P(Y) 코드를 비교하여 두 대역의 전송 지연을 계산한다. 민간용의 새로운 코드가 L2 및 새로운 L5 대역에 추가될 것이다. 그러면 모든 사용자가 두 가지의 주파수를 직접 측정하는 방법으로 전리층 지연을 계산할 수 있게 된다.

GPS-RTK는 CDGPS라고도 불리며 C/A, P 코드뿐 아니라 반송파의 위상정보까지 이용하여 수평 1&nbsp;cm,수직 2&nbsp;cm 레벨의 정확도를 구현하여 GPS 나침반, 지적측량 등에 활용된다. 그 이상의 정확도가 필요한 경우에는 VLBI 기법이 이용된다.

### GPS 시각
대부분의 시계는 협정세계시(UTC)를 기준으로 맞춰지지만, GPS 위성에 탑재된 원자 시계는 **GPS 시각**을 기준으로 맞춰진다. GPS 시각은 지구의 자전을 고려한 것이 아니기 때문에 UTC와 달리 윤초 등의 주기적인 보정량이 삽입되어 있지 않다. GPS 시각은 1980년 1월 6일에 UTC와 동기되었으나 이후로 오차가 누적되었다. 보정량이 삽입되지 않으므로 GPS 시각은 국제원자시(TAI)와 19초가 차이가 난다. 한편 GPS 위성 내부 시각은 상대론적 효과를 보정하고 지상국과의 동기를 위해 시계보정계수를 이용해 주기적으로 보정되고 있다.

GPS 항법 메시지에는 2006년 기준으로 14초인 GPS 시각과 UTC와의 시각차가 포함되어 있다. GPS 수신기는 이 정보를 이용해 UTC 시각과 해당 지역 시간대의 시각을 계산한다. 갓 생산된 GPS 수신기는 GPS 항법 메시지를 수신하기 전까지는 정확한 UTC 시각을 보여주지 못할 수 있다. GPS-UTC 시각차 정보 필드는 최대 255 윤초(8 비트)까지 담을 수 있으므로 현재 지구 자전 변화율을 고려할 때 2330년까지는 사용이 가능하다.

날짜를 년, 월, 일로 나타내는 율리우스력 방식과는 달리 GPS 날짜는 주(週) 번호(week number)와 요일 번호(day-of-week number)로 나타낸다. 주(週) 번호는 10 비트 필드에 담겨 C/A 및 P(Y) 코드를 통해 발송되며, 1,024주(19.6년)마다 0으로 돌아온다. GPS 주 번호는 1980년 1월 6일 00:00:00 UTC(00:00:19 TAI)에 0으로 시작했으며 1999년 8월 22일 23:59:47 UTC(00:00:19 TAI)에 다시 0으로 리셋된 바 있다. 그레고리력 날짜를 계산하기 위해서는 GPS 수신기에 3,584일 이내의 근사 날짜 정보가 있어야 한다. 이런 단점을 개선하기 위해서 개량된 GPS 항법 메시지는 13 비트의 필드를 사용해, 주 번호가 0으로 돌아오는 주기를 8,192주(157년)로 늘렸다. 따라서 2137년까지 주 번호가 0으로 리셋되는 일은 없다.

### GPS 현대화
1995년 7월 17일 완전작전능력(FOC)이 선언되면서, GPS는 최초의 설계 목표를 달성하였다. 그러나 기술의 발전과 새로운 수요의 발생에 따라서 GPS 체계를 더욱 개량할 필요가 대두되었다. 1998년 미국 부통령과 백악관의 공표에 따라서 GPS 현대화 계획이 시작되었고, 미국 의회는 2000년 **GPS III**로 명명하면서 이 계획을 인가하였다.

GPS 현대화 계획은 모든 사용자에 대해 정확도와 사용성을 향상하는 것을 목표로 하며, 새로운 지상국, 새로운 위성 및 네 개의 추가적인 GPS 신호 대역을 포함한다. 민간용의 새로운 신호 대역은 **L2C**, **L5**와 **L1C**이며, 군용의 새로운 신호 대역은 **M-Code**이다. L2C 대역의 초도작전능력 달성은 2008년으로 예상된다. GPS III 전체 목표 달성은 2013년으로 계획되어 있으며 2011년까지 달성할 경우 인센티브가 도급업체들에게 지급될 것임.

## 응용 부문
GPS는 군용 목적으로 개발되었으나, 현재는 군용은 물론 민간 부문으로도 널리 사용되고 있다.

### 군용
GPS는 대륙간 탄도 미사일, 순항미사일, 정밀유도폭탄 등의 무기 유도에 사용된다. 또 병력 배치와 보급에도 사용된다.

GPS 위성에는 미국핵폭발감지체계(USNDS)의 주요 부분으로서 핵 폭발 감지기가 실려 있다.

## 역사
GPS의 개발은 1940년대 초기와 제2차 세계 대전 당시의 LORAN, Decca 항법과 같은 지상 라디오 항법 체계로 거슬러 올라간다. 소련이 1957년 세계 최초로 인공위성 스푸트니크를 발사하자 미국의 리처드 B. 커시너 박사를 중심으로 한 연구팀은 스푸트니크에서 송신되는 전파를 모니터링하였다. 도플러 효과로 인하여 위성의 고도에 따라서 전파의 주파수가 바뀐다는 점에 착안하여 위치를 결정할 수 있음을 알게 되었다.

최초의 위성항법체계인 트랜짓(Transit)은 1960년에 미국 해군이 성공적으로 시험하였고, 1967년 미국 해군에서 개발한 타이메이션(Timation) 이후로 인공위성에 고도로 정밀한 시계를 탑재할 수 있게 되었다. 신호의 위상차를 측정하는 방식의 1970년대 오메가 항법은 최초의 전 세계적 라디오 항법 체계였다.

GPS의 최초의 Block-I 위성은 1978년 2월에 발사되었다.