 |
 |
 |
|
Maxim >
설계자 라이브러리 >
애플리케이션 노트
>
무선, RF 및 케이블
| |
핵심 단어: GPS, Global Positioning System, Galileo, receiver, LNA, mixer, ADC, RF front end, low noise amplifier, USB dongle, PCI Express , software baseband, soft baseband, downconvert, base band, L1, C/A code,
|
|
관련 소자
|
|
APP 4237: Jun 24, 2008
|
다운로드, PDF 형식 (78kB)
|
|
 |

| 애플리케이션 노트 4237
|
랩탑 PC로 소프트 베이스밴드 프로세싱이 가능한 범용 GPS 수신기 |
|
저자: David Weber, Strategic Applications Engineer
|
|
Roger Bremer, Strategic Applications Engineer
|
개요: 이 애플리케이션 노트에서는 신호 수집 및 추적에 대한 논의, 수신기에서 비트 동기화의 필요성 등을 포함하여 L1 대역 일반 GPS 애플리케이션용 소프트웨어 기반 수신기의 기본 원리를 살펴보고, MAX2769 범용 GPS 수신기로 USB 동글을 통해 랩탑 PC에 GPS 기능을 추가하는 저가의 방법에 대해 설명하였다.
유사한 글이 Maxim Engineering Journal, vol. 7(PDF, 944kB)에 게재되었다.
개요
통신 및 네비게이션 엔지니어들이 위성 위치 확인 시스템(GPS)의 소프트웨어 기술 사용에 대해 점점 더 많은 흥미를 느끼고 있다.1,2 초밀도 집적 회로(VLSI: very-large-scale integration)가 개발된 덕분에 강력한 CPU와 DSP가 소프트웨어를 사용하여 GPS 신호를 실시간으로 검출하여 디코딩할 수 있게 되었다. 또한 소프트웨어 기반 GPS 수신기는 하드웨어의 재설계 없이 새로운 애플리케이션에 사용할 수 있도록 설정 변경이나 IF 주파수 선택, 향후 업그레이드를 하는 데 있어 상당한 유연성을 제공한다.
MAX2769 GPS 수신기 RF 프런트 엔드를 통해 단순한 USB 동글이나 PCI Express® (PCIe®) Mini Card 포맷을 사용하여 저비용 GPS 기능을 랩탑 PC에 추가할 수 있게 되었다. MAX2769가 복구된 원시 데이터를 PC 호스트로 전송하면 PC 호스트가 소프트웨어로 베이스밴드 디코딩을 실행하여 일반적으로 독립 GPS 시스템에 필요한 베이스밴드 ASIC의 비용을 없애준다. 간단히 말해 설계자들은 MAX2769라는 단일 칩을 통해 GPS 및 Galileo 신호를 처리할 수 있는 어댑터를 구현할 수 있게 된 것이다.
이 글에서는 GPS 시스템의 동작을 간략히 살펴보고 Maxim의 소프트웨어 기반 GPS 수신기 솔루션에 대해 자세히 설명한다.
GPS 기본 사항
GPS 시스템은 24개의 우주 위성이나 우주선(각각 고유한 PRN 코드로 식별), 지상 관제국, 사용자 장비(수신기)로 구성된다. 민간 GPS와 Galileo 애플리케이션은 위성이 1.57542GHz에 위치하는 L1 대역으로 통신한다.3 GPS 수신기는 신뢰성있는 위치를 알아내기 위해 네 개 이상의 위성을 잡아야 한다. 신호 획득 및 트래킹은 수신기 위치와 시간에 따라 서로 다르기 때문에 매우 복잡하다.

