KR100964935B1 - 이력 상관 데이터를 이용하여 신호 상관을 수행하는 방법및 장치 - Google Patents

이력 상관 데이터를 이용하여 신호 상관을 수행하는 방법및 장치 Download PDF

Info

Publication number
KR100964935B1
KR100964935B1 KR1020067009798A KR20067009798A KR100964935B1 KR 100964935 B1 KR100964935 B1 KR 100964935B1 KR 1020067009798 A KR1020067009798 A KR 1020067009798A KR 20067009798 A KR20067009798 A KR 20067009798A KR 100964935 B1 KR100964935 B1 KR 100964935B1
Authority
KR
South Korea
Prior art keywords
correlation
signal
history
complex
coprocessor
Prior art date
Application number
KR1020067009798A
Other languages
English (en)
Other versions
KR20060094098A (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 KR20060094098A publication Critical patent/KR20060094098A/ko
Application granted granted Critical
Publication of KR100964935B1 publication Critical patent/KR100964935B1/ko

Links

Images

Classifications

    • 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
    • G01S1/00Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith
    • 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
    • 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
    • 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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/14Determining absolute distances from a plurality of spaced points of known location
    • 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/23Testing, monitoring, correcting or calibrating of receiver elements
    • G01S19/235Calibration of receiver components
    • 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)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Holo Graphy (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

위성 위치 확인 시스템 수신기의 위성 신호 파라미터를 예측하는 방법 및 장치가 개시된다. 예시에서, 프로세서로부터의 명령에 응하여 위성 신호와 기준 신호 간의 다수의 상관 결과가 생성된다. 위성 위치 확인 시스템 수신기 내에 집적된 보조 프로세서를 이용하여 다수의 상관 결과로부터 적어도 하나의 위성 신호 파라미터가 예측된다. 적어도 하나의 위성 신호 파라미터는 프로세서에 제공된다.

Description

이력 상관 데이터를 이용하여 신호 상관을 수행하는 방법 및 장치{METHOD AND APPARATUS FOR PERFORMING SIGNAL CORRELATION USING HISTORICAL CORRELATION DATA}
본 발명은 디지털 신호 수신기용 신호 상관기에 관한 것으로, 특히 본 발명은 예를 들어 글로벌 위치 확인 시스템(GPS) 수신기에서 이력 상관 데이터를 이용하여 신호 상관을 수행하는 방법 및 장치에 관한 것이다.
글로벌 위치 확인 시스템(GPS) 신호를 측정하는 프로세스는 알려진 의사 랜덤 잡음(PRN) 코드에 대해 인입 신호의 일련의 상관을 시도함으로써 잡음 속에서 GPS 신호를 검색하는 프로시저로 시작한다. 신호의 정확한 주파수 및 도착시간 지연 모두 알려져 있지 않기 때문에 검색 프로세스는 길어질 수 있다. 신호를 찾기 위해, 종래에 수신기는 2차원 검색을 수행하여 가능한 주파수마다 각각의 지연 가능성을 체크한다. 특정 주파수 및 지연에서 신호의 존재를 조사하기 위해, 수신기는 주파수 조정되고, 인입 신호는 도착시간에 해당하는 양만큼 지연된 기지의 PRN 코드와 상관된다. 신호가 검출되지 않으면, 다음 지연 가능성까지 검색이 계속되고, 모든 지연 가능성이 체크된 후 다음 주파수 가능성까지 계속된다. 충분한 신호 평균화가 신호와 잡음과 구별할 수 있도록 1 이상의 밀리 초에 걸쳐 각각의 개 별 상관이 수행된다. 수천 개의 주파수 및 지연 가능성이 체크되기 때문에, 전체 포착 프로세스는 수십 초가 걸릴 수 있다.
최근, 무선 장치에서 GPS 기술의 새로운 애플리케이션이 출현했는데, 예를 들어 비상 위치 파악 능력을 제공하기 위해 셀룰러폰에 GPS를 이용하는 것이다. 이러한 애플리케이션에서는, 단 몇 초 안의 신속한 신호 포착이 필요하다. 더욱이, 이러한 애플리케이션은 GPS 신호 레벨이 크게 감쇠하는 거슬리는 신호 환경 및 실내에서 동작하는 GPS 수신기를 필요로 한다. 감쇠한 신호의 검출은 비교적 긴 시간에 걸쳐 수행되어야 하는 각각의 상관을 필요로 한다. 예를 들어, 종래의 GPS 수신기에서 사용되는 1~10 밀리 초와 반대로, 단 몇 초에 걸쳐 적분이 수행될 수도 있다. 종래의 수신기에 의해 채용된 2차원 순차 검색 프로세스는 전체 검색 시간이 100 또는 그 이상의 팩터만큼 증가하기 때문에 이러한 긴 적분 시간으로는 비실용적이 된다.
검색 프로세스를 가속하기 위해, GPS 설계자들은 수신기에 추가 상관기를 부가하여 다수의 도착시간 가능성이 동시에 체크될 수 있다. 통상적으로, 부가된 각 상관기는 개별 코드 믹서 및 신호 누산기를 필요로 한다. 소정의 감도 레벨에 대해 이는 상관기의 개수에 비례하여 검색 시간을 감소시킨다. 셀룰러폰 애플리케이션에서 요구되는 감도 및 포착 시간을 달성하기 위해, 설계는 수천 개의 상관기를 통합해야 할 수도 있다. 이러한 부가는 통상적으로 소비자 계층 장치에 대해서는 엄청나게 복잡하고 비싸다.
예를 들어, 1999년 5월 4일자 발포된 미국 특허 5,901,171호는 12개 채널 각 각에 대해 20까지의 동시 상관을 수행하는데 단일 시간 공유 처리 블록이 사용될 수 있게 하는 트리플 멀티플렉싱 기술을 개시하고 있다. 이는 20개의 지연 가능성의 블록이 동시에 체크되기 때문에 단일 상관기 설계에 비해 성능 향상을 제공한다. 전체 지연 불확정성 범위에 걸친 전체 신호 검색은 2046의 지연 체크에 이에 20개의 상관기 블록의 이용을 약 100배 필요로 한다. 따라서 단 몇 초 내에 포착이 수행되어야 한다면, 적분 시간은 수천 밀리 초로 제한된다. 이는 실내 GPS 애플리케이션에 필요한 감도를 달성하기에 불충분하다.
검색 프로세스를 더 개선하기 위해, 다른 GPS 수신기 구조는 인입 신호와 기지의 PRN 코드 사이의 컨볼루션을 생성할 수 있는 처리를 포함한다. 이는 전체 시간 지연 가능성을 전체 C/A 코드 에폭(epoch)(1023개의 칩)에 걸쳐 확대하는 완전한 상관기 세트를 제공하는 것과 같으며, 1997년 9월 2일자 발포된 미국 특허 5,663,734호는 소프트웨어 알고리즘을 이용하여 필요한 상관 결과를 효율적으로 생성하는 고속 푸리에 변환(FFT) 기반 소프트웨어 기술을 개시하고 있다. 이러한 접근은 모든 애플리케이션에 적합한 것은 아닌데, 소프트웨어 FFT를 실행하기 위해 프로그래밍 가능 디지털 신호 프로세서(DSP)가 필요하고, 처리되지 않은 신호 샘플들을 저장하기 위해 대형 메모리가 필요하기 때문이다. 더욱이, 이러한 접근은 소프트웨어 처리가 신호의 완전한 스냅 샷이 저장된 후에만 시작한다는 사실 및 소프트웨어 연산으로 인한 긴 처리 지연을 가질 수 있다. 많은 애플리케이션에서는 실시간 처리 해법이 바람직하며, 바람직하게는 광대한 소프트웨어 처리를 수반하지 않는 것이다. Lyusin 등은 "GPS/GLONASS 수신기를 위한 정합 필터 기술에 의한 고 속 포착" pp 307~315에 1023개의 탭을 갖는 정합 필터를 이용하여 실시간으로 컨볼루션을 수행하는 하드웨어 접근을 개시하고 있다. 정합 필터는 전체 C/A 코드 에폭은 물론 신호의 전체 에폭과 C/A 코드와의 내적을 생성하는 1023 폭의 벡터 곱셈기 및 가산기 유닛을 갖기에 충분히 큰 시프트 레지스터들로 구성된다.
이 회로는 셀룰러폰과 같은 저가의 소비자 장치의 제약에 비해 복잡하다. P-코드 포착용 군사 계층 수신기에 이용되는 것과 같은 다른 정합 필터 접근 또한 큰 벡터 곱셈기들을 통합한다.
따라서 전체 신호 에폭 및 C/A 코드를 처리할 수 있는 개선된, 간소하고 저가의 GPS 처리 블록이 필요하다. 이러한 장치는 비교적 간단한 하드웨어로부터 구성되어야 하지만, 바람직하게는 큰 벡터 곱셈기 없이 전(full) 컨볼루션 또는 많은 병렬 상관을 생성할 수 있어야 한다.
본 발명은 처리되지 않은 신호 샘플의 저장 없이, 그리고 광대한 소프트웨어 처리 없이 실시간으로 컨볼루션 결과를 생성함으로써 입력 신호(예를 들어, GPS 신호)와 의사 랜덤 잡음(PRN) 코드 기준 사이의 전 컨볼루션을 연산하기 위한 방법 및 장치를 제공한다. 상기 장치는 전체 에폭을 처리하는 크기의 벡터 곱셈기와 동일한 결과를 달성하기 위해 고속으로 실행하는 벡터 곱셈기를 포함한다. 본 발명은 셀룰러폰과 같은 소비자 계층 장치의 복잡도 제약에 맞는 집적 회로에 구현될 수 있다. 설계는 높은 감도를 확보하기 위해 컨볼루션 결과의 장기 평균화를 가능하게 하는 필수 로직을 포함한다. 본 발명은 실내에서 수신된 신호를 포함하여 크게 감쇠한 신호로부터 위치 확인을 유도하는데 사용되는 신호들을 상관시킬 수 있다.
완전한 장치는 종래의 GPS 튜너, 부분 제거(decimation) 회로, 컨볼루션 프로세서, 및 컨볼루션 결과를 누적하는 RAM 블록으로 구성된다. 컨볼루션 프로세서는 소형 회로 블록의 반복 사용에 의해 전 컨볼루션의 연산을 가능하게 하는 100㎒ 이상의 높은 클록 속도로 실행한다. 구체적으로, 각 컨볼루션 지점은 일련의 부분 상관으로 분해되며, 이들 각각은 에폭의 일부분만을 처리하는 크기의 벡터 곱셈기를 사용하여 생성된다. 장치는 C/A 코드를 중첩되지 않는 코드 세그먼트 세트로 세분함으로써 부분 상관을 구성한다. 각각의 부분 상관은 한번에 하나의 코드 세그먼트만을 사용하여, C/A 코드가 간단한 검색 테이블을 이용하여 효율적으로 저장 및 검색될 수 있게 한다.
프로세서는 입력 IF 샘플들을 부분 제거하여 원하는 샘플 레이트로 신호 스트림을 생성하는 것으로 시작하며, 샘플 레이트는 인입 신호의 타이밍에 정확하게 정합한다. 원하는 샘플 레이트가 Pf0(C/A 칩당 P개의 샘플)라면, 샘플링 레이트는 각각의 신호 에폭에서 정확히 1023 × P개의 샘플이 취득되도록 설정된다. 프로세서는 P × K개의 입력 샘플을 갖는 크기의 시프트 레지스터를 통해 신호 클록킹 신호들을 상관시키며, K는 1023의 약수이다. 각각의 신호 시프트에서, 일련의 M회의 부분 상관 연산이 수행되며, M은 M × K = 1023이 되도록 선택된다. 각각의 부분 상관은 신호 시프트 레지스터들의 내용과 C/A 코드의 K 길이 세그먼트를 P × K개의 샘플까지 확장함으로써 생성된 기준 샘플 블록과의 내적으로 구성된다. 부분 상관 결과는 메모리에 누적된다. 부분 상관 결과를 누적함으로써, 프로세서는 전 컨볼루션까지 많은 상관 지점에 대한 완전한 상관 결과를 생성한다.
상관 처리를 향상시키기 위해, 본 발명의 추가 실시예는 상관 이력 모드를 이용하여 상관기를 작동시킨다. 이 실시예에서, 상관 이력을 형성하는 미리 정해진 기간에 걸친 상관 결과를 저장하는데 RAM이 사용된다. 상관 이력 모드는 부분 상관 처리를 수행하기 전에 하나 이상의 위성에 대한 네비게이션 데이터 비트의 타이밍 및 도플러 주파수 에러를 해결하기 위해 조정될 수 있는 수신기 파라미터를 추정하는데 사용된다. 추정된 수신기 파라미터는 수신기 오실레이터의 주파수 및/또는 수신기 타이밍 에러이다.
다른 실시예에서, 위성 위치 확인 시스템 수신기가 프로세서에 결합된다. 예를 들어, 위성 위치 확인 시스템 수신기는 셀룰러폰과 같이 중앙 처리 유닛을 포함하는 모바일 장치 내에 구현될 수 있다. 이 실시예에서, 프로세서로부터의 명령에 응하여 위성 신호와 기준 신호 간의 다수의 상관 결과가 생성된다. 위성 위치 확인 시스템 수신기 내에 통합된 보조 프로세서(co-processor)를 이용하여 다수의 상관 결과로부터 적어도 하나의 위성 신호 파라미터가 추정된다. 적어도 하나의 위성 신호 파라미터는 프로세서에 제공된다.
본 발명의 상술한 특징들을 상세히 이해할 수 있는 방식으로, 상기에 간단히 요약한 본 발명의 보다 구체적인 설명이 실시예를 참조로 이루어질 수 있으며, 일부 실시예들이 첨부 도면으로 설명된다. 그러나 첨부 도면은 본 발명의 통상적인 실시예를 예시하는 것뿐이므로 그 범위의 한정으로 간주해서는 안 되며, 발명에 대해 다른 동일한 효과의 실시예에 허용될 수도 있음에 유의한다.
도 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은 비트 타이밍 축을 따라 절단한 도 14의 그래프의 단면이다.
도 17은 상관 이력 모드를 이용하는 상관 프로세스의 흐름도이다.
도 18은 외부 처리 유닛에 연결된 GPS 수신기의 다른 실시예를 나타내는 블록도이다.
도 19는 본 발명에 따른 위성 신호 파라미터 추정 프로세스의 예시적인 실시예를 나타내는 흐름도이다.
도 20은 도 18의 GPS 수신기 내의 보조 프로세서의 예시적인 실시예를 나타내는 블록도이다.
도 21은 비트 타이밍 측정 명령에 응하여 발생한 비트 히스토그램의 예를 나타낸다.
도 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 위성으로부터의 신호를 처리하는데 사용될 수 있다. 특정 채널의 신호는 튜너(105)에 의해 디지털 조정되어 수치 제어 오실레이터(NCO;106)에 의해 구동된다. 튜너(105)는 두 가지 용도로 쓰인다. 첫째, RF/IF 변환 후에 남아있는 IF 주파수 성분이 제거된다. 둘째, 위성 운동, 사용자 움직임 및 기준 주파수 에러로 인한 위성 도플러 주파수 편이가 제거된다. 튜너로부터의 출력은 동상 성분(I) 및 직교 성분(Q)으로 구성된 기저대역 신호이다. 튜너(105) 및 NCO(106)의 단계는 종래의 GPS 수신기 설계에 사용된 것과 실질적으로 유사하다.
부분 제거 회로(107)는 튜너(105)의 출력을 처리한다. 부분 제거 회로(107)의 출력은 I 및 Q 성분을 갖는 일련의 복소 신호 샘플이며, 입력 신호의 타이밍과 정합하도록 정확히 맞춰진 속도로 출력된다. 본 발명의 일 실시예에서, 부분 제거 동작은 출력 샘플 주기에 걸쳐 모든 인입 신호 샘플을 합산하는 단순한 사전 합산기이다. 수치 제어 오실레이터(NCO;108)는 샘플링 프로세스의 타이밍 조절에 사용된다. 예를 들어, P = 2라면, 코드 NCO(108)는 (2 × fs)의 주파수를 생성하도록 설정되며, fs는 f0이며(GPS 신호의 C/A 코드 칩 레이트), 도플러 편이에 대해 조정된다. NCO는 펌웨어 명령으로부터의 외부 입력을 기초로 도플러 편이를 조정한다. 도플러 편이는 위성마다 다르기 때문에, 채널(104n)마다 개별 코드 NCO(108) 및 부분 제거 회로(107)가 필요하다. 코드 NCO(108)는 임의의 주파수를 생성할 수 있기 때문에 인입 샘플 레이트가 fs의 정수 배라는 요건은 없음에 유의해야 한다. 부분 제거 회로(107)가 사전 합산기라면, 합산되는 샘플 수는 통상적으로 두 값 사이에 토글되어, 장기간에 걸쳐 정확한 샘플 타이밍이 유지된다. 예를 들어, 인입 샘플 레이트가 10㎒이고 원하는 샘플 레이트가 2.046㎒라면, 사전 합산기는 4 또는 5개의 샘플을 더하여 평균적으로 원하는 샘플 레이트가 유지된다.
부분 제어 회로(107)는 그 출력에 양자화기(도시 생략)를 포함하여, 추가 처리 전에 신호 성분의 비트 수를 줄일 수도 있다. 본 발명의 일 실시예에서는 2 비트 양자화가 이용된다.
부분 제거 회로(107)로부터의 신호 샘플들은 컨볼루션 프로세서(109)에 연결된다. 컨볼루션 프로세서(109)는 신호 랜덤 액세스 메모리(RAM;110a, 110b)에 저장되는 결과를 생성한다. 구체적으로, 이들 RAM(110a, 110b)은 입력 신호와 기준 PN 코드(예를 들어, GPS C/A 코드) 사이의 전 컨볼루션의 전부 또는 일부를 구성하는 복소 벡터를 갖고 있다. 컨볼루션 결과는 신호와 기준(PN 코드) 사이의 높은 상관에 대응하는 지점에 피크를 갖게 된다. 하기에 상세히 설명하는 바와 같이, 각종 위성 신호에 대한 피크의 상대 위치가 위치 정보의 최종 연산에 사용된다.
컨볼루션 프로세서(109) 및 신호 RAM(110a, 110b)은 명목상 1 밀리 초 간격으로 반복하는 GPS 신호의 다수 에폭에 대한 컨볼루션 결과를 누적한다. 예를 들 어, 10 밀리 초의 신호가 처리된다면, 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)의 출력을 나타낸다. 간결성을 위해, 각각 3회의 코히어런트 적분에 기반한 3회의 크기 누적으로 구성되는 9 밀리 초의 신호 처리 시간만 도시한다. 예시에서, P = 2이므로 코히어런트 적분당 2046개의 신호 샘플이 있다. 파형(201I, 201Q)은 컨볼루션 프로세서(109)로부터의 출력이며, 201I는 출력의 I 성분이고 201Q는 Q 성분이다. 2046 샘플의 각 블록은 전 컨볼루션 결과이며, 기간 중에 처리되는 2046개의 신호 샘플로부터 컨볼루션 프로세서(109)에 의해 실시간으로 생성된다. 컨볼루션 결과는 (참조부호 206I 및 206Q로 지시한 것과 같이) 시간 지연에 대응하는 신호 피크 주변 제외하고 잡음을 포함한다. 신호는 에폭마다 반복하여, 피크는 각각의 2046개의 샘플을 다시 나타낸다. 처음 3 주기에 걸쳐 각 에폭으로부터의 해당 지연시의 값들을 합산함으로써 상관 결과가 RAM(110a, 110b)에 누적된다. (예를 들어, 출력 시간 4에서의 값이 출력 시간 2050 및 2096에서의 값과 합산된다.) 상관 피크는 항상 동일한 지연 오프셋에 나타나고 피크의 크기는 누적에 따라 증가하여, 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은 누적 크기 파형을 더욱 상세히 나타낸다. 도표(300)는 신호의 지연 시간에 대응하는 피크(2123) 주변의 컨볼루션 크기를 나타낸다. 코드 칩 축(210) 상의 지점들은 P로 나눈 C/A 코드 칩 길이와 동일한 간격으로 떨어지며, P는 신호 샘플링 레이트와 f0, 즉 C/A 코드 칩 레이트와의 비이다. 예시에서, P = 2이므로, 지점들은 1/2 칩 간격 또는 약 500㎱의 간격을 갖는다. (이 시간 간격은 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 성분을 처리하는 시프트 레지스터(410a, 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개의 신호 샘플 각각에 (33개의 코드 샘플을 코드 확장기(409)로 확장함으로써 형성된) 66개의 코드 샘플을 곱하고, 결과를 합산기(412a, 412b)에서 합산하는 것으로 구성된다. 연산은 I 및 Q 채널에서 개별적으로 동시에 일어난다. 수학적으로, 이 연산은 내적이라 하며, 다음과 같이 정의된다.
Figure 112006035045670-pct00001
RAM(404a, 404b)의 오버플로를 피하기 위해 벡터 곱 및 합의 출력은 재-양자화되어 작은 범위의 수로 유지할 수 있다. 간결성을 위해, 양자화기는 도시하지 않는다. 일 실시예에서, 재-양자화는 2비트의 분해능이다.
벡터 곱 및 합의 결과는 가산기(403a, 403b)에 의해 누적되고 컨볼루션 결과 처리 회로(400)에 의해 처리된다. 회로(400)는 신호 RAM(110a, 110b), 복소 정규화기(111), 가산기(112), 및 신호 RAM(111a, 404b)에 저장된 크기 RAM(113)을 포함한다. 누적 프로세스는 RAM(110a, 110b)로부터 특정 시간 지연에 대한 현재 값을 읽고, 바로 계산된 부분 상관을 가산하여, 합계를 다시 RAM(110a, 110B)에 기록하는 것으로 구성된다. 특정 시간 지연에 대응하는 부분 상관을 적절히 조합함으로 써, 그 지연에 대한 전 상관이 계산된다. 상술한 바와 같이, 프로세스는 신호대 잡음비를 향상시키기에 바람직한 정도로 많은 신호 에폭 동안 계속된다. 따라서 가산기(403a, 403b)는 두 가지 용도: 에폭 내에서 부분 상관들의 조합; 및 여러 에폭에 걸친 상관들의 누적에 쓰인다.
신호 RAM(110a, 110b)으로부터의 출력은 복소 정규화기(405)에서 조합되어 신호의 크기를 형성한다. RMA(110a, 110b)의 I 및 Q 파형은 복소 파형의 실수부 및 허수부로 제시될 수 있다. 크기의 형성은 각 성분의 제공, 결과 합산 및 결과의 제곱근으로 구성된다. 회로를 간소화하는데 사용될 수 있는 크기에 대한 여러 근사값이 있다. 일 실시예에서, 복소 크기는 I 및 Q의 스칼라 크기를 개별적으로 취하여 어느 것이 더 큰지를 결정함으로써 근사화된다. 크기는 더 큰 크기를 취하고 그것을 더 작은 크기의 1/2에 더함으로써 근사화될 수 있다.
크기 연산의 결과는 RAM(113)의 오버플로를 피하기 위해 작은 범위의 값을 유지하도록 스케일링될 수 있다. 간소화를 위해, 스칼라는 도시하지 않는다. 일 실시예에서, 스케일링은 결과를 3비트(즉, 8로 나누어떨어진) 시프트하는 것으로 구성된다.
신호 크기보다는 신호 전력을 누적하는 것이 가능하다. 이 경우, 405에서의 연산은 전력 예측이며, 통상적으로는 I 및 Q의 제곱의 합을 취함으로써 계산된다. 이 경우, 도 3을 참조로 설명한 의사 거리 결정 알고리즘은 크기 파형과 반대로 전력 파형에 대한 맞춤을 수행하도록 약간 변형되어야 한다. 대안으로, I 및 Q의 크기 또는 전력을 나타내는 값을 생성하는데 추가적인 비선형 연산이 사용될 수 있 다.
복소 정규화기(111)로부터의 출력은 가산기(112)에 의해 크기 RAM(113)에 누적된다. 누적 프로세스는 RAM(113)으로부터 특정 시간 지연에 대한 현재 크기 값을 읽고, 바로 계산된 크기 결과에 가산하여, 합을 RAM(113)에 다시 기록하는 것으로 구성된다. 상술한 바와 같이, 크기 누적은 신호대 잡음비 향상을 달성하는데 필요한 주기 동안 계속된다.
벡터 곱셈기(402a, 402b)는 각 신호의 시프트에 대해 M회의 부분 상관을 수행한다. 코드 검색 회로(408)는 각 부분 상관에 대한 기준 코드 샘플을 생성한다. 검색은 2개의 검색 지표에 의해 제어된다. 첫째, 코드는 32개의 코드 중 1로부터 선택되어야 한다. 이 선택은 컨볼루션 프로세스에 걸쳐 일정하며, 처리 채널이 특정 위성 신호에 대해 상관하도록 구성될 때 이루어진다. 두 번째 지표는 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회의 부분 상관의 수행을 필요로 한다. 통상적으로, RAM(110a, 110b)을 판독 및 기록하는데 적어도 두 클록 주기가 필요하다. 두 클록 주기를 가정하며, 전 컨볼루션을 달성하는데 필요한 최소 클록 속도는 다음과 같다: fclk = 2 × 31 × 2 × f0 = 2 × 31 × 2 × 1.023 ㎒
Figure 112006035045670-pct00002
127 ㎒ 이 속도는 최신 집적 회로 로직에서 쉽게 달성할 수 있다.
본 발명은 전 컨볼루션의 부분 집합을 계산하는데 사용될 수도 있음에 유의해야 한다. 이 경우, 신호 시프트 레지스터의 각 시프트에 대해 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.39㎓, 380㎒, 135㎒, 127㎒, 45㎒의 클록 속도를 필요로 한다(항상 P = 2이고 부분 상관당 2 클록 주기로 가정). 증명시 이용 가능한 기술을 기반으로, 일 실시예에 대해 K = 33의 선택이 이루어졌다. 미래의 기술로는, K = 11 및 380㎒의 클록 속도의 선택이 실행 가능해질 수 있으며, 로직 복잡도를 더 감소시키게 된다. 따라서 구조는 속도와 로직 복잡도 사이의 최적화된 거래를 지원하는 바람직한 속성을 갖는다.
코드 세그먼트의 시퀀스는 제어 로직(414)에 의해 제어된다. 또한, 이 제어 로직은 RAM(110a, 110b, 113)에 대한 정확한 어드레스를 식별한다. 후술하는 바와 같이, 비순차적으로 부분 상관이 생성되어, RAM 어드레스의 생성은 명백하지 않다(non-trivial).
도 4의 회로의 동작은 도 5의 흐름도를 참조로 이해될 수도 있다. 동작은 단계(501)에서 신호 시프트 레지스터(401a, 401b)의 프리 로딩(pre-loading)으로 시작한다. 이 시점에서, 컨볼루션 처리가 시작할 수 있다. 단계(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으로 표시한 시점에서 시작한다. 이 시점에서, 2개의 신호 샘플이 신호 시프트 레지스터(701)에 있다. 신호 샘플은 대문자 지표(A, B)를 붙인다. 코드의 6개의 샘플은 길이 2의 각각의 3개의 세그먼트에 포함된다. 첫 번째 코드 세그먼트(702)는 소문자 지표(a, b)를 붙인 2개의 코드 샘플을 포함한다. 신호는 3회의 부분 상관 연산 동안 제자리에 유지되어, 부분 상관 결과(703a, 703b, 703c)를 산출한다. 첫 번째 부분 상관 결과는 신호 레지스터의 내용과 제 1 코드 세그먼트(세그먼트 1) 사이의 벡터 곱 및 합에 의해 생성되다. 두 번째 및 세 번째 결과는 각각 제 2 및 제 3 코드 세그먼트를 가진 신호 레지스터의 벡터 곱에 의해 생성된다. 신호 레지스터는 모든 3-벡터 곱이 수행되기에 충분한 시간 동안 제자리에 유지되며, 그동안 코드는 시프트되지 않고, 다른 코드 세그먼트가 선택된다는 점에 유의한다.
부분 상관 결과들은 신호 경로(705)에 따라 메모리에 누적된다. 예를 들어, 시프트 0에서 제 1 코드 세그먼트로부터의 부분 상관은 상관 결과(704)에 합산된다. 제 2 세그먼트로부터의 부분 상관은 시프트 2에 대한 상관 결과(706)에 합산된다. 제 3 세그먼트로부터의 부분 상관은 시프트 4에 대한 상관 결과(708)에 기여한다.
3회의 부분 상관 후 신호가 시프트된다. 시프트 1로서 표시한 이 단계에서, 신호 레지스터는 샘플(F, A)을 포함한다. 또한, 3회의 부분 상관은 이전과 같이 동일한 3개의 코드 세그먼트로 생성된다. 이들 부분 상관으로부터의 결과는 각각 시프트 1, 3, 5에 대한 상관 결과(710, 712, 714)에 기여한다. 프로세스는 4번의 추가 신호 시프트에 대해 계속되고, 이 시점에서는 전 컨볼루션 결과가 이용 가능하다. 알 수 있듯이, 동작은 컨볼루션을 포함하는 6개의 전체 결과에 기여하는 총 18회의 부분 상관을 생성할 필요가 있다.
도 7에 의해 설명한 구조는 본 발명의 두 가지 중요한 특성을 설명한다. 첫째, 전 컨볼루션은 시프트 레지스터 및 길이 2의 벡터 곱 및 합 유닛만을 이용하여 길이 6의 코드에 대해 생성되었음이 명백하다. 이는 엘리먼트의 길이가 6인 도 6보다 적은 수의 회로를 필요로 한다. 둘째, 도 7에서, 코드 샘플들은 각각의 시프트에 대해 동일한 고정 세그먼트에 액세스되며, 각 세그먼트는 코드의 개별 비-중첩 섹션이다. 따라서, 도 8 및 도 9를 참조로 더 설명하는 바와 같이, 벡터 곱셈기에 코드를 제공하는데 샘플 검색 또는 레지스터 방식이 사용될 수 있다. 이러한 방식은 예를 들어 더 복잡한 순열 세트에 이용 가능하게 하기 위해 큰 코드 비트 블록을 필요로 할 수 있는 다른 구조보다 적은 수의 회로를 필요로 한다. 본 발명은 또한 코드 생성 회로를 제공할 필요성을 없앤다.
도 8은 본 발명에 적합한 코드 검색 회로(408)의 일 실시예의 블록도를 나타낸다. 테이블(801)은 예를 들어 판독 전용 메모리(RON) 또는 하드웨어 배선 로직에 각각 32개의 코드로 이루어진 총 1023비트에 대해 저장된 값을 포함한다. 테이 블(801)은 코드마다 하나씩 32개의 서브 테이블로서 구성된다. 각각의 서브 테이블은 K 길이의 M개의 세그먼트로서 구성되며, K × M = 1023이고, K 및 M은 상술한 바와 같이 선택된다. 다중화기(802)는 선택 값을 기초로 특정 코드를 선택한다. 다중화기(802)의 출력은 바람직하게는 특정 서브 테이블이다. 다중화기(803)는 1과 M 사이의 세그먼트 선택 값을 기초로 특정 세그먼트를 선택한다. 다중화기(803)의 출력은 길이가 K인 특정 코드 세그먼트(804)를 가지며, 이 세그먼트(804)는 코드 확장기(409)에 제공되는 코드 비트를 포함한다.
다중화기(803)는 코드 세그먼트가 각각의 부분 상관을 위해, 즉 두 클록 주기마다 교환될 수 있도록 고속이어야 한다는 점에 유의해야 한다. 이러한 이유로, 코드 생성기의 종래 방식으로 플라이(fly)에 생성되는 것과 반대로, 모든 코드 비트가 테이블(801)에 미리 저장될 필요가 있다.
도 8의 회로는 예시를 위한 것이다. 실제로, 기능적으로 동일한 많은 다른 회로 설계가 있다. 특히, 최신 ASIC 설계에 사용되는 로직 시스템 설계의 프로세스는 상술한 것과 동일한 동작을 달성하지만 반드시 설명한 방식으로 다중화기들을 사용하는 것은 아닌 게이트들의 특정 패턴을 이끌게 된다.
도 9는 본 발명에 적합한 코드 검색 회로(408)의 다른 실시예의 블록도를 나타낸다. 특정 코드에 대응하는 1023 코드 비트가 1023개의 양방향 시프트 레지스터(901)에 유지되고, 길이가 K인 M개의 행으로 구성된다. 시프트 레지스터는 두 가지 모드: 실행 모드 및 로딩 모드로 동작한다.
실행 모드에서, 각 레지스터(901)는 레지스터의 최하단 행으로 시프트하는 레지스터의 최상단 행을 제외하고, 다음 행에 있는 그 앞의 레지스터로 샘플을 시프트하도록 구성된다. 실행 모드에서 시프트 방향은 901 내의 실선 화살표로 표시된다. 모든 레지스터를 클록킹 함으로써 코드 비트 행들은 어떤 시점에서 상부 행이 길이가 K인 M개의 코드 세그먼트 중 하나를 포함하도록 순환할 것이다. 이 상부 비트 행은 코드 확장기(409)에 제공된다. 레지스터는 고속으로 순환하여, 각각의 부분 상관에 대해 다른 코드 세크먼트가 이용 가능하게 한다.
로딩 모드에서, 각 레지스터는 상기 행에서 레지스터의 첫 번째 행으로 시프트하는 레지스터의 마지막 행을 제외하고, 그 행에서 다음 레지스터로 샘플을 시프트하도록 구성된다. 로딩 모드에서 시프트 방향은 901 내의 점선 화살표로 표시된다. 좌측 하단 시프트 레지스터(904)는 코드 생성기(902)에 접속된다. 코드 생성기는 종래의 코드 생성기이며, 이는 선택 값을 기초로 특정 코드의 1023 코드 비트를 순차적으로 생성할 수 있다. 특정 코드에 대해 코드 검색 회로가 구성되면, 레지스터는 로딩 모드가 되고, 코드의 비트들을 생성하는데 생성기가 사용되어 레지스터를 통해 클록킹한다. 모든 비트가 클록킹된 후, 코드는 길이가 K인 M개의 세그먼트로서 레지스터에 상주하게 된다. 회로는 실행 모드로 사용될 준비가 된다.
도 10은 GPS 수신기(1000)의 다른 실시예의 블록도를 나타낸다. 수신기(1000)는 표준 상관 모드는 물론 상관 이력 모드로 동작하는 다수의 처리 채널(104)을 포함한다. 표준 상관 모드의 기능은 도 1 내지 도 9에 관해 상술한 것과 같다. 상관 이력 모드에서 수신기(1000)의 구성요소들의 동작은 모든 블록을 신호 RAM(110a, 110b) 및 크기/이력 RAM(1002)으로 이끄는 표준 모드와 실질적으로 동일 하다. 추가로, 본 발명의 방법의 설명을 뒷받침하기 위해, 도 10에는 메모리(1010) 및 지원 회로(1012)에 의해 종래의 방식으로 지원되는 것과 같이 CPU(114)가 도시된다. 지원 회로(1012)는 클록, 버스, 캐시, 전원, I/O 회로 등과 같이 잘 알려진 지원 회로들을 포함한다. 메모리(1010)는 하나 이상의 랜덤 액세스 메모리, 판독 전용 메모리, 제거 가능 메모리 등을 포함한다. 메모리(101)는 CPU(114)에 의해 실행될 때 후술하는 방법에 따라 수신기(1000)가 동작하게 하는 소프트웨어(1014)를 저장하기 위한 컴퓨터 판독 가능 매체를 형성한다. CPU(114), 메모리 및 지원 회로의 조합은 처리 유닛(1016)을 형성한다.
컨볼루션 프로세서(109)의 표준 동작에서와 같이, 전 컨볼루션을 포함하는 모든 상관 지연에 대해 코히어런트 평균화 간격에 걸쳐 부분 상관 결과를 누적하는데 신호 RAM(110a, 110b)이 사용된다. 상관 이력 모드는 상관 피크 부근의 지연에 대응하는 결과의 작은 부분 집합만을 사용한다. 상관 이력 모드에서, 프로그래밍 파라미터들은 중요한 소수의 지연을 설정한다. 이러한 지연에 대해, 모든 코히어런트 평균화 결과의 완전한 이력이 크기/이력 RAM(1002)에 저장된다. 상관 이력 모드에서 컨볼루션 프로세서에서 수행되는 크기 누적은 없다. 대신, 이 모드에서는 상관 이력 모드에서 상관 이력을 저장하는 메모리(이력 메모리) 및 컨볼루션 프로세서(109)의 표준 동작중의 크기용 메모리(크기 메모리)로서 RAM(1002)이 사용된다. 다른 프로그래밍 파라미터는 많은 연속한 코히어런트 누적 결과가 RAM(1002)에 저장되는 방법을 정의한다. 컨볼루션 프로세서(109)는 크기/이력 RAM을 지연 및 에폭으로 표기한 결과들의 2차원 테이블로 채운다(도 11 참조). 저장될 수 있 는 에폭 수는 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)의 타이밍을 조정한다. 특히, 개선된 수신기 오실레이터 주파수의 예측은 상관 프로세서(109)가 NCO(105)에 의해 더 정확히 조정되게 하여, 더 나은 신호 검출 및 더 긴 코히어런트 적분 간격을 이용하는 능력을 제공한다. 또한, 각 위성에 대한 네비게이션 데이터 비트 타이밍과 동기화하는 코히어런트 적분을 수행하기 위해 컨볼루션 프로세서(109)의 시작 시간을 제어하는데 개선된 수신기 클록 타이밍의 예측이 사용될 수 있어, 신호 검출을 개선한다.
(2001년 3월 27일자 발포된 미국 특허 6,208,291호에 개시된 것과 같은) 종래의 기술은 위성 신호의 PN 에폭 및 반송파가 추적되는 추적 프로세스에 대한 상관기 출력을 저장하기 위해 레지스터 뱅크를 사용한다. 추적 프로세스는 높은 신호대 잡음비를 필요로 한다. 종래 기술과 달리, 본 발명의 상관 이력 모드는 특정 위성 신호를 추적할 목적으로 데이터를 버퍼링하는 것만은 아니다. 오히려, 상관 이력 모드는 보이는 모든 위성의 검출을 돕는 수신기 파라미터를 예측하는데 사용된다. 더욱이, 상관 이력 모드는 종래의 추적 프로세스의 임계값 이하로 떨어진 매우 낮은 신호대 잡음비에서도 위성 신호 정보를 추출하는 소프트웨어 예측 알고리즘과 관련하여 동작한다. 수신기 파라미터 예측 성능을 향상시키기 위해 다수의 위성으로부터의 신호의 상관 이력 모드 처리가 사용될 수 있지만, 이러한 추가 신호들은 본 발명의 실행에 필수적인 것은 아니다.
상관 결과의 이력으로부터 비트 타이밍 및 주파수를 예측하는데 채용될 수 있는 다수의 알고리즘이 있다. 일 실시예는 도 13의 블록도에 나타낸다. 이 실시예에서, 프로세스(1300)는 특정 기능을 수행하는 단계들의 시퀀스를 수행하는 소프트웨어 프로그램에 구현된다. 특정 주파수 및 비트 타이밍 가정에서 신호 크기의 예측값(크기 예측)을 결정하기 위해 프로세스(1300)가 수행되며, 예측값은 가능한 주파수 및 비트 타이밍 범위에 걸쳐 최적화된다. 각 가정에 대해, 주파수 변조의 켤레에 대응하는 복소 주파수 항과의 곱셈을 수행함으로써 I 및 Q 상관 이력이 먼저 위상 교정된다(단계(1302)). 다음에, 단계(1304)에서 네비게이션 비트 주기까지 이르는 코히어런트 적분에 걸쳐 신호가 적분된다. 예를 들어, 상관 이력이 한 에폭의 간격을 둔 샘플들로 구성되었다면, I 및 Q 이력의 연속한 20개의 샘플이 합산되어 네비게이션 데이터 비트에 대한 신호 크기의 예측값을 생성한다. 각 비트 합산의 완료시, 단계(1306)에서는 크기 계산 동작이 수행되어 전력 값을 형성한다. 연속한 크기 연산으로부터의 결과는 단계(1308)에서 또 합산되어 신호대 잡음비를 개선한다. 예를 들어, 1초의 데이터는 합산될 수 있는 50비트 주기를 제공하여 합산에 사용되는 비트 주기에 대한 통합 전력을 형성할 수 있다. 보다 일반적으로, 신호 레벨, 예를 들어 신호 크기 또는 신호 저력을 결정하기 위한 연산이 수행될 수 있다. 여기서 설명하는 본 발명의 실시예는 신호 크기를 이용하지만, 당업자들은 신호 전력이나 다른 신호 레벨 측정치가 본 발명의 구현에 사용될 수 있음을 인 지할 것이다.
전력 예측값은 가능한 주파수 및 비트 타이밍 값의 범위에 걸쳐 수집된다. 결과는 도 14에 나타낸 것과 같이 2차원 그리드(1400) 상에서 볼 수 있다. 한 축(1402)은 가정한 주파수 에러이며, 이 경우에는 -40 내지 80㎐로 변한다. 다른 축(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 simplex) 방법이다.
다른 예에서, 소프트웨어에 순차 예측 알고리즘이 구현될 수 있다. 알고리즘의 각 단계에서, 주파수 판별기는 주파수 에러의 예측값을 형성한다. 계속해서 일어나는 반복에 있어서, 주파수 에러가 적용되고 판별기는 다른 개선된 주파수 에러 예측값을 제공한다. 프로세스는 잔여 주파수 에러가 작아질 때까지 계속된다. 추적 루프와 달리, 알고리즘은 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이다. 위성들로부터의 신호는 수 밀리 초 늦게 수신기에 도달한다. 전이 시간과 수신 시간 사이의 지연은 수신기 위치, 대략적인 시간 및 위성 궤도 정보의 예측으로부터 쉽게 결정될 수 있다. 따라서 수신기에서 데이터 비트 전이의 절대 타이밍은 GPS 시간의 식으로 예측될 수 있다. 이러한 동일한 전이의 타이밍은 수신기 밀리 초 클록에 관련하여 측정되며, 수신기 클록과 GPS 시간 사이에 관계가 성립될 수 있다. 이는 네비게이션 데이터 비트 프레임의 타이밍이 아니라 네비게이션 데이터 비트 전이만 성립될 수 있기 때문에 절대적인 관계는 아니라는 점에 유의해야 한다. 오히려, 수신기 클록의 모듈로 20 밀리 초 값이 GPS 시간의 모듈로 20 밀로 초 값에 관련될 수 있다.
이어지는 코히어런트 적분 간격을 정렬하기 위해, 수신기는 우선 (의사 거리를 기초로) GPS 시간에 대해 각 위성에 대한 네비게이션 데이터 비트의 타이밍을 예측한다. 컨볼루션 프로세서(109)에 의해 수행되는 상관은 수신기 밀리 초 클록을 기초로 어떤 가까운 미래의 시간에 시작하도록 프로그래밍된다. 이 시작 시간의 모듈로 20 밀리 초 값은 GPS 시간 및 네비게이션 데이터 비트의 타이밍에 비례하여 선택되어, 코히어런트 적분과 데이터 비트와의 정렬을 확실히 한다.
네비게이션 데이터 비트를 수집하기 위해 상관 이력 모드 또한 사용될 수 있다. 통상적으로, 이 모드는 네비게이션 데이터 비트 타이밍이 설정된 후 일어난다. 상관 프로세서는 20 에폭의 코히어런트 적분 간격에 대해 프로그래밍되며, 간격은 데이터 비트와 정렬되고, 상관 이력이 저장된다. 상관 이력의 각 지점은 전 비트 주기에 걸친 적분의 결과이다. 한 비트에서 다음 비트로의 위상 전이 유무는 정보 데이터 비트를 제공한다. RAM의 크기까지 비트를 저장하는데 상관 이력이 사용될 수 있다. 더 많은 비트가 필요하다면, 다중 상관 이력이 연속하여 저장될 수 있다.
도 18은 외부 처리 유닛(1801)에 연결된 GPS 수신기(1800)의 다른 실시예를 나타내는 블록도이다. 예를 들어, GPS 수신기(1800)는 셀룰러폰과 같은 모바일 장치(1899) 내에 구현될 수 있으며, 모바일 장치(1899)는 외부 처리 유닛(1801)을 포함한다. 도 1 및 도 10의 엘리먼트들과 동일하거나 유사한 도 18의 엘리먼트들은 동일한 참조 부호로 지정되며 상기에 상세히 설명된다. 상술한 바와 같이, GPS 수신기(1800)는 다수의 처리 채널(104)을 포함할 수 있다. 간결성을 위해, 단일 처 리 채널(1041)만 도시된다. 그러나 당업자들은 다수의 처리 채널(104)이 사용될 수도 있는 것으로 인식할 것이다. 처리 채널(104)은 각각 도 1 내지 도 17에 관해 상술한 바와 같이 상관 이력 모드 및 표준 상관 모드로 동작할 수 있다.
본 실시예에서, GPS 수신기(1800)는 보조 프로세서(1804) 및 수신기 인터페이스 로직(1802)을 포함하며, 각각 처리 채널(1041)에 연결된다. CPU(114), 메모리(101) 및 지원 회로(1012)는 외부 처리 유닛(1801)을 형성한다. 외부 처리 유닛(1801)은 모바일 장치(1899) 내에 위치할 수 있으며, 셀룰러폰 회로와 같은 각종 다른 모바일 장치 회로(1805)와 함께 동작할 수 있다.
보조 프로세서(1804)는 수신기 인터페이스 로직(1802)에 연결된 버스를 포함한다. 수신기 인터페이스 로직(1802)은 CPU(114)의 외부 버스(1803)에 연결된다. 수신기 인터페이스 로직(1802)은 GPS 수시기(1800)와 외부 처리 유닛(1801) 사이의 통신을 용이하게 한다. 보조 프로세서(1804)는 메모리(1810)에도 연결된다. 메모리(1810)는 GPS 수신기(1800)에 의해 저장되는 상관 결과를 분석하여 그로부터 위성 신호 파라미터들을 유도하기 위해 보조 프로세서(1804)에 의해 실행될 수 있는 소프트웨어(1812)를 저장한다.
처리 채널(1041)은 채널 인터페이스(1806) 및 채널 제어 로직(1808)을 포함한다. 채널 인터페이스(1806)는 보조 프로세서(1804)의 버스에 연결된다. 선택적으로, 채널 인터페이스(1806)는 수신기 인터페이스 로직(1802)에도 연결될 수 있다. 채널 인터페이스(1806)는 크기/이력 RAM(1002)에 연결된 버스 및 채널 제어 로직(1808)에 연결된 버스를 포함한다. 채널 인터페이스(1806)는 보조 프로세서(1804), 수신기 인터페이스 로직(1802) 및 처리 채널(1041) 사이의 통신을 용이하게 한다. 채널 제어 로직(1808)은 반송파 NCO(106), 코드 NCO(108) 및 컨볼루션 프로세서(109)에 제어 신호를 제공하도록 연결된다. 제어 신호는 반송파 NCO(106) 및 코드 NCO(108)의 주파수는 물론, 컨볼루션 프로세서(109)의 동작 모드 및 타이밍을 조정하는데 사용될 수도 있다. GPS 수신기(1800)가 다수의 처리 채널(104)을 포함한다면, 각 처리 채널(104)의 채널 인터페이스(1806)는 보조 프로세서(1804)에 연결되고 수신기 인터페이스 로직(1802)에 연결될 수도 있다.
동작에서, CPU(114)는 메모리(1010)에 저장된 제어 소프트웨어(1850)를 실행하여 하나 이상의 위선 신호 파라미터를 얻기 위한 명령을 GPS 수신기(1800)에 제공한다. 예시적인 위선 신호 파라미터는 도 19와 관련하여 하기에 설명한다. 각 명령은 원하는 위성 신호 파라미터들이 얻어질 수 있도록 GPS 수신기(1800)를 구성하기 위한 프로그래밍 파라미터를 포함한다. 이러한 프로그래밍 파라미터는 반송파 NCO(106)의 주파수, 코드 NCO(108)의 주파수 및 하나 이상의 처리 채널(104)에 대한 컨볼루션 프로세서(109)의 타이밍 및 동작을 포함한다. 일단 구성되면, GPS 수신기(1800)는 위성 신호를 표준 동작 모드나 상관 이력 모드에서 처리할 수 있다. 어떤 모드에서든, GPS 수신기(1800)는 상관 결과를 산출하도록 동작함, 상관 결과는 크기/이력 RAM(1002) 내에 저장된다.
그러나 상기 실시예에서와 달리, 크기/이력 RAM(1002) 내에 저장된 상관 결 과는 외부 처리 유닛(1801)의 CPU(114)를 이용하여 분석되지 않는다. 오히려, 보조 프로세서(1804)가 CPU(114)에 의해 발행된 명령에 따라 상관 결과를 분석하여 원하는 위성 신호 파라미터(들)를 제공한다. 상관 결과의 분석 후, 보조 프로세서(1804)는 분석에 의해 생성된 위성 신호 파라미터(들)를 수신기 인터페이스 로직(1802)을 이용하여 CPU(114)에 제공한다. 위성 신호 파라미터(들)가 제공되면, CPU(114)는 위성 신호 파라미터들을 이용하여 하나 이상의 수신기 파라미터를 결정한다. 상술한 바와 같이, 이러한 수신기 파라미터들은 오실레이터 주파수 및 수신기 클록 타이밍을 포함한다.
이런 식으로, 본 발명은 상관 결과의 보다 빠른 분석을 제공하고 외부 처리 회로(1801)의 CPU(114)에 부담을 주지 않는다. 또한, 본 발명은 분석을 위해 크기/이력 RAM(1002) 내에 저장된 모든 상관 결과를 CPU(114)에 제공할 필요성을 없앤다. 더욱이, 원하는 위성 신호 파라미터(들)를 포함하는 소량의 데이터만이 CPU(114)에 전송된다. 따라서 일 실시예에서 수신기 인터페이스 로직(1802) 및 버스(1803)는 직렬 인터페이스를 포함한다.
도 19는 본 발명에 따른 위성 신호 파라미터 추정 프로세스의 예시적인 실시예를 나타내는 흐름도이다. 본 실시예에서는, GPS 수신기는 도 18에 관해 상술한 바와 같이 보조 프로세서를 포함하며 외부 프로세서에 연결된다. 프로세스(1900)는 단계(1902)에서 시작하며, 여기서는 외부 프로세서에서 GPS 수신기로 명령이 발행되어 하나 이상의 위성 신호 파라미터를 얻는다. 단계(1904)에서는 GPS 수신기 내의 하나 이상의 채널이 명령에 관련된 프로그래밍 파라미터에 따라 구성된다. 단계(1906)에서는 구성된 채널을 이용하여 위성 신호가 처리되고 상관 결과는 메모리 내에 저장된다. 단계(1908)에서 보조 프로세서는 상관 결과를 분석하여 요청된 위성 신호 파라미터를 생성한다. 단계(1910)에서는 요청된 위성 신호 파라미터가 외부 프로세서에 제공된다. 선택적인 단계(1912)에서는, 하나 이상의 수신기 파라미터를 생성하기 위해 위성 신호 파라미터가 사용될 수 있으며, GPS 수신기를 구성하는데 수신기 파라미터가 사용될 수 있다.
도 20은 보조 프로세서(1804)의 예시적인 실시예를 나타내는 블록도이다. 보조 프로세서(1804)는 예시적으로 I/O 인터페이스(2002), 메모리(2004), 복소 변조기(2008), 지원 회로(2010), 복소 전력 유닛(2012), 복소 교차 곱 유닛(2014), 복소 스칼라 곱 유닛(2016), 코히어런트 적분 유닛(2018), 비-코히어런트 적분 유닛(2020) 및 잡음 통계 유닛(2022)에 연결된 버스(2001)를 포함한다. I/O 인터페이스(2002)는 GPS 수신기의 처리 채널로부터의 I 및 Q 상관 결과는 물론, 외부 처리 유닛으로부터의 명령 및 구성 데이터를 수신하도록 구성된다. I/Q 상관 결과는 메모리(2004)의 버퍼(2006) 내에 저장될 수 있다. 명령 및 구성 데이터는 보조 프로세서의 구성요소를 제어하는데 사용된다.
복소 변조기(2008)는 I/Q 상관 결과를 주파수 조정하여 도플러를 보상하는데 사용될 수 있다. 복소 전력 유닛(2012)은 소정의 I/Q 상관 샘플의 평균 제곱을 계산하는데 사용될 수 있다. 복소 교차 곱 유닛(2014)은 제 1 I/Q 상관 결과와 제 2 I/Q 상관 결과와의 복소 교차 곱을 계산하는데 사용될 수 있다. 복소 스칼라 곱 유닛(2016)은 제 1 I/Q 상관 결과와 제 2 I/Q 상관 결과와의 복소 스칼라 곱을 계 산하는데 사용될 수 있다. 코히어런트 적분 유닛(2018)은 다수의 I/Q 상관 결과를 미리 합산하는데 사용될 수 있다. 비-코히어런트 적분 유닛(2020)은 I/Q 상관 결과를 이용하여 계산된 다수의 크기 결과를 합산하는데 사용될 수 있다. 잡음 통계 유닛(2022)은 각종 잡음 통계(예를 들어, I/Q 상관 결과의 평균 및 표준편차)를 계산하는데 사용될 수 있다. 지원 회로(2010)는 버퍼, 레지스터, 양자화기, 카운터 등 보조 프로세서(1804) 및 상술한 구성요소들의 동작을 지원하기 타입의 로직 회로를 포함한다.
프로세스(1900)의 예시적인 실시예들은 도 18 및 도 20을 참조로 이해할 수 있다. 특히, 프로세스(1900)는 CPU(114)에 의해 발행되는 각종 명령에 대해 원하는 대로 반복될 수도 있다. 이러한 명령은 예를 들어 범위 측정, 고-분해능 범위 측정, 도플러 측정, 네비게이션 데이터 측정 또는 비트 타이밍 측정에 대한 요청들을 포함한다. 일반적으로, CPU(114)는 하나 이상의 위성 신호 파라미터를 요청하는 명령을 발행하고, GPS 수신기(1800)는 보조 프로세서(1804)를 이용하여 요청된 위성 신호 파라미터를 계산하며, GPS 수신기(1800)는 요청된 위성 신호 파라미터를 CPU(114)에 반환한다.
예를 들어, CPU(114)는 GPS 수신기(1800)에 범위 측정 명령을 전송할 수 있다. 컨볼루션 프로세서(109)는 표준 모드로 동작하며, 상술한 바와 같이 다수의 상관 결과를 계산한다. 범위 측정 명령은 위성 신호와 기준 C/A 코드 사이의 상대적인 지연 범위를 지정하여 시험한다. 보조 프로세서(1804)는 최대 상관 응답 지점(즉, 상관 피크)의 위치를 정하고, 피크 주위의 범위에 대한 지연 측정을 반환한 다. 보조 프로세서(1804)는 잡음 통계 유닛(2022)을 이용하여 상관 결과를 분석하여 상관 응답의 평균 및 표준편차와 같은 각종 잡음 통계치를 결정할 수도 있다. 이러한 잡음 통계치는 상관 피크의 신호대 잡음비를 결정하는데 사용될 수 있다. 지연 측정은 물론 잡음 통계치는 CPU(114)에 제공될 수 있다.
다른 예에서, CPU(114)는 GPS 수신기(1800)에 도플러 측정 명령을 전송할 수 있다. 일 실시예에서, 위성 신호와 C/A 기준 코드 사이의 하나 이상의 상대 코드 지연에 대한 상관 응답은 크기/이력 RAM(1002)에 상관 이력으로서 저장된다. 상술한 바와 같이, 상관 이력은 컨볼루션 프로세서(109)의 각각의 코히어런트 합산 간격에 대한 I 및 Q 샘플을 포함한다. 예를 들어, 컨볼루션 프로세서(109) 내의 코히어런트 합산 간격은 1 내지 10 에폭으로 달라질 수 있다. 원하는 기간(예를 들어, 1 내지 10초) 동안 상관 이력이 저장된 후, 보조 프로세서(1804)는 상관 이력을 포함하는 크기/이력 RAM(1002)에 저장된 I 및 Q 상관 결과를 검색한다. 보조 프로세서(1804)는 샘플 간 위상 변화를 추적함으로써 주파수를 분석한다. 특히, 주파수는 복소 교차 곱 유닛(2014)에 의해 계산된 복소 교차 곱을 평균화함으로써 찾을 수 있다. 특히, 평균화 프로세스는 순수한 평균, 가중 평균, 적분 또는 당업계에 공지된 다른 조합 기술을 포함할 수 있다. 복소 교차 곱은 I(n-1)Q(n)-Q(n-1)I(n)으로 정의되며, n은 샘플 수를 나타내고, I는 샘플의 동상 값을 나타내며, Q는 샘플의 직교 값을 나타낸다. 이러한 결과의 주파수 값은 CPU(114)로 반환된다.
상술한 주파수 분석은 소정의 도플러 측정 명령에 대해 여러 번 실행될 수 있다. 복소 교차 곱 연산에 의해 제공되는 주파수 예측은 실제 주파수와 비선형 관계를 갖기 때문에 여러 번의 반복이 필요할 수 있다. 최초 예측이 이루어진 후, 복소 변조기(2008)를 이용하여 상관 이력의 I 및 Q 상관 결과로부터 주파수 에러가 제거될 수 있다. 상관 이력은 재처리되어 복소 교차 곱 연산을 이용하여 새로운 주파수 값이 결정된다. 여러 번 반복함으로써, 주파수 예측 프로세스가 수렴하게 된다.
다른 예에서, CPU(114)는 GPS 수신기(1800)에 네비게이션 데이터 측정 명령을 전송할 수 있다. 일 실시예에서, 위성 신호와 C/A 기준 코드 사이의 하나 이상의 상대 코드 지연에 대한 상관 응답은 크기/이력 RAM(1002)에 상관 이력으로서 저장된다. 상관 이력은 5 또는 10 에폭 코히어런트 합산 간격과 같은 컨볼루션 프로세서(109)의 각각의 코히어런트 합산 간격에 대한 I 및 Q 샘플을 포함한다. 상관 이력이 저장된 후, 보조 프로세서(1804)는 샘플들 사이의 위상 변화를 분석하여 50bps 네비게이션 데이터 스트림을 포함하는 180도 위상 시프트를 찾는다. 복소 스칼라 곱 유닛(2016)을 이용하여 계산된 복소 스칼라 곱을 임계치화 함으로써 비트 전이를 찾는다. 복소 스칼라 곱은 I(n-1)+Q(n-1)Q(n)으로 정의되며, n은 샘플 수를 나타내고, I는 샘플의 동상 값을 나타내며, Q는 샘플의 직교 값을 나타낸다. 비트 전이의 유무에 의해 네비게이션 데이터 비트가 검출된다. 처음에 네비게이션 데이터에 부호 모호성이 나타날 수 있으며, 이는 데이터에서 기지의 프리앰블(preamble) 시퀀스를 검출함으로써 해결될 수 있다. 이 모호성의 해결은 데이터 비트가 수신된 후 CPU(114)에서 수행될 수 있다. 네비게이션 데이터 비트는 CPU(114)로 반환된다. 본 발명의 일 실시예에서, 소정의 네비게이션 데이터 측정 명령의 경우, 네비게이션 데이터 비트를 검출하기 전에 도플러 측정 명령에 대해 상술한 주파수 추정 프로세스가 수행될 수도 있다. 일단 도플러 주파수가 예측되면, 복소 변조기(2008)를 이용하여 상관 이력으로부터 주파수 에러가 제거될 수 있으며, 복소 스칼라 곱 연산이 수행되어 네비게이션 데이터 비트를 검출할 수 있다.
또 다른 예에서, CPU(114)는 GPS 수신기(1800)에 비트 타이밍 측정 명령을 전송할 수 있다. 일 실시예에서, 도 14에 관해 상술한 비트 타이밍 측정 프로세스가 보조 프로세서(1804)에 의해 실행될 수 있으며, 이러한 결과의 비트 타이밍 값이 CPU(114)에 반환된다. 특히, 제 1 명령이 CPU(1140)에 의해 GPS 수신기(1800)에 전송되어, 상관 이력을 획득할 수 있게 하며, 특정 비트-시간/주파수 가정에서 전력이 결정되게 한다. 전력은 복소 전력 유닛(2012)을 이용하여 결정될 수 있다. 복소 전력은 도 14에 관해 상술한 바와 같이 코히어런트 및 비-코히어런트 적분의 조합 결과이며, 수 초까지의 긴 적분 시간을 제공한다. 추가 명령이 전송되어 최대 전력에 이르는 가정이 확인될 때까지 다른 비트-시간/주파수 가정으로 상관 이력을 재분석한다. 특히, 보조 프로세서(1804)는 도 14에 관해 상술한 바와 같이 2D-평면에서 최대값을 찾는다. 이 실시예는 낮은 신호대 잡음비에서 비트 타이밍을 결정하는데 적합하다.
다른 실시예에서, 단일 비트 타이밍 측정 명령은 컨볼루션 프로세서(109)가 상관 이력을 생성하게 할 수도 있다. 상관 이력은 대략 1초 동안 에폭마다 저장되는 I 및 Q 데이터를 포함한다. 보조 프로세서(1804)는 I 및 Q 샘플의 복소 스칼라 곱을 계산한다. 20개의 가능한 비트 타이밍 오프셋 각각에 대해 결과가 합산되어 비트 전이 히스토그램을 형성한다. 최대 비트 전이가 발생하는 비트 타이밍 오프셋을 식별함으로써 정확한 비트 타이밍이 결정될 수 있다. 히스토그램 값들은 CPU(114)에 반환될 수 있다. 이 실시예는 더 높은 신호대 잡음비에서 비트 타이밍을 결정하는데 적합하다.
도 21은 비트 타이밍 측정 명령에 응하여 발생한 비트 히스토그램의 예를 나타낸다. 그래프(2100)는 상관 데이터(2102)를 나타내며, 축(2104)은 시간을 나타내고 축(2106)은 크기를 나타낸다. 예로서 간결성을 위해, 그래프(2100)는 상관 데이터(2102)의 80㎳ 세그먼트를 나타낸다. 그러나 실제로 비트 타이밍 측정 프로세스는 상관 데이터의 더 긴 세그먼트(예를 들어, 1~2초)에 대해 실행되는 것으로 이해해야 한다. 상술한 바와 같이 복소 스칼라 곱이 계산되고 임계치화 되어 이진 시퀀스(2109)를 산출한다. 이진 시퀀스(2108)에서, '1'은 임계치화된 스칼라 곱에 의해 검출된 것과 같이 상관 데이터(2102)의 위상 전이의 존재를 나타낸다. 반대로, 이진 시퀀스(2108)에서 '0'은 상관 데이터(2102)에서 위상 전이의 부재를 나타낸다. 상술한 바와 같이, 위상 전이는 20㎳마다 상관 데이터(2102) 내에서 발생해야 한다. 이와 같이, 이진 시퀀스(2108)는 20㎳마다(예를 들어, 0㎳, 20㎳, 40㎳, 60㎳, 80㎳에서) '1'을 포함한다. 그러나 잡음이 주어지면, 때때로 스칼라 곱의 값은 상관 데이터(2102)가 위상 전이를 포함하지 않더라도 임계치를 초과할 수 있다. 따라서, 이진 시퀀스(2108)는 하나 이상의 가짜 위치(예를 들어, 6㎳, 34㎳, 57㎳, 72㎳)에서 '1'을 포함할 수도 있다.
히스토그램(2101)은 20개의 가능한 비트 위상 각각에 발생하는 1의 개수를 계산하도록 형성된다. 히스토그램(2101)은 저장소(bin)를 나타내는 축(2110) 및 비트 전이 수를 나타내는 축(2111)을 포함한다. 본 예시에서, 히스토그램(2101)의 예시들(21011 ~ 21014)은 상관 데이터(2102)의 20㎳, 40㎳, 60㎳, 80㎳ 후에 각각 도시된다. 상술한 바와 같이, 20개의 가능한 비트 타이밍 오프셋이 있다. 따라서 히스토그램(2101)은 20개의 개별 저장소(2110)를 포함한다. 본 예시에서, 정확한 비트 위상은 저장소(2110)의 0번째 1에서 상승한 히스토그램 값(2112)으로 지시한 바와 같이 0이다. 상관 데이터(2102) 내의 잡음으로 인해, 히스토그램(2101)은 다른 저장소(2110)에 값(2114)을 포함한다. 이러한 이유로, 히스토그램(2101)은 상관 데이터(2102)의 많은 20 밀리 초 주기에 걸쳐 사용되어 정확한 비트 위상을 신뢰성 있게 결정한다. 또한, 검출 프로세스는 밑에 있는 상관 데이터(2102)에서의 비트 전이의 존재에 좌우되기 때문에, 비트 위상의 신뢰성 있는 결정을 위해 적절한 수의 위상 전이를 확보하기 위해 최소량의 상관 데이터(2102)가 획득되어야 한다. 4번의 20 밀리 초 주기 후에 명백하듯이, 값(2112)은 잡음 유도 값(2114)보다 빠르게 커진다. 실제로, 히스토그램(2101)은 상관 데이터(2102)의 더 많은 20 밀리 초 주기에 걸쳐 계산된다.
상술한 연산들을 수행하기 전에, 보조 프로세서(1804)는 코히어런트 적분 유닛(2018)을 이용하여 사전 합산 연산을 수행할 수 있다. 예를 들어, 1 밀리 초 간격으로 상관 이력이 생성되어, 상관 이력의 I 및 Q 상관 결과 그룹이 상술한 신호 파라미터들(예를 들어, 주파수, 네비게이션 데이터, 비트 타이밍)을 결정하기 전에 보조 프로세서(1804)에서 코히어런트 합산될 수 있다. 이 코히어런트 합산은 신호대 잡음비를 향상시킬 수 있다. 예를 들어, 비트 타이밍 및 주파수가 알려지면, 네비게이션 데이터 비트를 측정하기 전에 20㎳에 걸쳐 사전 합산하는 것이 바람직할 수도 있다.
당업자들은 보조 프로세서(1804)가 컨볼루션 프로세서(109)에 의해 생성된 상관 결과 세트에 대해 몇 가지 연산도 실행할 수 있다는 점을 인식할 것이며, 이러한 연산들의 부분 집합은 상기에 기재되어 있다. 또한, 상술한 연산들은(예를 들어, 주파수, 네비게이션 데이터 측정, 비트 타이밍) 단독으로 또는 조합하여 실행되어 하나 이상의 위상 신호 파라미터를 결정할 수도 있다. 더욱이, 당업자들은 복소 교차 곱 및 복소 스칼라 곱 연산은 주파수 및 비트 전이 측정에 사용될 수 있는 동작에 지나지 않음을 인식할 것이다. 예를 들어, GPS 추적 루프를 위해 개발된 각종 다른 주파수 판별기 및 비트 타이밍 식별기가 본 발명에 관련하여 적용될 수도 있다. 예를 들어, 1996년 Artech House사의 Kaplan, D Elliott에 의한 "GPS 원리 및 적용의 이해"를 참조한다(특히, 챕터 5, 섹션 5.1.2.3 주파수 잠금 루프, 테이블 5.4). 발명에서, 상관 이력에 대해 보조 프로세서에 의해 수행될 수 있는 전처리 동작으로서 알고리즘이 구현되지만, 원 형식에서는 실시간 반복 알고리즘으로 구현된다.
본 발명의 교지를 통합한 각종 실시예가 도시되고 상세히 설명되었지만, 당업자들은 이러한 교지를 통합한 다른 많은 변형 실시예를 쉽게 안출할 수 있다.

Claims (35)

  1. 위성 위치 확인 시스템 수신기에서 위성 신호 파라미터를 예측하는 방법으로서,
    프로세서로부터의 명령에 응하여 위성 신호와 기준 신호 간의 다수의 상관 결과를 생성하는 단계;
    상기 위성 위치 확인 시스템 수신기 내에 집적된 보조 프로세서를 이용하여 상기 다수의 상관 결과로부터 적어도 하나의 위성 신호 파라미터를 예측하는 단계; 및
    상기 적어도 하나의 위성 신호 파라미터를 상기 프로세서에 제공하는 단계를 포함하며;
    상기 다수의 상관 결과는 상기 위성 신호와 상기 기준 신호 사이의 각각의 적어도 하나의 상대 시간 지연에 대응하는 적어도 하나의 상관 결과 시퀀스에 의해 규정된 상관 이력을 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 위성 신호 파라미터를 이용하여 적어도 하나의 수신기 파라미터를 예측하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 적어도 하나의 위성 신호 파라미터는 상기 위성 위치 확인 시스템 수신기에 관한 상기 위성 신호의 도플러 오프셋을 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  5. 제 4 항에 있어서,
    상기 예측 단계는,
    상기 상관 이력을 이용하여 다수의 복소 교차 곱을 계산하는 단계; 및
    상기 복소 교차 곱을 조합하여 상기 도플러 오프셋을 계산하는 단계를 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  6. 제 5 항에 있어서,
    상기 예측 단계는,
    상기 도플러 오프셋을 이용하여 상기 상관 이력을 주파수 보정하는 단계; 및
    상기 주파수 보정된 상관 이력을 이용하여 계산 단계 및 평균화 단계를 반복하여 상기 도플러 오프셋을 재계산하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  7. 제 5 항에 있어서,
    상기 예측 단계는,
    미리 정해진 간격에 대해 상기 상관 이력을 적분하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  8. 제 4 항에 있어서,
    상기 도플러 오프셋에 응답하여 상기 위성 위치 확인 시스템 수신기의 오실레이터의 주파수를 예측하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  9. 제 1 항에 있어서,
    상기 적어도 하나의 위성 신호 파라미터는 네비게이션 데이터 비트를 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  10. 제 9 항에 있어서,
    상기 예측 단계는,
    상기 상관 이력을 이용하여 다수의 복소 스칼라 곱을 계산하는 단계; 및
    상기 다수의 복소 스칼라 곱을 임계치화 하여 상기 상관 이력 내의 위상 전이를 식별하는 단계를 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  11. 제 10 항에 있어서,
    상기 예측 단계는,
    도플러 오프셋을 이용하여 상기 상관 이력을 주파수 보정하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  12. 제 10 항에 있어서,
    상기 예측 단계는,
    미리 정해진 간격에 대해 상기 상관 이력을 적분하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  13. 제 1 항에 있어서,
    상기 적어도 하나의 위성 신호 파라미터는 상기 위성 신호의 네비게이션 비트 타이밍을 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  14. 제 13 항에 있어서,
    상기 예측 단계는,
    상기 상관 이력에 응답하여, 하나 이상의 수신기 주파수 및 비트 타이밍 가정(hypotheses)을 이용하여 다수의 신호 레벨 예측값을 결정하는 단계를 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  15. 제 13 항에 있어서,
    상기 예측 단계는,
    상기 상관 이력을 이용하여 다수의 복소 스칼라 곱을 계산하는 단계;
    비트 타이밍 오프셋을 선택하는 단계;
    상기 다수의 복소 스칼라 곱으로부터 상기 선택된 비트 타이밍 오프셋에 대응하는 복소 스칼라 곱들을 합산하는 단계; 및
    다수의 비트 타이밍 오프셋에 대해 상기 선택 단계 및 상기 합산 단계를 반복하여 히스토그램을 형성하는 단계를 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  16. 제 15 항에 있어서,
    상기 예측 단계는,
    도플러 오프셋을 이용하여 상기 상관 이력을 주파수 보정하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  17. 제 15 항에 있어서,
    상기 예측 단계는,
    미리 정해진 간격에 대해 상기 상관 이력을 적분하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  18. 제 13 항에 있어서,
    상기 네비게이션 비트 타이밍을 이용하여 상기 위성 위치 확인 시스템 수신기와 관련된 타이밍 에러를 예측하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  19. 제 1 항에 있어서,
    상기 적어도 하나의 위성 신호 파라미터는 상기 위성 신호와 관련된 적어도 하나의 잡음 통계 측정치를 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  20. 제 1 항에 있어서,
    추가 상관 수행시 상기 적어도 하나의 위성 신호 파라미터를 이용하여 상기위성 위치 확인 시스템 수신기를 구성하는 단계를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  21. 제 1 항에 있어서,
    상기 생성 단계는,
    상기 위성 위치 확인 시스템 수신기 내의 메모리에 상기 다수의 상관 결과를 저장하는 단계를 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 방법.
  22. 위성 위치 확인 시스템 수신기에서 위성 신호 파라미터를 예측하는 장치로서,
    프로세서로부터의 명령에 응하여 위성 신호와 기준 신호 간의 다수의 상관 결과를 생성하는 상관기;
    상기 위성 위치 확인 시스템 수신기 내에 집적되며, 상기 다수의 상관 결과로부터 적어도 하나의 위성 신호 파라미터를 예측하는 보조 프로세서; 및
    상기 적어도 하나의 위성 신호 파라미터를 상기 프로세서에 제공하는 수단을 포함하며;
    상기 다수의 상관 결과는 상기 위성 신호와 상기 기준 신호 사이의 각각의 적어도 하나의 상대 시간 지연에 대응하는 적어도 하나의 상관 결과 시퀀스에 의해 규정된 상관 이력을 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  23. 제 22 항에 있어서,
    상기 다수의 상관 결과를 저장하는 메모리를 더 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  24. 제 22 항에 있어서,
    상기 보조 프로세서는,
    상기 다수의 상관 결과를 주파수 보정하는 복소 변조기;
    상기 다수의 상관 결과에 응답하여 전력을 계산하는 복소 전력 유닛;
    상기 다수의 상관 결과에 응답하여 복소 교차 곱을 계산하는 복소 교차 곱 유닛;
    상기 다수의 상관 결과에 응답하여 복소 스칼라 곱을 계산하는 복소 스칼라 곱 유닛;
    상기 다수의 상관 결과를 코히어런트 적분하는 코히어런트 적분 유닛;
    상기 다수의 상관 결과를 비-코히어런트 적분하는 비-코히어런트 적분 유닛; 및
    상기 다수의 상관 결과에 응답하여 잡음 통계치를 결정하는 잡음 통계 유닛 중 적어도 하나를 포함하는 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  25. 삭제
  26. 제 22 항에 있어서,
    상기 보조 프로세서는,
    상기 상관 이력을 이용하여 다수의 복소 교차 곱을 계산하고;
    상기 복소 교차 곱을 조합하여 도플러 오프셋을 계산하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  27. 제 26 항에 있어서,
    상기 보조 프로세서는 상기 도플러 오프셋을 이용하여 상기 상관 이력을 주파수 보정하고;
    상기 주파수 보정된 상관 이력에 응답하여 상기 도플러 오프셋을 재계산하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  28. 제 26 항에 있어서,
    상기 보조 프로세서는,
    미리 정해진 간격에 대해 상기 상관 이력을 적분하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  29. 제 22 항에 있어서,
    상기 보조 프로세서는,
    상기 상관 이력을 이용하여 다수의 복소 스칼라 곱을 계산하고;
    상기 다수의 복소 스칼라 곱을 임계치화 하여 상기 상관 이력 내의 위상 전이를 식별하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  30. 제 29 항에 있어서,
    상기 보조 프로세서는,
    도플러 오프셋을 이용하여 상기 상관 이력을 주파수 보정하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  31. 제 29 항에 있어서,
    상기 보조 프로세서는,
    미리 정해진 간격에 대해 상기 상관 이력을 적분하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  32. 제 22 항에 있어서,
    상기 보조 프로세서는,
    상기 상관 이력을 이용하여 다수의 복소 스칼라 곱을 계산하고;
    비트 타이밍 오프셋을 선택하고;
    상기 다수의 복소 스칼라 곱으로부터 상기 선택된 비트 타이밍 오프셋에 대응하는 복소 스칼라 곱들을 합산하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  33. 제 32 항에 있어서,
    상기 보조 프로세서는,
    도플러 오프셋을 이용하여 상기 상관 이력을 주파수 보정하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  34. 제 32 항에 있어서,
    상기 보조 프로세서는,
    미리 정해진 간격에 대해 상기 상관 이력을 적분하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
  35. 제 22 항에 있어서,
    상기 보조 프로세서는,
    상기 다수의 상관 결과에 응답하여 적어도 하나의 잡음 통계치를 계산하도록 된 것을 특징으로 하는 위성 신호 파라미터 예측 장치.
KR1020067009798A 2003-10-22 2004-10-21 이력 상관 데이터를 이용하여 신호 상관을 수행하는 방법및 장치 KR100964935B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/690,973 US7567636B2 (en) 2001-05-18 2003-10-22 Method and apparatus for performing signal correlation using historical correlation data
US10/690,973 2003-10-22

Publications (2)

Publication Number Publication Date
KR20060094098A KR20060094098A (ko) 2006-08-28
KR100964935B1 true KR100964935B1 (ko) 2010-06-21

Family

ID=34521769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067009798A KR100964935B1 (ko) 2003-10-22 2004-10-21 이력 상관 데이터를 이용하여 신호 상관을 수행하는 방법및 장치

Country Status (7)

Country Link
US (2) US7567636B2 (ko)
EP (1) EP1676144B1 (ko)
JP (1) JP2007510891A (ko)
KR (1) KR100964935B1 (ko)
AT (1) ATE393401T1 (ko)
DE (1) DE602004013356T2 (ko)
WO (1) WO2005040845A1 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567636B2 (en) * 2001-05-18 2009-07-28 Global Locate, Inc. Method and apparatus for performing signal correlation using historical correlation data
US7769076B2 (en) * 2001-05-18 2010-08-03 Broadcom Corporation Method and apparatus for performing frequency synchronization
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
US7995682B2 (en) * 2001-05-18 2011-08-09 Broadcom Corporation Method and apparatus for performing signal processing using historical correlation data
GB2400282B8 (en) * 2003-03-31 2014-08-27 St Microelectronics Res & Dev Integrated circuit for code acquisition
EP1545019A1 (en) * 2003-12-19 2005-06-22 Telefonaktiebolaget LM Ericsson (publ) GPS receiver using differential correlation
US7447253B2 (en) * 2004-02-06 2008-11-04 Glocal Locate, Inc. Method and apparatus for processing satellite positioning system signals to obtain time information
ATE515835T1 (de) * 2005-05-11 2011-07-15 Nordnav Technologies Ab Spreizspektrumkorrelator
US7986723B2 (en) * 2005-07-06 2011-07-26 National Institute Of Information And Communications Technology Delay estimation apparatus and method
US7778311B2 (en) * 2005-10-04 2010-08-17 Sirf Technology Holdings, Inc. Bit synchronization for weak navigational satellite signals
US7613258B2 (en) * 2006-02-28 2009-11-03 O2Micro International Ltd. Apparatus and method for determining GPS tracking loop parameter based on SNR estimation
JP5781260B2 (ja) * 2006-03-09 2015-09-16 ヨーロピアン スペース エージェンシー 衛星ナビゲーション・システムに使用するための受信機および送信機
US8149897B2 (en) * 2006-05-26 2012-04-03 Global Locate, Inc. Method and apparatus for performing signal correlation for signals received from satellites in multiple satellite systems
US7903028B2 (en) * 2006-12-18 2011-03-08 Sirf Technology Holdings, Inc. Ephemeris download from weak signals
US8054872B2 (en) * 2007-06-21 2011-11-08 O2Micro, Inc. Method and apparatus for signal carrier-to-noise power density ratio calculation
US7869485B2 (en) * 2007-06-21 2011-01-11 O2Micro International Ltd. Method and apparatus for detecting lock status of a GPS signal
JP5005446B2 (ja) * 2007-07-03 2012-08-22 日本無線株式会社 自立型高感度衛星信号受信機
US7924224B2 (en) * 2008-08-15 2011-04-12 Trueposition, Inc. Variable coherence integration for the location of weak signals
US8362951B2 (en) * 2009-07-02 2013-01-29 Qualcomm Incorporated Carrier phase processing in discontinuous satellite positioning system tracking
US9568609B2 (en) 2010-05-13 2017-02-14 Qualcomm Incorporated High sensitivity satellite positioning system receiver
US8730101B2 (en) * 2010-05-13 2014-05-20 Qualcomm Incorporated High sensitivity satellite positioning system receiver
US8922430B2 (en) 2011-12-22 2014-12-30 Trueposition, Inc. Optimization of variable coherence integration for the location of weak signals
US9130786B2 (en) * 2013-03-15 2015-09-08 Qualcomm Incorporated Device and method for computing a channel estimate
CN103532641B (zh) * 2013-09-17 2015-03-18 华中科技大学 一种用于卫星导航系统的射频信号质量评估方法
US20170212246A1 (en) * 2014-08-20 2017-07-27 Sony Semiconductor Solutions Corporation Receiving apparatus, receiving method, and program for global navigation satellite system
US10094931B2 (en) 2016-02-23 2018-10-09 Samsung Electronics Co., Ltd Detection of, and processing of signals within a null zone by a global navigation satellite system receiver
CN106772459B (zh) * 2016-12-14 2019-05-24 中国人民解放军国防科学技术大学 一种基于gpu向量运算的多相关器计算方法
EP3671281A1 (en) * 2018-12-21 2020-06-24 European Space Agency Method and system for processing a gnss signal using homomorphic encryption
AU2022441309A1 (en) * 2022-02-18 2024-07-04 Deere & Company A satellite navigation receiver for acquisition of gnss signals
US12066551B2 (en) 2022-02-18 2024-08-20 Deere & Company Multi-constellation, multi-frequency GNSS system for interference mitigation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020172306A1 (en) * 2001-05-18 2002-11-21 Charles Abraham Method and apparatus for performing signal correlation using historical correlation data

Family Cites Families (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO1987001540A1 (en) * 1985-09-03 1987-03-12 Motorola, Inc. Apparatus for and method of doppler searching in a digital gps receiver
US4785463A (en) * 1985-09-03 1988-11-15 Motorola, Inc. Digital global positioning system receiver
US4811362A (en) 1987-06-15 1989-03-07 Motorola, Inc. Low power digital receiver
US4894842A (en) * 1987-10-15 1990-01-16 The Charles Stark Draper Laboratory, Inc. Precorrelation digital spread spectrum receiver
FR2650456A1 (fr) 1989-07-28 1991-02-01 Trt Telecom Radio Electr Procede de synchronisation par correlation
CH679718A5 (ko) 1989-10-19 1992-03-31 Ascom Zelcom Ag
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
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
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 制御信号発生回路
US5216961A (en) * 1991-11-08 1993-06-08 Gray Stephen B Book index notch cutter
US5379224A (en) 1991-11-29 1995-01-03 Navsys Corporation GPS tracking system
DE4241882A1 (ko) 1991-12-13 1993-06-17 Clarion Co Ltd
US5414729A (en) 1992-01-24 1995-05-09 Novatel Communications Ltd. Pseudorandom noise ranging receiver which compensates for multipath distortion by making use of multiple correlator time delay spacing
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
US5615232A (en) * 1993-11-24 1997-03-25 Novatel Communications Ltd. Method of estimating a line of sight signal propagation time using a reduced-multipath correlation function
KR970005598B1 (ko) 1994-06-29 1997-04-18 삼성전자 주식회사 대역확산통신방식의 비동기 디지탈 수신장치
US5748891A (en) 1994-07-22 1998-05-05 Aether Wire & Location Spread spectrum localizers
MX9601211A (es) 1994-07-29 1997-06-28 Qualcomm Inc Metodo y aparato mejorados para llevar a cabo la adquisicion de busqueda en un sistema de comunicacion de cdma.
US5610940A (en) 1994-09-09 1997-03-11 Omnipoint Corporation Method and apparatus for noncoherent reception and correlation of a continous phase modulated signal
US5594453A (en) 1994-11-01 1997-01-14 Trimble Navigation, Ltd GPS receiver having a rapid acquisition of GPS satellite signals
US5600670A (en) 1994-12-21 1997-02-04 Trimble Navigation, Ltd. Dynamic channel allocation for GPS receivers
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
US6023489A (en) 1995-05-24 2000-02-08 Leica Geosystems Inc. Method and apparatus for code synchronization in a global positioning system receiver
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
US5663734A (en) 1995-10-09 1997-09-02 Precision Tracking, Inc. GPS receiver and method for processing GPS signals
PT855041E (pt) 1995-10-09 2003-04-30 Snaptrack Inc Receptor de sinal gps e processo para processar sinais gps
US5884214A (en) 1996-09-06 1999-03-16 Snaptrack, Inc. GPS receiver and method for processing GPS signals
US6208290B1 (en) * 1996-03-08 2001-03-27 Snaptrack, Inc. GPS receiver utilizing a communication link
JPH09148980A (ja) 1995-11-22 1997-06-06 Sony Corp パイロット信号検出方法、パイロット信号検出装置及び移動局受信装置
US6133874A (en) 1996-03-08 2000-10-17 Snaptrack, Inc. Method and apparatus for acquiring satellite positioning system signals
US5897605A (en) 1996-03-15 1999-04-27 Sirf Technology, Inc. Spread spectrum receiver with fast signal reacquisition
US6393046B1 (en) 1996-04-25 2002-05-21 Sirf Technology, Inc. Spread spectrum receiver with multi-bit correlator
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
US6252863B1 (en) 1996-04-09 2001-06-26 Trimble Navigation Limited Multipath compensation for pseudorange signals
US6047017A (en) 1996-04-25 2000-04-04 Cahn; Charles R. Spread spectrum receiver with multi-path cancellation
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
US5828694A (en) 1996-07-01 1998-10-27 Trimble Navigation Limited Determination of multipath tracking error
US6151353A (en) 1996-07-12 2000-11-21 General Electric Company Pre-acquisition frequency offset removal in a GPS receiver
US6118808A (en) 1996-07-12 2000-09-12 General Electric Company GPS receiver with efficient signal acquisition
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 이계철 기준 정합여파기를 이용한 병렬포착시스템
US5781543A (en) 1996-08-29 1998-07-14 Qualcomm Incorporated Power-efficient acquisition of a CDMA pilot signal
US5945948A (en) 1996-09-03 1999-08-31 Motorola, Inc. Method and apparatus for location finding in a communication system
JPH1079941A (ja) 1996-09-05 1998-03-24 Fujitsu Ltd 画像処理装置
US5808582A (en) 1996-09-13 1998-09-15 Litton Consulting Group, Inc. Global positioning system receiver with improved multipath signal rejection
US5798732A (en) * 1996-09-19 1998-08-25 Trimble Navigation Limited GPS receiver having a fast time to first fix
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
US5768319A (en) 1997-02-18 1998-06-16 Motorola, Inc. GPS data collection in high noise-to-signal ratio environments
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
US5999561A (en) * 1997-05-20 1999-12-07 Sanconix, Inc. Direct sequence spread spectrum method, computer-based product, apparatus and system tolerant to frequency reference offset
US5920278A (en) 1997-05-28 1999-07-06 Gregory D. Gibbons Method and apparatus for identifying, locating, tracking, or communicating with remote objects
US5909471A (en) 1997-08-08 1999-06-01 Arraycomm, Inc. Method and system for rapid initial control signal detection in a wireless communications system
US5952947A (en) 1997-09-09 1999-09-14 Raytheon Company Flexible and programmable delta-sigma analog signal converter
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
US5963264A (en) 1997-10-30 1999-10-05 Echostar Engineering Corporation Selecting a digital television program and the control of a non-attached recording device
US5931893A (en) 1997-11-11 1999-08-03 Ericsson, Inc. Efficient correlation over a sliding window
US6252629B1 (en) 1997-12-26 2001-06-26 Matsushita Electric Industrial Co., Ltd. Timer-recording controller for controlling a timer-recording apparatus used to record a broadcast audio signal, a broadcast video signal, or a broadcast data signal
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
US6313786B1 (en) 1998-07-02 2001-11-06 Snaptrack, Inc. Method and apparatus for measurement processing of satellite positioning system (SPS) signals
US6236354B1 (en) 1998-07-02 2001-05-22 Snaptrack, Inc. Reducing satellite signal interference in a global positioning system receiver
US6282248B1 (en) 1998-07-14 2001-08-28 Agere Systems Guardian Corp. Variable baud rate demodulator
JP3695732B2 (ja) 1998-09-02 2005-09-14 富士通株式会社 Cdma受信装置のサーチ装置
US6327473B1 (en) 1998-09-08 2001-12-04 Qualcomm Incorporated Method and apparatus for increasing the sensitivity of a global positioning satellite receiver
US6208292B1 (en) 1998-09-09 2001-03-27 Qualcomm Incorporated Position location with low tolerance oscillator
US6211820B1 (en) 1998-09-09 2001-04-03 Qualcomm Incorporated Call maintainance during position location
US6181911B1 (en) 1998-09-09 2001-01-30 Qualcomm Incorporated Simplified receiver with rotator for performing position location
US6324227B1 (en) 1998-09-09 2001-11-27 Qualcomm Incorporated Receiver for performing position location with efficient rotator
US6693953B2 (en) 1998-09-30 2004-02-17 Skyworks Solutions, Inc. Adaptive wireless communication receiver
JP2002529752A (ja) * 1998-11-11 2002-09-10 サムソン・エレクトロニクス・カンパニー・リミテッド 衛星無線航法システムの擬似雑音信号の受信器
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
JP3600529B2 (ja) 1999-03-01 2004-12-15 富士通株式会社 Cdma用受信機
US6304216B1 (en) 1999-03-30 2001-10-16 Conexant Systems, Inc. Signal detector employing correlation analysis of non-uniform and disjoint sample segments
US6363108B1 (en) 1999-03-31 2002-03-26 Qualcomm Inc. Programmable matched filter searcher
WO2000065751A1 (en) 1999-04-23 2000-11-02 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
US6278403B1 (en) * 1999-09-17 2001-08-21 Sirf Technology, Inc. Autonomous hardwired tracking loop coprocessor for GPS and WAAS receiver
US6421372B1 (en) 1999-11-10 2002-07-16 Itt Manufacturing Enterprises, Inc. Sequential-acquisition, multi-band, multi-channel, matched filter
US6804290B1 (en) * 2000-05-26 2004-10-12 Motorola, Inc. Method of acquiring signal code phases and geographic positioning receiver
US6934317B1 (en) * 2000-10-11 2005-08-23 Ericsson Inc. Systems and methods for communicating spread spectrum signals using variable signal constellations
US6560534B2 (en) 2001-06-06 2003-05-06 Global Locate, Inc. Method and apparatus for distributing satellite tracking information
US6542820B2 (en) 2001-06-06 2003-04-01 Global Locate, Inc. Method and apparatus for generating and distributing satellite tracking information
US6427122B1 (en) 2000-12-23 2002-07-30 American Gnc Corporation Positioning and data integrating method and system thereof
US7567636B2 (en) * 2001-05-18 2009-07-28 Global Locate, Inc. Method and apparatus for performing signal correlation using historical correlation data
US6888849B2 (en) * 2001-06-15 2005-05-03 Lucent Technologies Inc. Method for evaluating capacity utilization of a terminus in a communication system
US6433726B1 (en) 2001-06-22 2002-08-13 Koninklijke Philips Electronics N.V. Fractional decimation filter using oversampled data
US6651000B2 (en) 2001-07-25 2003-11-18 Global Locate, Inc. Method and apparatus for generating and distributing satellite tracking information in a compact format
US6775319B2 (en) * 2001-08-16 2004-08-10 Motorola, Inc. Spread spectrum receiver architectures and methods therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020172306A1 (en) * 2001-05-18 2002-11-21 Charles Abraham Method and apparatus for performing signal correlation using historical correlation data

Also Published As

Publication number Publication date
KR20060094098A (ko) 2006-08-28
ATE393401T1 (de) 2008-05-15
US7567636B2 (en) 2009-07-28
WO2005040845A1 (en) 2005-05-06
US20040141549A1 (en) 2004-07-22
DE602004013356D1 (de) 2008-06-05
US8005174B2 (en) 2011-08-23
EP1676144A1 (en) 2006-07-05
JP2007510891A (ja) 2007-04-26
EP1676144B1 (en) 2008-04-23
US20090262789A1 (en) 2009-10-22
DE602004013356T2 (de) 2009-05-07

Similar Documents

Publication Publication Date Title
KR100964935B1 (ko) 이력 상관 데이터를 이용하여 신호 상관을 수행하는 방법및 장치
EP2081041B1 (en) Method and apparatus for performing frequency synchronization
EP1529224B1 (en) Method and apparatus for performing signal correlation at multiple resolutions to mitigate multipath interference
KR100874127B1 (ko) 신호 상관관계를 계산하기 위한 방법 및 장치
EP1430616B1 (en) Method and apparatus for performing signal correlation using historical correlation data
KR100942207B1 (ko) 다중 분석에서 신호 상관을 계산하는 방법 및 장치
US7190712B2 (en) Method and apparatus for performing signal correlation

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: 20130530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140708

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150608

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170530

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190531

Year of fee payment: 10