KR20040037125A - 히스토리 상관 데이터를 사용하여 신호 상관을 수행하기위한 방법 및 장치 - Google Patents

히스토리 상관 데이터를 사용하여 신호 상관을 수행하기위한 방법 및 장치 Download PDF

Info

Publication number
KR20040037125A
KR20040037125A KR10-2004-7004364A KR20047004364A KR20040037125A KR 20040037125 A KR20040037125 A KR 20040037125A KR 20047004364 A KR20047004364 A KR 20047004364A KR 20040037125 A KR20040037125 A KR 20040037125A
Authority
KR
South Korea
Prior art keywords
signal
receiver
correlation
frequency
signal level
Prior art date
Application number
KR10-2004-7004364A
Other languages
English (en)
Other versions
KR100937130B1 (ko
Inventor
찰스 아브라함
프랑크 반 디겔렌
Original Assignee
글로벌 로케이트, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 글로벌 로케이트, 인크. filed Critical 글로벌 로케이트, 인크.
Publication of KR20040037125A publication Critical patent/KR20040037125A/ko
Application granted granted Critical
Publication of KR100937130B1 publication Critical patent/KR100937130B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/29Acquisition or tracking or demodulation of signals transmitted by the system carrier including Doppler, related
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/23Testing, monitoring, correcting or calibrating of receiver elements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/70751Synchronisation aspects with code phase acquisition using partial detection
    • H04B1/70752Partial correlation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/7077Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/707Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
    • H04B2201/70715Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation with application-specific features

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

본 발명은 처리되지 않은 신호 샘플들을 저장하지 않고 실시간으로 컨벌루션 결과를 발생시킴으로써 입력된 GPS 신호와 기준 코드간의 컨벌루션(109)을 계산하기 위한 방법 및 장치에 관한 것이다. 장치는 전체 주기를 처리하기 위한 크기의 벡터 곱셈기와 동일한 결과를 달성하기 위해 고속으로 동작하는 벡터 곱셈기(402a, 402b)를 포함한다. 또한, 히스토리 상관 데이터(113)는 주파수 및 타이밍 에러를 보정하기 위해 사용된다.

Description

히스토리 상관 데이터를 사용하여 신호 상관을 수행하기 위한 방법 및 장치{METHOD AND APPARATUS FOR PERFORMING SIGNAL CORRELATION USING HISTORICAL CORRELATION DATA}
위성 위치측정 시스템(GPS) 신호를 측정하는 프로세스는 공지된 의사-랜덤 잡음(PRN) 코드를 통해 발신되는 호출의 일련의 상관들을 시도함으로써 잡음의 존재시 GPS 신호에 대하여 탐색하기 위한 절차와 함께 시작한다. 탐색 프로세스는 신호의 정확한 주파수와 도착 시간 지연 모두가 공지되어있지 않기 때문에 오래걸릴 수 있다. 신호를 검색하기 위해, 수신기는 전통적으로 모든 가능한 주파수에서 각각의 지연 가능성을 검사하는 2차원 탐색을 수행해 왔다. 특정 주파수에서 신호와 지연을 검사하기 위해, 수신기는 상기 주파수에 동조되어 발신되는 신호는 도달 시간에 상응하는 양만큼 지연된 공지된 PRN 코드와 함께 상관된다. 만약 신호가전혀 검출되지 않으면, 탐색은 다음 지연 가능성으로 이어지며, 모든 지연 가능섣이 검사된 후에, 다음 주파수 가능성으로 진행한다. 각각의 개별 상관은 충분한 신호 평균이 잡음으로부터 신호를 구별하도록 하기 위해 1 밀리초 또는 그 이상에 걸쳐서 수행된다. 수천개의 주파수와 지연 가능성들이 검사되기 때문에, 전체 동기획득 프로세스는 수십초 걸릴 수 있다.
최근에, 무선 디바이스들에서 GPS 기술의 새로운 애플리케이션들은 예를 들면 긴급 위치측정 기능을 제공하기 위해 셀룰러 전화기들에서 GPS를 사용하고 있다. 상기 애플리케이션들에서, 거의 수초의 신속한 신호 동기획득이 요구된다. 또한, 상기 애플리케이션들은 불완전한 신호 환경과 실내에서 동작하는 GPS 수신기를 필요로 하며, 상기 GPS 신호 레벨들은 상당히 감쇠된다. 감쇠된 신호들을 검출하는 것은 각각의 상관이 비교적 긴 시간 주기에 걸쳐서 수행되어야 함을 필요로 한다. 예를 들어, 종래의 GPS 수신기들에서 사용된 1-10밀리초의 주기과는 반대로 적분이 수초에 걸쳐서 수행될 수 있다. 종래의 수신기들에 의해 사용되는 2차원의 순차적인 탐색 프로세스는 전체적인 탐색 시간이 100 또는 그이상의 인자만큼 증가하기 때문에 상기와 같은 긴 적분 시간에는 실행불가능하다.
탐색 프로세스를 가속화시키기 위해, GPS 설계자는 다수의 두달 시간 가능성들이 동시에 검사될 수 있도록 하기 위해 수신기에 추가의 상관기들을 추가시켰다. 일반적으로, 추가된 각각의 상관기는 개별 코드 믹서와 신호 누산기를 필요로한다. 주어진 감도 레벨에서, 이는 상관기들의 갯수에 비례하여 검색 시간을 감소시킨다. 셀룰러 전화기 애플리케이션들에서 요구되는 감도 및 동기획득 시간을 성취하기 위해, 설계시 수천개의 상관기를 통합해야만 한다. 일반적으로 소비자 클래스 디바이스에 있어서 상기 추가는 매우 복잡하고 비싸다.
예를 들어 1999년 5월 4일에 허여된 미국 특허 5,901,171은 프로세싱 블럭에서 공유되는 단일 시간이 12개의 채널 각각에서 20번까지 동시 상관을 수행하도록 하기 위해 사용하는 3중 멀티플렉싱 기술을 개시한다. 이는 20개의 지연 가능성의 블럭들이 동시에 검사되기 때문에 단일 상관기 설계와 관련하여 성능의 개선을 제공한다. 전체 지연 불확실성에 대한 범위를 통한 전체 신호 탐색은 2046개의 지연들을 연속 검사하여 20개의 상관기들의 블럭을 약 100회 사용해야 한다. 따라서, 만약 동기 획득이 수초 이내에 수행되어야만 한다면, 적분 시간은 수십 밀리초로 제한된다. 이는 실내 GPS 애플리케이션들에 필요한 감도를 달성하기에 불충분하다.
탐색 프로세스를 추가 개선시키기 위해, 다른 GPS 수신기 아키텍처들은 발신되는 신호와 공지된 PRN 코드 사이에 컨벌루션을 발생시킬 수 있는 프로세싱을 포함한다. 이는 전체 C/A 코드 주기(1023개의 칩들)에 걸쳐서 모든 시간 지연 가능성들을 증가시키는 상관기들의 완전한 세트를 제공하며 1997년 9월 2일에 특허된 USP 5,663,734는 소프트웨어 알고리즘들을 사용하는 필수 상관 결과값들을 효율적으로 생성하기 위한 소프트웨어 기술들에 기초한 고속 푸리에 변환(FFT)을 설명한다. 상기 접근은 프로그램가능한 디지털 신호 처리기(DSP)가 소프트웨어 FFT를 구동하기위해 요구되며, 큰 메모리는 처리되지 않은 신호 샘플들을 저장하기 위해 요구되기 때문에 모든 애플리케이션들에 적합하지는 않다. 또한, 상기 접근은 소프트웨어 계산들과 소프트웨어 프로세싱이 오직 신호의 완전한 스냅샷(snapshot)만이 저장된 이후에 시작한다는 사실로 인해 큰 처리 지연을 가질 수 있다. 다수의 애플리케이션들에서, 실시간 처리 해결이 바람직하며, 이는 바람직하게, 확장된 소프트웨어 프로세싱과 관련되지는 않는다. Lyusine et al., "Fast Acqusition by Matched Filter Technique for GPS/GLONASS Receivers", pp 307-315는 1023개의 탭들을 가지는 매칭 필터를 사용하여 실시간에 컨벌루션을 수행하기 위한 하드웨어 접근법들을 설명한다. 매칭 필터는 전체 C/A 코드 주기를 고정시키기에 충분히 큰 쉬프트 레지스터들 뿐만 아니라 신호의 전체 주기와 C/A 코드간의 내적을 생성하는 1023개의 벡터 곱셈기 및 합산기 유니트를 포함한다.
상기 회로는 셀룰러 전화기들과 같은 저가의 소비자 디바이스들의 제한들과 관련하여 복잡하다. P-코드 획득을 위한 군용 수신기들에서 사용되는 것과 같이 다른 매칭 필터 접근법은 또한 큰 벡터 곱셈기들을 통합한다.
따라서, 신호의 전체 주기 및 C/A 코드를 처리할 수 있는 개선된 간단하고 저가인 GPS 처리 블럭이 요구된다. 상기 디바이스는 상대적으로 간단하면서 더 큰 벡터 곱셈기 없이 전체 컨벌루션 또는 다수의 유사 상관들을 생성할 수 있는 하드웨어로부터 구성되어야만 한다.
본 출원은 2001년 5월 18일에 제출된 미국 특허 출원 번호 09/861,086의 연속 출원이며, 본 명세서에서 참조로서 통합된다.
본 발명은 디지털 신호 수신기들에 대한 신호 상관기들에 관한 것이며, 특히 본 발명은 예를 들어, 위성 위치측정 시스템(GPS) 수신기에서 히스토리 상관 데이터를 사용하여 신호 상관을 수행하기 위한 방법 및 장치에 관한 것이다.
도 1은 본 발명을 포함하는 GPS 수신기의 블럭 다이어그램이다.
도 2는 본 발명에 의해 생성되는 파형의 일 예를 도시한다.
도 3은 도 2의 누산된 크기의 파형을 상세히 도시한다.
도 4는 컨벌루션 프로세서와 컨벌루션 결과 처리 회로들의 블럭 다이어그램을 도시한다.
도 5는 본 발명의 동작 방법의 흐름도를 도시한다.
도 6은 종래 방식에서 전체 컨벌루션을 계산하는 간단한 예를 그래픽으로 도시한다.
도 7은 도 6의 전체 컨벌루션이 본 발명의 사용하여 수행되는 방법을 그래픽으로 도시한다.
도 8은 본 발명에서 사용하기에 적합한 코드 검색 장치의 일 실시예를 도시한다.
도 9는 본 발명의 선택적인 실시예에서 사용하기에 적합한 2차원 코드 쉬프트 레지스터의 일 실시예를 도시한다.
도 10은 상관 히스토리 모드에서 동작할 수 있는 상관기의 블럭 다이어그램을 도시한다.
도 11은 RAM 길이 다이어그램을 도시한다.
도 12는 도 10의 상관기에 의해 처리되는 I 및 Q 신호들을 도시한다.
도 13은 상관 히스토리 모드를 사용하여 신호 프로세싱을 수행하기 위한 방법의 흐름도이다.
도 14는 주파수 및 비트 타이밍 추정값들 대 전력 추정값들의 3차원 그래프이다.
도 15는 주파수축에 따라 얻어지는 도 14의 그래프의 크로스 섹션이다.
도 16은 비트 타이밍 축을 따라 얻어지는 도 15의 크로스 섹션이다.
도 17은 상관 히스토리 모드를 사용하는 상관 프로세스의 흐름도이다.
본 발명은 처리되지 않은 신호 샘플들을 저장하지 않고 광범위한 소프트웨어 프로세싱없이 실시간에 컨벌루션 결과를 발생함으로써 입력 신호(예를 들면, GPS 신호)와 의사랜덤 잡음(PRN) 코드 기준간의 전체 컨벌루션을 계산하기 위한 방법및 장치를 제공한다. 상기 장치는 전체 주기를 처리하기 위한 크기의 벡터 곱셈기와 동일한 결과를 수행하도록 고속으로 동작하는 벡터 곱셈기를 포함한다. 본 발명은 셀룰러 전화기와 같은 소비자 클래스 디바이스의 복잡성의 제약에 적합한 집적 회로에서 구현될 수 있다. 설계는 높은 감도를 보정하기 위해 컨벌루션 결과들을 긴 주기 동안 평균화시키는 것을 인에이블하기 위한 필수 로직을 포함한다. 본 발명은 실내에서 수신된 신호들을 포함하는 매우 감쇠된 신호들로부터 위치 결정을 유도할 때 사용하기 위한 신호들을 상관시킬 수 있다.
완전한 장치들은 종래의 GPS 튜너, 데시메이션 회로, 컨벌루션 프로세서, 및 컨벌루션 결과들을 누산하는 RAM 블럭들을 포함한다. 컨벌루션 프로세서는 100MHz에서 높은 클럭 레이트로 동작하며, 작은 회로 블럭을 반복적으로 사용하여 전체 컨벌루션의 경쟁을 계산을 더 높게 인에이블시킨다. 특히, 컨벌루션의 각 포인트는 부분 상관들의 시리즈로 구분되며, 그 각각은 하나의 주기의 단지 일부분을 처리하기 위한 크기인 벡터 곱샘기를 사용하여 발생된다. 장치들은 C/A 코드를 코드 세그먼트들의 겹치지 않는 세트로 분할함으로써 부분 상관들을 형성한다. 각각의 부분 상관은 한번에 하나의 코드 세그먼트만을 사용하며, C/A 코드가 저장되어 단순 검색 테이블을 사용하여 효율적으로 검색되도록 한다.
프로세서는 원하는 샘플 레이트로 신호 스트림을 생성하기 위한 입력 IF 샘플들을 데시메이트함으로써 시작하며, 상기 레이트는 입력되는 신호의 타이밍과 정확히 매칭된다. 만약 원하는 샘플 레이트가 PfO(C/A 칩당 P개의 샘플들)이면, 샘플링 레이트는 정확히 1023×P개의 샘플이 각각의 신호 주기에서 제공되도록 셋팅된다. 프로세서는 P ×K개의 입력 샘플들을 고정시키기 위한 크기의 쉬프트 레지스터들을 통해 신호 클럭 신호들을 상관하며, 상기 K는 1023의 인자이다. 각각의 신호 쉬프트에서, M개의 부분 상관 동작들의 시리즈는 M×K=1023이 되도록 선택되는 M을 사용하여 수행된다. 각각의 부분 상관은 C/A 코드의 길이 K의 세그먼트를 P×K 샘플들로 확장함으로써 생성되는 기준 샘플들의 블럭을 사용하여 신호 쉬프트 레지스터들의 컨텐츠의 내적을 구하는 것으로 이루어진다. 부분 상관 결과들은 메모리 내에 누산된다. 부분 상관 결과들을 누산함으로써, 프로세서는 전체 컨벌루션까지 다수의 상관 포인트들에 대한 전체 상관 결과들을 생성한다.
상관 프로세싱을 증진시키기 위해, 본 발명의 추가 실시예는 상관 히스토리 모드를 사용하는 상관기를 동작시킨다. 상기 실시예에서, RAM은 상관 히스토리를 형성하는 사전설정된 주기에 걸쳐서 상관 결과들을 저장하기 위해 사용된다. 상관 히스토리 모드는 부분 상관 프로세싱을 수행하기 전에 하나 또는 그이상의 위성들에 대한 네비게이션 데이터 비트들의 타이밍과 도플러 주파수 에러를 분석하기 위해 조절될 수 있는 수신기 파라미터들을 추정하기 위해 사용된다. 추정된 수신기 파라미터들은 수신기 오실레이터의 주파수 및/또는 수신기 타이밍 에러를 포함한다.
본 발명은 하기의 도면을 참조로 하여 상세히 설명된다.
도 1은 본 발명을 통합하는 위성 위치측정 시스템(GPS) 수신기(100)의 블럭 다이어그램을 도시한다. 본 발명이 통합되는 기준으로서 GPS 수신기의 사용은 본 발명의 애플리케이션을 형성한다. 신호 상관을 요구하는 다른 기준들은 본 발명을 위해 사용될 수 있다.
신호들(GPS 신호들과 같은)은 안테나(101)에 의해 수신된다. 무선 주파수-중간 주파수 변환기(RF/IF 변환기)(102)는 아날로그-디지털 변환기(A/D)(103)에 의한 디지털화를 위해 신호를 필터링하고, 증폭하며 주파수 쉬프팅한다. 엘리먼트들(101, 102 및 103)은 종래의 GPS 수신기에서 사용되는 엘리먼트들과 실질적으로 유사하다.
A/D(103)의 출력은 디지털 로직에서 구현되는 프로세싱 채널들(1041, 1042, ..., 104n(상기 n은 정수))의 세트와 결합된다. 각각의 프로세싱 채널(104n)은 특정 GPS 위성으로부터의 신호를 처리하기 위해 사용될 수 있다. 특정 채널에서의 신호는 수치제어 오실레이터(NCO)(106)에 의해 구동되는 튜너(105)에 의해 디지털 튜닝된다. 튜너(105)는 두가지 목적들을 만족시킨다. 먼저, RF/IF 변환 이후에남아있는 중간 주파수 성분이 제거된다. 두번째로, 위성의 이동, 사용자의 이동 및 기준 주파수 에러로부터 발생되는 위성 도플러 주파수 쉬프트가 제거된다. 튜너로부터의 출력은 동위상 성분(I)과 직교위상 성분(Q)으로 구선된 베이스밴드 신호이다. 단계(105 및 106)는 실질적으로 종래의 GPS 수신기 설계들에서 사용되는 것과 유사하다.
데시메이션 회로(107)는 단계(105)의 출력을 처리한다. 데시메이션 회로(107)의 출력은 I 및 Q 성분들을 가지는 복소 신호 샘플들의 시리즈이며, 입력 신호의 타이밍을 매칭시키기 위해 정확히 시간이 맞춰진 레이트에서의 출력이다. 본 발명의 일 실시예에서, 데시메이션 동작은 출력 샘플의 주기에 걸쳐서 모든 발신되는 신호 샘플들을 합산하는 간단한 사전 합산기이다. 수치 제어 오실레이터(NCO)(108)샘플링 프로세스의 시간을 맞추기 위해 사용된다. 예를 들어, P=2이면, 코드 NCO(108)는 도플러 쉬프트를 위해 조절되는 2×fs의 주파수를 생성하기 위해 세팅되며, 상기 fs는 fo(GPS 신호의 C/A 코드 칩 레이트)이다. NCO는 펍웨어 명령들로부터의 외부 입력에 기초하여 도플러 쉬프트를 조절한다. 도플러 쉬프트는 각 위성에 대하여 서로 다르기 때문에, 개별 코드 NCO(108) 및 데시메이션 회로(107)는 각 채널(104n)을 위해 요구된다. 코드 NCO(108)가 산발적인 주파수를 발생할 수 있기 때문에 발신되는 샘플 레이트는 fs의 정수곱이 되어야 할 필요가 없음이 유의되어야 한다. 만약 데시메이션 회로(107)가 사전 합산기이면, 합산되는 샘플들의 갯수는 일반적으로 두개의 값에서 토글되어 긴 주기에 걸쳐서 정확한샘플 타이밍이 유지된다. 예를 들면, 만약 발신되는 샌플 레이트가 10MHz이고, 원하는 샘플 레이트가 2.046MHz이면, 사전 합산기는 4 또는 5개의 샘플들을 추가하여 원하는 샘플이 평균 이상으로 유지될 것이다.
데이메에션 회로(107)는 출력에 양자화기(비도시)를 포함하며, 추가 프로세싱 이전에 신호 성분들내의 비트수를 감소시킨다. 본 발명의 일 실시예에서, 2-비트 양자화가 사용된다.
데시메이션 회로(107)로부터의 신호 샘플들은 컨벌루션 프로세서(109)에 접속된다. 컨벌루션 프로세서(109)는 신호 랜덤 액세스 메모리들(RAMs)(110a 및 110b)에 저장되는 결과들을 생성한다. 특히, 상기 RAM들(110a 및 110b)은 입력 신호와 기준 PN 코드(예를 들면, GPS C/A 코드)사이의 전체 컨벌루션 모두 또는 부분을 구성하는 복소 벡터를 포함한다. 컨벌루션 결과는 신호와 기준(PN 코드)사이의 높은 상관에 상응하는 포인트들에서 피크값을 갖는다. 하기에서 논의되는 것과 같이, 다양한 위성 신호들에 대한 상기 피크값들의 상대적인 위치는 궁극적으로 위치측정 정보를 계산하기 위해 사용된다.
컨벌루션 프로세서(109) 및 신호 RAM들(110a 및 110b)은 공칭 1ms 간격으로 반복되는 GPS 신호의 다중 주기들을 발생한다. 예를 들어, 만약 10ms의 신호가 처리되면, RAM(110a 및 110b)내의 값들은 하나의 주기에서 각각 발생된 10개의 상관 결과들의 합이다. 모든 개별 상관값들은 유사한 특성을 갖는데, 이는 데시메이션 동작의 타이밍이 각 주기내에서 동일한 상대적 순간에 샘플들이 얻어지도록 하기 때문이다. 개별 상관값들로부터 유사한 결과들을 누산하는 것은 수신기가 미약한신호들을 검출하는 능력을 증대시킴으로써 신호대 잡음비를 개선시킨다. 상기 프로세싱은 코히어런트 적분이라 참조될 수 있으며, 하기에서 수초까지의 시간 주기에 걸쳐서 평균되는 상관 결과값들을 산촐하기 위해 크기 적분과 결합될 수 있다.
코히어런트 적분이 수행되는 구간의 시간 길이는 보정되지 않은 도플러 쉬프트, GPS 신호 네비게이션 데이터 비트들, 및 수신기(100)의 이동에 의해 야기되는 위상 쉬프트들을 포함하는 몇개의 인자들로 한정된다. 상기 인자들은 느리지만 표면적으로 랜덤한 위상 변위들을 신호들에 제공한다. 수십 밀리초에 걸쳐서 상기 위상 변화들은 코히어런트 적분의 목적을 방해하는 유해 간섭을 야기한다. 그러므로, 긴 평균 구간들을 달성하기 위해, 수신기(100)는 크기 누산의 제 2 단계를 수행한다. 특히, 신호 RAM들(110a 및 110b)에 저장된 신호들은 복소 컨벌루션 벡터의 복소 크기의 값을 생성하는 복소 정규화기(111)에서 주기적으로 출력된다. 복소 크기의 값들은 덧셈기(112)에 의해 누산되어 크기 RAM(113)에 저장된다. 각 시간에 신호의 복소 크기가 계산되어, 신호 RAM(110a 및 110b)들은 또다른 코히어런트 적분이 발생하도록 소거된다. 프로세서는 원하는 크기 누산 횟수가 완료될 때까지 계속된다. 예를 들어, 만약 코히어런트 평균 구간이 10 밀리초이면, 200회의 크기 누산들이 요구되며, 전체 프로세스는 2초동안 동작한다.
컨벌루션 프로세싱 이후에, 크기 RAM(113)은 복소 크기의 컨벌루션 결과값을 포함하며 신호 대 잡음비를 개선하기 위해 통합된 벡터값을 포함한다. 하기에서 논의되는 바와 같이, 상기 벡터는 CPU(114)에 의해 실행되는 소프트웨어 알고리즘들에 의해 추가 처리되어 수신기의 위치를 산출하기 위해 사용되는 의사범위 데이터를 생성한다. 상기 단계들에 대한 CPU 계산 로드는 종래의 GPS 수신기 또는 FFT 기반의 상관기와 비교하여 더 적합한 것임에 유의해야 한다. 상기 구현에서, 계산집약적인 상관 및 적분 작업들은 소프트웨어 프로세싱 이전에 완료된다.
도 2는 도 1의 성분들에 의해 발새오디는 파형들(201I, 201Q, 및 202)을 도시한다. 파형들(201I, 201Q, 및 202)은 신호 강도(축 208) 대 코드 칩(축 210)의 도면이다. 파형들은 코히어런트 적분 및 크기 적분동안 컨벌루션 프로세서(109)의 출력을 도시한다. 명확함을 위해, 단지 9밀리초의 신호 처리 시간만이 도시되며, 각각 3개의 코히어런트 적분값에 기초하는 3개의 크기 누산값으로 구성된다. 예를 들어, P=2이면, 코히어런트 적분당 2046개의 신호 샘플들이 존재한다. 파형들 (201I 및 201Q)은 컨벌루션 프로세서(109)로부터의 출력이며, 상기 201I는 출력의 I-성분이고, 201Q는 Q-성분이다. 2046개의 샘플들의 각 블럭은 구간동안 처리되는 2046개의 신호 샘플들로부터 컨벌루션 프로세서(109)에 의해 실시간으로 발생되는 전체 컨벌루션 결과가 된다. 컨벌루션 결과는 신호의 시간 지연에 상응하는 신호의 피크값(참조 부호들(206I 및 206Q)에 의해 지시되는 것과 같이)의 부근에서 제외되는 잡음을 포함한다. 신호는 모든 주기를 반복하기 때문에, 피크값은 각 2046 샘플들들 재현한다. 최초의 3개의 사이클들에 걸쳐서 상관 결과들은 각 주기으로부터의 해당 지연들에서 값들을 합산함으로써 RAM(110a 및110b)에 누산된다. (예를 들어, 출력 시간 4에서의 값은 출력시간 2050 및 4096에서의 값들과 함께 합산된다.) 상관 피크값은 항상 동일한 지연 오프셋에서 나타나며, 상기 피크값의 크기는 3개의 주기들에 걸쳐서 개략적으로 3배가되는 누산을 통해 증가한다. 잡음의레벨은 또한 증가하지만, 잡음 상관은 주기으로부터 주기으로 상관되지 않기 때문에 3의 제곱근 만큼만 상승한다. 신호대 잡음비는 누산 프로세스를 통해 개선되며, 개략적으로 3 제곱근만큼 증가한다. 파형(201Q)은 직교 채널에서 발생하는 동일한 신호 누산 프로세스를 도시한다.
신호의 4번째 사이클에서 시작해서, 신호 RAM들(110a 및 110b)은 0으로 소거되고 신호 누산 프로세스는 다시 시작한다. 파형(201I 및 201Q)은 9개의 신호 사들을 통해 3번 누산하고 덤핑하는 상관값들을 도시한다.
코히어런트 평균 구간의 종료시 누산된 신호의 크기가 계산되어 크기 RAM(113)으로 합산된다. 크기 RAM(113)내의 신호는 파형(202)와 같이 도시된다. 예를 들어, 파형(202)은 각각의 코히어런트 적분의 종료에 상응하여 3번 업데이팅 한다. 피크값들은 참조 번호들(2121, 2122, 및 2123)에 의해 식별되고 잡음은 참조 번호(214)에 의해 식별된다. 도시되는 것과 같이, 신호 대 잡음비는 각각의 크기 누산을 사용하여 증가하며, 도달 시간에 상응하는 피크값을 식별하기 위한 시스템 능력은 증대된다.
예를 들어, 신호의 복소 위상은 9개의 주기들에 걸쳐서 변화됨에 유의해야 한다. 특히, 신호는 초기에는 I 및 Q 채널들 모두에서 존재하지만, 최종 주기까지 신호가 I 채널에서 강하고 Q 채널에서 거의 결여되어 있도록 순환된다. 전술된 바와 같이, 불완전한 도플러 쉬프트 튜닝 및 다른 효과들이 상기 순환을 야기한다. 다수의 주기들에 걸쳐서 위상은 다수의 사이클들을 통해 순환할 것이며, 그결과 누산시 신호의 소거가 발생한다. 상기 이유로, 본 발명의 수신기는 짧은 구간에 걸쳐서 코히어런트하게 누산하며, 긴 주기의 평균화를 위해 크기(비-코히어런트)누산에 의존한다. 크기 값들은 위상에 독립적이며, 수초에 걸쳐서 성공적으로 적분될 수 있다.
도 3은 누산된 크기 파형(202)을 더 상세히 도시한다. 플롯(300)은 신호의 시간 지연에 상응하는 피크값(2123)의 부근에서 컨벌루션의 크기를 도시한다. 코드칩 축(210)상의 포인트들은 P로 분할되는 C/A 코드 칩 길이와 동일한 간격을 가지며, 상기 P는 신호 샘플링 레이트와 fo의 비, 즉 C/A 코드 칩 레이트이다. 예를 들어, P=2이면, 포인트들은 1/2 칩간격을 가지며, 약 500ns이다. (상기 시간 간격은 150미터의 범위의 차이에 해당한다.) 10 미터 또는 그이상의 의사 범위 측정값을 달성하기 위해, 컨벌루션 결과들은 일반적으로 CPU(114)에서 추가 처리되어 위치 정보를 생성한다. 신규한 보간 기술들은 컨벌루션 프로세스에 의해 제공되는 이산 상관값들을 사용하여 실시간 지연을 추정하도록 사용된다. 일 실시예는 잡음 측정된 데이터에 가장 적합한 신호의 파라미터들을 식별하기 위해 최소 제곱 추정 기술을 사용한다. 이상적인 신호 응답은 신호의 자동상관의 크기이다. 상기 파형은 상승되는 삼각파(302) 형태를 가지도록 용이하게 도시될 수 있다. 삼각파 밑변의 폭(303)은 정확히 2개의 C/A 코드칩들 또는 컨벌루션 결과(P=2의 경우에 대하여)상에서 4개의 포인트들이 된다. 삼각파의 높이(304)는 신호에 상응하지 않는 시간 지연에 대한 컨벌루션시 잡음의 크기이다. 상기 잡음의 크기는 데이터로부터 추정되거나 증폭기 잡음 형태, 케이블 및 필터 손실 및 시스템 온도와 같은 설계 파라미터들에 기초하여 사전계산된다. 삼각파의 피크값(305)과 삼각파의 중심(306)은 신호 크기 및 시간 지연에 상응하여 공지되지 않는다. 최소 제곱법은 상기 두개의 파라미터들을 추정하기 위해 사용될 수 있으며, 따라서 주어진 피크 및 중심을 가지는 삼각파에서의 잡음 데이터 포인트들에 적합하다. 도 4는 컨벌루션 프로세서(109)및 컨벌루션 결과 프로세싱 회로(400))의 상세한 블럭 다이어그램을 도시하며, 특히 작은 블럭의 회로를 반복 사용하여 전체 컨벌루션이 발생되는 방법을 상세히 도시한다. 회로들의 동작은 도 4와 동일한 참조 부호 및 도 4의 프로세서(109)의 동작을 나타내는 도 5의 흐름도를 사용하여 도 6 및 도 7의 간단한 예들과 비교하여 이해될 수 있다.
데시메이션 회로(107)로부터의 신호들은 각각 I 및 Q 성분들을 취급하는 쉬프트 레지스터들(401a 및 401b)에 접속된다. 각각의 쉬프트 레지스터(401a 및 401b)는 P×K의 길이를 가지며, 상기 P는 C/A 코드칩당 원하는 샘플의 갯수이고, K는 설계 파라미터로서 선택된다. K는 1023의 인자로 설명된다. 논의를 단순화하기 위해, 하기의 논의는 P=2(1/2 칩간격의 샘플들)이고 K=33인 특정 실시예에 촛점을 맞춘다. 쉬프트 레지스터를 통해 신호를 개선시키는 상기 수단들은 회로가 신호를 이중 버퍼링할 필요성을 제거함으로써 구현 비용과 복잡성을 감소시킨다.
신호들은 코드 NCO(108)에 의해 시간이 맞춰진 것과 같이 쉬프트 레지스터들(401a 및 401b)을 통해 2f0의 레이트로 증가한다. 신호가 다수의 클럭사이클들동안 쉬프트 레지스터들내에 적절히 존재하기 때문에, 일련의 부분 상관 동작들이 수행될 수 있다. 특히, 전체 M의 부분 상관들이 수행되며, 이경우, 상기 M은 1023/K 또는 31이다. 각각의 부분 상관은 각각의 신호 쉬프트 레지스터의 컨텐츠와 P×K(예, 66)개의 코드 샘플들을 포함하는 코드의 세그먼트간의 빠른 벡터곱과 합 동작으로 구성된다. 빠른 벡터곱과 합은 회로들(402a 및 402b)에서 발생한다. 회로들(402a 및 402b)는 각각 곱셈기들(410a 및 410b)와 합산기들(412a 및 412b)을 포함한다. 동작은 신호 레지스터(401a 또는 401b)내의 66개의 코드 샘플들 각각과 66개의 코드 샘플들(코드 확장기(409)를 사용하여 33개의 코드 샘플들을 확장함으로써 생성된)을 곱하는 것과 합산기(412a 및 412b)에서 결과값을 합하는 것을 포함한다. 동작은 I 및 Q 채널들에서 개별적이고 동시에 발생한다. 수학적으로, 상기 동작은 내적(inner product)이라 참조되며, 다음과 같이 정의된다:
벡터곱과 합의 츨력은 작은 범위의 수를 유지하기 위해 다시 양자화 될 수 있으며, 따라서 RAM(404a 및 404b)의 오버플로우를 방지할 수 있다. 간략함을 위해, 양자화기는 도시되지 않는다. 일 실시예에서, 재양자화는 2비트 분해를 위한 것이다.
벡터곱 및 합의 결과들은 합산기들(403a 및 403b)에 의해 합산되고 누산되어 컨벌루션 결과 처리 회로들(400)에 의해 처리된다. 회로들(400)은 신호 RAM(110a, 110b), 복소 정규화기(111), 합산기(112) 및 크기 RAM(113)을 포함한다. 신호 RAM들(111a 및 404b)에 저장된다. 누산 프로세스는 RAM(110a 및 110b)으로부터 특정 시간 지연에 대한 현재 값들을 판독하고, 계산된 부분 상관들을 합산하며, 상기 합산값들을 다시 RAM들(110a 및 110b)에 기록한다. 특정 시간 지연에 상응하는 부분 상관들을 적절히 결합함으로써, 상기 지연에 대한 전체 상관이 계산된다. 전술된 바와 같이, 프로세스는 신호대 잡음비를 개선하기 위해 원하는 것보다 많은 신호의 주기들을 지속한다. 따라서, 합산기들(403a 및 403b)은 두가지 목적들을 만족한다: 하나의 주기내의 부분 상관들을 결합시키는 것과 몇개의 주기들을 통해 상관들을 누산시키는 것이다.
신호 램들(110a 및 110b)으로부터의 결과들은 신호의 크기를 형성하기 위해 복소 정규화기(405)에서 합성된다. 상기 램들(110a 및 110b)의 I 및 Q 파형들은 복소 파형의 실수 및 허수부로 표시될 수 있다. 크기를 형성하는 것은 각각의 성분을 제곱하고, 상기 결과값을 합산하고, 상기 결과의 제곱근을 구하는 것을 포함한다. 회로를 간단하게 하기 위해 몇개의 크기에 대한 근사값들이 사용될 수 있다. 일 실시예에서, 복소 크기는 I 및 Q의 스칼라 크기를 독립적으로 구하여 더 큰 크기를 결정함으로써 근사화된다. 크기는 더 큰 크기를 구하여 더 작은 크기의 1/2과 합함으로써 근사화 될 수 있다.
크기 동작의 결과들은 상기 값들을 적은 범위 내에서 유지함으로써 RAM(113)의 오버플로우를 방지하도록 스케일링될 수 있다. 단순화를 위해, 스칼라값은 도시되지 않는다. 일 실시예에서, 스케일링은 결과값을 3비트 만큼 쉬프트시키는 것(즉, 8로 나누는 것)을 포함한다.
신호 크기들보다 신호 전력들을 누산시키는 것도 가능할 수 있다. 상기 경우에, 일반적으로 I 및 Q의 제곱값들의 합을 구함으로써 전력 추정이 수행된다(405). 상기 경우에, 도 3을 참조로 하여 설명되는 의사범위 결정 알고리즘은 크기 파형과 상반되는 전력 파형에 적합하도록 약간 수정되어야만 할 것이다. 선택적으로, 추가의 비선형 동작들이 I 및 Q의 크기 및 전력을 나타내는 값들을 생성하도록 사용될 수 있다.
복소 정규화기(111)로부터의 출력은 합산기(112)에 의해 크기 RAM(113)으로 누산된다. 누산 프로세스는 특정 시간 지연에 대한 현재 크기값을 RAM(113)으로부터 판독하고, 계산된 크기 결과를 합산하고, 합산값을 다시 RAM(113)에 기록하는 것을 포함한다. 전술된 것과 같이, 크기 누산은 신호대 잡음비의 개선을 달성하기 위해 요구되는 것 보다 많은 사이클들 동안 계속된다.
벡터 곱셈기(402a 및 402b)는 신호 각각의 쉬프트에 대하여 M회의 부분 상관들을 수행한다. 코드 검색 회로(408)는 각각의 부분 상관에 대한 기준 코드 샘플들을 생성한다. 검색은 두개의 검색 인덱스들에 의해 제어된다. 먼저, 코드는 32개 코드들 중 하나로부터 선택되어야만 한다. 상기 선택은 컨벌루션 프로세스를 통해 일정하게 유지되며, 프로세싱 채널이 특정 위성 신호에 대해 상관하도록 구성될 때 수행된다. 제 2 인덱스는 1과 M사이의 세그먼트 인덱스이다. 각각의 C/A 코드는 1023개의 칩들로 구성되며, 각각 K개의 인접 코드 칩들을 포함하는 M개의 겹쳐지지 않는 세그먼트들로 분할된다. 검색 인덱스는 어떤 코드 세그먼트가 요구되는지를 식별한다. 코드 검색 회로로부터의 출력은 세그먼트를 포함하는 K개의칩들이다. 선택 프로세스는 제어/어드레스 로직(414)에 의해 제어된다.
코드 확장기(409)는 K개의 세그먼트 칩들이 입력되면 세그먼트를 K×P개의 코드 샘플들로 확장시킨다. 확장 동작은 각각의 코드칩을 P개의 동일한 코드 샘플들로 변환시키는 것을 포함한다. 코드 확장기(409)로부터의 출력은 벡터 곱셈기들(402a-b)에 기준 코드 입력을 형성한다. 예를 들면, 코드 확장기로부터의 출력은 각각 2개씩 복사된 33개의 유일한 값들로 구성된 66개의 샘플들이다.
도 4에 도시된 아키텍처는 C/A 코드 레이트 f0보다 실질적으로 빠른 클럭들 을 요구한다. 예를 들어, 만약 C/A 코드 칩당 2개의 샘플들이 사용되며(P=2) K 및 M은 각각 33 및 31이면, 전체 컨벌루션을 달성하는 것은 레이트 2×f0로 증가하는 신호 쉬프트 레지스터의 각각의 쉬프트에 대하여 31회의 부분 상관들을 수행할 것을 요구한다. 일반적으로, 적어도 2개의 클럭 사이클들은 RAM들(110a 및 110b)을 판독 및 기록하기 위해 요구된다. 두개의 클럭 사이클들을 가정할 때, 전체 컨벌루션을 수행하기 위해 요구되는 최소 클럭 레이트는 다음과 같다:
fclk= 2 ×31 ×2 ×f0= 2 ×31 ×2 ×1.023MHz127MHz
상기 레이트는 근대의 집적 회로 로직에서 쉽게 이용가능하다
본 발명은 전체 컨벌루션의 서브세트를 계산하기 위해 사용될 수 있음에 주목하여야 한다. 상기 경우에, M회 미만의 부분 상관들은 신호 쉬프트 레지스터의 각각의 쉬프트에 대하여 수행된다. 상기 경우에, 전체 지연 범위들은 전체 컨벌루션을 구성하는 P×1023미만이 될 것이다. 특히 만약 M2부분 상관들이 수행되면,M2×K×P의 지연값들이 발생된다. 프로세서에서의 클럭 레이트는 M2대 M의 비율로 감소된다. 또한, RAM들의 사이즈는 상기 비율만큼 감소된다. 따라서, 상기 선택은 전체 컨벌루션을 처리하기 위해 계산 또는 메모리 자원들을 갖지 않는 시스템들에서 사용가능할 수 있다.
K 및 M 결과에 대한 다른 선택값들은 추가의 설계 교환들이 수행되도록 하지만, 1023의 주요 인자들이 3, 11, 및 31이기 때문에 K 및 M에 대한 선택값들은 제한된다. K를 감소시키는 것은 상기 쉬프트 레지스터들(401a 및 401b)의 사이즈와 벡터 곱셈기들(402a 및 402b)의 복잡성을 감소시키지만 더 큰 M과 큰 클럭 레이트를 필요로 하기 때문에 바람직하다. K에 대한 선택값들은 3, 11, 31, 33, 및 93이다. 상기 선택값들은 각각 1.39GHz, 380MHz, 135MHz, 127MHz, 및 45MHz의 클럭 레이트를 필요로 한다(항상 P=2이고 부분 상관당 2개의 클럭 사이클들이라 가정한다). 증명시 사용가능한 기술을 기초로 하여, 일 실시예를 위해 K=33이 선택된다. 추가의 기술들을 사용하여, K=11과 380MHz의 클럭 레이트의 선택이 가능하며, 로직 복잡성을 추가 감소시킬 것이다. 따라서, 아키텍처는 속도와 로직 복잡성간의 최적 교환들을 지원하는 바람직한 특성을 갖는다.
코드 세그먼트들의 시퀀싱은 제어 로직(414)에 의해 제어된다. 상기 제어 로직은 RAM들(110a, 110b, 및 113)에 대한 정확한 어드레스들을 식별한다. 하기에서 논의되는 것과 같이, 부분 상관들은 비-연속적인 순서로 발생되며, 따라서, RAM 어드레스들의 생성은 자명하지 않다.
도 4의 회로들의 동작은 도 5의 흐름도를 참조로 하여 이해될 수 있다. 단계 501에서, 동작은 신호 쉬프트 레지스터들(401a 및 401b)의 사전 로딩으로 시작된다. 상기 지점에서, 컨벌루션 프로세싱이 시작될 수 있다. 단계 502에서, 코드 세그먼트는 특정 부분 상관을 위해 액세스 된다. 단계 503에서, 코드 세그먼트는 코드 확장기에 의해 C/A 칩당 P개의 샘플들을 가지도록 확장된다. 이후에, 단계 504에서, 지연 인덱스 및 상응하는 RAM 어드레스들이 계산된다. 지연 인덱스는 전체 컨벌루션 중 어떤 지점이 부분 상관에 의해 업데이트되는 지를 지시한다. 도 7과 관련하여 논의되는 예들로부터 인식되는 것과 같이, 지연 인덱스는 비선형이지만 결정적인 방식으로 점핑한다. 액세스 계산은 신호 쉬프트들의 횟수와 코드 세그먼트의 함수이다.
단계 505에서, 부분 상관은 벡터 곱셈기들(402a 및 402b)을 사용하여 계산된다. 단계 506에서, 결과는 지연 인덱스에 의해 지시된 위치에서 신호 RAM들로 누산된다. 다음에 단계 507에서, 프로세싱이 코히어런트 적분 구간의 종료지점에 도달했는지의 여부를 결정하기 위해 검사가 이루어진다. 만약 아니라면, 방법은 단계 502a로 복귀하고 후속 코드 세그먼트를 위해 상기 단계들이 반복된다.
만약 단계 507에서, 검사가 모든 코드 세그먼트들에 대한 부분 상관들(예를 들면, 31회의 부분 상관들)이 종료되었음을 지시하면, 방법은 단계 508로 진행한다. 단계 508에서, 신호 레지스터들(401a 및 401b)는 하나의 샘플만큼 쉬프트된다.
그후에 프로세스는 단계 509로 이동하고, 최종 쉬프트가 코히어런트 적분 구간의 종료에 도달했는지를 확인하기 위해 검사가 수행된다. 만약 아니라면, 프로세스 사이클들은 단계 502를 시작하기 위해 복귀한다. 만약 검사가 코히어런트 적분 구간의 종료를 지시하면, 방법은 단계 510로 진행하며, 상기 신호 크기는 복소 정규화기(111)에 의해 계산된다. 결과는 합산기(112)를 사용하여 합산되고 크기 RAM(113)에 저장된다. 다음에 단계 511에서, 모든 크기 누산들이 수행되었는지를 결정하기 위해 검사가 수행된다. 만약, 수행되었다면, 방법은 단계 512에서 종료한다. 만약 아니라면, 프로세싱은 단계 501에서 후속 부분 상관을 수행함으로써 진행한다.
도 6 및 도 7은 간략화된 예를 통해 본 발명이 전체 컨벌루션 결과를 누산하기 위해 부분 상관들을 사용하는 방법을 도시한다. 명확함을 위해, 상기 다이어드램들은 GPS 신호의 길이 1023의 C/A 코드와 상반되는 매우 짧은 길이 6의 코드의 컨벌루션을 도시한다. 예를 더 간략화시키기 위해, 코드 칩당 하나의 샘플이 사용되며, 즉 P=1이다. 도 6은 표준 매칭된 필터링 근사화를 통한 컨벌루션을 도시하고 도 7은 부분 상관들의 조합 방법을 통한 동일한 컨벌루션을 도시한다. 도 7의 상세한 도면은 본 발명의 전체 동작을 이해하는데 도움이 된다. 두 방법들 모두는 동일한 컨벌루션 결과값을 발생한다.
도 6은 길이 6의 신호에 대한 컨벌루션 매치오딘 필터의 동작을 도시한다. 동작은 쉬프트 0으로 지시된 순간에 시작한다. 상기 순간에, 신호의 전체 사이클을 포함하는 6개의 연속적인 신호 샘플들은 신호 쉬프트 레지스터(601)내에 있다. 개별 샘플들은 대문자 A, B, C, D, E, 및 F를 사용하여 식별된다. 전체 길이 6의코드에 대한 코드 샘플들은 기준 레지스터(602)내에 고정되고 소문자 a, b, c, d, e, 및 f를 사용하여 식별된다. 쉬프트 0의 시간에 벡터 곱셈 및 합산은 쉬프트 0에 대한 상관 결과를 발생하기 위해 수행된다. 각각의 신호 샘플은 상응하는 코드 샘플에 의해 곱해지고 그 결과들은 합산되어 상관 결과(603)를 산출한다.
이후에, 신호 쉬프트 레지스터(604)는 쉬프트 1로 지시된 것과 같이 하나의 샘플 만큼 쉬프팅한다. 레지스터의 좌측에서 제공되는 새로운 샘플은 오른쪽으로 쉬프팅되는 샘플과 동일하기 때문에 신호는 주기적이다. 레지스터(604)의 쉬프트된 콘텐츠는 인덱스들 F, A, B, C, D, 및 E, 을 사용하는 샘플들이다. 코드는 쉬프트 되지 않는다. 벡터 곱셈 및 합산은 쉬프트 1에 대한 상관 결과(605)를 산출한다. 상기 쉬프팅 프로세스는 5개의 추가 쉬프트들에 대해 계속되어, 전체 상관을 구성하는 모두 6개의 상관 결과들이 사용가능하다.
도 7은 동일한 컨벌루션 결과가 부분 상관들의 방법을 통해 획득될 수 있는 방법을 도시한다. 전술된 바와 같이, 본 발명은 코드가 길이 K의 M개의 세그먼트들로 인수분해될 것을 요구한다. 도 7의 간략화된 예에서, 길이 6의 코드는 길이2의 3개의 세그먼트들, 즉 K=2 이고 M=3으로 인수분해되었다. 동작은 쉬프트 0이 지시되는 순간에 시작한다. 상기 순간에, 두개의 신호 샘플들은 신호 쉬프트 레지스터(701)에 고정된다. 신호 샘플들은 대문자 A 및 B를 사용하여 식별된다. 6개의 코드 샘플들은 각각 길이 2의 3개의 세그먼트들에 포함된다. 제 1 코드 세그먼트(702)는 소문자 a 및 b를 사용하여 식별되는 2개의 코드 샘플들을 포함한다. 신호는 부분 상관 결과값들(703a, 703b, 및 703c)를 결과로 하는 3회의 부분 상관 동작들 동안 적절히 유지된다. 제 1 부분 상관 결과는 신호 레비스터의 컨텐츠와 제 1 코드 세그먼트(세그먼트 1)간의 벡터곱과 합에 의해 생성된다. 제 2 및 제 3 결과들은 각각 제 2 및 제 3 코드 세그먼트들과 신호 레지스터와의 벡터 곱들에 의해 생성된다. 신호 레지스터는 수행될 모두 3회의 벡터곱들에 대해 충분한 시간동안 적절히 유지되며, 서로 다른 코드 세그먼트들이 선택되는 것 보다 코드는 상기 시간동안 쉬프트되지 않음에 유의하라.
부분 상관 결과들은 신호 경로들(705)에 따라 메모리에 누산된다. 예를 들면, 쉬프트 0에서, 제 1 코드 세그먼트로부터의 부분 상관은 상관 결과(704)로 합산된다. 제 2 세그먼트로부터의 부분 상관은 쉬프트 2에 대한 상관 결과(706)로 합산된다. 제 3 세그먼트로부터의 부분 상관은 쉬프트 4에 대한 상관 결과(708)에 기여한다.
3회의 부분 상관들 이후에, 신호는 쉬프트된다. 상기 단계에서, 쉬프트 1에서 지시된 것과 같이, 신호 레지스터는 샘플들 F 및 A를 포함한다. 다시말해서, 3회의 부분 상관들은 이전과 같이 3개의 동일한 코드 샘플들과 함께 발생된다. 상기 부분 상관들로부터의 결과들은 쉬프트 1, 3, 및 5에 대한 각각의 상관 결과들(710)에 기여한다. 프로세스는 전체컨벌루션 결과가 사용가능한 시점에 4회의 추가 신호 쉬프드들을 계속한다. 확인될 수 있는 것과 같이, 동작은 컨벌루션을 포함하는 6개의 완전한 결과들에 기여하는 전체 18회의 부분 상관들을 발생시킬 것을 요구한다.
도 7에 의해 설명되는 아키텍처는 본 발명의 2가지 중요한 특징들을 도시한다. 제 1 특성은 전체 컨벌루션이 쉬프트 레지스터만을 사용하는 길이 6의 코드와 벡터 곱 및 길이 2의 추가 합산 유니트에 대해 발생되었음이 인식된다. 이는 상기 엘리먼트들이 6의 길이인 도 6보다 적은 회로를 요구한다. 도 7에서 제 2 특성은 코드 샘플들이 각각의 쉬프트에 대해 동일한 고정된 세그먼트들에서 액세스되며, 각각의 세그먼트는 코드의 개별적인 겹쳐지지 않는 섹션이다. 따라서 도 8 및 도 9를 참조로 하여 추가로 논의되는 것과 같이 간단한 검색 및 레지스터 방식이 벡터 곱셈기들에 코드를 제공하기 위해 사용될 수 있다. 상기 방식들은 예를 들어 더 복잡한 복소 순열 세트들에서 사용가능한 코드 비트들의 큰 블럭들을 요구할 수 있는 다른 아키텍쳐들보다 더 적은 회로를 요구한다. 본 발명은 또한 코드 발생 회로를 제공해야할 필요가 없다.
도 8은 본 발명에 적합할 수 있는 코드 검색 회로(408)의 일 실시예의 블럭 다이어그램을 도시한다. 테이블(801)은 예를 들어 판독 전용 메모리(ROM) 또는 전자회로 로직내의 각각 32개의 코드들 중 모두 1023개의 비트들에 대한 저장된 값들을 포함한다. 테이블(801)은 각 코드에 대하여 하나인 32개의 서브테이블들로 구성된다. 각각의 서브 테이블은 길이 K의 M개의 세그먼트들로 구성되며, 상기 K ×M=1023이고, K 및 M은 전술된 것과 같이 선택된다. 곱셈기(802)는 선택값에 기초하여 특정 코드를 선택한다. 멀티플렉서(802)의 출력은 원하는 바에 대한 특정 서브테이블이 된다. 곱셈기(803)는 1과 M사이의 세그먼트 선택값에 기초항 특정 세그먼트를 선택한다. 멀티플렉서(803)의 출력은 길이 K의 특정 코드 세그먼트(804)이며, 코드 확장기(409)에 제공되는 코드 비트들을 포함한다.
곱셈기(803)는 코드 세그먼트가 각각의 부분 상관에서 변경되도록 하기 위해 고속, 즉 2개의 클럭 사이클들 마다 수행되어야 함을 유의하여야 한다. 상기 이유로 인해, 모든 코드 비트들은 코드 발생기의 종래 방식에서 진행중에 발생된 것과달리 테이블(801)에 미리 저장되어야 한다.
도 8의 회로가 설명된다. 일반적으로, 다수의 서로다른 회로 설계들은 기능적으로 등가이다. 특히, 현대의 ASIC 설계에서 사용되는 논리 가설의 프로세스는 설명된 방식에서 멀티플렉서를 필수적으로 사용하는 것이 아니라 전술된 것과 동일한 작용을 달성하는 특정 패턴의 게이트들을 유도할 것이다.
도 9는 본 발명에 적합할 수 있는 코드 검색 회로(408)의 선택적인 실시예의 블럭 다이어그램을 도시한다. 특정 코드 비트에 상응하는 1023개의 코드 비트들은 1023개의 양방향 쉬프트 레지스터들(901)에 고정되며, 길이 K인 M개의 행들로 구성된다. 쉬프트 레지스터들은 두가지 모드들, 동작 모드 및 로딩 모드로 동작한다.
동작 모드에서 각각의 레지스터(901)는 레지스터들의 최하부 행으로 쉬프트하는 레지스터들의 최상부 행을 제외하고는 그 샘플을 다음 행에서 상부 레지스터 로 쉬프트 시키기 위해 구성된다. 동작 모드에 대한 쉬프트 방향들은 901내에서 실선의 화살표들로 표시된다. 모든 레지스터들을 클럭함으로써, 코드 비트들의 행들은 순환하며, 임의의 사간에 최상부열행 길이 K인 M개의 코드 세그먼트들 중 하나를 포함한다. 상기 비트들의 최상부행은 코드 확장기(409)에 제공된다. 레지스터들은 신속하게 순환하여 서로다른 코드 세그먼트가 각각의 부분 상관에 사용가능하게 된다.
로딩 모드에서, 각각의 레지스터는 상위 행에서 레지스터들의 제1 열로 쉬프트 하는 레지스터들의 최종 열을 제외하고는 샘플을 그 열에서 다음 레지스터로 쉬프트 시키도록 구성된다. 로딩 모드에 대한 쉬프트 방향들은 901내에서 점선의 화살표들로 표시된다. 좌측 하부의 쉬프트 레지스터(904)는 코드 발생기(902)에 접속된다. 코드 발생기는 종래의 코드 발생기이며, 선택 값에 기초하는 특정 코드의 1023개의 코드 비트들을 순차적으로 생성할 수 있다. 코드 검색 회로가 구성될 때, 레지스터들은 로딩 모드로 배치되고 발생기는 레지스터들을 통해 클럭하는 코드의 비트들을 발생하도록 사용된다. 모든 비트가 클럭된 이후에, 코드는 길이 K의 M개의 세그먼트들로서 레지스터들 내에 상주한다. 회로는 그후에 동작 모드에서 사용되도록 준비된다.
도 10은 GPS 수신기(1000)의 또다른 실시예의 블럭 다이어그램이다. 수신기(100)는 표준 상관 모드 뿐만 아니라 상관 히스토리 모드에서 동작하는 다수의 프로세싱 채널(104)들을 포함한다. 표준 상관 모드의 기능은 앞서 도 1-9를 참조로 하여 설명된 것과 같다. 상관 히스토리 모드에서 수신기(1000)의 요소들의 사용은 신호 RAM들(110a 및 110b) 및 크기/히스토리 RAM(1002)까지 유도되는 모든 블럭들에 대한 표준 모드와 실질적으로 동일하다. 또한, 본 발명의 방법들의 설명을 지원하기 위해, CPU(114)는 메모리(1010)에 의한 종래의 방식에서 지원되는 것과 같이 도 10에 도시되며, 회로들(1012)을 지원한다. 지원 회로들(1012)은 클럭들, 버스들, 캐시, 전원들, I/O 회로들 등등과 같은 공지된 지원회로들을 포함한다. 메모리(1010)는 랜덤 액세스 메모리, 판독 전용 메모리, 휘발성 메모리등등중 하나 또는 그이상을 포함할 수 있다. 메모리(1010)는 CPU(114)에 의해 실해오디는 경우 수신기(1000)가 하기에서 설명되는 방법들에 따라 동작되도록 하는 소프트웨어(1014)를 저장하기 위한 컴퓨터 판독가능한 매체를 형성한다. CPU(114), 메모리 및 지원 회로들의 결합은 프로세싱 유니트(1016)를 형성한다.
종래의 프로세서(109)의 표준 동작에서와 같이, 신호 RAM들(110a 및 110b)은 전체 컨벌루션을 포함하는 상관 지연들 모두에 대한 코히어런트 평균 구간을 통한 부분 상관 결과들을 누산하기 위해 사용된다. 상관 히스토리 모드는 상관 피크값의 부근에서의 지연들에 상응하는 상기 결과들의 작은 서브세트들만을 사용한다. 상관 히스토리 모드에서, 프로그래밍 파라미터들은 소수의 이득 지연들을 형성한다. 상기 지연들에 대하여, 모든 코히어런트 평균 결과들의 완전한 히스토리는 크기/히스토리 RAM(1002)에 저장된다. 상관 히스토리 모드동안 컨벌루션 프로세서에서는 크기 누산이 수행되지 않는다. 대신에 상기 모드에서, RAM(1002)은 컨벌 루션 프로세서(109)의 표준 동작 동안의 크기에 대한 메모리(크기 메모리)와 상관 히스토리 모드 동안의 상관 히스토리를 저장하기 위한 메모리(히스토리 메모리)로서 사용된다. 또다른 프로그래밍 파라미터는 얼마나 많은 연속적인 코히어런트 누산 결과들이 RAM(1002)에 저장되는지를 정의한다. 컨벌루션 프로세서(109)는 지연 및 주기(도 11에 도시)의 지수가 되는 결과들의 2차원 테이블을 사용하여 크기/히스토리 RAM을 채운다. 저장될 수 있는 주기들의 수는 RAM의 크기와 선택된 지연들의 수에 의해 세팅된다. 예를 들어, 만약 RAM이 2048 워드 크기이면, 메모리는 단일 지연을 위한 2048 사이클들, 2번의 지연들을 위한 1024 사이클들 또는 4개의 지연들을 위한 512 사이클들 정도를 저장하도록 사용될 수 있다. 12개 비트들의 워드폭은 코히어런트 평균 결과들의 I 및 Q 부분들이 6비트 해를 사용하여 각각 저장되도록 한다.
도 12는 일반적인 상관 히스토리의 그래픽 예(1200)를 도시한다. 상위 및 하위 그래프들(1202 및 1204)은 각각 I 성분 및 Q 성분 파형들을 도시한다. 그래프들 내의 각각의 포인트는 단일 코히어런트 적분을 나타낸다. 상기예에서, 코히어런트 적분 구간은 각각의 포인트가 적분 중 거의 1 밀리초를 나타내도록 1개의 주기으로 세팅된다.
도 12의 파형은 상관 이후의 신호들의 두가지 양상들을 설명한다. 먼저, 신호가 I 및 Q 채널들을 따라 회전하도록 하는 잉여 도플러 주파수가 존재한다. 두번째로, 네비게이션 데이터 비트들은 수시로 180°의 위상 변화들을 제공한다. 변화사이의 최소 간격은 20개의 주기들, 즉 데이터 비트 주기가 된다. 상관 히스토리의 시작과 관련된 데이터 비트들의 타이밍은 파형들로부터 명백하다.
상관 히스토리 모드는 오실레이터 주파수 및 수신기 클럭 타이밍과 같은 특정 수신기 파라미터들을 추정하기 위해 위성 신호 도플러 및/또는 네비게이션 비트 타이밍을 결정하도록 유도된다. 초기에, 모드는 상관 히스토리의 시작과 관련된 네비케이션 데이터 비트들의 잉여 도플러 및 타이밍을 추정하기 위해 소프트웨어 알고리즘들에 의해 사용되는 데이터를 제공한다. 이후에, 필요에 따라, 모드는 네비게이션 데이터 비트들의 값들을 디코딩하기 위한 히스토리를 제공하도록 사용된다.
특히, 소프트웨어 알고리즘은 GPS 수신기의 그 자신의 오실레이터 주파수 및/또는 구간 클럭 타이밍의 추정값을 생성 또는 업데이트시키기 위해 하나 또는 그이상의 위성들에 대한 도플러 및 비트 타이밍을 결정한다. 특히, 더 정확한 상관들이 캐리어와 도 10의 코드 NCO들(106 및 108)을 '보정하고' 컨벌루션 프로세서(109)의 타이밍을 조절하기 이해 오실레이터 주파수와 클럭 타이밍 추정값을 사용하여 수행된다. 특히, 수신기 오실레이터 주파수의 개선된 추정값은 상관 프로세서가 더 우수한 신호 검출 및 더 긴 코히어런트 적분 구간들을 사용하는 능력을 제공할 때 NCO(105)를 통해 더 정확히 튜닝되도록 한다. 또한, 수신기 클럭 타이밍의 개선된 추정값은 컨벌루션 프로세서(109)의 시작 시간들을 제어하여 각 위성에 대한 네비게이션 데이터 비트 타이밍과 동기화 되는 코히어런트 적분들을 수행하고 신호 검출을 개선시키도록 사용될 수 있다.
종래 기술들(2001년 3월 27일에 특허된 USP6,208,291에 개시된 바와 같은)은 PN 주기들과 위성 신호의 캐리어가 추적되는 추적 프로세스를 위한 상관기 출력을 저장하기 위한 레지스터 뱅크를 사용한다. 추적 프로세스는 높은 신호대 잡음비를 요구한다. 종래기술과는 다르게, 현재의 발명의 상관 히스토리 모드는 특정 위성 신호를 추적하기 위해 단지 데이터를 버퍼링하지는 않는다. 오히려, 상관 히스토리 모드는 보이는 모든 위성들의 검출을 지원하는 수신기 파라미터들을 추정하기 위해 사용된다. 또한, 상관 히스토리 모드는 종래의 추적 프로세스의 임계값 이하로 떨어지는 아주 낮은 신호대 잡음비들로 위성 신호 정보를 추출하는 소프트웨어 추정 알고리즘과 결합하여 동작한다. 다수의 위성들로부터의 신호들의 상관 히스토리 모드 프로세싱은 수신기 파라미터 추정의 수행을 증진시키기 위해 사용될 수 있지만, 상기 추가 신호들은 본 발명을 수행하는 데 필수적인 것은 아니다.
새로운 알고리즘들은 상관 결과들의 히스토리로부터 비트 타이밍과 주파수를 추정하기 위해 사용될 수 있다. 일 실시얘는 도 13의 블럭 다이어그램에서 설명된다. 상기 실시예에서, 프로세스(1300)는 특정 기능을 수행하는 단계들의 시퀀스를 수행하는 소프트웨어 프로그램에서 실시된다. 프로세스(1300)는 특정 주파수와 비트 타이밍 가설에서 신호 크기의 추정값(크기 추정값)을 결정하기 위해 사용되며, 추정값은 가능한 주파수들의 범위와 비트 타이밍들을 통해 최적화된다. 각각의 가설에 대하여, I 및 Q 상관 히스토리는 주파수 변조의 공액에 상응하는 복소 주파수 항과의 곱셈을 수행함으로써 보정되는 제 1 단계(단계 1302)이다. 이후에, 단계 1304에서, 신호는 네비케이션 비트 주기 꺄지 증가하는 코히어런트 구간을 통해 적분된다. 예를 들어, 만약 상관 히스토리가 하나의 주기 간격인 샘플들로 구성된다면, I 및 Q 히스토리의 20개의 연속적인 샘플들은 네비케이션 데이터 비트들을 통해 신호 크기의 추정값을 생성하도록 합산될 것이다. 각각의 비트 합산이 종료하면, 단계 1306에서, 크기 계산 동작은 전력값을 형성하기 위해 수행된다. 연속적인 크기 계산들로부터의 결과들은 단계 1308에서 추가 합산되어 신호대 잡음비를 개선시킨다. 예를 들어, 1초의 데이터는 50비트의 주기들을 제공하며 합산시 사용되는 비트 주기들에 대한 통합된 전력을 형성하기 위해 합산될 수 있다. 일반적으로, 계산들은 신호 크기 또는 신호 전력과 같은 신호 레벨들을 결정하기 위해 수행될 수 있다. 여기에서 설명되는 본 발명의 실시예는 신호 크기를 사용하지만, 당업자는 본발명을 구현하기 위해 사용될 수 있는 신호 레벨의 임의의 다른 측정값 또는 신호 전력을 인식할 것이다.
전력 추정값들은 비트 타이밍 값들과 가능한 주파수들의 범위에 걸쳐 수집된다. 결과들은 도 14에 도시된 2차원 그리드(1400)상에서 관찰될 수 있다. 하나의 축(1402)은 -40에서 80Hz로 변화하는 경우에 가정되는 주파수 에러이다. 다른 축(1404)은 0과 19개 주기들 사이에서 변화하는 비트 타이밍 가설이다. 상기 값은 비트 타이밍과 수신기 클럭에 따라 특정 시간에 얻어지는 상관 히스토리의 시작 사이의 가정된 오프셋을 나타낸다. 그리드 내의 각 포인트에서 수직축(1406)은 도플러에 상응하는 상관된 신호 크기 및 타이밍 가설이다. 주파수와 타이밍의 최대 추정값은 그래드 상의 최대 포인트(1408)에 상응한다. 이는 코히어런트 평균 구간이 데이터 비트들과 잘못 정렬되는 경우 발생할 수 있는 신호 대 잡음비(SNR) 손실을 최대화한다.
도 15는 주파수 축(1402)을 따른 도 14의 크로스 섹션의 그래프(1500)를 도시한다. 도시된 것과 같이, 정확한 주파수에서 응답은 피크값(포인트(1502))이 된다. 유사하게 도 16은 비트 타이밍 가설 축(1404)을 따라 도 14의 크로스 섹션의 그래프(1600)를 도시한다. 다시말해서, 최대 크기는 정확한 비트 타이밍에 상응하는 삼각현의 피크값(포인트(1602))로 도시된다.
주파수와 비트 타이밍의 포인트들의 배치는 추정값들의 지향되는 정확성 뿐만 아니라 주파수 및 비트타이밍에서 초기의 불확실성의 함수이다. 정상적으로 GPS 시간과 관련된 수신기 타이밍이 공지되지 않은 것과 같이 모두 20개의 비트 타이밍 가설이 검사된다.
여기에서 설명되는 프로세스는 최대값이 탐색될 수 있는 포인트들의 2차원 세트를 제공한다. 최대값에 도달하기 위해 다른 방법들도 존재한다. 예를 들면, 주파수의 코스 추정값은 표면의 피크값에 인접한 주파수를 획득하기 위한 전 비트 타이밍에서 수행된다. 전 비트 타이밍이 사용되면, 코히어런트 평균 구간은 예를 들어 19개 주기의 코히어런트 평균 구간과 같은 비트 주기와 비동기되도록 세팅되는 것이 유리하다. 전 비트 타이밍을 사용하는 분석은 비트 타이밍이 추정되도록 하기 위한 비트 타이밍들(및 바람직하게 20개의 주기들을 가지는 코히어런트 평균 구간)에서의 주파수에서의 응답의 추정값에 의해 진행된다. 만약, 원한다면, 이는 주파수의 추가 추정값과 함께 진행된다. 이는 도 14의 2차원 표면을 가로지르는 최대값을 탐색하도록 사용될 수 있는 공지된 수학 기술들의 다수 예들 중 하나이다. 테스트되어 장점이 발견된 또다른 방법은 캠브리지대학 출판부의Numerical recipes in C에 개시된 다운힐 심플렉스(downhill complex) 방법이다.
또다른 예에서, 순차적인 추정 알고리즘은 소프트웨어에서 구현될 수 있다. 알고리즘의 각 단계에서, 주파수 판별기는 주파수 에러의 추정값을 형성한다. 이후 반복시, 주파수 에러가 적용되어 판별기는 주파수 에러의 또다른 개선된 추정값을 제공한다. 프로세서는 잉여 주파수 에러가 작아질 때까지 계속된다. 추적 루프와는 달리, 알고리즘은 피드백을 NCO(106)에 적용하지 않고 추가 상관들을 수행하지 않고 저장된 상관 히스토리를 통해 전체적으로 동작한다. 주파수가 추정되면, 비트 변화들은 180°의 위상 변화들의 티이밍으로 부터 식별될 수 있다. 주파수 에러가 많이 제거되면, 위상 변화들은 쉽게 측정가능하다.
도 17은 GPS 수신기의 동작과 관련된 상관 히스토리 모드의 사용 방법(1700)을 도시한다. 초기에, 단계(1702)에서, 상관들은 표준 모드에서 수행되며, 지연들의 범위를 통해 신호들을 스캐닝하고 필요하다면 주파수 내에서 탐색한다. 단계 1704에서 에너지가 검출되면, 하나 또는 그이상의 위성들로부터의 신호는 상관 히스토리 모드 프로세싱을 위해 선택된다. 단계 1706에서, 프로세싱 채널 또는 몇개의 수신기 채널들은 상관 히스토리 모드를 위해 구성되고 상관 히스토리들은 누산된다. 정상적으로, 상관 히스토리는 지연의 추정값이 초기 신호 획득으로부터 사용가능하기 때문에 단일 지연에서 누산되어야만 한다. 단계 1708에서, 상관 히스토리 또는 히스토리들은 상관 히스토리 모드에서 동작되는 각 채널에 대한 신호 주파수 및 비트 타이밍의 추정값을 산출하기 위해 전술된 것과 같이 처리된다.
단계 1710에서, 상기 추정값들은 오실레이터 주파수 및 클럭 타이밍의 수신기 모델을 업데이트시키기 위해 사용되는 정보를 결정하기 위해 위성 범위 및 범위 레이트 모델들과 결합된다. 상기 추정값들은 시야내의 모든 위성들의 예측된 비트 타이밍과 도플러를 계산하고 NCO(106 및 108)에 대한 개선된 프로그래밍 값들을 계산하고 컨벌루션 프로세서(109)의 코히어런트 적분 시작 타이밍을 셋팅하기 위해 모든 위성들에 대한 위성 범위 및 범위 레이트와 함께 사용된다. 수신기는 그후에 표준 동작 모드로 스위칭하여 도 1-9와 관련하여 설명되는 것과 같은 수신기의 시야 내의 모든 위성들로부터 신호들을 상관시킨다. 단계 1712에서, 수신기는 GPS 신호들을 통해 표준 상관을 수행하기 위한 개선된 주파수 및 클럭 타이밍 추정값들을 사용한다. 전술된 프로세스가 필요하다면 반복되어 수신기 파라미터 추정들을 완료시킨다.
특히, 단계 1710에서, 특정 위성에 대한 상관 히스토리 모드에서 결정된 주파수는 안정된 수신기 모델을 기초로 하는 수신기 클럭의 주파수에서의 에러에서 기인할 수 있는 상이한 값들을 결정하기 위해 상기 위성에 대하여 예측된 범위 레이트와 비교될 수 있다. 선택적으로, 만약 주파수 측정들이 3 또는 그이상의 위성들로부터 사용가능하다면, 에러들은 수신기 클럭 주파수 및 수신기 속도를 추정하기 위해 사용될 수 있다. 추정된 수신기 오실레이터 주파수는 위성을 검출하기 위해 NCO(106)에 대한 개선된 튜닝 주파수를 결정하도록 임의의 위성에 대한 예측된 범위 레이트와 결합될 수 있다.
또한, 수신기 타이밍 에러의 추정은 비트 타이밍 측정값들로부터 발생될 수 있다. 신호 히스토리들은 수신기의 내부 클럭과 관련하여 특정 기준 시간에서 계산된다. 일 실시예에서, 상기 클럭은 밀리초 카운터이다. 상기 카운터의 타이밍은 일반적으로 GPS 시간과 관련하여 독점적이다. 그러나, 비트 타이밍이 특정 위성에 대해 추정되면, 타이밍 관계는 밀리초 카운터와 GPS 시간사이에서 확립될 수 있다. 이를 설명하기 위해, 데이터 비트들이 모든 위성들을 동기적으로 떠나고 있음을 지적하는 것과 관련된다. 비트 변화들에서, GPS 시간의 모듈로 20 값은 0이다. 상기 위성들로부터의 신호는 수신기에 수 밀리초 이후에 도달한다. 변화 시간과 수신 시간 사이의 지연은 수신기 위치, 러프(rough) 타임, 및 위성 궤도 정보의 추정값으로부터 쉽게 결정될 수 있다. 따라서, 수신기에서 데이터 비트 변화의절대적인 타이밍은 GPS시간의 항들에서 추정될 수 있다. 상기 동일한 처리들의 타이밍이 수신기 밀리초 클럭과 관련하여 측정되면, 수신기 클럭과 GPS 시간간에 관계가 성립된다. 이는 절대적인 관계가 아니며, 이는 네비게이션 데이터 비트 변화들이 네비게이션 데이터 비트 프레임의 타이밍을 형성하지 않기 때문임을 유의하여야 한다. 오히려, 수신기 클럭의 모듈로 20 밀리초 값은 GPS 시간의 모듈로 20 밀리초 값과 관련될 수 있다.
후속 코히어런트 적분 구간들을 정렬시키기 위해, 수신기는 먼저 GPS 시간(의사 범위를 기초로하는)과 관련된 각각의 위성에 대한 네비게이션 비트의 타이밍을 추정한다. 컨벌루션 프로세서(109)에 의해 수행되는 상관들은 수신기밀리초 클럭에 기초하는 임의의 향후 시간에서 시작하도록 프로그래밍된다. 상기 시작 시간의 모듈로 20 밀리초 값은 데이터 비트들을 사용하여 코히어런트 적분들의 정렬을 보장하기 위해 네비게이션 데이터 비트의 GPS 시간과 타이밍에 관련하여 선택된다.
상관 히스토리 모드는 네비게이션 데이터 비트들을 수집하기 위해 사용될 수 있다. 정상적으로, 상기 모드는 네비게이션 데이터 비트 타이밍이 확립된 이후에 발생된다. 상관 프로세서는 데이터 비트들을 사용하여 정렬된 구간들과 함께 20개 주기들의 코히어런트 적분 구간들을 위해 프로그래밍되고, 상관 히스토리는 저장된다. 상관 히스토리의 각각의 포인트는 전체 비트 주기에 걸친 적분 결과이다. 하나의 비트로부터 후속 비트로의 위상 변화의 존재 또는 부재는 정보 데이터 비트를 제공한다. 상관 히스토리는 RAM의 크기까지 비트들을 저장하기 위해 사용된다. 더 많은 비트가 요구되면, 다수의 상관 히스토리들은 연속적으로 저장될 수 있다.
개시된 실시예의 전술된 설명은 당업자가 본 발명을 구현하고 이용하기에 용이하도록 하기 위하여 제공되었으며, 이들 실시예에 대한 여러 가지 변형은 당 업자에세 자명하며, 여기서 한정된 포괄적인 원리는 본 발명의 사용 없이도 다른 실시예에 적용될 수 있다.