그림 1.민간 GPS 신호용 신호 발생 블록은 신호를 전송할 때 확산 스펙트럼 방식을 사용한다.
GPS 신호
GPS 시스템은 실제로 간단한 확산 스펙트럼 통신 시스템이다.&sup4; 그림 1은 민간 애플리케이션용 신호 발생 블록을 보여준다. 첫째, 50bps 네비게이션 메시지가 20회 반복되어 1000bps 비트 스트림이 생성된다. 이후 이 반복된 신호는 1023개의 칩이 있는 고유한 coarse/acquisition (C/A) 코드에 의해 확산된다. 칩은 의사 랜덤 잡음 (PRN: pseudorandom-noise) 코드가 적용되는 비율이다. 그 결과 1.023Mcps의 베이스밴드 신호가 나온다. 따라서 GPS 시스템의 43dB 프로세싱 이득 (G) 때문에 열잡음 수준보다 훨씬 낮은 신호를 분해할 수 있는 것이다.
각 위성에는 Gold 코드라고도 하는 고유한 C/A 코드가 할당된다.5 Gold 코드는 자동 및 교차 상관 특성이 탁월하기 때문에 WCDMA와 cdma2000® 같은 CDMA 통신 시스템에 널리 사용된다. 베이스밴드 신호는 위상 편이 방식(BPSK: binary phase-shift keying)으로 변조되어 전송할 L1 대역으로 업컨버팅된다.
신호 획득 방법 분석
GPS는 CDMA 통신 시스템이기 때문에 이 수신기는 데이터 복조에 반드시 필요한 PRN 코드를 동기화해야 한다. 코드 동기화는 일반적으로 두 가지 단계인데, 코스 코드(coarse-code) 정렬을 위한 코드 획득(code acquisition)과 미세 정렬을 위한 코드 위상 트래킹이다.6 좀더 분명하게 말하자면 GPS 수신기는 특정 위성에 대한 가시도가 있는지 여부를 먼저 결정해야 한다. 이미 아는 바와 같이 각 위성은 고유한 C/A 코드로 구별된다. 위성이 가시화되면 획득을 통해 신호의 주파수와 코드 위상이 결정되고 그 결과 해당 복조 파라미터가 정해진다. 수신된 신호 주파수는 도플러 효과로 인해 다양하다. 이 때문에 수신기와 관련된 위성의 속도에 따라 주파수 공칭값이 5kHz에서 10kHz까지 벗어난다.7
수신기의 GPS 신호는 먼저 동상 (in-phase) 및 쿼드러처 (quadrature) (I와 Q) 성분으로 다운컨버팅된다. I/Q 상관기 쌍이 I와 Q 베이스밴드 신호와 로컬에서 생성된 PRN 순서를 서로 관련시킨다. 1비트의 시간 동안 통합한 후에 I-Q 상관기 출력을 계산하여 출력 결정 변수를 산출한다.
결정 변수가 특정 임계값을 초과할 때마다 시스템은 해당 획득에 성공했다고 간주하여 트래킹 모드로 진행한다. 그렇지 않으면, 로컬에서 생성된 PRN 순서의 상대 위상과 발진기 주파수가 조절되어 결정 변수가 업데이트되고, 위의 과정이 반복된다.
이 직렬 검색 방식은 논리 구조가 단순하기 때문에 ASIC에 구현하는 것은 가능하나 검색 공간이 너무 커서 소프트웨어 구현은 실용적이지 못하다. 이 시스템이 500Hz 반송파 주파수 오프셋을 견디고 도플러 주파수가 10kHz라고 가정할 때 소프트웨어 구현을 위한 검색 공간은 대략 2 × (10,000/500) × 1023 = 40,920. 분명히 직렬 검색 획득은 소프트웨어에서는 어려울 것이다.
소프트웨어로 구현하는 좀더 간편한 획득 방식은 주파수 영역, 병렬 코드 위상 획득이다. 이 방법은 도플러 주파수와 코드 위상 검색을 하나의 검색으로 결합하기 때문에 PRN 코드의 고속 퓨리에 변환 (FFT) 이후 모든 코드 위상 정보가 주파수 영역에 반영된다. 그 후에는 도플러 주파수 오프셋에서 이 공간을 검색하여 빠르고 효과적으로 소프트웨어 검색을 구현하면 된다.
이 시스템은 먼저 로컬에서 생성된 사인 및 코사인 반송파(각각 I와 Q 신호 성분)로 입력 신호를 최초로 증가시켜 이 검색을 구현한다. 그렇게 하면 I와 Q 성분은 FFT 블록에서 복소 입력(complex input)으로 결합된다. 이 퓨리에 변환의 결과는 PRN 코드의 FFT 변환의 켤레로 증가된다(PRN 발생기가 제로 코드 위상의 코드를 발생시킨다). 실제로 PRN 코드의 FFT 동작과 발생을 표로 만들어 계산의 복잡도를 낮출 수 있다.
끝으로, 입력 주파수 및 반송파 주파수 사이의 교정을 나타내는 입력 신호와 로컬 코드의 곱은 제곱한 출력이 다시 결정 논리로 들어가는 역수 퓨리에 변환에 적용된다. FFT 기반 주파수 영역은 계산 리소스의 낮은 소비 장치로 판명되었다. 앞에서 언급한 예는 획득 복잡도가 대략 20,000/500 = 40 FFT 동작이다.
직렬 검색 방법으로는 편리한 ASIC 구현에 필요한 간단한 논리와 제어 아키텍처가 있다. 그러나 이 방법에 필요한 검색 공간이 방대하기 때문에 소프트웨어 알고리즘이 복잡해진다. 따라서 직렬 검색 방법은 소프트웨어 GPS 수신기에 선택하기에는 적합하지 않다. 이와 반대로 병렬 코드 획득 방법은 복잡도가 낮아 소프트웨어 구현에 이상적이다. 그러나 그 논리 아키텍처가 직렬 검색 방법보다 훨씬 더 복잡해 ASIC에 구현하기가 어렵다.
T트래킹으로 정렬 정리
획득을 통해 GPS 신호의 주파수 및 코드 위상 파라미터의 개략적인 정렬이 정해진다. 따라서 트래킹의 목적은 이 정렬을 정리하여 시스템이 정확한 코드 위상과 주파수 정보를 가지고 데이터를 복조할 수 있게 하는 것이다. 트래킹에는 코드 위상 트래킹과 반송파 주파수 트래킹이 있다.
코드 트래킹은 그림 2에 나오는 지연 동기 루프(DLL)로 달성된다. DLL 회로는 입력 신호를 PRN 코드(±0.5 칩으로 적시에 위치)의 로컬 리플리카 세 개로 곱한다. 이 리플리카는 입력 신호와 관련하여 조기, 즉시 및 늦은 도착을 나타낸다. 통합 후에 각 신호는 입력 신호와 로컬 리플리카 사이의 상관 관계를 나타낸다. 그런 다음 상관 관계 값이 가장 높은 것이 선택되어 유지된다(그림 3).

