요즘 스마트폰으로 위치확인을 하시는 분들이 참 많습니다.
그런데, 위치확인 시스템의 원리에 대해 잘 모르시는 분들이 많아 이런 저런 오해가 많이 발생하는 것 같아요.
그래서 제가 이렇게 저렇게 정리하여 알고 있는 내용을 말씀드리려고 합니다.
혹시라도 틀린 점이 있다면 바로 바로 지적해주세요.
(많은 분들께서 댓글로 틀린 부분들을 지적해주셨습니다.
지적 받은 부분은 밑줄로 표시하여 수정하였습니다.
저도 많이 배워가고요. 감사드립니다.)
1. 스마트폰의 위치확인 시스템
스마트폰의 위치확인 시스템은 크게 2가지로 나뉩니다.
(1) 3G / 4G / WIFI 신호를 이용한 위치 추정
(2) A-GPS / Glonass 를 위성을 이용한 위치 추정
스마트폰의 위치 서비스 설정에 들어가면 다음과 같은 메뉴가 있어요.
(LG Optimus LTE2에서 캡쳐)
첫번째 항목이 3G / 4G / WIFI 신호를 이용한 위치 추정 여부를 설정하는 것이고,
두번째 항목이 A-GPS / Glonass 를 위성을 이용한 위치 추정 여부를 설정하는 것입니다.
2. 3G / 4G / WIFI 신호를 이용한 위치 추정
그럼 먼저 3G / 4G / WIFI 신호를 이용한 위치 추정에 대해 말씀드릴게요.
이 방법은 정확도가 낮지만 매우 빠르게 위치를 확인하는 방법입니다.
휴대폰에서 WIFI를 켜면 많은 AP(무선공유기)의 신호가 잡힙니다.
이 신호를 기준으로 휴대폰의 위치를 확인하는 방법입니다.
또한 WIFI 이외에도 휴대폰에서 수신되는 기지국으로부터의 3G / 4G 신호를 이용하여
위치를 대략적으로 추정합니다.
3G / 4G 를 이용하는 방법은 상대적으로 오차가 수백 미터에 이릅니다.
(기지국의 위치가 수 km 마다 있으니까요)
WIFI를 이용한 방법은 이보다는 정확해서 수 ~ 수십 미터의 오차를 가집니다.
(AP의 신호는 기껏해야 수십 m까지 밖에 퍼지지 못하니까요)
창가가 아닌 실내에서 위치를 잡는 경우에는 무조건 3G / 4G / WIFI 를 이용한 방법입니다.
GPS가 아니에요.
스마트폰의 위치확인시스템을 GPS로 오인해서 많이들 부르시는데요.
GPS는 미국의 위성항법시스템의 이름입니다.
3. A-GPS / GLONASS를 이용한 위치 추정
그럼 그 다음으로 A-GPS / GLONASS 에 대해 말씀드릴게요.
GPS는 위에서 말씀드린 것처럼 미국에서 개발 및 관리하는 위성항법시스템입니다.
24개가 넘는 위성으로부터 신호를 수신하여 위치를 계산하는 방법인데요.
네비게이션 등에서도 많이 이용되는 방법입니다.
위성으로부터 데이터를 수신해야 하므로, 무조건 하늘이 보이는 곳에서만 작동합니다.
그런데, GPS의 속도가 상당히 느립니다.
단말기는 GPS 위성의 위치 정보 및 현재 시간 정보 등이 필요합니다.
GPS 위성의 위치로부터 삼각법 등을 이용해 단말기의 위치를 계산하기 때문이죠.
그런데, GPS 위성과의 데이터 통신이 상당히 느리고, 신호도 약하기 때문에
GPS 위성의 위치 정보 및 현재 시간 정보 등을 다운로드하는 것이 오래걸려요.
모든 데이터를 다운받는 데에 12.5분이 걸립니다.
이 문제를 해결하기 위해 A-GPS (Assisted GPS)가 개발되었죠.
A-GPS는 3G / 4G 통신망을 이용해 GPS 위성의 위치와 현재시간 정보를 다운로드합니다.
위성 정보를 빠른 시간 내에 받아올 수 있으므로,
여러 개의 위성 신호만 수신된다면 바로 위치를 추정할 수 있습니다.
따라서 A-GPS를 사용하기 위해서는 단말기가 3G 또는 4G로 인터넷 접속이 가능해야 합니다.
WiFi 로는 A-GPS가 될 수 있는 모델이 현재 없습니다.
A-GPS는 SUPL이라는 통신 규격을 따르게 되 있기 때문에 모뎀이 없으면 지원을 할 수가 없습니다.
A-GPS를 3G / 4G / WIFI 의 신호로 위치를 추정하는 시스템으로 오해하시는 분들이 있는데요.
A-GPS는 3G / 4G 통신망을 이용해 위성 정보 및 시각 정보를 받아오는 GPS입니다.
그래서 기존의 GPS(S-GPS라고도 합니다.)와 A-GPS의 차이는 속도 차이로 보시면 됩니다.
최근 출시되는 거의 대부분의 스마트폰은 A-GPS를 탑재하고 있죠.
그럼 GLONASS는 무엇일까요.
GLONASS는 러시아가 개발 및 운용하는 위성항법시스템입니다.
예전 냉전 시대때부터 개발했으나, 소련이 붕괴되면서 중단되었다가
최근 들어서 다시 개발되어 완성된 시스템이죠.
아이폰4s, 갤럭시s3, 옵티머스 LTE2 등 최신 스마트폰들은 모두
GPS 뿐만 아니라 GLONASS도 지원합니다.
GLONASS가 지원이 되면, 결국 스마트폰이 받을 수 있는 위성 데이터가 늘어나서
위치 추정의 정확도가 높아지죠.
A-GPS 및 GLONASS를 이용하면 수 미터의 오차로 위치추정이 가능합니다.
아래는 옵티머스 LTE2에서 GPS TEST 어플을 이용해 측정한 위성 정보입니다.
어플 이름이 "GPS TEST" 입니다.
https://play.google.com/store/apps/details?id=com.chartcross.gpstest
In view 21 으로 나와있는 것은
A-GPS에서 통신망을 통해 위성의 위치 정보를 받아서
단말기가 위치한 곳에서 현재 볼 수 있는 위성이 21개라는 뜻입니다..
In use 11 은 21개의 위성 중에서 현재 단말기가 신호를 수신하는 위성의 개수가 11임을 알려줍니다.
아래 그래프는 11개 위성에서 받은 신호의 크기를 나타내는 것이고요.
하단 왼쪽에 보시면 동그라미, 삼각형 등이 있는데요.
동그라미는 GPS위성이고, 삼각형은 GLONASS위성입니다.
다시 말씀드리지만 A-GPS는 이러한 위성의 위치 정보를 통신망으로 빠르게 다운받는 것이죠.
오른쪽 상단에 현재 오차가 6m 로 나오네요. 상당히 정확한 수치입니다.
보통 위성이 4~5개 정도 연결이 되면 수십 m의 오차가 나기도 하고요.
위성과 많이 연결될 수록 정확도가 당연히 올라갑니다.
GPS는 항상 하늘이 보여야 합니다.
그럼 실내지만 창가 부근에서는 될까요?
당연히 됩니다.
위의 캡쳐는 사무실 창가 부근에서 측정한 결과인데요.
휴대폰을 오랫동안 창가에 두었으나 보시는 것처럼
8개의 위성 밖에 연결이 되지 않았고, 또한 신호도 약합니다.
오차도 14m 로 크네요.
4. 그럼 스마트폰에서 위치 추정은 어떻게?
앞에서 말씀드린 2가지 방법을 모두 이용하여 위치를 추정합니다.
(물론 설정에서 둘 다 활성화시켰을 때에요.)
3G / 4G / WIFI 를 이용한 방법은 1~2초면 위치를 추정합니다.
하지만 오차가 당연히 크죠.
다만 WIFI 를 켜놓은 상태고 주변에 AP가 많은 곳이라면
이를 이용해서 꽤 정확한 위치를 알려줍니다.
그렇게 일단 대략적인 위치를 보여주고 나서 A-GPS를 가동합니다.
우선적으로 통신망을 이용해 위성의 위치 정보와 시각을 수신하고요.
그 다음 위성의 신호를 수신합니다.
1개, 2개,,, 점점 더 많은 위성과 연결이 되다가
대략 4~5개의 위성과 연결되면 GPS를 이용한 위치 추정이 시작되고요.
이것까지 걸리는 시간이 빠른 경우 10초 내외,
오래 걸릴 경우 수 분이 걸립니다.
GPS와 연결되는 시각은 단말기에 따라서도 차이가 나고요.
하늘이 보이는 정도, 날씨 등에도 영향을 많이 받습니다.
그런데, 위치를 확인해보면 WIFI로도 가끔 상당히 정확하게 확인이 됩니다.
속도도 빠르고 말이죠.
그래서 사람들은 착각합니다.
"이 휴대폰 GPS 연결 정말 빠르네." 라고요.
물론 실제로 빠른 경우일 수도 있습니다.
그래서 그것을 구분하는 방법을 알려드리면요.
걸어서 움직여보면 됩니다!
WIFI를 이용하는 방법은 움직이는 것까지 알아내지 못합니다.
물론 수십m 걸어가면 이동하기는 하지만, 수 m 걸어가면 변화가 없습니다.
하지만 GPS의 경우에는 걸어가는 방향으로 따라 움직입니다.
혹은, 저처럼 GPS TEST 어플을 이용하시면 됩니다.
안드로이드의 GPS TEST 어플은 오로지 GPS/GLONASS만을 고려한 결과를 보여주거든요.
5. 맺음말
얼마 전에 옵티머스 LTE2의 GPS 문제로 A/S 다녀왔습니다.
옵티머스 LTE2의 고질적인 GPS 문제가 있는데요.
회로 차단막이 있는데, 이것이 GPS 안테나 부근에 있어 신호까지도 차단하는 문제입니다.
센터 가면 10분이면 해결해 줍니다.
센터를 다녀오고 나서 GPS TEST 어플로 신호 크기를 확인해본니,
신호 감도가 30~40% 증가하더군요.
이걸 계기로, 그냥 GPS에 대해 설명 좀 해야겠다는 생각으로 시작했는데,
쓰다보니 상당히 길어졌네요.
혹시라도 틀린 점이 있다면 지적해주시길 바라고요.
많은 도움이 되었으면 합니다.
긴 글 읽어주셔서 감사드립니다.
* 부록 (WIFI / AP 로 위치 추정하는 원리)
구글은 전 세계 수많은 AP의 위치 정보를 가지고 있습니다.
스마트폰에서 WIFI를 이용한 위치 추정 기능을 켜면
"Google의 위치 서비스에서 익명의 위치 정보를 수집할 수 있도록 합니다.
일부 데이터는 기기에 저장될 수 있습니다.
앱히 실행되고 있지 않을 때에도 정보가 수집될 수 있습니다."
라는 동의를 묻는 창이 뜹니다.
즉, 내가 WIFI 신호의 정보를 이용한 위치 추정 기능을 켜면,
동시에 내가 획득한 WIFI 신호 정보가 구글로 전송되는 것이죠.
이런 방법 이외에도, AP 정보 수집용 차량을 이용하여 AP 정보를 획득하기도 합니다.
GPS와 AP 신호측정기가 장착된 차량을 타고 이동하면서
특정 장소에서 어떤 AP의 신호가 얼마나 크게 측정되는 지를 모조리 수집하는 것이죠.
이러한 방법으로 축적된 데이터를 이용해 위치를 추정하게 되고요.
이 기능은 단말기에서 WIFI 를 켜야만 작동합니다.
그러니 주변에 AP가 있는 실내에서 위치를 확인하고 싶으시다면
WIFI를 꼭 켜세요. 상당히 빨리, 꽤 정확한 위치를 알 수 있습니다.
http://www.ascenkorea.com/usertpl.php?tpl_id=receiver8#middle
요 회사에서 블루투스로 핸드폰과 연동해 3g 로 dgps 정보를 받아오는 장치가 있긴 한데..
그냥 SW로 핸드폰 상에서 될진 모르겠네요..;
예전 노키아 네비게이터 휴대폰 매뉴얼에 적혀있었습니다.
요즘은 On/Off만 가능하죠... 스마트폰은 데이터를 꺼도 위성정보는 GPS로 처리할수는 있지만
환상적으로 느리니(안테나가 작죠) A-GPS는 필수입니다.
맵 확대해서 데이터를 사용했다면 그건 지도 데이터를 받아오는데에 사용되는 거겠죠.
아주 극소 데이타죠...
추가적인 정보를 드린다면 제가 3G/4G 중계기 제작 업체에서 잠시나마 아르바이트 했었는데 중계기에 GPS 수신기가 있어 GPS 정보를 항상 가지고 있습니다. 미리 가지고 있는 정보를 데이터망으로 송신해주는것이지요.
중계기가 어떠한 이유로 재부팅이 되면 GPS를 수신하는데 5~20여분이 소요됩니다.
GPS라는게 결국 초정밀 시계들인데 통신을 중계하자면 정밀한 시간이 필요하죠
그리고 실내에서도 극히 약한 GPS신호는 수신될때 있더군요. 단지 위치정보로서는 의미없는 수준이지만...
중계기는 항상 켜져 있고 주로 밖에 있으므로 쉽게 받을수 있습니다. 하지만, 안드로이드 계열은 GPS fix를 구글 서버에서 받으니, 중계기에 GPS 수신기가 굳이 있을필욘 없죠.
그리고, 3G를 사용해서도 꽤 정확도 높게 위치 추정이 가능합니다. 보통 핸드폰이 중계기 하나랑 통신하는게 아니라 서너개랑 항상 통신하고 있는데, 그 중계기끼리의 상대시간차를 이용해서 위치를 추정해 내죠.. 중계기들끼리는 서로 통신하고 있으므로 정확한 계측을 위한 시간 정보를 동기하기가 그리 어렵지 않습니다. 이런 표준도 있는데, 실제론 구현이 안된것 같아요.
A-GPS 동작시에 이처럼 기지국에서 받은 위치정보를 레퍼런스하여 보다 GPS 기반 위치 fix를 하게 됩니다.
따라서 효군님의 말이 틀린말은 아니죠...
다만 무선랜 위치 추적은 무선랜 맵이 있어야 하고 + 실외보다는 실내에서 더 쓸모가 있지요.
현재 상당수의 회사가 무선랜 위치 추적을 통한 다양한 서비스를 상용화했거나 시범 중 입니다.
글로나스 역할이 컸군요 ㄷㄷ
많은 분들이 GLONASS에 대해 오해를 하시는데..현수준의 출시된 폰에서
GLONASS가 들어가 있다고 위치를 빨리 잡는 것이 아닙니다.
현수준에서는 복잡한 도심지역에서 Accuracy를 개선해주는 정도입니다.
스마트폰에서 위치를 빨리 잡는 것은 대부분 GPS/GLONASS의 HW 안테나의 성능이 좋은 것이라고 보시면 됩니다.
단말에서 Glonass를 지원하게 되면 위치 fix를 위한 위성후보군이 GPS만 사용할때보다 늘어나게 되기때문에 위치를 fix하는 시간도 줄여줄수있습니다.
Open sky에서는 큰차이를 보이지 않겠지만 도심처럼 열악한 환경에서는 TTFF(초기위치 fix타임)뿐아니라 Accuracy에서 큰 개선을 보입니다.
한 위성으로부터 일정 기간동안의 궤도 정보와 시각 데이터를 수신하는 데 걸리는 시간이 약 12분 정도입니다. 다만 위성의 일방적 송신이기 때문에 사용자가 GPS를 켜는 순간 들어오는 데이터가 현재 필요한 데이터인지 차후 데이터인지는 복불복이고, 이에 따라 위치 결정에 걸리는 시간이 달라질 수 있습니다. 그 외 위성 신호의 수신상태 및 GPS 칩셋의 다중 신호 수신 능력 등등이 관건이 되겠습니다.
A-GPS 기기들은 시각 데이터와 위성의 위치 데이터를 위성을 통해 수신하는 것이 아니라 별도의 네트워크로 받아서 계산하므로 위치 결정에 소요되는 시간을 대폭 줄일 수 있으며 비교적 열악한 수신 환경에서도 높은 정확성을 보여줍니다. 다만 A-GPS들도 보조 데이터 없이 S-GPS로 작동할 수 있으나, 이 경우에는 일반적인 S-GPS 기기에 비해 위치 결정에 더 긴 시간을 필요로 합니다.
여담으로, 과거에 재부팅하면 미리 받아왔던 A-GPS 데이터를 깡그리 날려버리는 폰들이 몇몇 있었습니다. A-GPS 데이터를 주기적으로 받아오게 세팅이 되어 있지만 재부팅하면서 날려버린 것을 알 리가 없었던 폰은 계속해서 S-GPS 상태로 돌아가고, 유저는 왜이리 GPS를 못잡냐며 성질을 내고..
말씀하신 내용중 위내용이 궁금해서 문의드립니다.
왜 일반적인 S-GPS기기에 비해 위치결정에 더 긴시간을 필요로 하는지요?
스펙빨이라고 할까요. 위성에만 의존하는 S 특성상 수신감도, 다중 채널 지원 등이 A에 비해 조금 더 낫습니다. S는 다중 채널을 20개 이상씩 집어넣은 경우도 있는 반면 보조 데이터를 이용을 상정하고 제작되는 A는 그렇게까지 칩셋의 스펙을 높이지는 않더군요. 또한 대부분의 경우 A 혼자 S로 작동할 수 있도록 허용하지만 일부 A는 보조데이터가 없을 경우 S로의 작동을 제한하는 경우도 있습니다.
하긴 뭐.. 이건 제가 몇 년 전에 A를 처음 접했을 때 찾아봤던 것들이라, 현재는 S와 비슷한 스펙을 가질지도 모르겠습니다. 그렇다면 S에 비해 뒤쳐질 거리가 없기 때문에 제가 잘못 알고 있는 것이겠군요.
새소게에 올라왔던 소식 중에 이런 것도 있었죠(http://clien.career.co.kr/cs2/bbs/board.php?bo_table=news&wr_id=1437415 ) 지구 자기장을 이용해서 실내에서의 현재 위치를 측정한다는 방법입니다.
AGPS는 초기 수신 시간을 줄여주는 용도죠.
gps가 안잡히던데 3g가 통신사 신호가 잡혀야 gps가 잡히더군요
from CLIEN+
최근 연구되는 방법들은 AOA, TOA, TDOA등이 있습니다.
AOA는 기지국에서 단말기로 들어오는 전파의 도래각을 측정하는 방법입니다.
전직 포병출신이셨던 분들은 후방교회법이랑 비슷하다고 이해하시면 되겠습니다.
이 방법은 특별히 설계된 안테나 및 장비가 필요하기 때문에 상용화가 힘듭니다.
TOA는 단말기가 1개의 기준 기지국을 기준으로 나머지 2개 기지국으로 부터 수신한 신호의 도달 시간을 이용한 방법입니다. 하지만 이러한 방식은 단말기와 기지국의 시간 동기화가 정확히 이루어지고 있다는 가정하에서만 사용가능합니다.
TDOA는 TOA와 거의 유사한 방법으로 단말기가 인근 기지국들로부터 수신하는 신호의 도달 시간의 차이만을 이용합니다. 따라서 기준 기지국이나 동기화된 기준 시간이 필요 없습니다. 현 GPS 방식에서 위성의 역할을 기지국이나 AP가 대신하는 방법입니다. 가장 현실적인 대안입니다만.. 이 또한 다중경로로 인한 오차(시설물이나 환경에 의해 반사되어 전파가 빙-- 돌아서 오는 현상)가 우려되기 때문에 실내환경에서는 적합치 못합니다.
갑자기 괜히 삘 받아서 비GPS 위치추적 솔루션을 정리해 버렸습니다.
말씀하신내용이 잘못알고 계신것 같아서 말씀드립니다.
현재 안드로이드 단말을 기준으로 WIFI로 google이 제공하는 SUPL 서버에 접속하여 A-GPS동작이 가능합니다. 특정 사업자 SUPL서버들은 자사의 IP address가 아닌경우 접속을 차단하여 WIFI로 동작이 불가능한 경우들도 있습니다.
말씀하신 내용은 아마 홀리바다님이 잘못 알고 계신듯 합니다.
제가 현수준이라고 말씀드린 부분도 있기도 한데요..WiFi로 SUPL이 되는 것은 현재 기술은 있는 것으로 알지만, 이를 적용된 모델은 없는 것으로 알고 있습니다. 만약 WiFi로 SUPL이 된다면 SUPL 프로세스에 필요한 Cell ID 정보 등은 어떻게 처리하는지 저도 궁금합니다. 님 말씀대로라면 현재 모뎀칩이 없는 타블렛 WiFi 모델에 GPS모듈이 탑재가 되 있으면 A-GPS가 된다는 말씀인데요..시중에 WiFi를 이용하여 SUPL을 사용할 수 있는 모델이 있으면 저도 무척 궁금한 사항인데 알려주셨으면 합니다. 그리고 사업자 SUPL 서버를 쓰는 경우는 당연히 사업자 망을 이용할테니 WiFi로 접근하는 것을 막는 것은 당연한 수순이겠죠..
즉, 글로나스가 지원된다 하더라도 글로나스 위성이 잡힌건 단 하나(66번 위성). 즉, 글로나스 자체만으로는 위치 정확도가 비약적으로 향상되지 않는다는 뜻이기도 합니다.
일단 안드로이드 단말기의 gps정보와 그 인근 ap의 정보를 기반으로 데이터를 만들고
그 데이터를 기반으로 다시 위치를 계산한다는 말씀인건가요?
https://play.google.com/store/apps/details?id=com.chartcross.gpstest
너무도 뜨거운 반응이라 조금 당황스럽네요. ^^
역시나 클리앙에는 고수님들이 많으신 것 같습니다.
많은 분들께서 정말 좋은 댓글 달아주셨고요.
제가 잘못 이해했거나 잘못 적은 부분들도 꼼꼼히 지적해주셨네요.
감사합니다. 저도 더 많이 배워갑니다.
지적해주신 부분들은 본문에 수정하였다는 표시를 하고 수정하도록 하겠습니다~!!!
그리고 GPS TEST 라는 앱이라고 본문에서 언급했더니,
GPS를 TEST 하는 앱으로 많이들 착각하신 것 같습니다.
army님 말씀처럼, 앱 이름이 GPS TEST 입니다. ^^
네비게이션 어플(U+NAVI, 김기사 등)은 정확하나 구글맵, 다음지도, 네이버 지도등은 오차가 큽니다.
한참 후 정상으로 돌아오나 여기저기 튀어다니네요.
이런 경우 어디가 이상일까요...
구글래티튜드를 사용중인데 아이폰 4S 일때는 정확한게 좋았는데 옵뷰 쓰고서는 여기저기 엄청 튀어다니네요.