Claims (39)

  1. 위성 위치측정 수신기에서, 수신기 파라미터를 추정하기 위한 방법으로서,
    (a) 적어도 하나의 위성으로부터 수신된 신호에 대한 상관 결과들의 시퀀스를 가지는 하나의 상관 히스토리를 생성하는 단계; 및
    (b) 상기 상관 히스토리로부터 적어도 하나의 수신기 파라미터를 추정하는 단계를 포함하는 방법.
  2. 제 1항에 있어서, (c) 추가 상관들을 수행할 때 상기 적어도 하나의 수신기 파라미터를 사용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 2항에 있어서, 상기 추가 상관들은 상기 적어도 하나의 위성으로부터 수신된 상기 신호보다는 다른 위성으로부터의 신호들을 통해 수행되는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서, 상기 적어도 하나의 수신기 파라미터는 수신기 오실레이터의 주파수를 포함하는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서, 상기 적어도 하나의 수신기 파라미터는 수신기 타이밍 에러를 포함하는 것을 특징으로 하는 방법.
  6. 제 5항에 있어서, 상기 수신기 타이밍 에러는 위성 기준 시간과 관련된 수신기 클럭의 오프셋의 모듈로 20ms 추정값인 것을 특징으로 하는 방법.
  7. 제 5항에 있어서, 상기 적어도 하나의 수신기 파라미터는 수신기 오실레이터의 주파수를 더 포함하는 것을 특징으로 하는 방법.
  8. 제 2항에 있어서, 상기 추가 상관들은 표준 상관 모드를 사용하여 수행되는 것을 특징으로 하는 방법.
  9. 제 1항에 있어서, 상기 상관 결과들의 시퀀스를 생성하는 상기 생성 단계는,
    (a1) 의사랜덤 기준 코드를 다수의 코드 세그먼트들로 분할하는 단계;
    (a2) 하나의 코드 세그먼트를 선택하는 단계;
    (a3) 상기 선택된 코드 세그먼트와 디지털 신호 샘플들의 세트간에 내적을 수행하여 부분 상관을 생성하는 단계;
    (a4) 상기 단계 (a1) 및 (a3)들을 반복하여, 다수의 부분 상관들을 생성하는 단계; 및
    (a5) 각각의 부분 상관이 수행될 때 상기 다수의 부분 상관들을 합산하여 다수의 상관들을 형성하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제 1항에 있어서,
    상기 수신된 신호를 동위상 및 직교 성분들로 분할하는 단계; 및
    상기 동위상 및 직교 성분들에 대해 상기 단계들 (a) 및 (b)을 각각 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제 1항에 있어서, 상기 상관 히스토리로부터 네비게이션 데이터 비트들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 제 1항에 있어서, 상기 단계(b)는 상기 상관 히스토리를 순차적인 추정 알고리즘에 적용하여 적어도 하나의 신호 주파수와 비트 타이밍을 추정하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 위성 위치측정 수신기에서, 하나의 상관 히스토리로부터 적어도 하나의 수신기 파라미터를 추정하기 위한 방법으로서,
    (a) 상기 상관 히스토리에 응답하여, 하나의 수신기 주파수와 비트 타이밍 가정을 사용하여 다수의 신호레벨의 추정값들을 결정하는 단계; 및
    (b) 상기 신호 레벨 추정값들에 응답하여, 실질적으로 신호 레벨을 최대화시키는 수신기에 대해 하나의 주파수 및 비트 타이밍을 제공하는 적어도 하나의 수신기 파라미터의 추정값들을 결정하는 단계를 포함하는 방법.
  14. 제 13항에 있어서,
    (c) 상기 상관 히스토리를 주파수 보정하는 단계;
    (d) 네비케이션 비트 주기를 통해 상기 상관 히스토리를 통합하는 단계;
    (e) 상기 네비게이션 비트 주기 내의 신호에 대한 신호 레벨을 계산하는 단계; 및
    (f) 다수의 연속적인 신호 레벨 값들을 합산하여 최대화될 신호 레벨로서 통합된 신호 레벨을 형성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제 13항에 있어서, 상기 신호 레벨은 신호 전력 및 신호 크기 중 적어도 하나인 것을 특징으로 하는 방법.
  16. 제 14항에 있어서, 상기 신호 레벨은 신호 전력 및 신호 크기 중 적어도 하나인 것을 특징으로 하는 방법.
  17. 제 13항에 있어서, 상기 신호 레벨의 최대값을 결정하기 위해 주파수를 탐색하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 제 13항에 있어서, 상기 신호 레벨의 최대값을 결정하기 위해 비트 타이밍을 탐색하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  19. 제 13항에 있어서, 상기 신호 레벨의 최대값을 결정하기 위해 주파수와 비트 타이밍을 탐색하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  20. 제 17항에 있어서, 상기 탐색 단계는 다운힐 심플렉스(downhill simplex) 방법을 포함하는 것을 특징으로 하는 방법.
  21. 위성 위치측정 수신기에서, 적어도 하나의 수신기 파라미터를 추정하기 위한 장치로서,
    (a) 적어도 하나의 위성으로부터 수신된 신호로부터의 상관 결과들의 시퀀스를 가지는 하나의 상관 히스토리를 생성하기 위한 수단; 및
    (b) 상기 상관 히스토리로부터 적어도 하나의 수신기 파라미터를 추정하기 위한 수단을 포함하는 장치.
  22. 제 21항에 있어서, (c) 추가 상관들을 수행할 때 상기 수신기 파라미터를 사용하기 위한 상관기를 더 포함하는 것을 특징으로 하는 장치.
  23. 제 22항에 있어서, 상기 추가 상관들은 상기 적어도 하나의 위성으로부터 수신된 상기 신호보다는 다른 위성으로부터의 신호들을 통해 수행되는 것을 특징으로 하는 장치.
  24. 제 21항에 있어서, 상기 적어도 하나의 수신기 파라미터는 수신기 오실레이터의 주파수를 포함하는 것을 특징으로 하는 장치.
  25. 제 21항에 있어서, 상기 적어도 하나의 수신기 파라미터는 수신기 타이밍 에러를 포함하는 것을 특징으로 하는 장치.
  26. 제 25항에 있어서, 상기 적어도 하나의 수신기 파라미터는 수신기 오실레이터의 주파수를 더 포함하는 것을 특징으로 하는 장치.
  27. 제 25항에 있어서, 상기 수신기 타이밍 에러는 위성 기준 시간과 관련된 수신기 클럭의 오프셋의 모듈로 20ms 추정값인 것을 특징으로 하는 장치.
  28. 제 21항에 있어서, 하나의 상관 히스토리를 생성하기 위한 수단은,
    (a1) 의사랜덤 기준 코드를 다수의 코드 세그먼트들로 분할하기 위한 수단;
    (a2) 하나의 코드 세그먼트를 선택하기 위한 수단;
    (a3) 상기 선택된 코드 세그먼트와 디지털 신호 샘플들의 세트간에 내적을 수행하여 부분 상관을 생성하기 위한 수단;
    (a4) 상기 수단 (a1) 및 (a3)들을 반복적으로 동작시켜, 다수의 부분 상관들을 생성하기 위한 수단; 및
    (a5) 각각의 부분 상관이 생성될 때 상기 다수의 부분 상관들을 합산하여 다수의 상관들을 형성하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  29. 제 21항에 있어서,
    상기 수신된 신호를 동위상 및 직교 성분들로 분할하기 위한 수단; 및
    상기 동위상 및 직교 성분들을 각각 처리하기 위한 수단을 포함하는 것을 특징으로 하는 장치.
  30. 제 21항에 있어서, 상기 상관 히스토리로부터 네비게이션 데이터 비트들을 생성하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  31. 제 21항에 있어서, 주파수 및 비트 타이밍 가정에서 신호 레벨과 관련된 추정값을 결정하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.
  32. 프로세서에 의한 수행시, 위성 위치측정 수신기가 하나의 상관 히스토리로부터 적어도 하나의 수신기 파라미터를 추정하기 위한 방법을 수행하도록 하는 소프트웨어를 저장하는 컴퓨터 판독가능한 매체로서, 상기 방법은,
    (a) 상기 상관 히스토리에 응답하여, 하나의 수신기 주파수와 비트 타이밍 가정을 사용하여 다수의 신호 레벨의 추정값들을 결정하는 단계; 및
    (b) 상기 신호 레벨 추정값들에 응답하여, 실질적으로 신호 레벨을 최대화시키는 수신기에 대해 하나의 주파수 및 비트 타이밍을 제공하는 상기 적어도 하나의수신기 파라미터의 추정값들을 결정하는 단계를 포함하는 소프트웨어 저장 컴퓨터 판독가능한 매체.
  33. 제 32항에 있어서, 상기 방법은,
    (c) 상기 상관 히스토리를 주파수 보정하는 단계;
    (d) 네비케이션 비트 주기를 통해 상기 상관 히스토리를 통합하는 단계;
    (e) 상기 네비게이션 비트 주기 내에 상기 신호에 대한 신호 레벨을 계산하는 단계; 및
    (f) 다수의 연속적인 신호 레벨 값들을 합산하여 최대화될 신호 레벨로서 통합된 신호레벨을 형성하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 저장 컴퓨터 판독가능한 매체.
  34. 제 32항에 있어서, 상기 신호 레벨은 신호 전력 및 신호 크기 중 적어도 하나인 것을 특징으로 하는 소프트웨어 저장 컴퓨터 판독가능한 매체.
  35. 제 33항에 있어서, 상기 신호 레벨은 신호 전력 및 신호 크기 중 적어도 하나인 것을 특징으로 하는 소프트웨어 저장 컴퓨터 판독가능한 매체.
  36. 제 33항에 있어서, 상기 방법은 상기 신호 레벨에서 최대값을 결정하기 위해 주파수를 탐색하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 저장 컴퓨터 판독가능한 매체.
  37. 제 33항에 있어서, 상기 방법은 상기 신호 레벨에서 최대값을 결정하기 위해 비트 타이밍을 탐색하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 저장 컴퓨터 판독가능한 매체.
  38. 제 32항에 있어서, 상기 방법은 상기 신호 레벨에서 최대값을 결정하기 위해 주파수 및 비트 타이밍을 탐색하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 저장 컴퓨터 판독가능한 매체.
  39. 제 38항에 있어서, 상기 탐색 단계는 다운힐 심플렉스(downhill simplex) 방법을 포함하는 것을 특징으로 하는 소프트웨어 저장 컴퓨터 판독가능한 매체.