그림 2. 정렬을 정리하여 정확한 코드 위상과 주파수 정보를 가지고 데이터를 더 잘 복조하기 위해 코드 트래킹 위상에 지연 동기 루프(delay-locked loop)가 사용된다.

그림 3. DLL 회로는 입력 신호를 PRN 코드(±0.5 칩으로 적시에 위치)의 로컬 리플리카 세 개로 곱한다. 이것은 입력 신호와 관련하여 조기, 즉시 및 늦은 도착을 나타낸다. 그런 다음 상관 관계 값이 가장 높은 것이 선택되어 유지된다.
반송파 주파수 트래킹은 위상 동기 루프(PLL)나 코스타스 루프(Costas loop)로 실시된다.8 반송파 트래킹의 목적은 로컬에서 생성된 주파수를 입력 신호의 정확한 주파수에 맞게 조정하는 것이다.
획득과 트래킹으로 최초 동기화가 정해지면 시스템이 네비게이션 비트를 디코딩할 수 있다. 데이터 복조는 1.023Mcps 입력 신호를 1000bps 비트 스트림으로 확산하여 시작한다. 그런 다음 비트 동기화가 시작되어 1000bps 스트림에서 50bps 정보가 복구된다. 비트 동기화를 위해서는 먼저 비트의 시작을 적시에 확인해야 한다. 이것은 비트의 시작을 나타내는 제로 크로싱 에지(제로 볼트에서)를 찾아 달성된다. 이 에지가 밝혀지면 네비게이션 데이터 메시지 (50비트) 시간이 20ms라는 것을 알 수 있어서 1000bps 입력 스트림을 20ms 간격으로 분할할 수 있다. 끝으로, 20ms 간격의 비트 샘플을 합산하여 평균을 내어 네비게이션 데이터를 디코딩한다..
소프트웨어 기반 GPS 수신기
전통적인 GPS 수신기는 ASIC에서 획득, 트래킹 및 비트 동기화 작업을 구현하는 반면 소프트웨어 기반 GPS 수신기는 이러한 기능을 소프트웨어에 구현하여 유연성이 더 크다. 하드웨어 아키텍처를 단순화하면 소프트웨어로 수신기의 크기를 줄이고, 비용을 낮추며, 전력 효율을 높일 수 있다. 소프트웨어 코드는 C/C++, MATLAB® 및 기타 언어로 쓸 수 있으며 모든 운영 체제(내장 OS, PC, Linux, DSP 플랫폼)에서 사용가능하다. 따라서 소프트웨어 GPS 수신기는 이동 핸드셋 및 PDA를 비롯한 유사한 애플리케이션에 최고의 유연성을 제공한다.
랩탑 컴퓨터 설계자는 USB 포트가 내장된 랩탑에서 동작하는 USB 동글을 설계할 수 있다. PCIe Mini Card 커넥터가 있는 신형 랩탑은 RF 프런트 엔드를 PCIe Mini Card에 담아 이것을 PC에 넣을 수 있다(그림 4a, 그림 4b). PCIe Mini Card 인터페이스는 USB 포트를 내장하고 있어 프런트 엔드 어댑터 설계가 USB 및 PCIe Mini Card 모두 비슷하다. 주요 차이점은 PCIe 지원을 위한 전력 관리 로직과 DC 전압이 다르다는 점이다(PCIe는 3.3V, 외부 USB 포트는 5V).

