2012. 8. 27. 09:30

본문스크랩 WM에서의 GPS 구동 원리(스마트 폰만의 위치 추적 처리) - 2탄입니다. 비공개 GPS

2011/01/04 16:53 수정 삭제

복사 http://blog.naver.com/mahamaha7777/150100161900

출처 카페 > 스마트폰카페[갤럭시S/아이폰.. | jinhwkim00
원문 http://cafe.naver.com/bjphone/623307

어제 올린글(http://cafe.naver.com/bjphone/620278)이 도움이 되셨다는 분이 많아 하나 더 적어볼렵니다.

 

티옴니아 쓰시는 분들중 전용요금제를 쓰시는 분들은 TMap이 무료라 많이들 사용하시는거 같은데 TMap 사용시에는 GPS잡는 속도가 많이 다르다는 글이 많이 올라오더군요.(전 쇼옴니아라 체험해보지는 못했습니다.)

 

TMap에서는 보통 다른 S/W가 사용하는 GPS와는 다른 방식으로 처리하는 것으로 알고있습니다.

GPS + 현 위치의 기지국 정보를 이용하는 겁니다.

 

전번 글에 XTRA가 퀄컴의 Assisted GPS 기술이라고 말씀드렸는데요, 사실 XTRA는 퀄컴의 GPS관련 기술중 가장 막내(2007년)입니다. XTRA는 원래 Offline 상태에서 단독 사용을 고려해 둔 기술이지요. 이건 최근의 스마트 폰 추세를 반영한게 아닌가 싶습니다.

 

퀄컴의 GPS기술은 gpsOne이라는 상표명을 가지고 있는데 여기에는 MS-assited, MS-based, MS-assited, MS-assited/Hybrid, XTRA Assistance가 그겁니다. (여기서 MS는 마이크로소프트가 아니고 Mobile Station - 기지국을 뜻합니다.)

 

MS-assited 방식은 단말기가 현재 연결된 기지국ID와 현재 수신되고 있는 GPS 신호를 서버에 보냅니다. 서버는 현재의 해당 기지국 근처의 GPS위성들의 정확한 위치와 정확한 시각 등을 항상 유지하고 있으므로 금방 단말기의 위치를 계산할 수 있습니다. 그런 다음 이 좌표를 다시 단말기에 통신으로 보내줍니다. 단 이 방식은 서버와 계속 통신하지 않으면 현 위치를 계속해서 알아낼 수 없습니다. 하지만 단말에는 위치를 계산하기위한 부분이 필요하지 않고 GPS 전파를 수신하는 부분과 전화 모듈만 있으면(단말기의 원가를 최소로 하면서...) 원하는 시점에 위치를 아주 빠르게 파악할 수 있습니다. 친구찾기 등의 서비스와 같이 추적이 필요없이 현재의 위치만 필요로 한 경우 아주 Good입니다.

 

MS-based 방식은 저번글의 XTRA와 비슷한 방식입니다. 현시점의 전체 위성의 궤도 정보를 받아 이를 이용하는 XTRA와 달리 서버에 기지국의 정보를 보내면 서버는 기지국의 위치로 단말의 대략의 위치를 알수 있으므로 그 위치를 기반으로해서 수신이될 만한 위성의 위치 및 정보만을 보내줍니다. XTRA에 비해 훨씬 적지만 더 정확한 정보지요. 이걸 단말이 GPS장치에 전달해주면 GPS는 이 정보를 기반으로 위치를 계산합니다. 예전부터 폰기반의 네비게이션이 이 방식을 이용했고 TMap도 이걸이용하지 않나 싶습니다.

 

MS-assited/Hybrid 방식은 GPS 신호가 없을때 기지국 정보들 만을 가지고 위치를 파악하는 방식입니다. 사실 도심지의 경우 한 위치에서 1개의 기지국의 전파만이 수신되는 경우는 극히 드뭅니다. 하지만 일반적으로 가장 센 전파강도를 가진 기지국에 자신을 등록하고 사용합니다. 위치 계산때는 등록되지 않은 다른 기지국의 정보를 추가적으로 서버에 보냅니다.(기지국ID/전파 강도 등) 그러면 서버는 각 기지국의 정확한 위치와 전파 강도(이걸로 기지국에서 얼마나 떨어졌나를 유추할 수 있습니다) 등을 고려(삼각측량...)하여 단말기의 대략적인 위치를 계산해 낸 후 단말에 알려주는 거지요. 이건 실내에 있을때와 같이 GPS신호를 전혀 수신할 수 없을때 효과적인 방법입니다.

 

퀄컴의 기술을 주로 설명한 가장 큰 이유는 2G까지 우리나라가 CDMA기술을 이용했기 때문입니다. 기지국 정보를 이용하는 위치정보 시스템을 만들기 위해서는 이를 처리 가능한 단말과 관련 서버기술이 필요한데 CDMA특허권을 가지고 있던 퀄컴이 자신의 휴대폰 칩셋의 부가 칩셋으로 gpsOne을 팔면서 해당 시스템까지 울나라 통신사들에게 판거죠. 그래서 우리나라 통신사들은 모두 퀄컴 gpsOne기반의 위치기반시스템을 갖추고 있습니다.

지금은 3G로 넘어오면서 꼭 퀄컴의 칩을 써야할 이유는 없지만, 기존의 CDMA때 구축한 시스템들을 활용하는데는 퀄컴의 칩(gpsOne)들이 필요할껍니다. 또한 우리나라 핸드폰 제작업체(삼성, LG 등)가 가장 잘 아는 칩셋이니 이걸 쓰는게 그다지 손해는 아닐겁니다.

 

이런 기술들을 내가 만드는 어플에 직접 활용할 수 있을까요? 그건 쉽지 않은 듯 합니다. 일단 통신사가 구축한 시스템(서버)에 접속해야 하는 관계로 사용방법이 알려져있지 않습니다. 예전 위피(WIPI - WI-FI가 아닙니다.)시절에도 위치정보를 이용할 수 있는 API는 존재했지만 특별히 허가받은 관련업체와 허가된 어플만이 이 API를 쓸수 있었습니다.

뭐 우리나라가 분단상황이라는 특별한 상황때문에 군사적인 이유로 법률적인 제제도 상당부분 존재합니다.(인정합니다.)

 

사실 아이폰만 없었더라면 그런가부다 하고 대부분의 사람들이 그냥 넘어갔을지도 모릅니다.

 

아이폰...

 

이놈은 제가 설명드린 대부분의 방법을 지가 알아서 그때그때 사용하는 듯 합니다. 거기에 무선랜 AP기반의 위치 추적등 새로운 기술도 포함하고 있다네요... 어플리케이션을 구현할때는 그냥 현재위치 가져다 쓰면 됩니다. GPS를 켜고 뭘하고 이런거 없습니다. OS가 알아서 다해줍니다.

 

솔찍히 부럽습니다. 하지만 좀 기분 나쁜 부분도 있습니다. 어떤원리로 어떻게 위치를 파악하는지 사용자는 고사하고 개발자에게도 안가르쳐줍니다. (그냥 개인적인 관심일 뿐이지만 알고 싶습니다...)

이번에 애플이 위치정보 사업자로 등록 후에야 아이폰이 시판이 가능해진게 기지국 기반의 위치정보 제공과 좀 관계가 있는게아닌가 싶기도 합니다.

 

얘기가 옆으로 많이 샜습니다...

전 IT엔지니어기는 하지만 LBS쪽 전문가는 아니구요, 그냥 개인적으로 좀 관심을 가지고 있는 정도입니다. 최근에 자료 조사 중에 알아낸 내용을 좀 정리해봤습니다만 내용중 틀린 내용이 있을 수도 있을꺼 같구요...

 

어쨌든  GPS와 함께 즐거운 스마트폰 라이프를 즐기세요~~~

 

Posted by hoonihoon