KR101184269B1 - 위성 항해 시스템용 수신기 및 송신기 - Google Patents

위성 항해 시스템용 수신기 및 송신기 Download PDF

Info

Publication number
KR101184269B1
KR101184269B1 KR1020087024700A KR20087024700A KR101184269B1 KR 101184269 B1 KR101184269 B1 KR 101184269B1 KR 1020087024700 A KR1020087024700 A KR 1020087024700A KR 20087024700 A KR20087024700 A KR 20087024700A KR 101184269 B1 KR101184269 B1 KR 101184269B1
Authority
KR
South Korea
Prior art keywords
code
memory
storage unit
satellite
receiver
Prior art date
Application number
KR1020087024700A
Other languages
English (en)
Other versions
KR20090010027A (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 KR20090010027A publication Critical patent/KR20090010027A/ko
Application granted granted Critical
Publication of KR101184269B1 publication Critical patent/KR101184269B1/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/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain
    • 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/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/36Constructional details or hardware or software details of the signal processing chain relating to the receiver frond end
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

수신기는, 다수의 위성으로 이루어진 배치를 포함한 위성 항해 시스템과 함께 사용하도록 구성된다. 각 위성은, 확산 코드를 포함하는 신호를 송신한다. 이 수신기는, 어드레스 디코딩을 포함한 고정된 패턴의 비트로 이루어진 메모리 코드를 저장하기 위한 조합 논리를 포함하는 적어도 하나의 코드 저장 유닛을 구비하되, 상기 저장된 메모리 코드는, 위성으로부터 송신된 신호에 포함된 확산 코드에 해당한다. 상기 수신기는, 입력 신호와, 상기 적어도 하나의 코드 저장 유닛으로부터의 상기 저장된 확산 코드간의 상관을 행하는 상관기를 더 구비한다.
Figure R1020087024700
수신기, 위성, 항해 시스템, 확산 코드, 메모리 코드.

Description

위성 항해 시스템용 수신기 및 송신기{A receiver and transmitter for use in a satellite navigation system}
본 발명은, 다수의 위성들로 이루어진 배치(constellation)를 포함한 위성 항해(네비게이션) 또는 위치 결정 시스템에 관한 것으로, 구체적으로는 상기 위성 항해 시스템과 협력하여 사용하기 위한 수신기에 관한 것이다.
위성 항해 시스템은, 위치 결정, 차내 항해 지원 등을 위한 휴대형 디바이스를 포함한 폭넓은 범위의 응용에 있어서 점점 중요해지고 있다. 현재 서비스를 하고 있는 주요 위성 항해 시스템은, 미국 국방부에서 가동하는 범지구 위치 결정 시스템(GPS)이다. GPS장비의 세계적인 판매는 2003년에 거의 35억 달러에 달하였고, 이러한 숫자는 다음 수년간에 걸쳐 안정되게 성장할 것으로 기대된다. 갈릴레오라고 불리는 대응하는 유럽 위성 항해 시스템은 이번 10년 후 착수 및 서비스 가용하도록 계획되어 있다.
위성 항해 시스템은, 각각 하나 이상의 신호들을 지구에 보내는 위성 배치를 포함한다. 위성 신호의 기본 성분은, 항해 데이터와 결합된 (위치 결정, 동기화, 레인징(ranging) 코드라고도 하는 확산코드이다. 그래서, 결과적인 결합은, 지구에 송신하기 위한 설정 주파수에서 캐리어 상에서 변조된다. 각 위성은, 일반적으로 다중 주파수에서 송신하여서, 전리층 효과를 보상하고, 정밀도를 향상하고 보다 많은 데이터를 방송하는데 도움이 될 수 있다.
다수의 채널은, 일부의 적절한 다중화 방식을 거쳐 단일 캐리어 상에서 변조되는 경우도 일부가 있다. 예를 들면, 특정한 갈릴레오 신호들이 파일럿 채널과 결합된 데이터 채널을 포함하도록 구성된다. 파일럿 채널은, 확산 코드만을 포함하지만, 항해 데이터는 없고, 그 데이터 채널은 상기 확산 코드와 항해 데이터 양쪽을 포함한다.
전형적으로, 위성 신호의 확산 코드 성분은, ('칩'이라고 하는) 비트들로 이루어진 소정의 시퀀스를 포함하고, 2개의 주 태스크를 수행하는데 사용된다. 먼저, 상기 확산 코드는 동기화 및 액세스(CDMA) 메카니즘을 제공함으로써 수신기가 위성 신호를 로크할 수 있다. 이와 같이, 각 위성( 및 전형적으로 그 위성으로부터의 각 신호 방송)은, 그 자신의 동기화 코드를 갖는다.
먼저 수신기를 온으로 전환하는 경우, 그것은 어느 위성 신호가 수신될 수 있는지를 모르는데, 그 이유는 상기 배치에서 특정 위성이 그 특별한 시간에 특별한 지점에 대해 지평선 아래에 있기 때문이다. 수신기는, 상기 동기화 코드를 사용하여 제 1 위성으로부터의 신호를 로크한다. 이것이 일단 행해지면, 상기 신호에서의 항해 데이터는 액세스될 수 있다. 그 후, 이것은, 상기 배치에서의 다른 위성에 대한 연감 데이터를 제공하고, 상기 수신기에게 보여질 수 있는 나머지 위성들이 상대적으로 신속하게 획득되게 한다.
많은 수신기는 2상태 획득 프로세스(two-phase acquisition)를 이용한다. 제 1 상태에서, 상기 수신기는, 위성 확산 코드들의 세트에 대한 입력신호의 동시 보정을 수행한다. 특히, 상기 수신기는, 임의의 위성으로부터의 확산 코드를 검색하여, 상기 위성과 상기 수신기간의 어떠한 가능한 타이밍 오프셋도 고려하고, 상기 위성과 (사용자에 대한 공간의 위성의 움직임에 의존하는) 수신기 사이의 어떠한 가능한 도플러 이동도 고려한다. 어떤 보정치가 소정의 임계치를 초과한 것을 찾으면, 보다 상세한 분석을 포함하는 제 2 상태는 위성 확산코드, 타이밍 오프셋 및 도플러 이동의 관련 결합에 대해 수행된다. 이러한 제 2 상태 분석은, 초기의 대략 획득 코드를 검증 및 확인하거나 필요한 경우 거부한다.
확산 코드의 제2의 주요 태스크는, 상기 위성으로부터 상기 신호가 수신기로 이동하는데 걸리는 시간에 의거하여, 상기 위성으로부터 상기 수신기까지의 거리를 추정하는데 있다. 그 후, 상기 수신기의 위치는, (위성으로부터 수신된 항해 데이터에 규정된 것처럼) 알려진 위성의 위치가 주어지면, 삼면측량의 프로세스를 사용하여 3차원 공간에서 결정된다. 이론상으로, 삼면측량은, 상기 수신기 클록과 위성 클록간의 타이밍 오프셋이 알려져 있다고 하면, 최소 3개의 위성으로부터의 신호 정보로 행해질 수 있다. 실제로, 이 타이밍 오프셋은, 특수 수신기를 제외하고는 일반적으로 알려져 있지 않아서, 적어도 하나의 추가의 위성으로부터 신호 정보를 얻어 그 수신기의 알려져 있지 않은 타임 오프셋을 보상한다. 또 다른 위성들로부터의 신호들이 가용하다면, 통계적 위치 결정은 최소 제곱 등의 어떠한 적절한 알고리즘을 사용하여서도 수행될 수 있다. 또한, 이것으로 추정 위치와 연관된 오차 를 일부 표시할 수 있다.
확산 코드의 하나의 중요한 파라미터는, 확산 코드가 송신되는 칩 속도인데, 그 이유는 이것이 다음에 상기 위치 결정을 할 수 있는 정밀도를 제어하기 때문이다. 확산 코드의 다른 중요한 파라미터는, 확산 코드의 총 길이, 즉 그 확산 코드를 반복하기 전의 확산 코드의 칩의 수이다. 이에 대한 한가지 이유는, 확산 코드의 유한 길이에 의해 위치 결정이 불명확해질 수 있다는 것이다. 상기 확산 코드의 길이가 길수록 그 불명확성이 감소되고, 또 신호들을 서로 다른 소스로부터 보다 낳게 분리하고 간섭에 대한 강건성을 증가시킨다. 한편, 그 확산 코드에 대한 반복 길이를 보다 길게 함으로써, 그 신호의 초기 획득을 지연하기도 하고, 상기 수신기 내에서 보다 많은 처리 능력을 요구하기도 한다.
일반적으로, 상기 확산 코드의 길이도, 완전한 확산 코드 시퀀스마다 보통 항해 데이터의 1비트만 있으므로, 상기 항해 데이터에 사용될 수 있는데이터 속도에 강한 영향을 준다. 따라서, 상기 확산 코드의 반복 길이가 길수록, 항해 데이터의 비트 속도도 저하한다.
일 공지된 스트래티지는, 1차 및 2차 코드에 의거한 계층적 또는 층층의 확산 코드를 사용하는데 있다. 1차 코드가 N1칩을 갖고 2차 코드가 N2 칩을 갖는다고 하면, 전체 확산 코드의 제1의 N1칩은 2차 코드의 제1 칩과 배타적 논리합된 1차 시퀀스에 해당하고, 이때 상기 확산 코드의 다음의 N1칩은 상기 1차 코드의 제2 칩과 배타적 논리합된 1차 코드의 N1칩의 반복 등을 포함한다. 이것은 N1xN2의 코드에 대한 총 반복 길이를 나타내지만, 상기 초기의 획득은 1차 코드에만 기초할 수 있다.
GPS 확산 코드는, 선형 피드백 시프트 레지스터(LFSRs)를 사용하여 구현되고, 이때 N단의 시프트 레지스터로부터의 선택된 출력들은 입력에 접속되어 피드백된다. LFSR 내의 피드백 접속은, 오더 N의 모듈로-2 계산에서의 이진 다항식으로서 나타내어질 수 있어서, LFSR의 연산은 LFSR의 다항식과 초기의 설정값에 의해 완전히 규정된다.
GPS 확산 코드는, 어떤 특수한 수학적 특성을 갖는 골드 코드이다. 이들 중 하나는, 반복 길이가 2N-1인 의사 랜덤 잡음(PRN)의 출력을 생성하여서, 상대적으로 콤팩트한 LFSR은 반복 길이가 긴 출력을 생성할 수 있다. 또한, 골드 코드는, 코드 획득 및 정확한 위치 결정을 지원하는 양호한 자동 상관 특성을 갖는다. 특히, 자동 상관함수는, 제로 시간 시프트에서 명확한 피크를 갖고, 모든 다른(즉, 비제로) 시간 시프트에 대해 상대적으로 작다. 이와 동시에, 교차 상관 특성이 좋은 골드 코드의 세트를 선택하는 것도 중요함에 따라서, 서로 다른 코드간의 교차 상관함수는 상대적으로 작다. 이것은 신호 획득에 중요한데, 그 이유는, 일 위성으로부터의 동기화 코드가 다른 위성으로부터의 동기화 코드로 우연히 잘못 알려지는 것을 막는데 도움이 되기 때문이다. 또 다른 중요한 확산 코드의 실제 기준은, 1들과 0들의 동일한(또는 거의 동일한) 수를 갖는데 있다- 이것을 밸런싱이라고 한다.
위성 항해 시스템에 관한 추가의 정보를 찾을 수 있는 곳은, Misra 및 Enge,Ganga-Jamuna Press, 2001,ISBN 0-9709544-0-9에 의한 "Global Positioning System:Signals,Measurements and Performance"; American Institute for Aeronautics and Astronautics에서 공개한 Bradford W.Parkinson and James J.Spilker Jr,ISBN 1-56347-106-X에 의한, "Global Positioning System: Theory and Applications"; Hollreiser et al, ION GPS/GNSS 2003, September 2003, Portland, Oregon,p1914-1928에 의한, "Galileo User Segment Overview"; 및 Hollreiser et al,GPS World, July 2005에 의한, "Galileo Test User Segment-First Achievements ans Application"가 있다.
비록 기존의 위성 항해 시스템에 대해 골드 코드의 사용이 잘 확립되어 있지만, 이러한 코드와 연관된 제한이 약간 있다. 예를 들면, 그 골드 코드들은, 특정 코드 길이(2N-1, 그리고, N의 모든 값은 LFSR 다항식에 사용될 수 없다)로 사용 가능할 뿐이다. 일반적으로, 코드 길이는, 확산 코드의 칩 속도와 상기 항해 데이터의 비트 속도와의 비율에 의해 결정된다. 코드 길이가 사용 가능한 골드 코드에 한정되면, 이것은, 칩 속도와 비트 속도의 제약을 의미하고, 이는 다음에 획득 및 위치 결정 정확도 등의 다른 고려사항에 강한 영향을 줄지도 모른다. 일부의 경우에는, 골드 코드에 대한 코드 길이의 제한은, 절단된 골드 코드를 사용하여 해결되었지만, 이러한 절단은 (자동상관 함수 등의 면에서) 코드 세트의 수학적 특성에 악영향을 준다.
이에 따라서, PCT 출원 PCT/EP2004/014488 및 PCT/EP2005/007235에서는, 위성 확산 코드로서 고객 설계 또는 주문형 비트 시퀀스를 사용하는 것이 제안되어 있다. 이것에 의해, 임의의 길이의 확산 코드를 개발할 수 있고, 또한, 다른 제약에 의존하지 않는 자동 상관 및 교차 상관 등의 여러 가지 특성을 최적화할 수 있다. 여기에서, 상기와 같은 확산 코드는, 일반적으로 수신기가 코드의 전체 칩 패턴을 저장하므로, "메모리" 코드로서 기재될 것이다. 이것은, 전체 코드의 칩 패턴을 저장하는 것보다는 LFSR을 사용하여 골드 코드의 다항식에 따라 알고리즘적으로 코드를 생성하는 골드 코드에 관해서, 칩 패턴을 알고리즘적으로 생성하는 것과 대조적이다. 이때, 메모리 코드가 전형적으로 (의사) 랜덤 액세스 번호 시퀀스로부터 생성되므로, 그 메모리 코드들은 보통 데이터 압축 기술에 호의적이지 않다.
수신기에 대한 메모리 코드들의 세트는, 플래시 메모리 등의 일부 형태의 ROM 내에 저장될 수 있다. 그래서, 이들 코드는, 입력되는 위성 신호들에서 확산 코드의 검출시에 사용하기 위한 부트 시간에 상기 수신기 칩셋에 로딩될 수 있다. 완전한 메모리 코드가 수신기 칩셋 자체에 로딩되는 경우, 이것은 수신기 칩셋의 저장 위치의 관점에서 매우 중요한 오버헤드를 나타내기도 한다. 이와는 달리, 상기 코드들은, 상기 수신기 칩셋에 외장된 RAM에 로딩될 수도 있고, 여기서, 그 코드들은 범용 수신기 연산을 위해 전체 프로그램 및/또는 데이터 저장 요구사항에 비교적 작은 첨가만을 나타낼 것이다. 그렇지만, 이 경우에, 수신기 칩셋 상에서 RAM으로부터 실시간으로 상기 코드들을 공급하는 전용 고속 인터페이스뿐만 아니라, 수신기 칩셋 자체 내의 일부의 추가의 내부 버퍼링도 필요할 것 같다.
도 1은 예를 들면 종래의 GPS 수신기 칩셋 내에 설치될 수도 있는 LFSR의 전형적인 구성을 도시한 것이다. 기본적인 하드웨어는, 길이 N의 시프트 레지스 터(11) 플러스 각각 길이 N의 2개의 추가의 레지스터(12,13)를 포함한다. 상기 시프트 레지스터 자체의 설계는, 피드백 탭이 하드와이어되지 않다는 점에서 일반적이다. 오히려, 여러 단의 시프트 레지스터(11) 간의 피드백은, 2개의 추가의 레지스터(다항식 레지스터 12) 중 하나에 로딩되는 다항식 값에 의해 제어된다. 그 후, LFSR의 초기의 설정값은, 다른 추가의 레지스터(초기의 패턴 레지스터 13)에 저장된 값에 의해 결정된다. 이렇게 하여, 도 1의 상기 LFSR은, 적절한 값을 다항식 레지스터와 초기의 패턴 레지스터에 제공함으로써 주문을 받아서 만들어질 수 있다.
도 1의 LFSR은, 3N 저장 위치를 포함한다(시프트 레지스터 11, 다항식 레지스터 12, 및 초기의 패턴 레지스터 13 각각은 N 저장위치를 갖는다). 상술한 것처럼, 최대의 골드 코드에 대해서, 피드백 시프트 레지스터(11)의 저장 위치의 수는 N=2log(L+1)에 의해 출력코드(L)의 길이에 관련된다. 골드 코드가 일반적으로 2 LFSR로부터의 출력들을 조합하는 것에 기초하므로, 골드 코드에 대한 저장 위치의 총 수 T(S)를 T(S)=6*2log(L+1)로 나타낼 수 있다. 추가로, 표준 LFSR 코드 생성기는, 피드백 탭(XORs)뿐만 아니라, 상기 시퀀스의 끝에서 재설정, 재로딩 및 재시작하기 위한 카운터(또는 비교기 + 레지스터)와 결합하여 소형 상태 머신/제어기도 제공하는 약간의 조합 논리를 갖는다.
이와 대조하여, 수신기에서의 메모리 코드의 직접 구현은, 관련 어드레스 디코더를 포함한 수신기에 저장되는 코드마다 표준 길이 메모리를 제공하는 것을 포함할지도 모른다. 상기 메모리는, 선택된 구현 기술에 따라 정적 또는 동적일 수 있다. 대부분의 폭넓은 확산 기술(ASIC, FPGA)는 정적 메모리를 지원한다. 추가로, 어드레스 생성을 위한 소형 상태 머신 또는 제어기는, 전형적으로 정확한 메모리 셀의 판독을 확보하는데 사용될 것이다. 정적 메모리 셀의 동등한 게이트-카운트는 1.5 NAND 2(NAND2는, 2입력 NAND 게이트를 나타내고, 전형적으로 6개의 트랜지스터로 이루어진다)라고 가정하면, 0.18㎛기술에 대해, 이것은 메모리 셀 당 18.75㎛2의 면적이 된다. 상태 머신/제어기를 위한 200게이트를 포함하고, (갈릴레오 L1 신호에 해당하는) 4096 칩 코드를 가정함으로써, 이것은 전체 면적이 79300㎛2인 6344개의 NAND2 게이트이다. 이와는 달리, 10230 칩 코드일 경우, 갈릴레오 E5a 신호에 관해서, 또한 상기와 같은 가정에 의거하여, 이것은, (구조의 규칙성으로 인해 어떠한 절감도 무시하는) 전체 면적이 194312㎛2인 15545 NAND2 게이트이다. 이것은, 수신기 칩셋에 대해 중요한 오버헤드를 나타낼 수 있다.
또한, 이때 메모리 코드일 경우에, T(S)
Figure 112008070462517-pct00001
L이다. 달리 말하면, 저장 위치의 수는, LFSR 구현에 관해, 상기 코드의 대수에 비례하기보다는 상기 코드의 길이에 직접 비례항 상승한다. 따라서, 명확한 것은, 상기 확산 코드의 길이가 증가함에 따라, 메모리 코드의 사용은 종래의 LFSR 접근법보다 상당히 많은 저장 위치를 요구한다. 이러한 문제는, 수신기가 하나의 확산 코드가 아니라, 오히려 모든 위성 및 관심 있는 모든 신호들에 대한 확산 코드들의 완전한 세트를 저장해야 한다는 점에서, 악화된다.
발명의 요약
따라서, 본 발명의 일 실시예는, 다수의 위성으로 이루어진 배치를 포함한 위성 항해 시스템과 함께 사용하기 위한 수신기를 제공하고, 여기서 각 위성은, 확산 코드를 포함하는 신호를 송신한다. 수신기는, 고정된 패턴의 칩으로 이루어진 메모리 코드를 저장하기 위한 조합 논리를 포함하는 적어도 하나의 코드 저장 유닛을 구비한다. 상기 저장된 메모리 코드는, 위성으로부터 송신된 신호에 포함된 확산 코드에 해당한다. 상기 조합 논리는, 상기 저장된 메모리 코드의 특정 부분을 검색하는 어드레스 디코딩 기능성을 구비한다. 상기 수신기는, 입력 신호와, 상기 코드 저장 유닛으로부터의 상기 저장된 메모리 코드간의 상관을 행하는 상관기를 더 구비한다.
예를 들면, 플립플롭 또는 레지스터로서 메모리 셀의 종래의 구현이 이전의 입력에 의존하는 상태를 유지하는 순서적인 논리에 의거하여서, 저장되는 데이터는 입력신호로서 상기 디바이스에 로딩된다는 것을 알 것이다. 이와 대조하여, 확산 코드는, 조합 논리의 하드와이어드 구성에 의해 상기 조합 논리에 저장되는 것으로서 생각될 수 있다.
또한, 기존의 수신기에서 확산 코드를 생성하는데 사용된 LFSR은 그 출력이 레지스터 내의 내부 상태에 의존하므로, 조합 논리라기보다는 순서 논리를 포함한다는 것을 알 것이다. 추가로, LFSR들은, 특정 수학적 알고리즘에 의해 규정된 코드들에 대해 생성할 수 있는 코드에 한정된다. 실제로, LFSR은, 코드 자체를 저장하는 것이라기 보다는 (코드를 생성하는데 사용될 수 있는) 수학적 알고리즘을 저 장하는 것으로서 보다 좋게 생각된다. 이와 대조하여, 상기 조합 논리는, 일반적인 또는 임의의 확산 코드, 예를 들면 어떠한 소정의 수학적 특성을 갖지 않는 것과, 소정의 수학적 알고리즘을 사용하여 생성되지 않는 것을 저장하는데 사용될 수 있다. 따라서, 상기 조합 논리는, 특별한 위성 항해 시스템에 대해 최적화되었던 주문된 또는 주문을 받아서 만들어진 메모리 코드를 저장하는데 사용될 수 있다.(이때, 상기 조합 논리는 상기 주문을 받아서 만들어진 메모리 코드에 한정되지 않고; 그 조합 논리는 골드 코드나 일부의 다른 수학적 시퀀스에 해당하는 메모리 코드를 사용하는데 사용될 수도 있다.)
일반적으로, 수신기는, (상기 수신기가 지원하는 서비스에 대해) 위성 항해 배치에서 각 위성으로부터 신호마다 서로 다른 확산 코드를 저장한다. 이것은, 그 배치에서 임의의 위성이 고장나면, 대체 위성이 예비 위성으로서 사용되는 확산 코드를 포함하기도 한다. 상기 확산 코드의 세트를 코드 저장 유닛(들)에 할당할 수 있는 방식이 여러 가지가 있다. 예를 들면, 일 구현에 있어서, 단일의 코드 저장 유닛은, 상기 배치에서의 모든 위성들에 대한 확산 코드들의 완전한 세트를 보유하는데 사용되어도 된다. 또 다른 실시예에서, 각 위성으로부터 신호마다 확산 코드는, 별도의 코드 저장 유닛에 저장되어도 된다. 당업자는, 상기 메모리 코드들을 코드 저장 유닛에 할당하기 위한 가능한 많은 다른 중간의 구현을 알 것이다.
일 실시예에서, 상기 수신기는 다수의 수신 채널을 포함하고, 코드 저장 유닛(들)로부터의 위성에 대한 저장 메모리 코드는, 수신 채널 상의 입력 신호와의 상관을 위한 수신 채널들 중 어느 하나에 공급되어도 된다. 이와 같이 비록 메모리 코드 자체들이 조합 논리를 거쳐 하드와이어될지라도, 상기 확산 코드의 서로 다른 수신 채널에의 할당은 융통성이 있을 수 있다. 이러한 융통성은, 지구 상에서 어떠한 주어진 시간이나 장소에도 유용하고, 단지 항해 위성의 서브세트는 육안으로 볼 수 있다(기타는 빌딩에 의해 가려지거나 또는 지평선 아래에 있기도 한다). 이에 따라서, 코드 저장 유닛(들)로부터 여러 가지 수신 채널에 확산 코드를 융통성 있게 확산하는 능력에 의해, 동작시, 상기 시스템이 현재 육안으로 볼 수 있는 위성들에 대한 확산 코드를 상기 수신 채널에 할당하므로, 수신기에서의 수신 채널의 수가 총 위성 수 미만이 될 수 있다. 더욱이, 상기 융통성은, 상기 배치에서 위성이 고장나면 유용하고, 그것의 장소는 예비 위성 중 하나에 의해 취해진다(이 예비 위성에 대한 확산 코드가 이미 수신기에 저장된다고 가정한다).
이때, 기존의 수신기에 대해, 주어진 등급의 신호를 수신하는 수신 채널의 수는, 보통 상기 배치에서의 위성 수 미만이다. 이것은, (도 1에 도시된 다항식 및 초기의 설정 레지스터를 사용하여) 원하는 위성 신호에 대한 수신채널 내에 각 LFSR을 적절하게 구성하여서 이루어진다. 상기 코드 저장 유닛(들)의 조합 논리는, 연산시에 상기와 같이 융통적으로 구성될 수 없지만, 그럼에도 불구하고 일부의 융통성이 수신기 아키텍처 레벨에서 회복될 수 있다.
일 실시예에서, 코드 저장 유닛은, 출력용 상기 저장 메모리 코드의 하나 이상의 칩의 특별한 세그먼트를 규정하도록 주소화될 수 있다. 메모리 코드의 선택 가능부를 제공하는 능력은, 제한된 수의 출력 핀 상에서 메모리 코드가 출력되게 하고, 또한 통상의 사용을 위해 메모리 코드에 대한 검색 패턴을 보다 좋게 일치시 킨다. 코드 저장 유닛은, 상기 조합 논리에 의해 생성된 코드를 통해 상기 디바이스가 하나 이상의 칩을 한번에 순서적으로 가게 하는 시퀀서 및/또는 상기 메모리 코드의 특별한 부분이 출력을 위해 선택되게 하는 어드레스 수단을 구비하기도 한다. 이때, 출력 메카니즘은, (코드를 통해 가는 것 등의) 순서적 논리로 구현되어도 되지만, 이러한 코드의 순서적 출력은 (코드 저장 및 출력이 코드 저장 유닛의 물리적 성분 레벨에서 통합되는 경우라도) 상기 조합 논리에 의해 코드 저장과 논리적으로 같지 않은 것으로서 간주될 수 있다.
상기 코드 저장 유닛으로부터의 출력은 단일의 칩을 한번에 포함하거나, 각 출력은 다수의 칩들로 이루어진 세트를 포함하기도 한다. 이때, 그 후자의 선택은, LFSR 출력이 한번에 단일 칩만을 출력한다는 점에서, LFSR을 사용하는 것과 비교하여 조합 논리의 확산 코드를 저장하는 것간의 또 다른 차이를 반영한다. 이와 대조하여, 조합 논리 블록이 상기 코드의 전체 칩 패턴을 저장하므로, 다수의 코드 칩은 (원하는 경우) 어떠한 주어진 시간에 동시 출력을 위해 이용 가능할 수 있다.
상기 코드 저장 유닛은, 비록 임의의 적절한 반도체 기술이 사용될지라도(예를 들면, 완전 커스터마이제이션 등), 필드 프로그램 가능형 게이트 어레이(FPGA)나 주문형 집적회로(ASIC-게이트 어레이, 표준 셀)로서 구현하는데 특히 적합하다. 상기 조합 논리의 사용은, 일반적으로 FPGA 및/또는 ASIC의 가용 회로와 일반적으로 호환 가능하고, 이에 따라서 상기 조합 논리는 표준 반도체 개발 툴을 사용하여 설계 및 구현될 수 있다. FPGA들 및 ASIC들 등의 표준 기술의 사용은 주 수신기 칩셋의 일부로서 상기 조합 논리를 구현하는 것에 도움이 된다는 것을 알 것이다(이 에 따라서 일 디바이스의 코드 저장 유닛(들)와 수신기 칩셋간의 고속 인터페이스가 필요하지 않다).
상기 코드 저장 유닛(들)를 사용하여 다수의 레벨의 계층적 코드를 저장할 수 있다. 예를 들면, 코드 저장 유닛을 사용하여 1차 코드 및/또는 2차 코드를 저장하여도 된다. 이때, 상기 코드 저장 유닛(들)이 1차 코드와 이에 대응한 2차 코드 양쪽을 보유하는 경우, 이들은 (출력용 최종 조합 코드를 나타낸) 하나의 긴 시퀀스로서, 또는 별개의 1차 및 2차 코드로서 저장될 수 있다. 완전한(조합된) 코드 시퀀스의 저장용 N1xN2와 비교하여, 단지 N1+N2개의 칩이 저장되는 것을 필요로 하므로, 후자의 구성은 보다 콤팩트하다는 것을 알 것이다. 다른 실시예에서, 상기 조합 논리는, 예를 들면 1차 코드와 같은 하나의 레벨의 계층적 코드를 저장하는데 만 사용되어도 된다.
본 발명의 또 다른 실시예는, 다수의 위성의 배치를 포함한 위성 항해 시스템에서 사용하기 위한 위성을 제공하고, 여기서 각 위성은 확산 코드를 포함한 신호를 송신한다. 상기 위성은, 고정된 패턴의 칩들을 포함한 메모리 코드를 저장하기 위한 조합 논리를 구비한 적어도 하나의 코드 저장 유닛을 포함한다. 상기 메모리 코드는, 그 위성으로부터 송신된 신호에 포함되는 확산 코드에 해당한다. 이와 같이 입력 신호와 상관하는 수신기에서의 확산 코드를 생성하는데 사용된 접근법은, 위성으로부터 방송용 확산 코드를 생성하는데 사용될 수 있다.
본 발명의 또 다른 실시예는, 다수의 위성의 배치를 포함한 위성 항해 시스템과 함께 사용하기 위한 수신기를 작동하는 방법을 제공하고, 각 위성은, 확산 코 드를 포함한 신호를 송신한다. 이 방법은, 고정된 패턴의 칩들을 포함한 메모리 코드를 저장하기 위한 조합 논리를 구비한 적어도 하나의 코드 저장 유닛을 제공하는 것을 포함한다. 상기 메모리 코드는, 위성으로부터 송신된 신호에 포함되는 확산 코드에 해당한다. 이 방법은, 입력 신호와, 상기 조합 논리에 저장된 확산 코드 사이에서 상관을 수행하는 것을 더 포함한다.
본 발명의 또 다른 실시예는, 다수의 위성의 배치를 포함한 위성 항해 시스템과 함께 사용하기 위한 수신기를 제조하는 방법을 제공하고, 각 위성은, 확산 코드를 포함한 신호를 송신한다. 이 방법은, 상기 수신기 내에 저장되는 위성 확산코드를 결정하는 것과, 상기 위성 확산코드에 대응한 고정된 패턴의 칩들을 저장하는 조합 논리를 갖는 적어도 하나의 코드 저장 유닛을 제공하는 것을 포함한다.
일 실시예에서, 상기 조합 논리는, 하드웨어 기술 언어 내에서 상기 고정된 패턴의 칩들의 사양을 제조하여서 생성된다. 그래서, 이러한 사양은, 논리 합성을 사용하여 원하는 플랫폼에 구현될 수 있다. 이때, 상기 하드웨어 기술 언어에서 상기 조합 논리의 사양은, 원하는 출력 코드를 한정하는 상수를 사용할 수 있다. 이에 따라서, 서로 다른 확산 코드를 한정하는데 필요한 변화만이 그 상수의 값을 갱신한다.
이하의 도면을 참조하여 예시로만 본 발명의 여러 가지 실시예들을 상세히 설명하겠다:
도 1은 종래의 선형 피드백 시프트 레지스터(LFSR) 구현의 개략도,
도 2는 본 발명의 일 실시예에 따른 조합 논리를 사용한 메모리 코드의 저장을 나타낸 개략도,
도 3은 단일 코드 저장 유닛에 모든 메모리 코드를 저장하는 본 발명의 일 실시예에 따른 수신기의 아키텍처를 나타낸 개략도,
도 4는 별개의 코드 저장 유닛에 각 메모리 코드가 저장된 본 발명의 다른 실시예에 따른 수신기의 아키텍처를 나타낸 개략도,
도 5는 본 발명의 일 실시예에 따른 메모리 코드를 저장하기 위한 코드 저장 유닛을 설계하는 방법을 나타낸 흐름도,
도 6은 본 발명의 일 실시예에 따른 도 5의 방법으로 제조된 네트리스트에 의거한 일 예의 개략도이다.
상세한 설명
도 2는 본 발명의 일 실시예에 따른 코드 저장 유닛(15)을 구비한 코드 생성기(10)의 개략도이다. 코드 생성기(10)는, 하나의 이상의 메모리 코드를 저장 및 출력하는데 사용되므로, 종래의 수신기에서 도 1의 LFSR 등의 유닛을 대신한다.
코드 생성기(10)는, 논리적으로 2개의 주요 구성요소, 즉 코드 저장 유닛(15)과 시퀀서(25)를 포함하는 것으로서 생각될 수 있다. 코드 저장 유닛(15)은, 메모리 코드를 저장하고 어드레스 디코딩을 제공하는데 사용된 조합 논리(20)를 구비한다. 상기 시퀀서(25)를 사용하여, 적절한 시작 어드레스를 로딩하고 현재의 어 드레스를 증분함으로써, 상기 출력용 메모리 코드의 원하는 부분의 어드레스를 규정한다. (이때, 물리적 구현에 있어서, 이들 2개의 구성요소의 기능성은, 아래에 상세히 설명된 것처럼, 집적될 것 같아서, 상기 조합 논리와 상기 시퀀서간의 구분이 명확하지 않고; 그럼에도 불구하고, 논리적 또는 기능적 관점에서 보면, 2개의 구성요소는 별개로 생각될 수 있다.)
도 2의 예시에서, 조합 논리(20)는, 다수의 출력 Out(50)을 갖는다. 한정된 어드레스(45)에 대해, 상기 출력(50)은 조합 논리(20) 내에 특별한 게이트의 구성에 따라 한정된다. 부하(40)를 활성화시키는 동안, 시작 어드레스(30)는, 어드레스 시퀀서(25)에 로딩된다. 그 후, 그 어드레스 시퀀서(25)로부터의 어드레스는, 어드레스(45)로서 코드 저장 유닛(15)에 공급되고, 그 메모리 코드의 대응한 단편은 조합 논리(20)의 출력(50)에 나타난다.
어드레스 시퀀서는, 인에이블 입력(35)이 어서트되는 경우 clk(55)의 매 펄스로 어드레스(45)를 증분한다. 이것에 의해 상기 메모리 코드의 대응한 단편 또는 부분이 조합 논리(20)의 출력(50)에 나타난다. 그렇지 않은 경우, 상기 인에이블 신호가 어서트되지 않는 경우, 상기 규정된 어드레스(45)와 그에 따른 조합 논리(20)의 출력은 일정하게 유지한다.
논리 블록(20)이 순서적이라기보다는 오히려 조합적이므로, 그 논리 블록은 어떠한 상태 정보도 저장하지 않는다는 것을 알 것이다. 따라서, 조합 논리는, 통상 메모리 디바이스의 형태로서 생각되지 않는다. 그럼에도 불구하고, 상기 조합 논리(20) 내의 게이트 구성은, (하드와이어드) 저장의 형태로서 보여질 수 있어, 상기 조합 논리(20)로부터의 출력(50)은 저장된 세트의 비트들에 해당한다. 그러므로, 상기 조합 논리는, 어드레스(45)마다 비트들로 이루어진 세트를 저장하는 판독 전용 메모리(ROM)의 형태로서 생각될 수 있다. 그렇지만, 이때, 상기 조합 논리의 "콘텐츠"는 고정되고(조합 논리 블록이 하드와이어된다고 함), 그래서 일부 형태의 기록 메카니즘을 지원하는 플래시 메모리, EEPROM 등의 많은 "ROM"의 표준 형태와 비교하여 갱신될 수 없다. 추가로, 상기 조합 논리(20)의 내부 구성은, 랜덤 액세스 메모리(RAM)와 달리, 상기 저장된 비트들로 이루어진 세트에 특별하고(주문을 받아서 제조되고), 이것은, 통상 데이터 값이 로딩되는 표준화된 메모리 셀로 형성된다. 달리 말하면, 대부분의 종래의 메모리 디바이스에 있어서, 상기 메모리 디바이스의 범용 하드웨어 구조와, 상기 디바이스에 저장되고 있는 데이터 콘텐츠간에는 논리적으로 분리된다(또한, 유사한 분리는, 도 1의 LFSR 아키텍처에도 적용된다). 그렇지만, 하드웨어 구조가 저장되고 있는(플러스 어드레스 디코딩하고 있는) 실제의 데이터 콘텐츠에 직접 해당한다(즉, 반영하거나 나타낸다)는 점에서, 조합 논리(20)를 사용하여, 상기와 같이 논리적으로 분리되지 않는다.
상기 조합 논리(20)로부터의 출력(50)은, (아래에서 상세히 설명된 것처럼) 조합 논리 내에 게이트의 적절한 구성을 선택하므로써 어떠한 주어진 비트들의 세트를 나타내도록 배치될 수 있다. 이에 따라서, 도 2의 조합 논리는, 메모리 코드에 대응한 칩 시퀀스를 저장하는데 사용될 수 있어, 상기 논리 블록으로부터의 출력(50)은 메모리 코드의 칩 시퀀스에 해당한다. (이것은, 상기 메모리 코드의 순서적 특징을 매칭하도록 조합 논리(20)의 출력(50)을 위한 적절한 오더링을 규정하는 것을 포함하는 것을 알 것이다. 이것은, 아래에 상세히 설명된 것처럼, 논리 합성시 실제의 메모리 코드 콘텐트와 상기 어드레스 디코딩을 통합하는 것을 통해 이루어질 수 있다).
(예를 들면) 수천의 칩을 포함한 긴 메모리 코드 시퀀스 L에 대해, 통상, 모든 메모리 코드 칩을 병렬로 출력하기 용이하지 않은데, 그 이유는 이것이 아주 큰 수의 출력 핀을 포함할 것이기 때문이다. 추가로, 전체 확산 코드를 동시에 출력하는 수신기 동작에 일반적으로 필요하지 않다. 오히려, 상기 조합 논리(20)는, 특정 어드레스(45)마다 메모리 코드로부터 하나 이상의 칩들로 이루어진 서브세트를 출력한다.
예를 들면, 전체 수신기 아키텍처에 의해,
1. 단일 칩은, 어드레스(45) 증분마다 제공될 수 있다. 그 후, 이 칩은 단일 수신기 상관기에 라우팅된다. 이러한 경우에, 하나의 메모리 코드만이, 조합 논리(20)에 포함된다.
2. 하나보다 많은 메모리 코드(예를 들면, 하나보다 많은 신호 및/또는 하나보다 많은 위성용 메모리 코드)가 조합 논리(20)에 포함되는 경우, 상기 유닛은 몇몇의 수신기 상관기에 의해 시간 공유되어야 한다. 이러한 구현에 있어서, 조합 논리(20)는, 어드레스(45)가 특별한 값까지 증분하는 경우 제 1 모메뢰 코드의 제 1 서브시퀀스를 출력한다. 이러한 서브시퀀스는, 대응한 제 1 수신기 상관기에 라우팅된다. 제 1 수신기 상관기가 그것의 서브시퀀스를 통해 작용하고 있는 동안, 서로 다른 메모리 코드의 다른 서브시퀀스들은, 조합 논리(20)에 의해 서로 다 른 수신기 상관기에 제공된다. 모든 수신기 상관기가 제공되었다면, 상기 시퀀서는, 제 1 수신기 상관기로 되돌아가고, 제 1 메모리 코드의 제 2 서브시퀀스를 제 1 수신기 상관기에 제공한다.
개개의 서브시퀀스의 길이는, 개개의 코드 생성기(10)에 의해 제공되는 수신기 상관기의 전체 수에 의존한다. 전형적인 서브시퀀스마다 칩의 수는, N=8,16,32,64 또는 128일지도 모른다. 이와 같이, clk(55) 신호의 연속적인 활성화마다 인에이블 신호(35)가 활성인 동안, 시퀀서(25)는 어드레스(45)를 증분하고, 조합 논리(20)는 출력(50) 상에 다음의 N칩을 출력한다.
예를 들면, 하나의 메모리 코드만이 조합 논리(20)에 저장된다고 가정하면, L=4096 및 N=16일 경우, 제 1 clk(55) 틱(tick)(인에이블 신호(35)가 활성인 동안) 조합 논리(20)에 저장된 메모리 코드의 칩 0-15를 출력하고, 다음의 clk(55)는, 전체 메모리 코드가 출력될 때까지(여기서 우리는 칩 0으로 역순환한다) 조합 논리(20)에 저장된 메모리 코드의 칩 136-31을 출력하는 등을 행한다. 또 다른 실시예에서, N=1, 이 경우에 상기 저장된 메모리 코드는 코드 저장 유닛(15)으로부터 칩 단위로 출력된다.
시퀀서(25)가 상태 정보(메모리 코드 시퀀스 내의 그 위치/어드레스)를 유지하므로, 시퀀서(25)는 순수 조합 논리라기보다는 순서적 논리를 포함한다. 예를 들면, L=4096 및 N=16인 경우, 시퀀서(25)는 일 실시예에서 8비트 카운터로서 구현되어도 된다.
도 2의 실시예에서, 또한, 시퀀서(25)에는, 어드레스 제어신호(30)의 형태로 어드레스 메카니즘이 구비된다. 이러한 어드레스 제어신호(30)를 사용하여 출력용 메모리 코드 시퀀스 내의 특정 위치를 규정할 수 있다. 이와 같이, 우리는 상기 예로 계속하면, 여기서 L=4096 및 N=16이고, 시퀀서(25)는 8비트 카운터인 경우, 어드레스 제어신호(30)는 그 카운터 내에 로딩하는 8비트 값으로서 제공되어도 된다. 달리 말하면, 인에이블 신호(35)가 다음 코드 위치로 시퀀서(25)를 증분하는 동안, 어드레스 제어신호(30)는 그 코드 내의 어떠한 원하는(새로운) 위치에도 시퀀서(25)를 설정하는데 사용될 수 있다. 다른 실시예에서, 어드레스 제어신호(30)는 시퀀서(25) 내의 카운터 값을 제로로 되돌리는 단순 리셋 라인으로 대체된다. 이러한 실시예에 의해, 그 코드 내의 시퀀서 위치가 리셋될 수 있지만, 그 메모리 시퀀스 내의 임의의 위치가 상기 시퀀서에 규정될 수 없다.
서로 다른 위성에 대한 서로 다른 메모리 코드 등의 다수의 메모리 코드를 저장하는 수신기에 대해, 그 서로 다른 코드를 저장하는 것이 가능한 구성이 여러 가지가 있다. 이와는 달리, 단일의 큰 코드 저장 유닛은, 메모리 코드 모두를 저장하는데 사용될 수 있고, 이때 어드레싱 메카니즘(30)은 출력하는 일 코드와 코드 위치 양쪽을 선택하는데 사용된다. 또 다른 가능성은 다수의 코드 저장 유닛이 있다는 것이고, 이때 각 유닛은 상기 위성의 일부이지 전부가 아니거나, 상기 신호들의 일부이지 전부가 아닌 메모리 코드들을 저장한다- 예를 들면, 6개의 코드 저장 유닛은 각각 5개의 위성의 메모리 코드를 저장하거나, 각 코드 저장 유닛은 하나의 위성에 대한 모든 메모리 코드를 저장하는 등을 행한다. 또 다른 가능성은, 단일의 메모리 코드가 다수의 코드 저장 유닛들을 거쳐서 분할되거나 제거되는 것이다.
상기 조합 논리(20)의 사용으로 어드레스 디코딩을 포함한 메모리 코드를 저장하는 것은, 코드들이 한정되고 통합된다면 코드들이 일반적으로 고정된 것처럼 생각될 수 있다는 사실을 이용한다-따라서, 그들은 종래의(갱신 가능한) 메모리들에 저장될 필요가 없다. 메모리 코드들을 저장 또는 나타내기 위한 조합 논리의 사용으로, 일부의 융통성의 손실에도 불구하고, 게이트 및 반도체 면적의 면에서의 복잡도가 상당히 감소될 수 있다. 그럼에도 불구하고, 이러한 융통성의 일부는, 아래에 상세히 설명된 것처럼, 아키텍처 레벨에서 복귀될 수 있다.
도 3은 본 발명의 일 실시예에 따른 수신기(101)의 개략도이다. 특히, 도 3은 신호를 획득 및 추적하는데 사용된 수신기의 기저대역 부분을 나타내고, 다른 표준 부분(예를 들면, 안테나, RF 전단, 항해 유닛 등)은 명백을 기하기 위해서 생략된다. 수신기(101)는, 스탠드-얼론 유닛으로서 제공되어도 되거나, 일부의 보다 큰 디바이스, 예를 들면 모바일(셀룰러) 전화기, 컴퓨터, 자동차 또는 다른 형태의 차량, 병원 침대, 비행기나 배, 화물 콘테이너 등에 내장되어도 된다.
수신기(101)는, 디지털 신호 처리기(DSP)(120) 및 다수의 수신(Rx)채널(110A, 110B, 110C) 등 뿐만 아니라, 코드 저장 유닛(130)을 구비한다. 상기 서로 다른 수신 채널들은 동일한 입력신호를 모두 처리하지만,그 입력신호에 인가된 처리는 아래에 설명된 것처럼 일 수신 채널로부터 다른 채널로 변화한다는 것을 알 것이다. 코드 저장유닛(130)을 사용하여 위성의 배치에 대한 메모리 코드들의 세트를 저장한다. 일 실시예에서, 코드 저장 유닛(130), DSP(120) 및 수신 채널들(110)은, 비록 다른 실시예들이 다수의 디바이스를 거쳐서의 이들 구성요소를 분 할할지라도, 단일의 반도체 디바이스나 칩셋으로서 구현된다.
주어진 코드 세트 내의( 및 이에 따라 논리 블록(130) 내에 저장되는) 코드들의 수가 관련 위성 항해 시스템의 특별한 요구사항에 의존한다는 것을 알 것이다. 이러한 시스템은, 일반적으로 일부의 24-30개의 서로 다른 위성과 작동하도록 설계되고, 보통 하나 이상의 추가의 위성이 고장일 경우에 잠재적인 예비품으로서 설치된다. 보통 위성마다 다수의 신호들도 있다. 추가로, 일부의 갈릴레오 신호들은, (단일 수신 채널 내에 제어될 수 있는) 파일럿 및 데이터 성분을 포함한다.
도 3의 아키텍처는, 채널마다 단일 신호를 수신하도록 설계된다고 가정한다. 채널은, RF 전단으로부터 오는 어떠한 위성의 어떠한 캐리어와 신호 성분에 융통성 있게 할당될 수 있다. 코드 저장 유닛(130)은, 위성 배치에 어떠한 캐리어와 신호에 사용된 코드들을 저장한다.
일부의 실시예들에서, 코드 세트 내의 코드들의 수는, 예를 들면 가까운 공항과 같은 그라운드 위치로부터 방출된 "의사위성" 신호들을 도모하기 위해 증가되어도 된다. 이러한 의사위성 신호들은, 추가의 위성 항해 신호들로서 수신기에 출현하여서, 그러한 위치에서 보다 정밀하고 신뢰 가능한 위치 판단을 할 수 있다.
일반적인 수신 채널(110)의 동작은, 입력하는 실제의 중간 주파수 신호가 복잡한 기저대역 신호로 변환되는 것이다. 그 후, 상기 기저대역 신호는, 상기 신호로부터 도플러 효과를 제거하기 위해서 캐리어 수치 제어된 발진기(NCO)의 출력과 혼합된다. 다음에, 입력신호는 국부적 확산 코드- 즉, 수신기 내에 저장 또는 생성된 코드와 상관되고, 이것의 타이밍은 코드 NCO에 의해 제어된다. 이러한 상관의 결과는, 소정의 시간동안 적분된 후, DSP(120)에 보내진다. 여기서, 판별기 및 루프 필터는, 각각의 캐리어 루프(주파수 동기 루프(FLL)), 위상 동기 루프(PLL) 및 코드 루프(지연 동기루프(DLL)를 관련 NCO로 폐쇄한다.
일반적으로 지금까지 상술한 것과 같은 수신기(101)의 동작은, 이를테면 GPS에 사용된 기존의 위성 항해 수신기의 작용과 일치하는 것을 알 것이다. 이러한 수신기에 대한 보다 상세한 내용은, Misra 및 Enge에 의해 상술한 책에서 발견될 수 있다.(또한, 명백함을 위해, 데이터 및 파일럿 코드들의 핸들링 등의 본 발명의 이해에 직접 관련되지 않는 수신기(101)에 관한 특정 상세 내용은 도 3에서 생략된다).
기존의 수신기에서, 국부적 확산 코드는, 각 수신 채널(110A, 110B) 등에 포함될 수 있는, 도 1에 도시된 것과 같은 LSFR에 의해 생성된다. 이와 대조하여, 도 3의 수신기는, (도 2에 도시된 것 등의) 코드 저장 유닛(130)을 사용하여 메모리 코드를 저장한다. 코드 저장 유닛(130)은, 상기 저장된 코드들의 어느 부분이 각각의 수신 채널(110)에 출력하는지를 결정하는 DSP(120)로부터의 어드레스 신호를 수신한다. 이러한 출력 어드레스는, DSP(120) 내에 포함된 유한 상태 머신(FSM)/제어기에 의해 규정된다.
도 3의 실시예에서, 각 어드레스는 유닛(130) 내의 메모리 코드의 32-칩 청크(chunk)에 해당한다고 가정한다. 이러한 메모리 코드의 청크는, 입력신호와 상관하여 사용하기 위한 적절한 수신채널(110) 내의 레지스터에 로딩된다. 상기 레지스터에 저장된 메모리 코드의 32-칩 부분의 상관은, LFSR 코드를 사용한 기존의 시스 템에 관해 일반적으로 동일한 방식으로 코드 NCO의 제어하에 실행된다.(기존의 수신기는, 도 3의 실시예와 유사하지만, 코드 저장 유닛(130)을 갖지 않고, 각 수신 채널 내의 버퍼 레지스터라기보다는 코드 LFSR을 갖는 것으로서 간주될 수 있다). 이때, 다른 실시예들은, 수신 채널의 전체 수와, 코드 저장 유닛(130)의 출력 인터페이스에서 사용 가능한 대역폭에 따라, 코드 저장 유닛(130)으로부터 데이터를 판독하는 서로 다른 워드 길이를 사용하여도 된다.
일반적으로, DSP(120) 내의 FSM/제어기는, 코드 저장 유닛(130)를 제어하여 32-칩 코드 세그먼트를 제공하여 차례로 각 수신 채널(110)에 제공한다. 이와 같이 32-칩 코드 세그먼트는 수신채널(110A)에 공급되었으면, FSM/제어기는, 차례로 다른 수신채널(110B, 110C, ...110N) 각각을 통해 순환하여 그들에 그들 자신의 각각의 코드 세그먼트를 제공한다. 코드 저장 유닛(130)이 코드 세그먼트들을 다른 수신 채널들에 공급하는 동안에, 수신채널(110A)은 그것의 레지스터 내에 버퍼링된 상기 32-칩 코드 세그먼트를 입력신호(이것은 보통 한번에 1칩 수행됨)와 상관한다. 그 후, 상기 FSM/제어기에 의해, 코드 저장 유닛(130)이 적절한 메모리 코드의 다음의 32-칩 코드 세그먼트를 수신 채널(110A)의 레지스터 내에 출력할 수 있고, 그 사이클은 계속된다. 이와 같이 상기 FSM/제어기에 의해 코드 저장 유닛(130)에 공급된 어드레스 신호는, 실제로는, 특별한 수신채널과, 또한 그 수신 채널에 공급하기 위한 상기 규정된 메모리 코드 시퀀스 내의 위치 양쪽을 식별한다.
대부분의 수신기에서, 수신 채널(110)의 수는, 상기 배치에서의 위성의 수 미만이다. 이것은, 위성의 제한된 부분만이 임의의 주어진 시간에 보여질 수 있다 는 사실을 반영한다(임의의 주어진 위치로부터의 지평선보다 위의 위성의 실제의 세트는, 위성들이 그들의 궤도로 진행함으로써, 시간에 따라 변한다.)
도 1에 도시된 것처럼, 전형적인 LFSR 구현은, 어떠한 원하는 위성에 대한 다항식 코드가 로딩될 수 있다는 점에서, 일반적이다. 이에 따라 LFSR이 주어진 위성 코드에 대한 수신 채널을 묶지 않고 수신 채널에 포함될 수 있다. 오히려, 골드 코드를 사용한 위성 배치에 대해, 임의의 주어진 수신채널은, 임의의 주어진 위성으로부터 신호를 수신하도록 구성될 수 있다. 이것으로 확신하는 것은, 제한된 세트의 수신 채널이, 수신기에 의해 현재 볼 수 있는 위성들의 서브세트에 매핑될 수 있다는 것이다.
이와 대조하여, 코드 저장 유닛(130) 내의 확산 코드들은, 조합 논리에 고정되거나 하드와이어된다. 그러므로, 수신 채널들을 여러 가지의 위성에 할당할 때 융통성을 유지하도록, 수신기(101)는, 코드 저장 유닛(130)에 저장된 메모리 코드를 (DSP 120에 의해 규정된 것과 같은) 임의의 주어진 수신채널(110)에 공급할 수 있다. 이러한 설비는, 수신채널(110)을 위성에 융통성 있게 할당하는 능력을 유지한다.
도 4는 본 발명의 다른 실시예에 따른 수신기 구현(101A)을 도시한 것이다. 이때, 도 4의 실시예의 다수의 국면들은, 도 3의 실시예에 관해 동일하여서, 다음의 설명은 2개의 실시예들 사이의 차이에 초점을 둔다.
도 4의 실시예는, 단일의 코드 저장 유닛을 갖는 것이 아니라, 오히려 코드 저장 유닛(130A, 130B,...130N)으로 이루어진 세트를 갖는 것이다. 각 코드 저장 유닛 130A, 130B 등은, 하나의 위성으로부터 하나의 신호에 대한 확산 코드를 저장한다. 각 수신채널(110)은, 상기 코드 저장 유닛 130A, 130B 등의 각각의 출력에 접속되는 다중화기(111)를 구비한다.(간략함을 기하기 위해서, 코드 저장 유닛 130A, 130B 등부터 수신 채널(110A)까지의 접속만이 도 4에 도시되어 있고; 코드 저장 유닛 130A, 130B 등부터 다른 수신 채널 110B, 110C 등까지 유사하게 접속된다. 그 후, 다중화기(111)로부터의 출력은, 수신채널(110) 내의 플립플롭에 보내지고, 그 플립플롭으로부터, 코드 비트는 기존의 수신기마다 입력신호와 상관하도록 로딩된다.
제어신호는 DSP(120) 내의 제어기로부터 상기 다중화기(111)에 공급되고, 이러한 제어신호는 여러 가지의 입력으로부터 다중화기에의 출력을 선택하는데 사용된다. 이러한 구성에 의해 DSP 제어기가 임의의 주어진 코드 저장 유닛 130A, 130B 등으로부터의 메모리 코드를 선택하여 임의의 주어진 수신채널 110A, 110B 등에 공급할 수 있다는 것을 알 것이다. 이와 같이 하여, 비록 메모리 코드들이 여러 가지 코드 저장 유닛(130)에 하드와이어된 것으로서 생각될 수 있지만, 메모리 코드들은 (도 3의 실시예에 관해) 수신 채널의 세트에 융통성 있게 할당될 수 있다. 동작상, 그러므로, DSP(120)는, 이러한 제어신호를 사용하여 다중화기(111)를 제어하여 각 수신 채널(110)은 실제로는, 할당된 코드 저장 유닛(130)을 갖는다.
수신채널의 수는, 상기 배치에서의 위성의 수 미만이어도 된다. 따라서, 본 실시예에 대해, 또한 수신 채널의 수는, 코드 저장 유닛(130)의 수 미만-즉, M<N이어도 된다. 따라서, 수신채널(110)과 코드 저장 유닛(130)간의 융통적인 할당에 의 해, DSP가 상기 수신채널(110)을 현재 볼 수 있는 위성들에 대한 확산 코드를 포함한 코드 저장 유닛들에 할당할 수 있다. 또한, 이러한 융통적인 할당을 위한 지원은, 하나 이상의 위성이 서로 다른 메모리 코드들을 사용하는 위성으로 대체되지 못하는 경우(대체 코드도 코드 저장 유닛(130) 내에서 사용 가능하다고 가정함) 유용하다.
각 코드 저장 유닛 130A, 130B 등은, 도 2와 연관지어 상술한 것과 같은) 규정된 로드(load) 어드레스에 설정될 수 있는 시퀀서를 포함한다. 상기 시퀀서는, 메모리 코드를 통해 다중화기(111)에 출력하기 위한 하나의 칩을 진행하는 증분(인에이블) 신호를 수신한다. 도 4의 실시예에서, 코드 저장 유닛 130A, 130B 등에의 증분 신호는, 대응한 다중화기 131A, 131B 등을 통해 수신된다. 각 다중화기 131A, 131B 등은, 각 수신 채널 110A, 110B 등에서 코드 NCO로부터의 입력을 수신한다. 또한, 다중화기 111에 공급된 유사한 제어신호는, 다중화기 131를 통해 증분신호로서 코드 저장 유닛(130)에 보내기 위해 입력을 선택하는데 사용된다. 이에 따라서, 수신 채널(110) 내의 코드 NCO는, 그 수신 채널에 할당하는 출력을 갖는 코드 저장 유닛(130)으로부터 검색되는 다음 코드 칩을 요구(인에이블)할 수 있다.
수신기(101A)에서, 상기 확산 코드는, 여러 가지의 각 코드 저장 유닛 130A, 130B 등이 서로 병렬로 그들의 각각의 수신채널 110A, 110B에 출력할 수 있으므로, (도 3의 실시예에서처럼, 동시에 32개의 칩보다는 오히려) 단일의 칩에 동시에 액세스된다. 이와 같이 하여, 각 수신채널은, 실제로 그 수신채널의 할당된 코드 저장 유닛으로부터 요구시에 코드 칩을 수신할 수 있다. (이와 대조하여, 도 3의 코 드 저장 유닛(130)은, 시간공유방식으로, 순서적으로 수신채널의 세트를 제공하여, 각 액세스는 수신 채널이 제공되는 다음시간까지 충분한 칩을 수신채널에 제공한다). 따라서, 이러한 구성으로, 칩들이 상관기에 공급되는 속도의 각 수신채널 내의 코드 NCO에 의해 독립적으로 제어할 수 있다.
메모리 코드 모두가 단일의 코드 저장 유닛 내에 보유되는 경우의 도 3의 실시예와, 각 메모리 코드가 별도의 코드 저장 유닛에 보유되는 경우의 도 4의 실시예는 단지 2개의 가능한 구현을 나타낸다는 것을 알 것이다. 예를 들면, 다른 실시예들에는, (전부는 아니지만) 다수의 메모리 코드를 각각 저장하는 다수의 코드 저장 유닛이 있고, 다른 실시예들에는, 각 메모리 코드가 다수의 코드 저장 유닛에 걸쳐 확산되어도 된다.
도 5는 본 발명의 일 실시예에 따른 코드 저장 유닛(130)을 제조하는 하이레벨 개요를 제공하는 흐름도이다. 이 방법은, 원하는 확산코드를 규정하여서 시작한다(510). 도 5의 방법은, 확산 코드의 임의의(예를 들면, 주문을 받아서 만들어진 또는 주문된) 칩 시퀀스로 사용될 수 있다는 점에서, 일반적이다. 이것은, 예를 들면, 제한된 세트의 확산 코드들-즉, 특정한 소정의 수학 알고리즘을 거쳐 표현될 수 있는 코드들을 제공할 수만 있는 LFSR구현과 대조적이다.
상기 원하는 확산 코드에 대한 코드 저장 유닛은, 하드웨어 기술 언어(HDL)를 사용하여 설명된다(520). HDL의 예는 VHDL, 즉 IEEE 표준 1076의 주제인 초고속 집적회로 하드웨어 기술 언어이다. HDL의 또 다른 예는, IEEE 표준 1995의 주제인 베릴로그(Verilog)이다. VHDL 및 베릴로그는, 당업자에게 잘 알려져 있고, 집적회 로의 기능 및 구조에 관한 사양을 고려한다.
원하는 확산 코드를 생성하는 회로의 HDL 기술(description)이 개발되어 컴파일되면, 시뮬레이션을 수행하여(530) 그 회로가 예상대로 작용하는지를 확인한다. 이러한 시뮬레이션을 수행하는 상업적으로 입수 가능한 툴이 많이 있다. 그 후, HDL 기술은, 입력으로서 논리 합성 과정에 사용되고(540), HDL 기술을 상기 회로용 구성요소(라이브러리 요소)들로 이루어진 구조적 네트리스트로 변환한다. 이러한 네트리스트는, 입력으로서 적절한 배치와 라우팅 툴에 사용되어 반도체 디바이스의 레이아웃을 얻는다(550). 상기 선택된 기술에 따라, ASIC 또는 주문을 받아서 만들어진 반도체 디바이스(560)가 제조될 수 있거나, 필드 프로그램 가능형 게이트 어레이(FPGA)가 구성될 수 있다. 또, HDL을 사용하여 설명된 회로에 논리 합성을 수행한 후, 실제의 구현으로 변환하는데 이용 가능한 표준 상업 툴들이 있다.
부록 1은 본 발명의 일 실시예에 따른 코드 저장 유닛(130)을 구현하기 위한 VHDL 프로그램 에시를 제공한다. 코드 저장 유닛("cacode"라고 함)은, 상수 "ca"로서 규정된 64개의 칩 시퀀스를 출력한다. 다른 코드 시퀀스가 상수 "ca"의 값을 원하는 칩 패턴으로 적절하게 조정하여서 동일한 VHDL 코드를 사용하여 구현되어도 된다는 것을 알 것이다.
cacode의 VHDL은, 5입력 1출력을 규정하고 다음의 기능을 수행한다:
phase - 상기 입력은 제 1 출력 칩의 초기 어드레스를 규정하고, ca에 대한 그 64개의 칩 시퀀스의 어드레스 범위에 해당하는 6칩을 포함한다.
phset - 상기 입력은 phase의 값을 인에이블하고
clk - 클록 입력;
tick - 상기 입력은, 또 다른 코드 출력이 (입력신호에 대해 상관시키기 위해서) 필요한 경우 나타내는데 사용되고; 이때 tick는 clk보다 훨씬 낮은 주파수를 갖고;
rstn - 상기 입력은 어드레스와 출력을 제로로 리셋하고;
code - 상기 출력은 관련 어드레스에서의 cacode 값을 나타낸다.
동작상, 상기 규정된 회로는, tick값마다 cacode에 대한 칩 시퀀스로부터의 연속적인 값을 출력하고, 여기서 변수 addr은 그 칩 시퀀스 내의 어드레스 또는 현재 위치를 유지하는데 사용된다. 현재의 출력 어드레스가 코드 칩 출력마다 유지 및 증분되므로, 상기 회로의 어드레스 성분은 순수하게 조합하는 것보다 오히려) 순서적이다는 것을 알 것이다. 그렇지만, 기능 관점에서 보면, 우리는 그 회로를 어드레스 디코딩을 포함한 확산 코드를 저장하는 제 1 부분과, 어드레스를 생성하여 확산 코드 출력을 제어하는 제 2 부분을 갖는 것으로서 간주할 수 있다. 이러한 관점에서, 확산 코드를 저장하는 상기 제 1 부분과 어드레스 디코딩은 조합이고, 상기 어드레스를 생성하고 확산 코드 출력을 제어하는 제 2 부분은 순서적이다. 상기 조합부분과 순서적 부분간의 구별은 기능적 레벨에서 명확하지만, 물리적 구현 레벨에서는 상기 2개의 부분이 일반적으로 집적된다는 것을 알 것이다(아래 참조).
당업자는, 코드 저장 유닛에 대한 여러 가지 다른 가능한 사양을 알고 있을 것이다. 예를 들면, 부록 1의 실시예는, phset가 항상 활성으로서 정의되도록 변경될지도 모르고, 이 경우에 상기 회로는 phase에 의해 규정된 어드레스에 의해 한정 된 코드 칩을 출력한다. 상기와 같은 실시예에서는, 그 회로 자체 내에는 상태 정보가 없지만, 오히려 상기 코드 시퀀스 내의 위치에 관한 이 정보는, 외부적으로, 예를 들면 phase 신호를 제공하는(그리고, 이에 따라서 상기 phase 신호를 증분할 수 있는) 회로 구성요소에 의해 유지되어야 한다. 이론상, 상기와 같은 구현에 의해, 비록 실제로 순서적 구성요소가 제공될 것 같을지라도, 순수하게 코드 저장 유닛이 조합될 수 있을 것이다.
도 6은 부록 1의 VHDL 코드로부터 논리 합성에 의해 얻어진 네트리스트에 의거한 개략도의 예시이다. 그 회로에 대해 5개의 입력이 있는데, 이것은 상부에서 아랫방향으로 phset, tick, phase(5:0), rstn 및 clk, 플러스 단일 출력, code가 있다. 이 회로는, 주로 게이트 형태의 조합 논리를 포함한다(이때, 도 6의 직사각형도 게이트 조합에 해당한다). 또한, 도 6의 회로는, 7개의 플립플롭을 구비한다(이들은 모두 인에이블 입력의 clk와 rstn 입력 밑에 연결된다). 이들 7개의 플립플롭 중 6개의 플립플롭은 실제로 6비트의 어드레스를 유지하는데 사용된다. 나머지 플립플롭은, 코드 출력의 단일 칩을 버퍼링하는데 사용되지만, 다른 실시예들에서는 이것이 생략될지도 모른다.(어드레스용 플립플롭은 코드가 짧기 때문에-단지 64칩이기 때문에 도 6의 레이아웃의 상대적으로 높은 비율을 포함하고; 보다 긴 코드에 대해서는, 어드레스용 플립플롭들은 비례하여 보다 적은 회로를 포함할 것이다). 도 6의 네트리스트는, 구성요소 배치 및 라우팅의 결정 후, (도 5에서 동작 550과 560에 해당한) 반도체 제조 동작을 수반하기 위한 입력으로서 사용될 수 있다. 상기 반도체 제조는, 임의의 적절한 방법, 이를테면 실제 디바이스의 리소그래 피, FPGA의 구성 등에 의해 달성되기도 한다.
(회로 직사각형에 대응한 게이트 조합을 포함한) 도 6의 특별한 개념도는, 논리 합성시에 연결되는 각 종 라이브러리에 의해 규정된 것처럼, 특정 형태의 디바이스를 위한 특별한 제조사의 기술에 독특한 것이라는 것을 알 것이다.(제조사-고유의 라이브러리도 회로 배치 및 라우팅에 사용되기도 한다). 이와 같이, 도 6의 경우, 제조사는, 반도체 디바이스의 계약 제조를 수행하는 회사인 Amtel이고, 그 레이아웃은 ASIC를 위해 변경된다. 다른 제조사로부터의 기술을 사용함으로써, 부록 1의 VHDL 회로를 구현하기 위해 네트리스트와 레이아웃이 서로 다르게 될 것이다. 이에 따라서, 도 6은 논리 합성으로부터의 출력을 도시하는 확대 개념도로서만 제공되고, 그것의 상세한 구조는 본 발명을 이해하는데 중요하지 않다.
확산 코드를 저장하기 위해 조합 논리를 사용함으로써 플립플롭에 의거한 표준 메모리 구현이나, 스태틱 RAM 셀 또는 다른 상기와 같이 유사한 종래의 메모리 아키텍처와 비교하여 게이트를 상당히 절감하게 될 수 있다.
Figure 112008070462517-pct00002
표 1: 코드 저장을 위한 회로 요구 사항
표 1의 제 1 및 제 3 행은, 갈릴레오 L1 및 E5a 신호 각각에 대해 상기 얻어진 것처럼, 확산 코드를 보유하는 "표준" 메모리(스태틱 RAM) 구현을 위한 추정치에 해당한다. 표 1의 제 2 및 제 4 행은, 도 5 및 도 6과 관련지어 설명한 것등의 논리 합성을 사용한 조합 논리에 의거한 구현에 해당한다. 표 1로부터 아는 것은, 조합 논리를 사용함으로써 표준 메모리 구현과 비교하여 레지스터(플립플롭), 게이트 및 회로 면적의 면에서 80% 이상의 매우 실질적인 절감을 할 것이다.
이때, 표 1의 행 2 및 4의 수는 (ASIC 구현이라고 가정하면) 논리 합성에 의한 출력을 반영하고, 그래서 단순한 추정치라기보다는 오히려 진정한 잠재적인 구현으로서 간주되어야 한다. 물론, 이들 수는, 예를 들면, 서로 다른 제조사의 기술, ASIC보다는 오히려 FPGA 등을 사용하여, 다른 잠재적 구현에 대해서는 약간 변화할 것이라는 것을 알 것이다. 예를 들면, 완전히 주문을 받아서 만들어진 VLSI 구현을 사용하여 보다 더 콤팩트한 구현을 제공하는 것이 가능하기도 하다. 물론, 상기 주문을 받아서 만들어진 VLSI 구현은, FPGA 또는 ASIC를 사용하는 것보다 상당히 값비싸지만, 대량 판매 시장용 수신기에는 상업적으로 실용적일 수도 있다.
표 1의 마지막 3개의 행은, GPS용 1023 칩 CA 코드에 관계된다. 표 1의 제 6 및 제 7 행은, 이 CA 코드를 종래의 메모리에 저장하는 것과 조합 논리를 사용하는 것을 각각 나타낸다. 또 알 수 있는 것은, 조합 논리를 사용하여 메모리 코드를 저장하는 것으로 게이트 및 회로 면적이 상당히 절감된다. 표 1의 제 5 행은, (상기 GPS 코드는 골드 코드이므로) LFSR를 사용하여 상기 1023 칩 확산 코드의 실제 구현을 위한 숫자를 제시한다. 상기 조합 논리에 관련된 구현 복잡도는, (상대적으로 많은 수의 레지스터를 필요로 하는) LFSR 구현과 같은 정도를 갖고, 이러한 특정의 경우에 그것이 훨씬 더 콤팩트하다는 것을 주목한다. 이에 따라서, 조합 논리를 사용하여 확산 코드를 저장하는 것은, 골드 코드와 다른 수학적으로 생성된 코드에 대해 훨씬 매력적일 가능성이 있다.
조합 논리를 사용하여 코드를 저장함으로써, 실제로 수신기에 하드와이어된 코드가 생기는 것을 알 것이다. 그렇지만, 실제로, 위성 배치용 확산 코드의 세트는, 수년 동안 안정할 것 같다(이것은 GPS와 관련되는 경우이라는 것이 확실하다) 이들의 경우에, 일반적으로, 확산 코드들 자체를 변화시킬 수 있는 것보다 서로 다른 수신 채널에 확산 코드들을 융통성 있게 할당할 수 있는 것이 보다 중요하다. 전자의 국면은, 도 3 및 도 4와 관련지어 상술한 것처럼, 확산 코드를 저장하기 위한 조합 논리를 구비한 수신기에 포함될 수 있다.
수신기에는, 예비품으로서 설계된 적어도 두 개의 위성에 대해 저장된 코드들(아울러, 위성의 주요 배치에 대한 코드들)이 구비되어도 된다. 그래서, 원래의 세트의 위성 중 어느 하나가 고장난다면 이들 재배치 위성은 항해 배치가 생길 것이다. 상기 재배치 위성에 할당된 코드들이 미리 알려져 있다면, 그 코드들도 조합 논리를 사용하여 상기 수신기에 저장될 수 있고, 필요한 경우, 예를 들면 도 3 및 도 4와 관련지어 상술한 것처럼, 전환될 수 있다. 다른 실시예들에서, 수신기에는, 종래의 메모리, 이를테면 PROM 또는 RAM에 구비되어도 되고, 이 메모리에는, (여기서 설명된 코드 저장 유닛(들)에 보유된 것들과 연관지어 작용하는) 임의의 새로운 위성 확산코드가 로딩될 수 있다.
일부의 구현에 있어서, 수신기는, 적어도 2개의 위성 배치, 예를 들면 갈릴레오와 GPS용 확산 코드를 저장하여, 조합 위치 정보를 제공하여도 된다. 비록 GPS 확산 코드가 골드 코드이고, 통상 LFSR을 사용하여 수신 내에 생성될지라도, 그 GPS 코드들은, 대신에 (실제로 칩 패턴 자체보다 오히려 칩 패턴을 발생하는 알고리즘을 저장하는 LFSR를 사용하는 것과 반대로) 원하는 경우 조합 논리를 사용하여 완전한 칩 패턴으로서 저장된다. 표 1에서 언급되었듯이, 실제로 조합 논리를 사용하여 완전한 GPS 코드들을 저장함으로써 LFSR에 의거한 구현보다 콤팩트하게 구현하기도 한다. 이에 따라서, 조합 논리를 사용하여 확산 코드를 보유함으로써 특정한 또는 주문된 코드 패턴과, 골드 코드에 기초한 것등의 수학적 알고리즘으로부터 얻어진 종래의 코드 패턴과 호환 가능하다. 또한, 조합 논리를 사용하여 확산 코드의 상기 1차 코드 및/또는 2차 코드 부분을 보유하거나, 상기 1차 및 2차 코드의 결과적인 조합을 나타낸 완전한 비트 시퀀스를 보유할 수 있다.
확산 코드를 저장하기 위한 조합 논리는, 수신기에 내장될 수 있을 뿐만 아니라, 위성에도 내장될 수 있다. 이 경우에, 상기 조합 논리는, 지구로 방송되는 신호에서 사용하기 위한 확산 코드를 저장하는데 사용된다. 그렇지만, 일반적으로, 여기서 설명된 접근법은 위성보다 보다 바람직하다. 이와 같이 위성들은, (전체 배치에 대한 확산 코드보다는 오히려) 위성들 자신의 확산코드를 저장하는데 필요할 뿐이어서, 저장 용이에 관한 압력은 수신기보다 위성에 대해 덜 심하다. 더욱이, 각 위성은, 그 자신의 확산코드에 특별한 서로 다른 코드 저장 유닛을 필요로 할 것이다. 이것은, 종래의 메모리 아키텍처와 비교하여, 하드웨어 허가 및 제조에 추 가의 복잡한 쟁점을 일으키고, 여기서, 표준 세트의 메모리 셀은 모든 위성 상에서 사용될 수 있고, 그래서 필요한 경우 원하는 확산 코드가 로딩될 수 있다. 추가로, 위성들은, 대량 시장 디바이스가 아니어서, 수신기와 같은 비용에 제약을 받지 않는다.
또한, 주목할 것은, 비록 여기서 설명된 접근법이 주로 위성 항해 시스템에서 사용하도록 구성될지라도, 그 접근법은, 현재는 동기화 코드를 생성하기 위해 LFSR, 필터, 필터 뱅크 등을 사용하는 다른 항해 또는 통신 시스템(위성, 지구 또는 해양)에서 이용될 수 있다는 것이다. 하나의 특별한 예시는,상술한 것처럼, 항해 위성으로부터 아날로그의 위치 결정신호를 의사위성에 생성하지만 그라운드 기반인 의사위성이다. 의사위성은, 전형적으로 고정밀도를 필요로 하는 위치, 예를 들면 위성으로부터 위치 결정신호들을 증가시키고(에뮬레이트 하는) 공항 주변에서, 이용된다. 이에 따라서, 의사위성 신호용 확산 코드는, 여기서 설명된 것처럼 조합 논리를 상요하여 수신기(및/또는 가능한 의사 위성 자체들)에 저장될 수 있다.
결론적으로, 비록 다양한 실시예들을 여기서 설명할지라도, 이들은 예시로만 제공되고, 그 실시예들에 관한 다수의 변형 및 변경은 당업자에게 명백할 것이고 본 발명의 범위 내에 속하고, 이것은 첨부된 청구항과 그들의 동등한 것에 의해 한정된다.
부록 1
Figure 112008070462517-pct00003

Claims (30)

  1. 확산 코드를 포함하는 신호를 각각 송신하는 다수의 위성으로 이루어진 배치를 포함한 위성 항해 시스템과 함께 사용하기 위한 수신기로서,
    고정된 패턴의 칩으로 이루어진 메모리 코드를 저장하기 위한 조합 논리를 포함하는 적어도 하나의 코드 저장 유닛으로서, 상기 저장된 메모리 코드는, 위성으로부터 송신된 신호에 포함된 확산 코드에 해당하고, 상기 조합 논리는 상기 저장된 메모리 코드의 특정 부분을 검색하는 어드레스 디코딩 기능성을 구비하고, 상기 조합 논리의 내부 하드웨어 배열은 데이터의 저장된 세트에 커스터마이제이션되고 표준화된 메모리 셀을 포함하지 않으며, 상기 메모리 코드와 상기 어드레스 기능성을 저장하기 위한 상기 조합 논리는 상기 메모리 코드와 상기 어드레스 기능성 사이의 분할이 명확하지 않은 물리적 성분 레벨에 통합되는 적어도 하나의 코드 저장 유닛와,
    입력 신호와 상기 적어도 하나의 코드 저장 유닛으로부터 검색된 상기 저장된 메모리 코드간의 상관을 행하는 상관기를 구비한 것을 특징으로 하는 수신기.
  2. 제 1 항에 있어서,
    상기 수신기는, 위성 배치에서 위성마다 서로 다른 메모리 코드를 저장하는 것을 특징으로 하는 수신기.
  3. 제 2 항에 있어서,
    상기 위성들에 대한 상기 서로 다른 메모리 코드들은, 모두 단일의 코드 저장 유닛에 저장되는 것을 특징으로 하는 수신기.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛은, 다수의 위성에 대한 메모리코드들을 저장하고, 특별한 위성에 대한 메모리 코드를 출력하도록 어드레싱 가능한 것을 특징으로 하는 수신기.
  5. 제 2 항에 있어서,
    위성으로부터의 신호에 대한 각 메모리 코드는, 별개의 코드 저장 유닛에 저장되는 것을 특징으로 하는 수신기.
  6. 제 2 항, 제 3 항 또는 제 5 항 중 어느 한 항에 있어서,
    상기 수신기는 다수의 수신 채널을 구비하고, 위성에 대한 저장된 메모리 코드는 그 수신채널의 입력 신호와의 상관을 위한 임의의 수신 채널에 공급되는 것을 특징으로 하는 수신기.
  7. 제 1 항, 제 2 항, 제 3 항 또는 제 5 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛은, 시퀀서를 더 구비한 것을 특징으로 하는 수신기.
  8. 제 7 항에 있어서,
    상기 시퀀서는, 증분 신호에 응답하여 상기 저장된 메모리 코드로부터 하나 이상의 칩으로 이루어진 다음 서브세트를 출력하는 것을 특징으로 하는 수신기.
  9. 제 1 항, 제 2 항, 제 3 항 또는 제 5 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛으로부터의 각 출력은, 상기 저장된 메모리 코드의 다수의 칩을 나타내는 서브세트를 구비한 것을 특징으로 하는 수신기.
  10. 제 1 항, 제 2 항, 제 3 항 또는 제 5 항 중 어느 한 항에 있어서,
    상기 위성들에 대한 확산 코드는, 주문된 칩 시퀀스를 포함한 것을 특징으로 하는 수신기.
  11. 제 1 항, 제 2 항, 제 3 항 또는 제 5 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛은, 필드 프로그램 가능형 게이트 어레이 디바이스(FPGA)에 형성된 것을 특징으로 하는 수신기.
  12. 제 1 항, 제 2 항, 제 3 항 또는 제 5 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛은, 주문형 집적회로(ASIC)에 형성된 것을 특징으로 하는 수신기.
  13. 제 1 항, 제 2 항, 제 3 항 또는 제 5 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛은, 상기 상관기와 같은 반도체 디바이스에 형성된 것을 특징으로 하는 수신기.
  14. 제 1 항, 제 2 항, 제 3 항 또는 제 5 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛 내의 상기 조합 논리는 다수의 메모리 코드를 저장하고, 서로 다른 입력은, 상기 조합 논리에 인가되어 상기 코드 저장 유닛으로부터의 출력에 대한 상기 다수의 메모리 코드 중 서로 다른 것을 선택하는 것을 특징으로 하는 수신기.
  15. 확산 코드를 포함하는 신호를 각각 송신하는 다수의 위성으로 이루어진 배치를 포함한 위성 항해 시스템과 함께 사용하기 위한 위성으로서, 고정된 패턴의 칩으로 이루어진 메모리 코드를 저장하기 위한 조합 논리를 포함하는 적어도 하나의 코드 저장 유닛을 구비하되, 상기 저장된 메모리 코드는, 위성으로부터 송신된 신호에 포함된 확산 코드에 해당하고, 상기 조합 논리는 상기 저장된 메모리 코드의 특정 부분을 검색하는 어드레스 디코딩 기능성을 구비하고, 상기 조합 논리의 내부 하드웨어 배열은 데이터의 저장된 세트에 커스터마이제이션되고 표준화된 메모리 셀을 포함하지 않으며, 상기 메모리 코드와 상기 어드레스 기능성을 저장하기 위한 상기 조합 논리는 상기 메모리 코드와 상기 어드레스 기능성 사이의 분할이 명확하지 않은 물리적 성분 레벨에 통합되는 것을 특징으로 하는 위성.
  16. 확산 코드를 포함하는 신호를 각각 송신하는 다수의 위성으로 이루어진 배치를 포함한 위성 항해 시스템과 함께 사용하기 위한 수신기 작동방법으로서,
    고정된 패턴의 칩으로 이루어진 메모리 코드를 저장하기 위한 조합 논리를 포함하는 적어도 하나의 코드 저장 유닛을 구비하되, 상기 저장된 메모리 코드는, 위성으로부터 송신된 신호에 포함된 확산 코드에 해당하고, 상기 조합 논리는, 상기 저장된 메모리 코드의 특정 부분을 검색하는 어드레스 디코딩 기능성을 구비하고, 상기 조합 논리의 내부 하드웨어 배열은 데이터의 저장된 세트에 커스터마이제이션되고 표준화된 메모리 셀을 포함하지 않으며, 상기 메모리 코드와 상기 어드레스 기능성을 저장하기 위한 상기 조합 논리는 상기 메모리 코드와 상기 어드레스 기능성 사이의 분할이 명확하지 않은 물리적 성분 레벨에 통합되는 단계와,
    입력 신호와 상기 적어도 하나의 코드 저장 유닛으로부터 검색된 상기 저장된 메모리 코드간의 상관을 행하는 단계를 구비한 것을 특징으로 하는 수신기 작동방법.
  17. 제 16 항에 있어서,
    상기 수신기는, 위성 배치에서 위성마다 서로 다른 메모리 코드를 저장하는 것을 특징으로 하는 수신기 작동방법.
  18. 제 17 항에 있어서,
    상기 위성들에 대한 상기 서로 다른 메모리 코드들은, 모두 단일의 코드 저장 유닛에 저장되는 것을 특징으로 하는 수신기 작동방법.
  19. 제 17 항 또는 제 18 항에 있어서,
    다수의 위성에 대한 확산 코드들을 단일의 코드 저장 유닛에 저장하는 것과,
    상기 단일의 코드 저장 유닛을 어드레싱하여 특별한 위성에 대한 메모리 코드를 출력하는 것을 더 포함한 것을 특징으로 하는 수신기 작동방법.
  20. 제 17 항에 있어서,
    위성으로부터의 신호에 대한 각 메모리 코드는, 별개의 코드 저장 유닛에 저장되는 것을 특징으로 하는 수신기 작동방법.
  21. 제 17 항, 제 18 항 또는 제 20 항 중 어느 한 항에 있어서,
    상기 수신기는 다수의 수신 채널을 구비하고, 상기 방법은 제어신호들을 제공하여 상기 적어도 하나의 코드 저장 유닛으로부터 위성에 대한 저장된 메모리 코드를 임의의 원하는 수신 채널에 라우팅하여 그 수신채널에 관한 입력신호와 상관을 행하는 것을 더 포함한 것을 특징으로 하는 수신기 작동방법.
  22. 제 16 항, 제 17 항, 제 18 항 또는 제 20 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛은, 시퀀서를 더 구비하고, 상기 시퀀서는, 증분 신호에 응답하여 상기 저장된 메모리 코드로부터 하나 이상의 칩으로 이루어진 다음 서브세트를 출력하는 것을 특징으로 하는 수신기 작동방법.
  23. 제 16 항, 제 17 항, 제 18 항 또는 제 20 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛으로부터의 각 출력은, 상기 저장된 메모리 코드의 다수의 칩을 나타내는 서브세트를 구비한 것을 특징으로 하는 수신기 작동방법.
  24. 제 16 항, 제 17 항, 제 18 항 또는 제 20 항 중 어느 한 항에 있어서,
    상기 위성들에 대한 확산 코드는, 주문된 칩 시퀀스를 포함한 것을 특징으로 하는 수신기 작동방법.
  25. 제 16 항, 제 17 항, 제 18 항 또는 제 20 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛내의 상기 조합 논리는 다수의 메모리 코드를 저장하고, 서로 다른 입력은, 상기 조합 논리에 인가되어 상기 코드 저장 유닛으로부터의 출력에 대한 상기 다수의 메모리 코드 중 서로 다른 것을 선택하는 것을 특징으로 하는 수신기 작동방법.
  26. 확산 코드를 포함하는 신호를 각각 송신하는 다수의 위성의 배치를 포함한 위성 항해 시스템과 함께 사용하기 위한 수신기를 제조하는 방법으로서,
    상기 수신기 내에 저장되는 위성 확산코드를 결정하는 단계와,
    상기 위성 확산코드에 대응한 고정된 패턴의 칩들을 포함한 메모리 코드를 저장하는 조합 논리를 갖는 적어도 하나의 코드 저장 유닛을 제공하는 단계를 포함하되, 상기 조합 논리는 상기 저장된 메모리 코드의 특정 부분을 검색하는 어드레스 디코딩 기능성을 구비하고, 상기 조합 논리의 내부 하드웨어 배열은 데이터의 저장된 세트에 커스터마이제이션되고 표준화된 메모리 셀을 포함하지 않으며, 상기 메모리 코드와 상기 어드레스 기능성을 저장하기 위한 상기 조합 논리는 상기 메모리 코드와 상기 어드레스 기능성 사이의 분할이 명확하지 않은 물리적 성분 레벨에 통합되는 것을 특징으로 하는 수신기 제조방법.
  27. 제 26 항에 있어서,
    상기 적어도 하나의 코드 저장 유닛은, 하드웨어 기술 언어 내에서 상기 고정된 패턴의 칩들의 사양을 제조하는 것과, 논리 합성을 사용하여 상기 사양을 구현하는 것을 포함한 것을 특징으로 하는 수신기 제조방법.
  28. 제 27 항에 있어서,
    상기 사양은, 필드 프로그램 가능형 어레이에 구현된 것을 특징으로 하는 수신기 제조방법.
  29. 제 27 항에 있어서,
    상기 사양은, 주문형 집적회로에 구현된 것을 특징으로 하는 수신기 제조방법.
  30. 제 26 항 내지 제 29 항 중 어느 한 항에 있어서,
    상기 위성 확산 코드는, 주문된 코드인 것을 특징으로 하는 수신기 제조방법.
KR1020087024700A 2006-03-09 2006-03-09 위성 항해 시스템용 수신기 및 송신기 KR101184269B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2006/002497 WO2007101454A1 (en) 2006-03-09 2006-03-09 A receiver and transmitter for use in a satellite navigation system

Publications (2)

Publication Number Publication Date
KR20090010027A KR20090010027A (ko) 2009-01-28
KR101184269B1 true KR101184269B1 (ko) 2012-09-21

Family

ID=37216090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087024700A KR101184269B1 (ko) 2006-03-09 2006-03-09 위성 항해 시스템용 수신기 및 송신기

Country Status (12)

Country Link
US (1) US8218601B2 (ko)
EP (1) EP1991881B1 (ko)
JP (1) JP5781260B2 (ko)
KR (1) KR101184269B1 (ko)
CN (1) CN101443675B (ko)
BR (1) BRPI0621450B1 (ko)
CA (1) CA2643713C (ko)
ES (1) ES2628540T3 (ko)
HK (1) HK1129464A1 (ko)
PL (1) PL1991881T3 (ko)
RU (1) RU2438145C2 (ko)
WO (1) WO2007101454A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185718B2 (en) * 2008-02-04 2012-05-22 Mediatek Inc. Code memory capable of code provision for a plurality of physical channels
US7991042B2 (en) 2008-02-04 2011-08-02 Mediatek Inc. GNSS receiver and method for GNSS memory code generation
FR2942325B1 (fr) * 2009-02-19 2011-03-04 Thales Sa Procede de lever d'ambiguite, procede de localisation d'un recepteur par radionavigation comprenant une etape de lever d'ambiguite et recepteur de localisation
US8149900B2 (en) * 2009-04-02 2012-04-03 Mediatek Inc. Low complexity acquisition method for GNSS
EP2449627B1 (en) 2009-07-01 2017-10-04 Locata Corporation Pty Ltd Method and apparatus for forming a beam
CN102073053B (zh) * 2010-12-20 2012-10-03 东莞市泰斗微电子科技有限公司 一种多模gnss接收机伪随机噪声码发生单元
CN103487817B (zh) * 2013-09-18 2015-11-25 中国科学院嘉兴微电子与系统工程中心 多模多频gnss伪码生成装置
US20170212246A1 (en) * 2014-08-20 2017-07-27 Sony Semiconductor Solutions Corporation Receiving apparatus, receiving method, and program for global navigation satellite system
US10845488B2 (en) * 2014-10-21 2020-11-24 Topcon Positioning Systems, Inc. Universal multi-channel GNSS signal receiver
EP3104195A1 (en) 2015-06-10 2016-12-14 European Space Agency Method and apparatus for tracking a binary offset carrier navigation signal
WO2019020201A1 (en) 2017-07-28 2019-01-31 European Space Agency RECEIVER AND METHOD FOR PROCESSING A BROADBAND SIGNAL
CN112400121A (zh) * 2018-05-24 2021-02-23 欧洲空间局 用于在gnss接收器中执行联合信道和时间估计的方法和装置
EP3671281A1 (en) 2018-12-21 2020-06-24 European Space Agency Method and system for processing a gnss signal using homomorphic encryption
CN116320248B (zh) * 2023-05-18 2023-08-29 深圳曦华科技有限公司 存储芯片共享系统、方法、相关装置及存储介质
CN117406249B (zh) * 2023-12-14 2024-03-08 成都安则优科技有限公司 一种反无人机卫星导航设备及数据回放方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4642647A (en) * 1983-08-29 1987-02-10 Litton Systems, Inc. Signal generator for radio navigation system
JPS6313440A (ja) * 1986-07-02 1988-01-20 Nec Corp スペクトラム拡散信号の受信装置
US4876659A (en) 1988-05-02 1989-10-24 The Johns Hopkins University Pseudo-Random code generator for use with a global positioning system
FI982203A (fi) * 1998-10-09 2000-04-10 Nokia Networks Oy Menetelmä ja generaattori generoida CDMA-radiojärjestelmän ortogonaalinen hajotuskoodi
JP2000183757A (ja) * 1998-12-15 2000-06-30 Matsushita Electric Ind Co Ltd インターリーブ解除装置
JP3517829B2 (ja) * 1999-01-14 2004-04-12 日本電気エンジニアリング株式会社 Pn符号発生回路
JP2000261324A (ja) * 1999-03-10 2000-09-22 Fuji Film Microdevices Co Ltd ハフマン復号化回路
US6421372B1 (en) * 1999-11-10 2002-07-16 Itt Manufacturing Enterprises, Inc. Sequential-acquisition, multi-band, multi-channel, matched filter
DE10085372T1 (de) * 1999-12-30 2003-06-18 Morphics Tech Inc Konfigurierbares Codegenerator-System für Spread-Spektrum-Anwendungen
US7567636B2 (en) * 2001-05-18 2009-07-28 Global Locate, Inc. Method and apparatus for performing signal correlation using historical correlation data
CA2387891A1 (en) * 2001-06-08 2002-12-08 Asulab S.A. Radiofrequency signal receiver with means for correcting the effects of multipath signals, and method for activating the receiver
JP2003152683A (ja) * 2001-11-13 2003-05-23 Matsushita Electric Ind Co Ltd 直交符号発生回路
JP2004005011A (ja) * 2002-04-17 2004-01-08 Kumamoto Technology & Industry Foundation 擬似乱数の生成方法、それに用いられる装置、記憶媒体及び通信システム
CN2636555Y (zh) * 2003-08-27 2004-08-25 海信集团有限公司 无线移动定位通信模块
JP2005214916A (ja) * 2004-02-02 2005-08-11 Sony Corp Gps受信方法およびgps受信機
US7447253B2 (en) * 2004-02-06 2008-11-04 Glocal Locate, Inc. Method and apparatus for processing satellite positioning system signals to obtain time information

Also Published As

Publication number Publication date
WO2007101454A1 (en) 2007-09-13
US20090147835A1 (en) 2009-06-11
ES2628540T3 (es) 2017-08-03
CA2643713A1 (en) 2007-09-13
RU2438145C2 (ru) 2011-12-27
JP5781260B2 (ja) 2015-09-16
JP2009529814A (ja) 2009-08-20
KR20090010027A (ko) 2009-01-28
RU2008139800A (ru) 2010-04-20
US8218601B2 (en) 2012-07-10
CN101443675A (zh) 2009-05-27
BRPI0621450B1 (pt) 2019-05-07
EP1991881B1 (en) 2017-05-03
BRPI0621450A2 (pt) 2012-10-09
CN101443675B (zh) 2013-01-02
EP1991881A1 (en) 2008-11-19
HK1129464A1 (en) 2009-11-27
CA2643713C (en) 2013-09-03
PL1991881T3 (pl) 2017-12-29

Similar Documents

Publication Publication Date Title
KR101184269B1 (ko) 위성 항해 시스템용 수신기 및 송신기
EP0924532B1 (en) Method and apparatus for receiving GPS/GLONASS signals
US10088573B2 (en) Navigation system using spreading codes based on pseudo-random noise sequences
US8593345B2 (en) Signal processing system for satellite positioning signals
CA2613583C (en) Spreading codes for a satellite navigation system
US6704348B2 (en) Method and apparatus for computing signal correlation at multiple resolutions
US8810450B2 (en) Global positioning system receiver timeline management
JP5801056B2 (ja) 多相符号ジェネレータおよびgnss受信機
CN100586215C (zh) 用于减轻cdma互相关干扰以及提高tdma定位网络中的信噪比的系统和方法
US7061972B1 (en) GPS receiver having dynamic correlator allocation between a memory-enhanced channel for acquisition and standard channels for tracking
US11397265B2 (en) Universal multi-channel GNSS signal receiver
EP2028762A1 (en) Device and method for searching satellite signals
JP2014161012A (ja) 衛星ナビゲーション・システムに使用するための受信機および送信機
KR20220019698A (ko) 수신 신호의 코드 및 위상 둘 모두의 범주화를 이용한 비행 시간 결정을 위한 시스템 및 방법

Legal Events

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

Payment date: 20150819

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 7