KR1020047004364A 2001-09-26 2002-09-25 히스토리 상관 데이터를 사용하여 신호 상관을 수행하기위한 방법 및 장치 KR100937130B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/963,345 2001-09-26
US09/963,345 US6819707B2 (en) 2001-05-18 2001-09-26 Method and apparatus for performing signal correlation using historical correlation data
PCT/US2002/030333 WO2003028240A1 (en) 2001-09-26 2002-09-25 Method and apparatus for performing signal correlation using historical correlation data

Publications (2)

Publication Number Publication Date
KR20040037125A true KR20040037125A (ko) 2004-05-04
KR100937130B1 KR100937130B1 (ko) 2010-01-15

Family

ID=25507110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047004364A KR100937130B1 (ko) 2001-09-26 2002-09-25 히스토리 상관 데이터를 사용하여 신호 상관을 수행하기위한 방법 및 장치

Country Status (5)

Country Link
US (1) US6819707B2 (ko)
EP (1) EP1430616B1 (ko)
JP (1) JP2005505759A (ko)
KR (1) KR100937130B1 (ko)
WO (1) WO2003028240A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704348B2 (en) * 2001-05-18 2004-03-09 Global Locate, Inc. Method and apparatus for computing signal correlation at multiple resolutions
US7567636B2 (en) * 2001-05-18 2009-07-28 Global Locate, Inc. Method and apparatus for performing signal correlation using historical correlation data
US7006556B2 (en) * 2001-05-18 2006-02-28 Global Locate, Inc. Method and apparatus for performing signal correlation at multiple resolutions to mitigate multipath interference
US7769076B2 (en) 2001-05-18 2010-08-03 Broadcom Corporation Method and apparatus for performing frequency synchronization
US7995682B2 (en) 2001-05-18 2011-08-09 Broadcom Corporation Method and apparatus for performing signal processing using historical correlation data
US7190712B2 (en) * 2001-05-18 2007-03-13 Global Locate, Inc Method and apparatus for performing signal correlation
US7729412B2 (en) * 2001-10-29 2010-06-01 Qualcomm Incorporated Parameter estimator with dynamically variable integration time
US6999533B2 (en) * 2001-11-30 2006-02-14 Qualcomm, Incorporated Demodulating encoded data
US7155183B2 (en) 2003-01-16 2006-12-26 Global Locate, Inc. Method and apparatus for adjusting reference oscillator frequency in a mobile wireless device
US6944422B2 (en) * 2003-04-18 2005-09-13 Motorola, Inc. Method and device for detecting an interference condition
US7224950B2 (en) * 2003-08-27 2007-05-29 Seiko Epson Corporation Estimating GPS reference frequency drift from PDC-handset VCO-bursts
GB0320993D0 (en) * 2003-09-09 2003-10-08 Koninkl Philips Electronics Nv A method of acquiring a received spread spectrum signal
US7598901B2 (en) * 2004-12-03 2009-10-06 The Boeing Company System for measuring turbulence remotely
DE102004059958B4 (de) * 2004-12-13 2007-10-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Bestimmen eines Korrelationswertes
US7899109B2 (en) * 2006-08-08 2011-03-01 The Aerospace Corporation GPS m-code receiver tracking system
US7764751B1 (en) * 2006-09-28 2010-07-27 Rockwell Collins, Inc. Fine synchronization of a signal in the presence of time shift caused by doppler estimation error
EP2159927B1 (en) * 2008-08-29 2012-02-01 Broadcom Corporation Method and system for the extension of frequency offset range estimation based on correlation of complex sequences
US8022866B2 (en) * 2008-09-17 2011-09-20 Broadcom Corporation Method and system for doppler estimation
US8712208B2 (en) 2011-05-24 2014-04-29 Hewlett-Packard Development Company, L.P. Storing a location within metadata of visual media
US20120319899A1 (en) * 2011-06-16 2012-12-20 Jawaharlal Tangudu Dynamic switching to bit-synchronous integration to improve gps signal detection
GB2496160B (en) * 2011-11-03 2014-02-05 Cambridge Silicon Radio Ltd Amelioration of frequency errors and/or their effects
US11428822B2 (en) 2016-12-01 2022-08-30 Google Llc Methods and systems for location determination
CN112783895B (zh) * 2021-01-11 2023-11-10 中国科学院软件研究所 面向软件定义卫星的数据库访问处理方法、装置及设备
CN116366065B (zh) * 2023-05-31 2023-08-29 中国科学技术大学 一种低信噪比周期性信号检测装置及方法

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2016760B (en) 1978-02-02 1982-02-24 Plessey Co Ltd Correlators
US4445118A (en) * 1981-05-22 1984-04-24 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Navigation system and method
US4426712A (en) * 1981-05-22 1984-01-17 Massachusetts Institute Of Technology Correlation system for global position receiver
FR2525055A1 (fr) 1982-04-09 1983-10-14 Trt Telecom Radio Electr Procede de correction de frequence de la porteuse locale dans le recepteur d'un systeme de transmission de donnees et recepteur utilisant ce procede
US4578678A (en) * 1983-11-14 1986-03-25 The United States Of America As Represented By The United States National Aeronautics And Space Administration High dynamic global positioning system receiver
US4660164A (en) * 1983-12-05 1987-04-21 The United States Of America As Represented By The Secretary Of The Navy Multiplexed digital correlator
FR2650456A1 (fr) 1989-07-28 1991-02-01 Trt Telecom Radio Electr Procede de synchronisation par correlation
US5117232A (en) * 1990-06-04 1992-05-26 Raytheon Company Global system positioning receiver
US5185610A (en) * 1990-08-20 1993-02-09 Texas Instruments Incorporated GPS system and method for deriving pointing or attitude from a single GPS receiver
US5390207A (en) * 1990-11-28 1995-02-14 Novatel Communications Ltd. Pseudorandom noise ranging receiver which compensates for multipath distortion by dynamically adjusting the time delay spacing between early and late correlators
US5101416A (en) 1990-11-28 1992-03-31 Novatel Comunications Ltd. Multi-channel digital receiver for global positioning system
US5148452A (en) * 1990-12-31 1992-09-15 Motorola, Inc. Global positioning system digital receiver
US5199050A (en) * 1991-04-05 1993-03-30 Trw Inc. Pseudorandom (PN) signal synchronization circuit and related method
DE4114058C2 (de) 1991-04-30 2003-11-27 Sel Alcatel Ag Mehrkanalempfänger für bandgespreizte Signale
US5175557A (en) * 1991-07-18 1992-12-29 Motorola, Inc. Two channel global positioning system receiver
US5153598A (en) * 1991-09-26 1992-10-06 Alves Jr Daniel F Global Positioning System telecommand link
JPH0590904A (ja) * 1991-09-27 1993-04-09 Nec Corp 制御信号発生回路
US5379224A (en) * 1991-11-29 1995-01-03 Navsys Corporation GPS tracking system
DE4241882A1 (ko) * 1991-12-13 1993-06-17 Clarion Co Ltd
US5323164A (en) * 1992-03-16 1994-06-21 Pioneer Electronic Corporation Satellite radio wave capturing method for a global positioning system (GPS) receiver
US5579338A (en) * 1992-06-29 1996-11-26 Mitsubishi Denki Kabushiki Kaisha Spread spectrum receiver using partial correlations
US5237587A (en) * 1992-11-20 1993-08-17 Magnavox Electronic Systems Company Pseudo-noise modem and related digital correlation method
GB2277853A (en) 1993-05-07 1994-11-09 Roke Manor Research Signal compression signals
DE4318368C1 (de) 1993-05-28 1994-07-14 Siemens Ag Verfahren zum Gewinnen eines einen Ausfall der Synchronisation zwischen einer Pseudozufallssignalfolge eines Senders und einer Referenz-Pseudozufallssignalfolge eines Empfängers anzeigenden Signals
US5402347A (en) 1993-07-22 1995-03-28 Trimble Navigation Limited Satellite search methods for improving time to first fix in a GPS receiver
US5748891A (en) * 1994-07-22 1998-05-05 Aether Wire & Location Spread spectrum localizers
US5594453A (en) * 1994-11-01 1997-01-14 Trimble Navigation, Ltd GPS receiver having a rapid acquisition of GPS satellite signals
JP2605648B2 (ja) 1994-12-22 1997-04-30 日本電気株式会社 Ss受信機における逆拡散符号位相検出装置
US5579014A (en) * 1995-01-20 1996-11-26 General Electric Company Parallel correlator for global positioning system receiver
US5694416A (en) 1995-02-24 1997-12-02 Radix Technologies, Inc. Direct sequence spread spectrum receiver and antenna array for the simultaneous formation of a beam on a signal source and a null on an interfering jammer
US5627855A (en) * 1995-05-25 1997-05-06 Golden Bridge Technology, Inc. Programmable two-part matched filter for spread spectrum
US5600328A (en) * 1995-06-21 1997-02-04 Matsushita Electric Industrial Co., Ltd. Demodulator circuit in global positioning system receiver
US5726659A (en) * 1995-09-21 1998-03-10 Stanford University Multipath calibration in GPS pseudorange measurements
US5884214A (en) * 1996-09-06 1999-03-16 Snaptrack, Inc. GPS receiver and method for processing GPS signals
ES2191115T3 (es) * 1995-10-09 2003-09-01 Snaptrack Inc Receptor gps y metodo para el procesamiento de señales gps.
US6133874A (en) * 1996-03-08 2000-10-17 Snaptrack, Inc. Method and apparatus for acquiring satellite positioning system signals
US5901171A (en) 1996-03-15 1999-05-04 Sirf Technology, Inc. Triple multiplexing spread spectrum receiver
US6125325A (en) * 1996-04-25 2000-09-26 Sirf Technology, Inc. GPS receiver with cross-track hold
US6047017A (en) * 1996-04-25 2000-04-04 Cahn; Charles R. Spread spectrum receiver with multi-path cancellation
AU729697B2 (en) 1996-04-25 2001-02-08 Sirf Technology, Inc. Spread spectrum receiver with multi-bit correlator
US5907578A (en) * 1996-05-20 1999-05-25 Trimble Navigation Weighted carrier phase multipath reduction
US6034635A (en) * 1996-06-06 2000-03-07 Gilhousen; Klein S. Method for using only two base stations for determining the position of a mobile subscriber in a CDMA cellular telephone system
US5859612A (en) * 1996-06-06 1999-01-12 Qualcomm Incorporated Method for using an antenna with a rotating beam for determining the position of a mobile subscriber in a CDMA cellular telephone system
US6151353A (en) * 1996-07-12 2000-11-21 General Electric Company Pre-acquisition frequency offset removal in a GPS receiver
US5896304A (en) 1996-07-12 1999-04-20 General Electric Company Low power parallel correlator for measuring correlation between digital signal segments
KR100197352B1 (ko) * 1996-07-31 1999-06-15 이계철 기준 정합여파기를 이용한 병렬포착시스템
US5901183A (en) * 1996-09-25 1999-05-04 Magellan Corporation Signal correlation technique for a receiver of a spread spectrum signal including a pseudo-random noise code that reduces errors when a multipath signal is present
US6256337B1 (en) * 1996-11-21 2001-07-03 Dsp Group, Inc. Rapid acquisition of PN synchronization in a direct-sequence spread-spectrum digital communications system
US5812087A (en) * 1997-02-03 1998-09-22 Snaptrack, Inc. Method and apparatus for satellite positioning system based time measurement
US6377209B1 (en) * 1997-02-03 2002-04-23 Snaptrack, Inc. Method and apparatus for satellite positioning system (SPS) time measurement
US6289041B1 (en) 1997-02-11 2001-09-11 Snaptrack, Inc. Fast Acquisition, high sensitivity GPS receiver
US5864315A (en) 1997-04-07 1999-01-26 General Electric Company Very low power high accuracy time and frequency circuits in GPS based tracking units
US5920278A (en) * 1997-05-28 1999-07-06 Gregory D. Gibbons Method and apparatus for identifying, locating, tracking, or communicating with remote objects
US6307840B1 (en) * 1997-09-19 2001-10-23 Qualcomm Incorporated Mobile station assisted timing synchronization in CDMA communication system
US5872774A (en) * 1997-09-19 1999-02-16 Qualcomm Incorporated Mobile station assisted timing synchronization in a CDMA communication system
US6005899A (en) * 1997-09-29 1999-12-21 Ericsson, Inc. Method for efficiently computing sequence correlations
US5949364A (en) 1998-01-06 1999-09-07 The United States Of America As Represented By The Administration Of The National Aeronautics And Space Administration Method and system for producing images of an object
US6298083B1 (en) * 1998-03-16 2001-10-02 Trimble Navigation Limited Power savings technique for a positioning system receiver
US6252543B1 (en) * 1998-05-28 2001-06-26 Ericsson Inc. Location system combining ranging measurements from GPS and cellular networks
US6208291B1 (en) * 1998-05-29 2001-03-27 Snaptrack, Inc. Highly parallel GPS correlator system and method
US6236354B1 (en) * 1998-07-02 2001-05-22 Snaptrack, Inc. Reducing satellite signal interference in a global positioning system receiver
US6327473B1 (en) * 1998-09-08 2001-12-04 Qualcomm Incorporated Method and apparatus for increasing the sensitivity of a global positioning satellite receiver
US6211820B1 (en) * 1998-09-09 2001-04-03 Qualcomm Incorporated Call maintainance during position location
US6324227B1 (en) * 1998-09-09 2001-11-27 Qualcomm Incorporated Receiver for performing position location with efficient rotator
US6181911B1 (en) * 1998-09-09 2001-01-30 Qualcomm Incorporated Simplified receiver with rotator for performing position location
US6208292B1 (en) * 1998-09-09 2001-03-27 Qualcomm Incorporated Position location with low tolerance oscillator
US6157891A (en) * 1998-11-16 2000-12-05 Lin; Ching-Fang Positioning and ground proximity warning method and system thereof for vehicle
US6121923A (en) * 1999-02-19 2000-09-19 Motorola, Inc. Fixed site and satellite data-aided GPS signal acquisition method and system
US6370208B1 (en) 1999-02-26 2002-04-09 Industrial Technical Research Institute Correlator for CDMA applications
US6363108B1 (en) * 1999-03-31 2002-03-26 Qualcomm Inc. Programmable matched filter searcher
AU4486700A (en) * 1999-04-23 2000-11-10 Global Locate, Inc. Apparatus for computing gps correlations in parallel
JP2000310673A (ja) * 1999-04-26 2000-11-07 Matsushita Electric Ind Co Ltd Gps受信機
US6292132B1 (en) 1999-08-13 2001-09-18 Daimlerchrysler Ag System and method for improved accuracy in locating and maintaining positions using GPS

Also Published As

Publication number Publication date
EP1430616A1 (en) 2004-06-23
US20020172306A1 (en) 2002-11-21
WO2003028240A1 (en) 2003-04-03
EP1430616B1 (en) 2014-04-02
EP1430616A4 (en) 2010-06-09
US6819707B2 (en) 2004-11-16
KR100937130B1 (ko) 2010-01-15
JP2005505759A (ja) 2005-02-24

Similar Documents

Publication Publication Date Title
KR100937130B1 (ko) 히스토리 상관 데이터를 사용하여 신호 상관을 수행하기위한 방법 및 장치
EP2081041B1 (en) Method and apparatus for performing frequency synchronization
KR100906959B1 (ko) 신호 상관관계를 계산하기 위한 방법 및 장치
US8005174B2 (en) Method and apparatus for performing signal correlation using historical correlation data
EP1529224B1 (en) Method and apparatus for performing signal correlation at multiple resolutions to mitigate multipath interference
KR100942207B1 (ko) 다중 분석에서 신호 상관을 계산하는 방법 및 장치
US7190712B2 (en) Method and apparatus for performing signal correlation
JP2005519311A (ja) 信号相関を実行する方法及び装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150108

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160106

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171227

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 11