그림 4. USB 동글(a)과 PCIe Mini Card(b)를 위한 일반적인 어댑터 구성은 두 옵션 모두 설계가 단순하고, 설계 비용이 낮다.
그림 5b는 이 솔루션이 얼마나 간단할 수 있는지를 보여주는 USB 동글의 블록 다이어그램이다. 이 회로는 MAX2769 범용 GPS 수신기, 카운터 및 USB 인터페이스 컨트롤러를 사용하여 신호를 캡처한 후, 이 신호를 디지털로 변환하여 호스트 PC로 전송한다. 그러면 소프트웨어가 모든 베이스밴드 기능을 수행하여 PC 화면에 위치를 표시한다. 이에 따라 노트북 PC는 네비게이션을 비롯한 풍부한 위치 기반 서비스를 지원할 수 있는 강력한 GPS 장치가 된다.
GPS 프런트 엔드는 디지털화된 IF 데이터를 업계 표준 USB 2.0 인터페이스를 통해 노트북으로 보낸다. 이 소프트웨어 베이스밴드 프로그램은 입력을 사용하여 위치 픽스를 계산한 후에 트래킹을 실시한다. (가능한 소프트웨어 소스에는 Geotate가 있다. 자세한 내용은 www.geotate.com에서 확인할 수 있다.
일반 인터페이스를 제공하기 위해 이 소프트웨어는 기존 네비게이션과 위치 애플리케이션에 연결할 수 있는 가상 COM 포트를 생성할 수 있다. 대부분의 GPS 소프트웨어 패키지 인터페이스는 NMEA 0183을 준수하며 일반적으로 Microsoft의 Windows® XP와 Windows Vista® 운영 체제에서 실행된다. 그리고 이 소프트웨어는 업계 표준 프로토콜로 제공되든 독점적 고객 인터페이스를 통해 제공되든 이용 가능한 모든 지원 데이터를 처리할 수 있어야 한다.
현재 대부분의 랩탑 컴퓨터의 CPU 내부에는 소프트웨어 GPS 수신기의 실시간 디코딩 요구를 충족하는 성능이 풍부하다. 1GHz Pentium® M 시스템에서 트래킹 시 평균 프로세서 부하가 약 6%이고, 2.18GHz Core™ Duo 프로세서에서는 업데이트 진행 시 매초마다 프로세서 부하가 일반적으로 5% 이하일 것이다. 알고리즘이 더 개발되면 CPU 사용량을 2% 이하로 줄일 수 있다.

그림 5. 소프트웨어 GPS 수신기에서는 캡처된 RF 신호를 증폭시켜, 주파수로 혼합한 후, 디지털화해야 한다(a). 실제 수신기에서는 저잡음 증폭기가 RF 신호를 부스트하면 MAX2769가 이것을 혼합하여 신호를 디지털화한다. 끝으로, 데이터가 카운터 및 USB 인터페이스 컨트롤러를 통해 이동하고 호스트 PC로 전송을 위해 USB 프로토콜로 삽입된다(b).
회로 동작과 성능
소프트웨어 기반 GPS 수신기의 RF 프런트 엔드는 저잡음 증폭기(LNA)로 약한 입력 신호를 증폭한 후 이 신호를 약 4MHz의 낮은 중간 주파수(IF)로 다운 컨버팅한다(그림 5a). 한두 개의 믹서를 사용하여 입력 RF 신호를 로컬 발진기 신호와 섞으면 다운컨버팅이 이루어진다. 그 결과로 생기는 아날로그 IF 신호는 아날로그-디지털 컨버터(ADC)에 의해 디지털 IF 신호로 변환된다.
MAX2769는 이 모든 기능(LNA, 믹서, ADC)이 통합되어 있어서 애플리케이션 개발 시간을 크게 단축시킬 수 있다. 이 소자는 두 가지 LNA를 선택할 수 있다. 하나는 매우 낮은 0.9dB의 잡음 지수, 19dB의 이득, 수동 안테나에 사용되는 -1dBm IP3가 특징이며, 또 다른 하나는 이득과 전력 소비가 약간 더 낮고 잡음 지수가 1.5dB이고, 능동 안테나에 사용되는 약간 더 높은 IP3가 특징이다. 2.8V에서 전류 소비량이 최소이며, 그 범위는 구성에 따라 13mA에서 18mA이다.
증폭기 다음의 RF에 외부 필터링을 위한 장치가 있다. 집적된 20비트, 시그마-델타, 프랙셔널 N 주파수 합성기와 15비트 정수 분배기를 사용하여 이 신호를 직접 다운컨버팅하면 제로와 12MHz 사이에서 원하는 IF를 얻을 수 있다. IF 필터링의 선택 범위가 광범위하기 때문에 Galileo 같은 다양한 방식을 수용할 수 있다.
RF 입력에서 IF 출력까지의 전체 이득을 60dB에서 115dB 범위로 조정하거나 자동으로 제어할 수 있다. 출력은 아날로그, CMOS 또는 제한된 차동으로 선택할 수 있는데, 내부 ADC에는 1비트에서 3비트까지 선택할 수 있는 출력이 있다. 내장된 기준 발진기를 이용하여 크리스털이나 온도 보상 크리스털 발진기 (TCXO) 동작이 가능하며 8MHz에서 44MHz 사이의 입력 기준 주파수를 사용할 수 있다.
Cypress Semiconductor USB 컨트롤러가 내장된 MAX2769를 기반으로 USB 동글에 맞는 간단한 기준 설계가 가능하다. 이것은 24MHz 기준으로 동작된다(그림 5b). 이 동글은 단일 MAX8510 LDO를 사용하여 DC 전원을 조절한다. 3-wire (SPI™) 디지털 버스를 사용하여 MAX2769의 레지스터를 프로그래밍한다. 이 시스템은 SPI 제어 없이 여덟 개의 하드 와이어 사전 구성 상태 중 하나에서 동작할 수 있다. 칩에는 USB를 준수할 수 있도록 능동 안테나를 바이어싱하여 셧다운 모드에서 안테나 전원을 끄는 회로도 있다. MAX2769는 안테나 전원에 전류 인출 유무를 검출하여 LNA1과 LNA2 사이를 자동으로 전환할 수 있다.
이 유연성은 통합된 수동 안테나 대신 좀더 민감한 외부 능동 안테나의 삽입을 지원하는 애플리케이션에 유용하다. 설계자는 외부 안테나 포트는 LNA2로, 내부 포트는 LNA1로 연결되도록 배선하면 된다. 외부 안테나를 삽입할 때 MAX2769가 전류 인출을 감지하여 LNA1에서 LNA2로 자동으로 전환한다.
MAX2769 다중 대역 GPS 수신기는 랩탑, 이동 핸드셋, PDA 및 자동차 애플리케이션용으로 고성능의 초소형 솔루션을 제공한다. 상용화된 GPS 소프트웨어 패키지를 사용하여 최대 115dB의 총 공칭 전압 이득과 1.4dB의 모듈 잡음 지수, -143dBm 획득과 -154dBm 트래킹 감도를 제공한다.
결론
소프트웨어 GPS 기술은 다양한 애플리케이션에 탁월한 유연성과 단순성을 제공한다. 이를 위해 MAX2769 GPS 수신기 RF 프런트 엔드는 전통적인 하드웨어 구현뿐만 아니라 소프트웨어 GPS 수신기의 주파수를 계획할 때 유연성을 제공한다. 모든 솔루션이 각각의 장점과 단점이 있듯이, 소프트웨어 GPS 수신기는 고성능 프로세서와 적당한 메모리 공간이 필요하다. 그러나 소프트웨어를 개발하면서 클로킹 및 데이터 업데이트 속도를 적절하게 선택하면 메모리 사용량을 최소화할 수 있다.
참고 자료
- Kaplan, E., Understanding GPS: Principles and Applications, 2nd ed. (Norwood, MA: Artech House Publishers, 1996).
- Bao-Yen Tsui, J., Fundamentals of Global Positioning System Receivers: A Software
Approach, 2nd ed. (New York: John Wiley & Sons, Inc., 2004).
- 네비게이션 메시지나 위치 계산의 디코딩에대해서는 다음 자료 참고 바람: Bao-Yen Tsui, Fundamentals of Global Positioning System Receivers.
- Viterbi, A., CDMA: Principles of Spread Spectrum Communications (Reading, MA: Addison Wesley Longman Publishing Co., Inc., 1995).
- Gold, R., "Co-optimal binary sequences for spread spectrum multiplexing," IEEE
Transactions on Information Theory, Vol. 13:4 (October 1967). pp. 619–621.
- Ziemer, R.E., and Peterson, R.L., Digital Communications and Spread Spectrum
Systems (New York: Macmillan Publishing Company, 1985).
- Proakis, J. G., Digital Communications, 4th ed. (New York: McGraw-Hill, 2000).
- Ibid.
유사한 글이 Microwaves & RF 2006년 12월호에 게재되었다.
cdma2000은 Telecommunications Industry Association의 등록상표이다.
Core는 Intel Corp.의 상표이다.
MATLAB는 The MathWorks, Inc.의 등록상표이다.
PCI Express는 PCI-SIG Corp.의 등록상표이다.
PCIe는 PCI-SIG Corp.의 등록상표이다.
Pentium은 Intel Corporation.의 등록상표이다.
SPI는 Motorola, Inc.의 상표이다.
Windows Vista는 Microsoft Corporation의 상표이다.
Windows는 Microsoft Corporation의 등록상표이다.
의견을 보내주세요! 위 내용이 도움이 되셨나요? 여러분의 의견을 기다립니다 — Maxim은 보내주신 정정이나 제안사항을 반영하고 있습니다.
이 페이지를 평가하고 의견을 보내주십시오.
자동 업데이트
관심있는 분야의 애플리케이션 노트가 나올 때 자동으로 업데이트 받고 싶으세요? 그렇다면 EE-Mail™을 신청하십시오.
| 추가 정보 | |
APP 4237: Jun 24, 2008
|
|
|
|
다운로드, PDF 형식 (78kB)
AN4237,
AN 4237,
APP4237,
Appnote4237,
Appnote 4237
|
|
|
 |
|
 |