KR101147942B1 - Method and apparatus for code space search in a receiver - Google Patents
Method and apparatus for code space search in a receiver Download PDFInfo
- Publication number
- KR101147942B1 KR101147942B1 KR1020087024301A KR20087024301A KR101147942B1 KR 101147942 B1 KR101147942 B1 KR 101147942B1 KR 1020087024301 A KR1020087024301 A KR 1020087024301A KR 20087024301 A KR20087024301 A KR 20087024301A KR 101147942 B1 KR101147942 B1 KR 101147942B1
- Authority
- KR
- South Korea
- Prior art keywords
- coherent
- integration
- memory
- accelerator
- search
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
- G01S19/30—Acquisition or tracking or demodulation of signals transmitted by the system code related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/7077—Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/7077—Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
- H04B1/70775—Multi-dwell schemes, i.e. multiple accumulation times
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/708—Parallel implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B2201/00—Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
- H04B2201/69—Orthogonal indexing scheme relating to spread spectrum techniques in general
- H04B2201/707—Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
- H04B2201/70707—Efficiency-related aspects
- H04B2201/7071—Efficiency-related aspects with dynamic control of receiver resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
본 명세서에서는 수신된 신호의 코드 스페이스 검색을 구현하는 장치 및 방법이 설명된다. 코드 스페이스 검색은, 초기 적분 시간의 각 경계에서 동적으로 재구성 가능한 서브태스크를 수행하는 검색기 (220) 로 구현된다. 각각의 특정 서브태스크는, 초기 적분 시간 동안 수행되는 코히런트 적분 가설의 프로그래머블 구성을 말한다. 검색기는 메모리의 제 1 부분에 코히런트 적분 가설의 결과값을 저장한다. 검색 가속기 (250) 는 초기 적분 결과값에 대해 동작한다. 검색 가속기는 상이한 타이밍 가설의 각종 주파수 빈의 코히런트 적분을 수행할 수 있고, 코히런트 적분 결과값의 에너지 값을 발생시킬 수 있으며, 넌-코히런트 에너지 합계를 발생시킬 수 있다. 코히런트 적분의 에너지 값 및 넌-코히런트 에너지 합계는 메모리의 제 2 부분에 저장된다. 서브태스크를 재구성하고 가속기 동작의 성능은 검색 스페이스 면적에 있어서 유연성을 제공한다.
코드 스페이스 검색, 코히런트 적분 결과값, 코히런트 누산, 가설, 유연성
Described herein are apparatus and methods for implementing code space search of a received signal. Code space search is implemented with a searcher 220 that performs dynamically reconfigurable subtasks at each boundary of the initial integration time. Each particular subtask refers to a programmable construct of a coherent integration hypothesis that is performed during the initial integration time. The searcher stores the result of the coherent integration hypothesis in the first portion of the memory. Search accelerator 250 operates on the initial integration result. The search accelerator may perform coherent integration of various frequency bins of different timing hypotheses, generate energy values of the coherent integration result, and generate non-coherent energy sums. The energy value of the coherent integration and the non-coherent energy sum are stored in the second portion of the memory. Reconfiguring the subtask and the performance of the accelerator operation provide flexibility in search space area.
Code Space Search, Coherent Integral Result, Coherent Accumulation, Hypothesis, Flexibility
Description
관련 출원에 대한 상호 참조Cross Reference to Related Application
본 출원은, 발명의 명칭이 "Long Coherent Integration Apparatus and Method for Signal Acquisition" 으로 2006 년 3 월 2 일자로 출원된 미국 가출원 제 60/779,172 호, 및 발명의 명칭이 "Method and Apparatus for Code Space Search in a Reciever" 로 2007 년 1 월 17 일자로 출원된 미국 가출원 제 60/885,523 호에 대해 우선권을 주장하며, 이들 모두는 본 발명의 양수인에게 양도되어 있고 여기서 참조로서 명백하게 포함된다.This application is directed to US Provisional Application No. 60 / 779,172, filed March 2, 2006, entitled "Long Coherent Integration Apparatus and Method for Signal Acquisition," and "Method and Apparatus for Code Space Search." in a Reciever ", filed Jan. 17, 2007, with priority to US Provisional Application No. 60 / 885,523, all of which are assigned to the assignee of the present invention and expressly incorporated herein by reference.
기술 배경Technical background
본 개시물은 무선 통신 디바이스의 위치 결정 (position location) 에 관한 것이다. 보다 상세하게, 본 개시물은 무선 통신 디바이스에서 코드 스페이스 검색을 위한 재구성 시스템에 관한 것이다.This disclosure relates to position location of a wireless communication device. More particularly, this disclosure relates to a reconfiguration system for code space search in a wireless communication device.
많은 무선 통신은 정보를 통신하기 위해 직접 시퀀스 확산 스펙트럼을 이용한다. 통상적으로, 신호를 확산시키는데 이용되는 코드들은 의사 랜덤 코드들이다. 통상적으로, 수신기는 국부적으로 발생된 코드와 확산 코드를 서로 관련 시킴으로써 언더라잉 (underlying) 정보를 검색한다.Many wireless communications use direct sequence spread spectrum to communicate information. Typically, the codes used to spread the signal are pseudo random codes. Typically, the receiver retrieves the underlying information by associating locally generated codes with spreading codes.
때때로, 수신기는 위치 결정을 수행하는데 이용될 수 있는 타이밍 기준을 확립하도록 코드와 연관된 타임 오프셋을 이용할 수 있다. 의사 랜덤 확산 신호로부터 확립된 타이밍에 기초하여 위치를 결정하는 것은, 다양한 위치 결정 시스템에서 수행된다. At times, the receiver may use a time offset associated with the code to establish a timing reference that can be used to perform position determination. Determining the position based on the timing established from the pseudo random spread signal is performed in various position determination systems.
예를 들어, GPS (Global Positioning System) 네비게이션 시스템은, 지구 주변의 궤도 내에 있는 위성들을 채택한다. 임의의 GPS 사용자는, 지구 어디에서든, 3 차원 위치, 속도 및 시각을 포함하는 정확한 네비게이션 정보를 얻을 수 있다. GPS 시스템은, 적도에 대하여 55°기울어지고 서로에 대하여 120°떨어진 3 개의 평면에서 26,600 킬로미터의 반경을 갖는 원형 궤도에 배치된 24 개의 위성들을 포함한다. 8 개의 위성들은 3 개의 궤도 경로들 각각 내에서 동일하게 떨어진다 . GPS 를 사용하는 위치 측정은 궤도를 그리는 위성들로부터 GPS 수신기로 GPS 신호 방송의 전파 지연 시간의 측정에 기초된다. 보통, 4 개의 위성들로부터의 신호 수신은 4 차원 (위도, 경도, 고도, 및 시간) 에서의 정확한 위치 결정을 필요로 한다. 일단, 수신기는 각각의 신호 전파 지연을 측정하고, 광속으로 각각의 지연을 증분시킴으로써 각각의 위성에 대한 범위가 계산된다. 그 다음에, 4 개의 알려지지 않은 적분 측정 범위 및 알려진 위성의 위치를 갖는 4 개의 식 세트를 풀어서 위치 및 시간을 찾는다. GPS 시스템의 정확한 성능은, 각각의 위성에 대한 탑재된 원자 클록의 수단 및 위성 클록 및 궤도 파라미터를 연속적으로 모니터링하고 보정하는 그라운드 추적국 (tracking station) 에 의해 유지 된다.For example, a GPS (Global Positioning System) navigation system employs satellites in orbit around the earth. Any GPS user can get accurate navigation information, including three-dimensional position, speed and vision, anywhere on the earth. The GPS system includes 24 satellites arranged in a circular orbit with a radius of 26,600 kilometers in three planes tilted 55 ° to the equator and 120 ° to each other. The eight satellites fall equally within each of the three orbital paths. Position measurement using GPS is based on the measurement of the propagation delay time of a GPS signal broadcast from orbiting satellites to a GPS receiver. Usually, signal reception from four satellites requires accurate positioning in four dimensions (latitude, longitude, altitude, and time). First, the receiver measures each signal propagation delay and calculates the range for each satellite by incrementing each delay with the speed of light. Then, a set of four equations with four unknown integral measurement ranges and known satellite positions are solved to find the position and time. The exact performance of the GPS system is maintained by means of onboard atomic clocks for each satellite and by a ground tracking station that continuously monitors and corrects satellite clocks and orbital parameters.
각각의 GPS 위성은 L-밴드 내에서 2 개의 직접-시퀀스-코딩된 확산 스펙트럼 신호를 송신한다. Ll 신호는 1.57542 GHz 의 캐리어 주파수에 있고, L2 신호는 1.2276 GHz 에 있다. L1 신호는, 직교 위상 (phase quadrature) 에서 변조된 2 개의 PSK (phase-shift keyed) 확산 스펙트럼 신호를 포함하는데, 이 2 개의 PSK 확산 스펙트럼 신호는 P-코드 신호 (엄밀하게는 P) 와 C/A-코드 신호 (대강/획득의 경우에는 C/A) 이다. L2 신호는 P-코드 신호만을 포함한다. P 및 C/A 코드는, 캐리어 상에서 변조되는 비트의 의사-랜덤 시퀀스 (또한, "칩" 으로 지칭됨) 를 반복한다. 시간 지연을 측정하는데 있어서 이들 코드의 클록-형 특성은 이 수신기에 의해 이용된다. 각각의 위성에 대한 코드는 유일무이하고, 그들이 모두 동일한 캐리어 주파수에 있더라도 수신기가 어느 위성이 주어진 코드를 송신하는지를 구별하는 것을 가능하게 한다. 또한, 각각의 캐리어에 대하여 변조된 것은, 네비게이션 계산에 필요한 시스템 상태 및 위성 궤도 파라미터에 대한 정보를 포함하는 50 비트/초 데이터 스트림이다. P-코드 신호는 암호화되어 일반적으로 상업용 및 개인 사용자들에게 이용가능하지 않다. C/A 신호는 모든 사용자들에게 이용 가능하다.Each GPS satellite transmits two direct-sequence-coded spread spectrum signals within the L-band. The Ll signal is at a carrier frequency of 1.57542 GHz and the L2 signal is at 1.2276 GHz. The L1 signal includes two phase-shift keyed (PSK) spread spectrum signals modulated in a phase quadrature, which is a P-code signal (strictly P) and C / A-code signal (C / A in the case of coarse / acquisition). The L2 signal includes only the P-code signal. P and C / A codes repeat a pseudo-random sequence (also referred to as a "chip") of bits that are modulated on a carrier. The clock-like nature of these codes is used by this receiver in measuring the time delay. The codes for each satellite are unique and allow the receiver to distinguish which satellite transmits a given code even if they are all on the same carrier frequency. Also modulated for each carrier is a 50 bit / second data stream containing information about system state and satellite orbital parameters required for navigation calculations. P-code signals are encrypted and generally not available to commercial and personal users. C / A signals are available to all users.
통상적으로, GPS 수신기에서 수행된 동작은 임의의 직접-시퀀스 확산 스펙트럼 수신기에서 수행된 동작들의 대부분이다. 의사-랜덤 코드 모듈레이션의 확산 효과는, 역확산으로 알려진 프로세스에서 시간-배열, 국부적으로 발생된 코드의 복사에 의해 그것을 다중화시킴으로써 각각의 신호로부터 제거되어야 한다. 적 절한 시간 배열, 또는 코드 지연이 수신기 스타트업에서 쉽게 알려지지 않기 때문에, 적절한 시간 배열, 또는 코드 지연은 GPS 수신기의 동작의 초기 "획득" 위상 동안 검색함으로써 결정되어야 한다. 일단 결정되면, 적절한 코드 시간-배열이 GPS 수신기 동작의 "추적" 위상 동안 유지된다.Typically, the operations performed at the GPS receiver are the majority of the operations performed at any direct-sequence spread spectrum receiver. The spreading effect of pseudo-random code modulation must be removed from each signal by multiplexing it by copying the time-arranged, locally generated code in a process known as despreading. Since an appropriate time arrangement, or code delay, is not easily known at receiver startup, an appropriate time arrangement, or code delay, should be determined by searching during the initial "acquisition" phase of operation of the GPS receiver. Once determined, the appropriate code time-array is maintained during the "tracking" phase of GPS receiver operation.
일단 수신된 신호가 역확산되면, 각각의 신호는 중간 캐리어 주파수에서 50 비트/초 PSK 신호를 구성한다. 이 신호의 정확한 주파수는, 위성과 단말기 유닛 사이의 상대적 이동에 의해 야기된 도플러 효과, 및 로컬 수신기 GPS 클록 기준 에러로 인해 확실치 않다. 또한, 보통 획득 이전에는 도플러 주파수가 알려지지 않기 때문에 초기 신호 획득시 이 도플러 주파수가 검색되어야 한다. 일단 도플러 주파수가 적절하게 결정되면, 캐리어 복조가 진행된다.Once the received signal is despread, each signal constitutes a 50 bit / second PSK signal at the intermediate carrier frequency. The exact frequency of this signal is uncertain due to the Doppler effect caused by the relative movement between the satellite and the terminal unit, and the local receiver GPS clock reference error. Also, since the Doppler frequency is usually unknown before acquisition, this Doppler frequency must be retrieved during initial signal acquisition. Once the Doppler frequency is properly determined, carrier demodulation proceeds.
캐리어 복조 이후에, 데이터 비트 타이밍은 비트 동기화 루프에 의해 유도되고, 마지막으로 데이터 스트림이 검출된다. 일단 4 개의 위성으로부터의 신호가 획득되고 폐쇄되고, 필요한 시간 지연 및 도플러 측정이 이루어지고, 충분한 개수 (GPS 시간 기준 및 궤도 파라미터를 결정하기에 충분한) 의 데이터 비트가 수신되면 네비게이션 계산이 착수될 수도 있다.After carrier demodulation, the data bit timing is derived by the bit synchronization loop, and finally the data stream is detected. Once the signals from the four satellites are acquired and closed, the required time delay and Doppler measurements are made, and navigation data may be undertaken once a sufficient number of data bits (sufficient to determine the GPS time reference and orbital parameters) are received. have.
위치 결정을 위한 GPS 시스템의 일 결점은 초기 신호 획득 위상을 위해 필요한 시간이 너무 길다는 것이다. 전술한 바와 같이, 4 개의 위성 신호가 추적되기 이전에, 위성 신호는 그 면적이 코드-위상 지연, 및 도플러 주파수 시프트인 2 차원 검색 "스페이스" 에서 검색되어야 한다. 통상적으로, 수신기 "cold start", 다수의 코드 지연 (약 2000) 이후의 경우에서와 같이 이전에 이 검색 스페 이스 내의 신호의 위치의 지식이 없으면, 도플러 주파수 (약 15) 가 획득되고 추적되는 각각의 위성에 대해 검색되어야 한다. 따라서, 각각의 신호에 대해 검색 스페이스에서의 최대 30,000 개의 위치가 시험되어야 한다. 통상적으로, 이러한 검색 공간 내의 신호 위치에 대한 사전 정보가 없으면, 수신기의 콜드 스타트 (cold start) 이후의 경우에서와 같이, 다수 (약 2000 개) 의 코드 지연 및 (약 15 개) 도플러 주파수가 획득 및 추적될 각 위성에 대해 검색되어야 한다. 통상적으로, 이들 위치는 5 내지 10 분이 걸릴 수 있는 프로세스에서 순차적으로 차례대로 시험된다. 수신 안테나의 시야 내에서 4 개의 위성의 아이덴티티 (즉, PN-코드) 가 알려지지 않으면, 획득 시간은 더 길어진다.One drawback of a GPS system for positioning is that the time required for the initial signal acquisition phase is too long. As mentioned above, before four satellite signals are tracked, the satellite signals must be searched in a two-dimensional search "space" whose area is code-phase delay, and Doppler frequency shift. Typically, the Doppler frequency (about 15) is obtained and tracked if there is no prior knowledge of the location of the signal within this search space as in the case of receiver "cold start", after a number of code delays (about 2000). Should be searched for satellites. Therefore, up to 30,000 positions in the search space must be tested for each signal. Typically, without prior information about the signal location in this search space, a number of (about 2000) code delays and (about 15) Doppler frequencies are obtained, as in the case after the cold start of the receiver. And for each satellite to be tracked. Typically, these locations are tested sequentially, in a process that can take 5 to 10 minutes. If the identity of the four satellites (ie, PN-code) is unknown within the field of view of the receiving antenna, the acquisition time is longer.
GPS 수신기가 이미 위성 신호를 획득한 경우 및 그 다음의 추적 모드에서는, 위치 결정 프로세스가 실질적으로 동시적이다. 그러나, 무선 단말기의 루틴 사용에 있어서, 사용자는 전력을 턴온하고 빠르게 동작을 시작한다. 긴급 통신이 의도되는 때가 이 경우일 수 있다. 이러한 상황에서, 고정 위치가 획득될 수 있기 이전에 GPS/무선 단말기 유닛에 의해 5 내지 10 분 GPS 위성 신호 획득 콜드-스타트와 연관된 시간 지연이 그 시스템의 응답 시간을 제한한다.In the case where the GPS receiver has already acquired satellite signals and in the following tracking mode, the positioning process is substantially simultaneous. However, in using the routine of the wireless terminal, the user turns on the power and starts operation quickly. This may be the case when emergency communication is intended. In this situation, the time delay associated with the GPS satellite signal acquisition cold-start by the GPS / wireless terminal unit before the fixed position can be obtained limits the response time of the system.
따라서, GPS 위성 신호를 획득하고, GPS/무선 단말기 유닛에서의 고정 위치를 제공하는데 요구되는 시간을 감소시키는 시스템 및 방법의 기술이 필요하다. Accordingly, there is a need for a system and method description that reduces the time required to acquire a GPS satellite signal and provide a fixed position in a GPS / wireless terminal unit.
개요summary
본 명세서에서는 수신된 신호의 코드 스페이스 검색을 구현하는 장치 및 방 법이 설명된다. 코드 스페이스 검색은, 초기 적분 시간의 각각의 경계에서 동적으로 재구성 가능한 서브태스크를 수행하는 검색기로서 구현된다. 각각의 특정 서브태스크는, 초기 적분 시간 동안 수행되는 코히런트 적분 가설의 프로그래머블 구성을 말한다. 검색기는, 코히런트 적분 가설의 결과값을 메모리의 제 1 부분에 저장한다. 검색 가속기는 초기 적분 결과값을 동작한다. 검색 가속기는, 상이한 타이밍 가설의 각종 주파수 빈의 코히런트 적분을 수행할 수 있고, 코히런트 적분 결과값의 에너지 값을 발생시킬 수 있으며, 넌-코히런트 에너지 합계를 발생시킬 수 있다. 코히런트 적분의 에너지 값 및 넌-코히런트 에너지 합계는 메모리의 제 2 부분에 저장된다. 서브태스크를 재구성하고 가속기를 동작하는 성능은 검색 스페이스 면적에 유연성을 제공한다.Described herein is an apparatus and method for implementing code space search of a received signal. Code space search is implemented as a searcher that performs dynamically reconfigurable subtasks at each boundary of the initial integration time. Each particular subtask refers to a programmable construct of a coherent integration hypothesis that is performed during the initial integration time. The searcher stores the result of the coherent integration hypothesis in a first portion of the memory. The search accelerator operates the initial integration result. The search accelerator can perform coherent integration of various frequency bins of different timing hypotheses, generate energy values of the coherent integration result, and generate non-coherent energy sums. The energy value of the coherent integration and the non-coherent energy sum are stored in the second portion of the memory. The ability to reconfigure subtasks and operate accelerators provides flexibility in search space area.
본 발명의 양태는, 코드 스페이스 검색을 위한 장치를 포함한다. 장치는, 메모리, 복수의 프로그래머블 태스크를 수행하고 각각의 프로그래머블 태스크에 대해 초기 적분 시간 동안 획득된 복수의 코히런트 적분 결과값을 발생시키도록 구성된 검색기, 선택 가능한 검색 모드에 의해 결정된 하나 이상의 코히런트 적분 길이 및 주파수 오프셋에 기초하여 검색기의 적분 결과값의 적어도 하나의 코히런트 누산을 결정하도록 구성된 가속기, 및 적분 결과값을 검색기로부터 메모리로 전송하도록 구성되고 적분 결과값을 메모리로부터 가속기로 전송하도록 구성된 데이터 이동기를 포함한다.Aspects of the present invention include an apparatus for code space search. The apparatus includes a memory, a searcher configured to perform a plurality of programmable tasks and generate a plurality of coherent integration results obtained during an initial integration time for each programmable task, one or more coherent integrations determined by a selectable search mode. An accelerator configured to determine at least one coherent accumulation of an integral result of the searcher based on the length and frequency offset, and data configured to transfer the integral result from the searcher to the memory and to transmit the integral result from the memory to the accelerator. Include a mover.
본 발명의 양태는 코드 스페이스 검색을 위한 장치를 포함한다. 장치는, 코드 스페이스 검색에 할당된 부분을 갖는 메모리로서, 이 부분은 활성 프로그래머 블 검색 모드에 의존하는 상기 메모리, 및 메모리에 커플링된 집적 회로를 포함한다. 집적 회로는, 복수의 프로그래머블 검색 태스크들 각각에 대한 초기 적분 주기 동안 결정된 복수의 코히런트 적분 결과값을 발생시키도록 구성된 검색기, 활성 프로그래머블 검색 모드에 의해 결정된 코히런트 적분 길이 및 주파수 가설을 통해 코히런트 적분 결과값의 코히런트 누산을 결정하도록 구성된 가속기, 및 검색기와 메모리 사이, 및 가속기와 메모리 사이에서 DMA 데이터 전송을 수행하도록 구성된 데이터 이동기를 포함한다.Aspects of the present invention include an apparatus for code space search. The apparatus is a memory having a portion allocated for code space searching, the portion including the memory relying on an active programmable search mode, and an integrated circuit coupled to the memory. The integrated circuit may be configured to generate a plurality of coherent integration results determined during an initial integration period for each of the plurality of programmable search tasks, the coherent through a coherent integration length and frequency hypothesis determined by an active programmable search mode. An accelerator configured to determine a coherent accumulation of integration result values, and a data mover configured to perform DMA data transfer between the searcher and the memory and between the accelerator and the memory.
본 발명의 양태는 코드 스페이스 검색의 방법을 포함한다. 방법은, 수신된 무선 신호의 복소 샘플을 캡쳐하는 단계, 복수의 코드 스페이스 검색 태스크를 구성하는 단계, 초기 적분 시간 동안 획득된 복수의 코히런트 적분 결과값을 발생시키도록 코드 스페이스 검색 태스크들 각각을 실행시키는 단계, 및 복수의 코히런트 적분 결과값의 코히런트 누산을 결정하는 단계로서, 프로그래머블 코드 스페이스 검색 모드에 기초하여 누산 길이 및 주파수 오프셋이 코히런트 누산에 연관되는, 상기 코히런트 누산을 결정하는 단계를 포함한다.Aspects of the present invention include a method of code space search. The method includes capturing a complex sample of a received wireless signal, configuring a plurality of code space search tasks, and generating each of the code space search tasks to generate a plurality of coherent integration result values obtained during the initial integration time. Executing and determining a coherent accumulation of a plurality of coherent integration result values, wherein the accumulation length and frequency offset are associated with the coherent accumulation based on a programmable code space search mode. Steps.
본 발명의 양태는 코드 스페이스 검색 방법을 포함한다. 방법은, 수신된 무선 신호의 복소 샘플을 캡쳐하는 단계, 복수의 코드 스페이스 가설에 대응하는 복수의 코히런트 누산 결과값을 발생시키도록 복수의 코드 스페이스 검색 태스크들 각각을 실행시키는 단계, 복수의 코히런트 적분 결과값을 메모리에 저장하는 단계; 적분 길이에 대응하는 다수의 코히런트 적분 결과값을 메모리로부터 검색하는 단계, 및 다수의 코히런트 적분 결과값의 코히런트 누산을 결정하는 단계를 포함한 다.Aspects of the present invention include a code space search method. The method includes capturing a complex sample of a received wireless signal, executing each of the plurality of code space search tasks to generate a plurality of coherent accumulation results corresponding to the plurality of code space hypotheses, the plurality of cohes Storing the runt integration result in a memory; Retrieving a plurality of coherent integration result values corresponding to the integration length from memory, and determining a coherent accumulation of the plurality of coherent integration result values.
도면의 간단한 설명Brief description of the drawings
본 발명의 특성, 본질, 및 이점은 도면과 함께 취해졌을 때 아래에 진술된 상세한 설명으로부터 더 명백하게 될 것이며, 도면에서, 동일한 참조 부호는 동일한 대상을 나타낸다.The nature, nature, and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the drawings, in which like reference characters designate the same objects.
도 1 은 위치 결정을 지원하는 무선 통신 시스템의 실시형태의 간략화된 블록도이다.1 is a simplified block diagram of an embodiment of a wireless communication system that supports location determination.
도 2 는 코드 스페이스 검색을 구현하는 시스템을 처리하는 위치 결정 신호의 실시형태의 간략화된 기능 블록도이다.2 is a simplified functional block diagram of an embodiment of a positioning signal for processing a system implementing code space search.
도 3 은 코드 스페이스 검색을 구현하는 수신기에서 데이터 흐름의 실시형태를 설명하는 간략화된 기능 블록도이다.3 is a simplified functional block diagram illustrating an embodiment of a data flow at a receiver implementing code space search.
도 4 는 코드 스페이스 검색 방법의 실시형태의 흐름도이다.4 is a flowchart of an embodiment of a code space search method.
도 5 는 코드 스페이스 검색을 구현하는 위치 결정 신호 프로세싱 시스템의 실시형태의 간략화된 기능 블록도이다.5 is a simplified functional block diagram of an embodiment of a position determination signal processing system implementing code space search.
상세한 설명details
본 명세서에서는 무선 통신 환경에서 신호를 획득하고 추적하는 동적으로 재구성 가능한 코드 스페이스 검색 시스템 및 방법이 설명된다. 재구성 가능한 시스템은, 하나 이상의 검색 증분량을 통해 샘플을 저장하도록 구성된 샘플 메모리 를 포함한다.DETAILED DESCRIPTION Herein are described dynamically reconfigurable code space retrieval systems and methods for acquiring and tracking signals in a wireless communication environment. The reconfigurable system includes a sample memory configured to store samples via one or more search increments.
재구성 가능한 검색기는 코드 스페이스 검색 및 코히런트 적분을 위해 저장된 샘플을 엑세스한다. 재구성 가능한 검색기는 미리 결정된 다수의 채널을 중 임의의 하나를 지원하도록 동적으로 구성될 수 있는 다중 상관기를 포함한다. 검색기의 구성 및 채널에 대한 상관기의 할당은 검색기 증분마다 업데이트될 수 있다.The reconfigurable searcher accesses the stored samples for code space search and coherent integration. The reconfigurable searcher includes multiple correlators that can be dynamically configured to support any one of a predetermined number of channels. The configuration of the searcher and the assignment of correlators to channels can be updated every searcher increment.
가속기는 대응하는 채널 할당들 각각에 대해 상관 결과값을 발생시킬 수 있고, 검색기는 그 결과값을 스토리지에 기록할 수 있다. 스토리지의 크기는 원하는 코히런트 적분 시간에 기초하여 동적으로 재할당될 수 있다.The accelerator can generate a correlation result for each of the corresponding channel assignments, and the retriever can write the result to storage. The size of the storage can be dynamically reallocated based on the desired coherent integration time.
데이터 이동기는 저장 디바이스를 엑세스하고 검색기 결과값을 샘플 버퍼로 전송한다. 샘플 서버는, 제 1 샘플 버퍼부 및 제 2 샘플 버퍼부를 갖는 이중 버퍼로 구성될 수 있다. 데이터 이동기는 제 1 또는 제 2 버퍼부 중 하나에 교대로 기록하여, 기록되지 않은 버퍼부의 판독을 동시에 허용한다. 제 1 및 제 2 샘플 버퍼부의 크기는 코히런트 적분 시간일 수 있는 초기 적분 시간에 대응하도록 동적으로 구성될 수 있다.The data mover accesses the storage device and sends the retriever results to the sample buffer. The sample server may be configured as a double buffer having a first sample buffer unit and a second sample buffer unit. The data mover alternately writes to either the first or second buffer section, allowing simultaneous reading of the unrecorded buffer section. The size of the first and second sample buffer portions can be dynamically configured to correspond to an initial integration time, which can be a coherent integration time.
가속기는 샘플 버퍼로부터 상관 결과값을 엑세스하고, 샘플 버퍼로의 기록의 타이밍과 상보적인 방식으로 제 1 및 제 2 샘플 부분을 교대로 엑세스한다. 가속기는, 동적으로 조정될 수 있는 초기 적분 시간 동안 검색기 결과값의 코히런트 누산값을 결정할 수 있다. 초기 적분 시간의 길이는 데이터를 변조하는 시간 이상으로 확장될 수 있다. 예를 들어, 에지 전이 및 수신 데이터를 추적함으로 써 초기 적분 시간은 20 밀리초 데이터 변조 주기 이상으로 확장될 수 있다. 가속기는, 에지 전이의 위치 및 언더라잉 데이터의 값에 기초하여 상관 결과값을 선택적으로 변환할 수 있다.The accelerator accesses the correlation result from the sample buffer and alternately accesses the first and second sample portions in a manner complementary to the timing of writing to the sample buffer. The accelerator can determine the coherent accumulation of the searcher results for an initial integration time that can be dynamically adjusted. The length of the initial integration time may extend beyond the time of modulating the data. For example, by tracking edge transitions and received data, the initial integration time can be extended beyond 20 millisecond data modulation periods. The accelerator may selectively transform the correlation result based on the position of the edge transition and the value of the underlying data.
가속기는 코히런트 누산 결과값들 각각에 대해 에너지 또는 규모 (magnitude) 를 발생시킬 수 있다. 가속기는 에너지 결과값을 에너지 버퍼에 기록한다. 또한, 에너지 버퍼는 제 1 및 제 2 에너지 버퍼 부분을 갖는 이중 버퍼로서 구성될 수 있다. 가속기는 에너지 버퍼의 제 1 부분에 기록할 수 있고, 동시에 에너지 버퍼의 제 2 부분으로부터 판독할 수 있다.The accelerator may generate energy or magnitude for each of the coherent accumulation results. The accelerator writes the energy result to the energy buffer. In addition, the energy buffer may be configured as a double buffer having first and second energy buffer portions. The accelerator can write to the first portion of the energy buffer and simultaneously read from the second portion of the energy buffer.
또한, 데이터 이동기는 에너지 버퍼를 판독하고 에너지 버퍼에 기록하도록 구성될 수 있다. 데이터 이동기는 에너지 버퍼로부터의 에너지 결과값을 판독하고 이를 스토리지에 기록할 수 있고, 스토리지로부터 에너지 버퍼로 이전 에너지 결과값을 판독할 수 있다.The data mover may also be configured to read and write to the energy buffer. The data mover can read the energy result from the energy buffer and write it to storage, and read the previous energy result from the storage into the energy buffer.
가속기는, 다중 에너지 결과값을 합산함으로써 넌-코히런트 적분을 결정할 수 있다. 그 결과값은 에너지 버퍼에서 버퍼링되고, 데이터 이동기는 넌-코히런트 합계를 스토리지에 저장할 수 있다.The accelerator can determine the non-coherent integration by summing multiple energy results. The result is buffered in an energy buffer, and the data mover can store non-coherent sums in storage.
도 1 은 위치 결정을 지원하는 무선 통신 시스템 (100) 의 실시형태의 간략화된 블록도이다.1 is a simplified block diagram of an embodiment of a
무선 통신 시스템 (100) 은, 사용자 단말기 (110) 와의 통신에 있을 수 있는 하나 이상의 지상파 엘리먼트를 포함할 수 있다. 예를 들어, 사용자 단말기 (110) 는 하나 이상의 통신 표준에 따라 동작하도록 구성된 무선 전화기일 수 있 다. 하나 이상의 통신 표준은, 예를 들어, GSM, WCDMA, 및 CDMA2000 을 포함할 수 있다. 사용자 단말기 (110) 는 휴대용 유닛, 모바일 유닛, 또는 고정식 유닛일 수 있다. 또한, 사용자 단말기 (110) 는 모바일 유닛, 모바일 단말기, 이동국, 사용자 장비, 휴대용 기기, 전화기 등으로 지칭될 수도 있다.The
통상적으로, 사용자 단말기 (110) 는 본 명세서에서 분할된 셀룰러 타워로 도시된 하나 이상의 기지국 (120a, 120b) 과 통신한다. 통상적으로, 사용자 단말기 (110) 는 기지국, 예를 들어, 사용자 단말기 (110) 내의 수신기에서 가장 강한 신호 세기를 제공하는 120b 과 통신한다. 도 1 에는 편리함과 명확함을 위해 2 개의 기지국들 (120a, 120b), 및 하나의 사용자 단말기 (110) 가 도시된다. 통상적으로, 시스템은 다수의 기지국을 갖고 하나 이상의 사용자 단말기를 지원할 수 있다. Typically,
사용자 단말기 (110) 는, 하나 이상의 신호 소스로부터 수신된 위치 결정 신호에 기초하여 부분적으로 그 위치를 결정할 수 있다. 신호 소스는, GPS 와 같은 위성 기반 위치 결정 시스템의 일부일 수 있는 하나 이상의 위성 (130) 을 포함할 수 있다. 또한, 신호 소스는 하나 이상의 기지국들 (120a 또는 120b) 을 포함할 수 있다.The
사용자 단말기 (110) 는, 각각의 위치 결정 신호 소스에 대한 의사 범위를 결정함으로써 부분적으로 그 위치를 결정할 수 있다. 각각의 위치 결정 신호 소스는 의사 잡음 코드를 사용하여 확산되는 위치 결정 신호를 송신하고, 사용자 단말기는 수신된 의사 잡음 신호의 위상을 결정하도록 수신된 신호와 국부적으로 발생된 의사 잡음 코드를 서로 관련시킴으로써 부분적으로 의사 범위를 결정할 수 있다. 사용자 단말기 (110) 는, 부분적으로 수신된 의사 잡음 신호의 위상에 기초하여 시간 또는 거리를 서로 관련시키는 의사 범위를 결정할 수 있다.
기지국들 (120a 및 120b) 각각은, 적합한 기지국들 (120a 및 120b) 로부터/로 통신 신호를 라우팅하는 기지국 제어국 (Base Station Controller: BSC; 150) 에 커플링될 수 있다. BSC (140) 는, 사용자 단말기 (110) 와 PSTN (Public Switched Telephone Network; 170) 사이의 인터페이스로서 동작하도록 구성될 수 있는 모바일 스위칭 센터 (Mobile Switching Center: MSC; 150) 에 커플링될 수 있다. 그러므로, 또한 MSC (150) 는 PSTN (170) 에 커플링된다. 또한, MSC (150) 는 다른 통신 시스템과 인터-시스템 핸드오프를 조정하도록 (coordinate) 구성될 수 있다.Each of the
또한, PLC (Position Location Center; 160) 는 BSC (140) 에 커플링될 수 있다. 예를 들어, PLC (160) 는 위치 결정 시스템 (100) 에서 기지국들 (120a 및 120b) 의 각각의 위치와 같은 위치 결정 정보를 저장하도록 구성될 수 있다. 일 실시형태에서, PLC (160) 는 사용자 단말기 (110) 에 정보를 제공하도록 구성될 수 있어서, 사용자 단말기 (110) 는 신호 소스를 다중화하는데 부분적으로 의사 범위에 기초하여 그 위치를 결정할 수 있고, 여기서 의사 범위는 상대적인 도착 시간 (time-of-arrival) 값일 수 있다. 다른 실시형태에서, PLC (160) 는 사용자 단말기 (110) 에 의해 제공된 의사 범위 정보에 기초하여 사용자 단말기 (110) 의 위치를 결정하도록 구성될 수 있다. 후자의 실시형태에서, PLC (160) 내의 네 트워크 서버 (미도시) 는 사용자 단말기 (110) 로부터 프로세싱을 오프로딩하기 위해 위치 결정 결정을 수행할 수 있다. In addition, a Position Location Center (PLC) 160 may be coupled to the
PLC (160) 는 BSC (140) 를 통해서 기지국들 (120a 및 120b) 에 명령하고, 위치 결정 신호를 발생시키도록 구성될 수 있다. 다른 실시형태에서, 기지국들 (120a 및 120b) 은 위치 결정 신호를 주기적으로 발생시키도록 구성될 수 있다.
PLC (160) 함께 사용자 단말기 (110) 는 몇몇 위치 결정 기술들 중 임의의 하나를 이용하여 그 위치를 결정할 수 있다. 사용자 단말기 (110) 또는 PLC (160) 는, 의사 범위 값을 발생시키는데 이용되는 신호 소스에 부분적으로 기초하여 기술을 선택할 수 있다. 예를 들어, 사용자 단말기 (110) 는, TOA (time of arrival), TDOA (time difference of arrival), AFLT (advanced forward link trilateration) 또는 일부 다른 위치 결정 기술을 사용할 수도 있다. 사용자 단말기 (110) 또는 PLC (160) 는 GPS 에 기초되고, 하이브리드 위치 결정 시스템과 같은 지상파 기반 비콘을 갖는 GPS 신호를 증대시키고, 지상파 기반 비콘으로부터 유도된 의사 범위 값에 기초되는 위치 결정 기술을 구현함으로써 사용자 단말기 (110) 의 위치를 결정할 수 있다.
파워업과 같은 제 1 고정을 발생시키기 위해서, GPS 위성 신호를 처리하도록 구성된 사용자 단말기 (110) 내의 수신기는 필요한 위성 신호를 수신하기 위해서 모든 위성 PN-코드 시퀀스, 모든 PN-코드 위상 가설, 및 모든 도플러 주파수 오프셋 전체에 걸쳐 검색할 필요가 있다. 이는 24 개의 위성, 미리 결정된 범위의 도플러 주파수, 및 1023 개의 코드 가설을 통한 검색을 평균한다 (통상적으로, 이것은 2046 개의 이산 하프-칩 코드 시프트 및 계산으로 구현됨). 초기 고정 위치를 결정한 이후에, 사용자 단말기 (110) 는, 초기 고정 위치를 결정하는데 이용되는 위성 신호에 기초되는 서브셋으로 검색된 주파수 및 코드 위상의 개수를 제한할 수 있다. 사용자 단말기 (110) 는 검색된 이산 위성 PN-코드 시퀀스의 개수를 24 에서 통상적으로 8 개인 실제로 가시적인 위성들 세트로 감소시킬 수 있으나, 겨우 4 개로 감소시킬 수도 있다. In order to generate a first fixation, such as power up, a receiver in
그러나, GPS 위성 정보를 사용하는 것만으로 위치 고정이 가능하지 않은 경우, 사용자 단말기 (110) 는 하나 이상의 지상파 비콘에 대해 하나 이상의 PN-코드 시퀀스를 검색할 필요가 있을 수도 있다. 통상적으로, 지상파 비콘에 의해 이용된 코드 시퀀스는 GPS 위성에 의해 이용된 코드 시퀀스와 구별된다. 또한, 통상적으로 위치 결정 신호에 기초된 지상파의 시간 라인 및 프로세싱은 GPS 의 시간 라인 및 프로세싱과도 구별된다. However, if location fixation is not possible simply by using GPS satellite information, the
사용자 단말기 (110) 는 재구성 가능한 수신 신호 프로세서를 포함할 수 있다. 재구성 가능한 신호 프로세서는 다중의 독립적으로 재구성 가능한 리소스를 포함할 수 있고, 다중의 적분 시간을 지원할 수 있다. 독립적으로 재구성 가능한 리소스는, 재구성 가능한 시간 동안 선택된 코드 스페이스부의 검색을 수행하도록 구성될 수 있다. 검색 결과는 재구성 가능한 적분 시간 동안 코히런트하게 적분될 수 있고, 또한 적분 결과는 넌-코히런트하게 적분될 수 있다. The
사용자 단말기 (110) 에서 재구성 가능한 수신 신호 프로세서의 구현은, 사용자 단말기 (110) 가 현재 프로세싱 상태에 효과적인 방식으로 리소스를 전용하는 것을 허용한다. 예를 들어, 초기 위치 고정시, 사용자 단말기 (110) 는 재구성 가능한 수신 신호 프로세서를 구성할 수 있어, 위치 결정 신호 소스의 아이덴티티를 빠르게 식별하도록 위치 결정 소스의 최대 개수를 거쳐 검색하게 된다. 예를 들어, 사용자 단말기 (110) 는 우선 미리 결정된 최대 개수의 GPS 위성 전체를 검색하여, 어느 GPS 위성이 수신된 신호를 송신했는지를 식별한다. 일단, 사용자 단말기 (110) 가 수신된 신호를 일으키는 GPS 위성의 신호를 결정하면, 사용자 단말기 (110) 는 식별된 위성 신호의 더욱 포커싱된 프로세싱을 허용하도록 수신 신호 프로세서를 재구성할 수 있다. 예를 들어, 사용자 단말기 (110) 는 수신 감도 뿐만 아니라 주파수 감도를 개선하도록 더 긴 코히런트 적분 시간을 구성할 수 있다. The implementation of the reconfigurable receive signal processor at the
도 2 는 코드 스페이스 검색을 구현하는 재구성 가능한 위치 결정 신호 프로세싱 시스템 (200) 의 실시형태의 간략화된 기능 블록도이다. 신호 프로세싱 시스템 (200) 은 검색기 (220) 와 커플링된 샘플 서버 (210) 를 포함한다. 검색기 (220) 는 메모리 (240) 에 저장되는 결과를 발생시킨다. 가속기 (250) 는 메모리 (240) 내의 검색기 결과를 엑세스하고, 추가 신호 프로세싱을 수행한다.2 is a simplified functional block diagram of an embodiment of a reconfigurable position determination
데이터 이동기 (230) 는 검색기 (220) 로부터 메모리 (240) 내의 위치로 결과를 기록한다. 또한, 데이터 이동기 (230) 는, 가속기 (250) 와 연관된 메모리 (240) 와 버퍼 (260) 사이의 판독 및 기록 동작을 제어한다. 버퍼 (260) 는 샘플 버퍼 (262) 및 에너지 버퍼 (264) 로 분할될 수 있다. 샘플 버퍼 (262) 및 에너지 버퍼 (264) 각각은 이중 버퍼로서 구성될 수 있고, 여기서 데이터는 버 퍼의 제 1 부에 기록되고, 동시에 다른 데이터는 버퍼의 제 2 부로부터 판독된다.
제어기 (270) 는 검색기 (220) 및 가속기 (250) 를 구성하도록 동작한다. 예를 들어, 제어기 (270) 는 검색기 (220) 에 의해 수행된 서브태스크를 구성할 수 있다. 또한, 제어기 (270) 는 코히런트 적분 시간 또는 길이 뿐만 아니라 가속기 (250) 에 의해 수행된 넌-코히런트 에너지 합계의 길이를 구성할 수 있다.
또한, 제어기 (270) 는 다양한 상관 값 및 에너지 합계를 저장하는데 필요로 되는 메모리 양을 구성할 수 있다. 상관 결과를 저장하는데 필요로되는 메모리의 양은 부분적으로 코히런트 적분의 길이 및 넌-코히런트 에너지 합계의 개수에 기초하여 결정된다. 제어기 (270) 는 구성을 지원하는데 필요로되는 메모리 리소스를 이용하고 다른 프로세스에 이용될 사용하지 않은 임의의 메모리를 허용한다. 메모리 (240) 에 판독 또는 기록하는 경우, 제어기 (270) 는 데이터 이동기 (230) 와 동적 메모리 맵을 통신하여, 데이터 이동기 (130) 가 적절한 메모리 위치를 엑세스하도록 할 수 있다.In addition, the
통상적으로, 샘플 서버 (210) 는, 수신된 신호의 복소 샘플을 일시적으로 저장하는 RAM 과 같은 메모리로 구현된다. 다른 실시형태에서, 샘플 서버 (210) 는, 수신된 기저대 신호를 샘플링하고 I (In-phase) 및 Q (Quadrature phase) 샘플을 발생시키도록 구성되는 복소 ADC (Analog to Digital Converter) 와 같은 신호 샘플러를 포함한다.Typically,
예를 들어, 샘플 서버 (210) 는 2 배 (twice) 의 칩 레이트에서 취해진 복소 샘플의 최대 4 밀리초를 저장하도록 구성될 수 있다. 물론, 샘플 서버 (210) 는 2 배의 칩 레이트에서 캡쳐된 샘플에 한정되지 않고, 실제 샘플 레이트는 일부 다른 프랙션 (fraction) 또는 다중의 칩 레이트일 수도 있다. 예를 들어, 샘플 서버 (210) 는 칩 레이트, 4 번의 칩 레이트, 또는 일부 다른 간격에서 캡쳐되는 샘플을 저장하도록 구성될 수 있다. 신호 프로세싱 시스템 (200) 이 수신된 GPS 신호를 처리하도록 구성되는 곳에서, 샘플링 레이트는 대략 2MHz 일 수 있다. 샘플 서버 (210) 는 실제 시간 클록 (미도시) 로 동기화될 수 있어서, 샘플 서버 (210) 에 저장된 샘플의 밀리초 경계는 코드 주기에 대응하는 GPS 밀리초 경계와 일치한다.For example,
검색기 (220) 는 샘플 서버 (210) 에 저장된 복소 샘플에 대해 동작한다. 검색기 (220) 는 32 개의 독립적으로 구성 가능한 서브태스크를 지원하고, 각각의 서브태스크는 1 밀리초마다 재할당될 수 있다. 각각의 서브태스크는, 최대 64 개의 상이한 가설에 걸쳐 32 개의 칩 윈도우를 검색한다. 서브태스크는 GPS 위성에 대응하는 동일하거나 상이한 코드를 검색하도록 할당될 수 있다. 특정 위성의 코드 스페이스를 검색하기 위해 할당된 서브태스크의 개수를 증가시키는 것은 평균 검색 시간을 감소시킨다. 상이한 가설의 전체 개수 및 각각의 윈도우의 길이는 하드웨어 구성을 변화시킴으로써 변화될 수 있고, 서브태스크의 실제 개수 및 구성은 전술한 실시예에 한정되지 않는다.The
예를 들어, GPS 코드 위상 검색에서, 서브태스크는 최대 64 개의 상이한 가설에 걸쳐 샘플의 32 개의 칩 윈도우를 검색하도록 구성될 수 있다. 검색된 가설의 개수는 제어기 (270) 에 의해 프로그래머블될 수 있고, 예를 들어, 2 의 배수 들인 2 내지 64 의 범위일 수 있다.For example, in GPS code phase search, the subtask may be configured to search the 32 chip windows of the sample over up to 64 different hypotheses. The number of hypotheses retrieved can be programmable by the
코드 위상 검색을 수행하기에 앞서, 검색기 (220) 는 수신된 신호에서의 주파수 오프셋을 보정한다. 일 실시형태에서, 검색기 (220) 는 원하는 중심 주파수로 검색 샘플을 회전하도록 회전기를 구현할 수 있다. 회전기에 의해 보완된 주파수 오프셋의 양은, 신호 프로세싱 시스템 (200) 에 의해 수행된 주파수 검색으로 구현될 수 있는 주파수 보정 루프에 부분적으로 기초하여 결정될 수 있다.Prior to performing the code phase search, the
검색기 (220) 는 오버샘플링된 수신 칩 시퀀스의 보간 (interpolation) 을 선택적으로 수행할 수 있다. 또한, 보간 프로세스는 상관 이전에 입력 신호를 재샘플링하는 것으로 지칭될 수 있다. 일 실시형태에서, 수신된 신호는 2 배의 코드 시퀀스 칩 레이트 (칩x2) 에서 샘플링된다. 샘플러는 2 개의 연속 샘플을 보정하고 가변 지연을 도입한다. 통상적으로, 가변 지연은 칩 주기의 1/2 보다 작으며, 예를 들어, 1/4 칩 주기 또는 칩 주기의 더 작은 프랙션의 배수일 수 있다. 예를 들어, 샘플러는 칩 주기의 1/8 의 배수에 가변 지연을 도입할 수 있고, 여기서, 배수는 0 내지 3 을 레인징한다.The
검색기 (220) 는 각각 하나의 가설을 이용하여 32 개의 칩을 역확산시키고, 여기서 가설은 국부적으로 발생된 PN 코드 시퀀스의 특정 위상에 대응한다. 각각의 가설이, 예를 들어, 1/2 경계에서 23 개의 코드 위상 오프셋의 검색을 허용하도록 배열될 수 있다. 다른 실시형태에서, 각각의 가설은 칩 경계에서 배열될 수 있고, 이에 따라 64 개의 상이한 코드 위상 오프셋의 검색을 허용한다. 검색기 (220) 는 검색기 버퍼에 각각의 복소 상관 결과값을 저장하도록 구성된다. 데이터 이동기 (230) 는 메모리 (240) 내의 위치에 버퍼링된 검색 결과값을 저장할 수 있다. 일 실시형태에서, 검색 버퍼 (224) 는 이중 버퍼로 구성된다. 검색기 (220) 는 이중 버퍼의 제 1 부를 업데이트하도록 구성될 수 있고, 이중 버퍼의 제 2 부는 데이터 이동기 (230) 에 의해 엑세스되어 메모리 (240) 로 이전 검색 결과값을 이동시킨다. 이중 버퍼 구성은, 검색기 (220) 가 데이터 전송에 제한되기 보다는 계산적으로 제한되는 것을 허용한다. 이중 버퍼를 구성함으로써, 이전에 계산된 결과값의 전송은 다음 검색기 태스크에 앞서 완성될 필요가 없고, 이전 결과값의 데이터 전송은 가장 최근의 태스크의 프로세싱과 동시에 발생할 수도 있다. 물론, 검색기 (220) 는 이중 버퍼 구성을 사용하는 것에 제한되지 않으며, 동시의 프로세싱 및 데이터 전송을 허용하는 일부 다른 메모리 구성을 이용할 수도 있다. 예를 들어, 검색기 (220) 는, 특정 메모리 위치의 다음 업데이트에 앞서 모든 데이터 전송이 발생하는 것을 허용하기에 충분한 크기를 갖는 원형 버퍼를 구현할 수도 있다.The
검색기 (220) 의 구성, 및 특히 가설과 검색된 코드 스페이스의 개수의 구성은 각각의 상관 증분으로 구성될 수 있다. 전술한 실시예에서, 상관 증분은 밀리초마다 발생한다.The configuration of the
검색기 (220) 는 각각의 상관 증분이 업데이트될 수 있는 하드웨어 커맨드 레지스터를 포함한다. 제어기 (270) 는 위치 및 태스크 큐의 크기를 하드웨어 커맨드 레지스터에 기록할 수 있다. 전술한 바와 같이, 검색기 (220) 는 단일 큐에서 최대 32 개의 분리된 태스크를 수행하도록 제어될 수 있다.
검색기 (220) 는 하드웨어 커맨드 레지스터에 의해 지적된 큐를 엑세스하도록 구성된다. 검색기 (220) 는 태스크의 프로세싱 동안 태스크 큐를 획득할 수 있고, 유효 비교값에 기초하여 하드웨어 커맨드 레지스터에 지적된 태스크의 시작 타임을 결정할 수 있다.The
가속기 (250) 는 검색기 (220) 로부터 상관 결과를 처리하도록 구성된다. 가속기 (250) 는, 초기화될 필요가 있는 상이한 데이터 전송의 개수를 감소시키기 위해서 버퍼 (260) 에 저장된 온 데이터를 동작하도록 구성될 수 있다. 버퍼 (260) 는 샘플 버퍼 (262) 및 에너지 그리드 버퍼 (264) 를 포함할 수 있다. 샘플 버퍼 (262) 및 에너지 그리드 버퍼 (264) 각각은, 메모리 (240) 내의 위치를 판독하고 기록하는 것에 관한 임의의 가능한 메모리 경쟁 (contention) 이슈를 제거하기 위해서 이중 버퍼로 배열될 수 있다.
이중 버퍼 각각은 메모리의 제 1 및 제 2 부 또는 뱅크를 포함할 수 있다. 임의의 주어진 시간에서, 버퍼의 일 뱅크는 가속기 (250) 의 적분 엔진에 커플링되고, 버퍼의 다른 뱅크는 데이터 이동기 (280) 에 커플링되거나 그렇지 않으면 엑세스가능하다. 적분 엔진이나 데이터 이동기 (280) 와 뱅크의 연관(적분)은 각각의 프로세싱 간격 이후에 스왑된다.Each of the dual buffers may comprise a first and a second portion or bank of memories. At any given time, one bank of buffers is coupled to the integrator engine of the
가속기 (250) 는, 구성 가능한 적분 시간 및 다중 주파수를 거쳐 코히런트 적분 합계를 발생시키도록 구성된 다수의 평행 누산기를 포함하는 적분 엔진을 포함한다. 가속기 (250) 가 임의의 코히런트 적분 길이를 실질적으로(가상으로) 지원하도록 제어될 수 있더라도, 가속기 (250) 는 적분 길이의 이산 세트를 지원하 도록 조정될 수 있다. 일 실시형태에서, 가속기 (250) 는 코히런트 적분 합계를 발생시키도록 구성될 수 있고, 또한 10, 20, 39, 80 또는 160 밀리초의 적분 시간 동안 코히런트 누산으로 지칭된다. 검색기 (220) 는 1 밀리세컨트 주기 동안 코히런트 적분 결과값을 발생시기기 때문에, 밀리초에서의 코히런트 누산 시간은 코히런트 적분 길이에 대응한다. 가속기 (250) 는, 하나 이상의 비트 에지를 지나 확장된 적분 길이를 조정하기 위해서 비트 에지 및 비트 값을 추적하도록 구성될 수 있다.
평행한 누산 경로의 개수는 가속기 (250) 내에서 수용 가능한 복잡도의 레벨에 의존된다. 일 실시형태에서, 가속기 (250) 는 예를 들어, 6 개의 상이한 주파수를 통해 샘플들의 일 세트를 합산할 수 있는 6 개의 평행 멀티플레이어-누산기 경로를 포함할 수 있다. 평행 누산 경로의 동작은 많은 주파수 및 많은 샘플 세트를 지원하도록 반복될 수 있다. 가속기 버퍼 (262) 는 하나의 태스크의 모든 가설에 대해 20 밀리초 동안 적분하기에 충분할 수 있다. 유사하게, 에너지 버퍼 (264) 는 64 번의 오프셋들 각각 동안 20 개의 주파수를 지원하기에 충분히 클 수 있다. 20 밀리초보다 긴 적분은 단일 동작에서 전체 오프셋 횟수의 서브셋을 처리함으로써 수행될 수 있다. 20*N 밀리초 적분을 수행하는 경우, N 개의 가속기 동작이 이용된다. 각각의 동작은 63/N 개의 시간 가설을 처리한다. 각각의 에너지 메모리는 64/N 개의 시간 오프셋들 각각에 대해 20*N 의 밀리초를 유지한다. 결과로서 생기는 메모리 대역폭 및 상이한 적분 길이를 지원하는데 필요한 가속기 처리 레이트는 동일하다. 예를 들어, 가속기 (250) 는, 단일 동작에서 64 개의 상이한 시간 가설을 통해 20 밀리초 누산 시간을 동시에 지원하도록 구성될 수 있고, 또는 동일한 단일 동작에서 8 개의 상이한 시간 가설을 통해 160 밀리초 누산 시간을 지원하도록 구성될 수 있다. 가속기 (250) 는 8 개의 개별 동작을 수행하여 동일한 64 개의 주파수 가설을 검색한다. 이러한 방식으로, 가속기에 의해 이용된 데이터 대역폭은 적분 시간에 관계없이 일정하다.The number of parallel accumulation paths depends on the level of complexity acceptable within the
통상적으로, 가속기 (250) 에 의해 스패닝된 주파수 범위의 크기는, 공칭 주파수 아래의 대략 250 헤르츠 및 공칭 주파수 위의 250 헤르츠로 전체가 확장되어 500 헤르츠이다. 가속기 (250) 에 의해 동시에 분석된 주파수 가설의 개수는 코히런트 적분 길이에 의존하여 변화한다. 일 실시형태에서, 동시에 처리된 주파수 가설의 개수는 코히런트 적분 길이와 동일하게 설정된다. 가속기 (250) 는 주파수 스팬 전체에 걸쳐 대략 균일하게 상이한 주파수 빈을 스페이싱한다.Typically, the magnitude of the frequency range spanned by the
가속기 (250) 는, 원하는 주파수 오프셋에 의해 입력 샘플을 회전시키고, 코히런트 적분 길이를 거쳐 합산함으로써 특정 주파수 오프셋에서 코히런트 적분을 결정한다. 그 다음에, 가속기 (250) 는 2-차원 에너지 그리드를 위치시키기위해 코히런트 에너지 합계를 계산할 수 있다. 2-차원 에너지 그리드는, 각각의 시간 가설 및 각각의 주파수 오프셋에 대한 현재의 코히런트 적분 길이에 대한 에너지를 포함할 수 있다.
가속기 (250) 는, 다른 시간 가설의 코히런트 합계를 결정하기 이전에 특정 시간 가설의 주파수들 모두에 대한 코히런트 합계를 결정하도록 구성될 수 있다. 이 방식으로 코히런트 합계를 수행하는 것은 메모리가 엑세스되는 횟수를 최소 화할 수 있다. 물론, 다른 실시형태에서, 주파수 오프셋의 애플리케이션은 더 집중적인 프로세서일 수도 있고, 가설 내내 각각의 주파수 오프셋의 코히런트 합계는 다른 주파수 오프셋에 대한 코히런트 합계를 결정하기 이전에 완성될 수도 있다. 다른 실시형태는 일부 다른 순서로 합계를 결정할 수 있다.
데이터 이동기 (230) 는 DMA 엔진으로서 동작하여 검색기 (220) 와 메모리 (240), 및 메모리 (240) 와 가속기 (250) 사이의 정보를 전송한다. 데이터 이동기 (230) 는, 검색 모드 및 연관 적분 길이에 적어도 부분적으로 의존하여 위치로 메모리 전송을 수행한다. 데이터 이동기 (230) 는 제어기 (270) 로부터의 태스크 큐에 기초하여 메모리 맵을 결정할 수 있다.
데이터 이동기 (230) 는 스케줄링된 서브태스크의 각각에 대해 검색기 (220) 에 의해 발생된 코히런트 합계를 복사한다. 검색기 (220) 가 코히런트 합계를 이중 버퍼링하는 실시형태에서는, 데이터 이동기 (230) 가 검색기 (220) 에 의해 기록되고 있지 않는 버퍼로부터의 블록을 전송하도록 동작한다. 데이터 이동기 (230) 는 현재의 서브태스크 동작과 연관되지 않은 버퍼의 블록 내의 데이터 상에서 동작하도록 구성된다.
유사하게, 데이터 이동기 (230) 는 이전에 저장된 검색기 출력 및 메모리 (240) 로부터 이전에 결정된 에너지 합계를 가속기 (250) 내의 버퍼 (262), 특히, 메모리 전송과 연관되고 가속기 (250) 에 의해 기록되지 않는 버퍼 블록에 복사한다. 또한, 데이터 이동기 (230) 는 가속기 버퍼로부터 가장 최근의 에너지 합계를 메모리 (240) 에 복사한다.Similarly,
제어기 (270) 는, 태스크 큐 및 검색기 (220) 의 하드웨어 커맨드 레지스터에 기록된 연관 제어 정보를 발생시킨다. 제어기 (270) 는, 메모리 (240) 내의 이용 가능한 스페이스에 의해 지원될 수 있는 임의의 검색 및 적분 길이를 실질적으로 구성할 수 있다. 그러나, 통상적으로 제어기 (270) 는 각각의 제어 경계에서 선택되고 프로그래밍될 수 있는 미리 결정된 개수의 검색 구성이나 모드를 갖는다. 예를 들어, 제어기 (270) 는 높은 검색 모드 스패닝 1600 Hz, 20 개의 상이한 주파수 빈, 64 개의 가설, 및 20 인 코히런트 길이, 제 1 낮은 검색 모드 스패닝 400 Hz, 80 개의 상이한 주파수 빈, 16 개의 가설, 및 80 인 코히런트 길이, 제 2 낮은 검색 모드 스패닝 200 Hz, 160 상이한 주파수 빈, 8 개의 가설, 및 160 인 코히런트 길이, 열등한 획득 검색 모드 스패닝 1600 Hz, 20 개의 상이한 주파수 빈, 64 개의 가설, 및 10 인 코히런트 길이, 및 비트 에지 검색 모드 스패닝 1600 Hz, 8 개의 상이한 주파수 빈, 8 개의 가설, 및 20 인 코히런트 길이 중 하나를 선택할 수 있다.The
도 3 은 코드 스페이스 검색을 위한 위치 결정 신호 프로세싱 시스템 (200) 을 구현하는 수신기에서의 데이터 흐름의 실시형태를 나타내는 간략화된 기능 블록도이다. 시스템 (200) 은 GPS 스페이스 검색 프로세싱의 문맥에서 설명된다. 그러나, 유사한 코드 스페이스 검색은 AFLT 와 같은 일부 다른 PN 코드 확산 정보에 대해 처리될 수 있다.3 is a simplified functional block diagram illustrating an embodiment of a data flow at a receiver that implements a positioning
샘플 서버 (210) 는 대략 2 배의 칩 레이트에서 복소 입력 샘플을 수신하고 RAM 과 같은 메모리에 샘플을 기록한다. 샘플 서버 (210) 는 원형 버퍼와 같은 RAM 을 배열하고 최근의 샘플을 갖는 가장 오래된 엔트리를 과기록하도록 구성될 수 있다.
검색기 (220) 는 하드웨어 커맨드 레지스터의 콘텐츠를 시험하여 태스크 큐의 위치 및 크기를 결정한다. 검색기 (220) 내의 하드웨어 커맨드 레지스터는 이전 하드웨어 커맨드 레지스터 콘텐츠에 의해 지적된 태스크 큐의 프로세싱 동안 프로그래밍될 수 있다. 검색기 (220) 는 네스트 (nest) 스케줄링된 검색 태스크에 대한 시작 시간을 결정하고, 현재 검색 태스크가 끝나자마자 새로운 검색 태스크를 시작할 수 있다.
각각의 태스크 큐는, 1 밀리초일 수 있는 초기 검색 주기에서 처리될 수 있는 미리 결정된 최대 개수의 서브태스크를 제어할 수 있다. 검색기 (220) 는 서브태스크를 처리하고 각각의 가설에 대한 코히런트 합계를 검색기 (220) 내의 버퍼에 기록한다. 검색기 버퍼는 이중 버퍼로서 편성될 수 있다. 검색기 이중 버퍼의 2 개의 블록은 교대로 하나의 검색기 (220) 또는 데이터 이동기 (230) 와 연관될 수 있다. 검색기 (220) 와 연관된 블록은 검색기 (220) 에 의해 생성된 상관 결과값을 수신하고, 반면에 데이터 이동기 (230) 와 연관된 블록은 검색기 (220) 로부터 메모리 (240) 로의 블록 데이터 전송을 허용한다. 검색기 이중 버퍼 내의 블록의 연관은 미리 결정된 시간에서 스왑된다. 예를 들어, 블록의 연관은 검색기 (220) 가 그 연관된 블록을 채우자마자 스왑될 수 있다.Each task queue may control a predetermined maximum number of subtasks that may be processed in an initial search period, which may be one millisecond. The
데이터 이동기 (230) 는 연관된 검색기 (220) 버퍼와 메모리 (240) 사이의 데이터 전송 (310) 을 수행한다. 데이터 이동기 (230) 는, 검색기 (220) 에서 수행된 코히런트 적분 프로세싱으로 데이터 전송 (310) 을 동기화할 필요가 없다. 대신에, 데이터 이동기 (230) 는 버퍼 블록 연관이 유효한 동안 임의의 시간에서 데이터 전송 (310) 을 수행하도록 구성될 수 있다. 데이터 이동기 (230) 는 메모리 (240) 내의 위치를 결정하여, 제어기 (미도시) 에 의해 초기화된 활성 검색 모드에 적어도 부분적으로 기초하여 그 값을 기록한다. 시스템 (200) 에 할당된 메모리 (240) 의 크기는 동적일 수 있고, 예를 들어, 활성 코드 검색 모드에 기초하여 변화한다. 실시예로서, 비트 에지 검색 모드 스패닝 1600 Hz, 8 개의 상이한 주파수 빈, 8 개의 가설, 및 20 인 코히런트 길이는 낮은 검색 모드 스패닝 200 Hz, 160 개의 상이한 주파수 빈, 8 개의 가설, 및 160 인 코히런트 길이보다 적은 스토리지 스페이스 메모리 (240) 를 요구한다.
메모리 (240) 가 코드 스페이스 검색과 상이한 프로세스와 공유되면, 메모리 (240) 가 무선 통신 디바이스의 시스템 메모리인 경우와 같이, 메모리 스페이스의 동적 할당은 이용 가능한 메모리 스페이스의 양을 최대화하여 코드 검색과 구별되는 태스크를 지원한다. 시스템 (200) 은, 활성 코드 검색 모드를 지원하도록 충분한 메모리 (240) 스페이스로만 할당될 필요가 있다.If
또한, 데이터 이동기 (230) 는 메모리에 저장된 검색 결과값의 데이터 전송 (320) 을 이중 버퍼링된 샘플 버퍼 (262) 로 제어할 수 있다. 가속기 (250) 는 코히런트 적분 동안 검색 결과값을 소비하기 때문에, 메모리 (240) 로부터 샘플 버퍼 (262) 로의 데이터 전송 (320) 은 일방향성일 수 있다.In addition, the
이중 버퍼링된 샘플 버퍼 (262) 는 데이터 이동기 (230) 와 가속기 (250) 사 이에서 제 1 및 제 2 블록의 연관을 교체할 수 있다. 가속기 (250) 는 그 연관 샘플 버퍼 (262) 블록으로부터 판독 동작 (340) 을 제어한다. 일단 가속기 (250) 가 그 연관된 샘플버퍼 (262) 블록 내의 데이터 모두를 엑세스하면, 데이터 이동기 (230) 및 가속기 (250) 는 샘플 버퍼 (262) 블록 연관을 스왑할 수 있다.The double
가속기 (250) 는 제어기에 의해 프로그래밍된 검색 모드에 기초하여 결정되는 코히런트 누산 길이를 통해 검색기 결과의 코히런트 합계를 결정한다. 가속기 (250) 는, 코히런트 적분 결과의 복소 컴포넌트의 제곱을 합산함으로써 각각의 코히런트 적분에 대해 에너지 값을 발생시킬 수 있다.
가속기 (250) 는 메모리 (240) 로의 전송을 위해 에너지 버퍼 (264) 에 에너지 값을 기록할 수 있다. 대안적으로, 가속기 (250) 는 동일한 에너지 그리드 위치에 대해 계산된 이전의 에너지 값과 현재의 에너지 값을 합산함으로써 에너지 값의 넌-코히런트 누산을 발생시키도록 구성될 수 있다.
가속기 (250) 는 이중 버퍼링된 에너지 버퍼 (264) 의 연관된 블록으로/으로부터 에너지 값의 데이터 전송 (350) 을 제어한다. 에너지 버퍼 (264) 는, 데이터 이동기 (230) 또는 가속기 (250) 중 하나와 대안적으로 연관된 블록을 갖는 이중 버퍼로서 구성될 수 있다.
데이터 이동기 (230) 는 메모리 (240) 와 에너지 버퍼 (264) 의 연관된 블록 사이의 에너지 값의 데이터 전송 (330) 을 제어한다. 유사하게, 가속기 (250) 는 에너지 버퍼 (350) 의 그 연관된 블록 사이에서 에너지 버퍼 판독 및 기록 동작 (350) 을 제어한다. 에너지 버퍼 (264) 의 연관된 블록은 활성 검색 모드에 의 해 결정된 스케줄에 기초하여 스왑될 수 있다.
데이터 이동기 (230) 는 메모리 (240) 로부터 이전에 저장된 에너지 결과값을 엑세스할 수 있고, 데이터 전송 동작 (330) 에서 에너지 버퍼 (264) 의 연관된 블록에 그 값을 복사할 수 있다. 블록 연관 스왑 이후에, 가속기 (250) 는 데이터 이동기 (230) 에 의해 이전에 전송된 에너지 값을 엑세스할 수 있고, 예를 들어, 현재 에너지 값을 이용하여 넌-코히런트 누산을 결정할 수 있다. 가속기 (250) 는 에너지 버퍼 (264) 의 그 블록으로 기록 동작 (350) 을 제어한다. 에너지 버퍼 (264) 의 블록이 다시 스왑되는 경우, 데이터 이동기 (230) 는 에너지 버퍼 (264) 로부터 메모리 (240) 로 업데이트된 에너지 값의 데이터 전송 (330) 을 수행할 수 있다. 가속기 (250) 프로세싱은, 더욱 효과적으로 데이터를 처리하기 위해서 파이프라인 방식으로 수행될 수 있다. 예를 들어, 파이프라인 프로세스는 3 개의 상이한 동작의 파이프라인일 수 있다. 파이프라인은 하나의 동작에 대해 입력 데이터 전송을, 제 2 동작에 대해 코히런트 누산 및 에너지 값을 프로세싱을, 그리고 제 3 동작에 대해 가속기 (250) 로부터 메모리 (240) 로의 이전 결과값의 데이터 전송을 지원할 수 있다. 따라서, 가속기 (250) 가 이전 데이터 전송에 대한 검색 결과값 상에서 수행하는 (동작 N)동안, 데이터 이동기 (230) 는 메모리로부터 샘플 버퍼로 검색 결과값을 전송할 수 있다 (동작 N+1). 또한, 데이터 이동기 (230) 는, 외부 메모리 (240) 로부터 이전에 저장된 값으로 에너지 버퍼를 로딩하기 (동작 N+1) 이전에, 제 3 상이한 동작에 대해 에너지 버퍼로부터 메모리 (240) 로 누산된 에너지 합계를 전송할 수 있다 (동작 N-1).
도 4 는 코드 스페이스 검색의 방법 400 의 실시형태의 흐름도이다. 방법 400 은 도 2 의 위치 결정 신호 프로세싱 시스템에 의해 구현될 수 있고, 도 1 의 사용자 단말기 내에서 구현될 수 있다. 방법 400 은 기능 블록을 거쳐 확장되는 프로세스를 나타낸다. 방법 400 에서 동작 시퀀스는 시스템 전체에 걸쳐 샘플들 세트의 프로세싱을 나타낸다. 재구성 또는 데이터 전송을 위한 레이턴시 없이 방법의 동작을 연속시키기 위해서 시스템 내에서 다수의 동작은 동시에 발생할 수도 있다.4 is a flowchart of an embodiment of a
방법 400 은 블록 402 에서 시작하고, 여기서 시스템은 검색될 수신된 신호의 복소 샘플을 캡쳐한다. 예를 들어, 신호 샘플러는 대략 2 배의 PN 코드 레이트인 레이트에서 수신된 GPS 신호를 샘플링할 수 있다. 복소 샘플은 RAM, 또는 일부 다른 스토리지 디바이스에 저장될 수 있다. The
시스템은 블록 410 으로 진행되고, 여기서 검색기는 특정 코드 검색 프로세싱 모드를 지원하도록 구성된다. 검색기는 현재 프로세싱 모드에 따라 샘플을 처리하는 동안 미래의 샘플에 대한 프로세싱 모드를 결정할 수 있다. 예를 들어, 검색기는 하드웨어 커맨드 레지스터를 읽을 수 있어, 태스크 큐의 위치 및 크기를 결정하게 된다. 검색기는 태스크 경계에서 또는 현재 태스크의 프로세싱이 완성될 때 태스크 큐의 태스크들을 수행할 수 있다. 태스크 큐는 미리 결정된 최대 개수의 태스크를 다수의 태스크를 포함할 수 있다. 예를 들어, 태스크 큐는, 1 밀리초일 수 있는 각각의 초기 적분 주기에서 수행되도록 검색기에 대해 최대 32 개의 태스크를 포함할 수 있다.The system proceeds to block 410, where the searcher is configured to support a particular code search processing mode. The searcher may determine the processing mode for future samples while processing the samples according to the current processing mode. For example, the browser can read the hardware command registers to determine the location and size of the task queue. The retriever may perform tasks in the task queue at the task boundary or when processing of the current task is complete. The task queue may include a plurality of tasks with a predetermined maximum number of tasks. For example, the task queue may include up to 32 tasks for the retriever to be performed in each initial integration period, which may be 1 millisecond.
각각의 검색 태스크는 다중 가설을 통해 미리 결정된 개수의 코드 칩을 거쳐 검색을 지원할 수 있다. 검색된 가설의 개수는 프로그래밍될 수 있고, 미리 결정된 최대 개수의 가설을 레인징할 수 있다. 예를 들어, 각각의 태스크는 32 개의 코드 칩을 포함하는 윈도우를 검색하도록 구성될 수 있고, 검색 윈도우를 통해 최대 64 개의 상이한 가설을 검색하도록 구성될 수 있고, 여기서 각각의 코드 스페이스 가설은 그 가장 가까운 가설로부터 칩 주기의 1/2 로 오프셋될 수 있다.Each search task may support search through a predetermined number of code chips through multiple hypotheses. The number of retrieved hypotheses can be programmed and can range from a predetermined maximum number of hypotheses. For example, each task may be configured to search a window containing 32 code chips, and may be configured to search up to 64 different hypotheses through the search window, where each code space hypothesis is the most It can be offset from the hypothesis by one half of the chip period.
시스템은 블록 412 로 진행되고, 샘플 메모리로부터 검색기로 검색기 구성과 관련된 샘플을 전송한다. 위에서 제공된 샘플을 이용하여, 검색기는 1 밀리초의 하나의 초기 적분 주기에서 단일 위성 운송 수단의 전체 코드 스페이스를 검색하도록 구성될 수 있다. 그러나, 통상적으로 검색기는 다중 코드의 일부를 통해 수신된 코드를 검색하도록 구성된다.The system proceeds to block 412 and sends a sample associated with the retriever configuration from the sample memory to the retriever. Using the sample provided above, the searcher may be configured to search the entire code space of a single satellite vehicle in one initial integration period of 1 millisecond. Typically, however, the searcher is configured to retrieve the received code through a portion of the multiple codes.
관련 샘플을 전송한 이후에, 시스템은 블록 414 로 진행되고 태스크 큐 에서 앞서 설정된 태스크를 실행한다. 각각의 태스크는, 태스크에 의해 적용된 가설들 각각을 거쳐 1 밀리초의 초기 적분 주기 동안 샘플의 코히런트 적분을 초래하나, 다른 실시형태는 다른 초기 적분 주기를 사용할 수도 있다.After sending the relevant sample, the system proceeds to block 414 and executes the previously set task in the task queue. Each task results in coherent integration of the sample during an initial integration period of one millisecond through each of the hypotheses applied by the task, although other embodiments may use other initial integration periods.
검색기는 블록 416 으로 진행되고, 각각의 가설로부터의 코히런트 적분 결과값을 이중 버퍼의 연관된 블록에 기록한다. 이중 버퍼는 검색기 또는 데이터 이동기 중 하나와 교대로 연관된 2 개의 블록을 포함한다. 검색기는 그 연관 버퍼 블록에 데이터 이동기가 그 연관 버퍼 블록으로부터 데이터를 전송하는 것을 허용하도록 기록한다. 검색기 출력을 이중 버퍼링함으로써, 검색기와 데이터 이동기 모두는 버퍼로부터의 데이터를 엑세스하는데 있어서 메모리 경쟁 (contention) 을 피한다. 이전에 버퍼링된 결과값은 이중 버퍼의 일 부분으로부터 판독될 수 있으며, 검색기는 샘플을 동작하여 이중 버퍼의 다른 부분에 기록한다. 이중 버퍼는 보다 유연한 데이터 전송을 허용하므로, 다음 검색기 동작을 시작하기에 앞서 이전 검색기 결과값의 전송이 완료될 필요가 없다. 또한, 데이터 이동기에 의한 DMA 메모리 전송이 검색기 결과값을 위치시키는데 이용되는 시간보다 적은 시간에 완성될 수 있는 경우, 메모리로의 결과값 전송은 보다 유연하게 스케줄링된다.The searcher proceeds to block 416 and writes the coherent integration results from each hypothesis into the associated block of the double buffer. The double buffer includes two blocks that are alternately associated with either a searcher or a data mover. The retriever writes to the associated buffer block to allow the data mover to transfer data from the associated buffer block. By double buffering the searcher output, both the searcher and the data mover avoid memory contention in accessing data from the buffer. Previously buffered results can be read from one part of the double buffer, and the retriever runs the sample and writes to another part of the double buffer. The double buffer allows for more flexible data transfer, so the transfer of previous searcher results does not have to be completed before starting the next searcher operation. Also, if the DMA memory transfer by the data mover can be completed in less than the time used to locate the retriever result, the result transfer to the memory is more flexibly scheduled.
결과값의 전송은 데이터 이동기와 연관된 검색기 버퍼의 블록으로부터 단지 발생하기 때문에, 시스템은 블록 418 로 진행되고 이중 버퍼의 블록의 연관을 스왑한다. 연관 블록을 스왑하는 것은, 가장 최근의 결과값을 메모리로 전송할 수 있게 하면서 현재 적분 결과값의 저장을 위해 버퍼의 블록을 이용가능하게 한다.Since the transfer of the result only occurs from a block of retriever buffers associated with the data mover, the system proceeds to block 418 and swaps the association of blocks of the double buffer. Swapping an associative block makes the block of buffer available for storage of the current integral result while allowing the most recent result to be transferred to memory.
검색기 이중 버퍼의 블록 연관을 스왑한 이후에, 시스템은 블록 420 으로 진행하는데, 블록 420 에서는 데이터 이동기가 초기 코히런트 적분 결과값을 검색기로부터 메모리로 전송한다. 일 실시형태에서, 메모리는 다른 프로세스들과 공유되고, 데이터 이동기는 공유된 메모리에서의 위치로 검색기 버퍼의 DMA 전송을 수행한다.After swapping the block association of the retriever double buffer, the system proceeds to block 420 where the data mover sends the initial coherent integral result from the searcher to memory. In one embodiment, the memory is shared with other processes and the data mover performs a DMA transfer of the searcher buffer to a location in the shared memory.
검색기 결과값을 메모리로 전송한 이후에, 시스템은 블록 430 으로 진행된다. 블록 430 에서, 데이터 이동기는 가속기에 의한 프로세싱을 위해 메모리로부터 샘플 버퍼의 연관 블록으로 검색기 결과값의 적어도 일부를 전송한다. 또 한, 샘플 버퍼는 이중 버퍼로 구성되며, 샘플 버퍼의 각 블록은 데이터 이동기 또는 가속기 중 하나와 연관된다. 샘플 버퍼 블록 연관은, 버퍼의 채움, 타이밍, 또는 일부 다른 이벤트일 수 있는 미리 결정된 이벤트 이후에 스왑된다.After transferring the retriever result to memory, the system proceeds to block 430. At
시스템은 블록 432 로 진행되고, 가속기에 의한 엑세스를 위해 메모리로부터 에너지 버퍼의 연관 블록으로 이전 에너지 누산값의 적어도 일부를 전송한다. 또한, 시스템은 메모리로부터 에너지 버퍼로 업데이트될 에너지 누산값을 전송하기 이전에 업데이트된 결과값을 에너지 버퍼로부터 메모리로 이동시킬 수도 있다. 또한, 에너지 버퍼는 이중 버퍼로 구성된다. 이중 버퍼의 일 블록은 데이터 이동기와 연관되고, 이중 버퍼의 다른 블록은 가속기와 연관된다. 에너지 버퍼 연관은, 샘플 버퍼 블록의 스왑을 초기화하는 이벤트와 구별될 수도 있는 미리 결정된 이벤트 이후에 스왑될 수 있다.The system proceeds to block 432 and sends at least a portion of the previous energy accumulation value from the memory to the associated block of the energy buffer for access by the accelerator. The system may also move the updated result from the energy buffer to the memory prior to transferring the energy accumulation value to be updated from the memory to the energy buffer. The energy buffer also consists of a double buffer. One block of the double buffer is associated with the data mover, and the other block of the double buffer is associated with the accelerator. The energy buffer association may be swapped after a predetermined event that may be distinguished from an event that initiates swap of the sample buffer block.
가속기는, 연관되는 샘플 버퍼 및 에너지 버퍼의 블록만을 엑세스한다. 따라서, 시스템은 블록 434 로 진행되고, 샘플 버퍼 및 에너지 버퍼의 연관을 스왑하여 가속기는 데이터 이동기에 의해 메모리로부터 전송된 가장 최근의 값을 엑세스할 수 있다. 또한, 데이터 이동기는 가장 최근의 에너지 결과값을 가속기로부터 엑세스할 수 있다. 가속기는 검색기 결과값을 소비하고, 검색기 버퍼에 결과값을 재기록하지 않는다. 그러므로, 검색기 버퍼 블록의 스왑은 데이터 이동기를 위한 추가의 스페이스를 샘플 버퍼로 전송할 수 있게 한다.The accelerator accesses only blocks of associated sample buffers and energy buffers. Thus, the system proceeds to block 434 where the accelerator can access the most recent value sent from memory by the data mover by swapping the association of the sample buffer and the energy buffer. The data mover can also access the most recent energy result from the accelerator. The accelerator consumes searcher results and does not rewrite the results to the searcher buffer. Hence, swapping of the searcher buffer block makes it possible to transfer additional space for the data mover to the sample buffer.
버퍼 연관을 스왑한 이후에, 시스템은 블록 450 으로 진행되고, 연관 샘플 버퍼에서 엑세스 가능한 검색 결과값에 대한 코히런트 누산값을 결정한다. 가 속기는 활성 코드 검색 모드에 기초하여 코히런트 누산값을 결정한다. 가속기는, 샘플 버퍼의 크기에 의존하여 원하는 적분 길이를 지원하기 위해서 샘플 버퍼의 다중 스왑을 위해 대기할 필요가 있을 수도 있다.After swapping the buffer associations, the system proceeds to block 450 and determines a coherent accumulation value for search results accessible in the associated sample buffer. The accelerator determines the coherent accumulation value based on the active code search mode. The accelerator may need to wait for multiple swaps of the sample buffer to support the desired integration length, depending on the size of the sample buffer.
적분 길이가 GPS 신호에 이용된 20 밀리초 데이터 경계와 같은 데이터 경계를 지나는 경우, 가속기는 비트 경계의 발생을 추적할 수 있고 누산값을 계산하는데 있어서 비트 값을 보상할 수 있다.If the integral length crosses a data boundary, such as the 20 millisecond data boundary used in the GPS signal, the accelerator can track the occurrence of the bit boundary and compensate the bit value in calculating the accumulated value.
또한, 가속기는 활성 검색 모드에 기초하여 다중 주파수 빈을 거쳐 코히런트 누산값을 결정할 수 있다. 가속기는 다중 평행 경로를 포함할 수 있고, 다중 주파수를 거친 누산값 또는 다중 검색기 결과값이 공존할 수 있다.The accelerator can also determine the coherent accumulation value via multiple frequency bins based on the active search mode. The accelerator may include multiple parallel paths, and the accumulated value across multiple frequencies or multiple searcher results may coexist.
시스템은 블록 452 로 진행되고, 각각의 코히런트 누산과 연관된 에너지를 결정한다. 가속기는, 예를 들어, 인-위상의 제곱 및 직교 값을 합산함으로써 복소 누산 값과 연관된 에너지를 결정할 수 있다. 일부 실시형태에서. 가속기는 누산된 에너지를 결정하는 것을 생략할 수도 있고, 대신에 에너지 버퍼에 복소 누산 값을 저장할 수도 있다. 가속기가 에너지 값 보다는 코히런트 누산 합계를 버퍼에 저장하는 실시형태에서는, 블록 452-454 에서의 동작이 생략될 수도 있다. 가속기는 코히런트 누산 값으로 에너지 버퍼를 직접 업데이트할 수도 있다.The system proceeds to block 452 and determines the energy associated with each coherent accumulation. The accelerator can determine the energy associated with the complex accumulated value, for example, by summing the squared and orthogonal values of the in-phase. In some embodiments. The accelerator may omit determining the accumulated energy or instead store the complex accumulated value in an energy buffer. In embodiments in which the accelerator stores the coherent accumulation sum rather than the energy value in the buffer, the operation at blocks 452-454 may be omitted. The accelerator can also update the energy buffer directly with coherent accumulation values.
시스템은 블록 454 로 진행되고, 코드 검색 모드에 의해 지정될 수도 있는 임의의 넌-코히런트 에너지 누산값을 결정한다. 넌-코히런트 누산을 결정하기 위해서, 가속기는 에너지 버퍼에 저장된 에너지 그리드의 원하는 부분으로부터 이 전 에너지 값을 판독하고, 대응하는 에너지 값을 합산한다. 일부 실시형태에서, 가속기는 가중된 합계를 결정할 수도 있고, 가장 최근의 에너지 값을 합산하기 이전에 미리 결정된 프랙션으로 이전의 누산된 에너지 합계를 스케일링 할 수도 있다.The system proceeds to block 454 to determine any non-coherent energy accumulation values that may be specified by the code search mode. To determine the non-coherent accumulation, the accelerator reads the previous energy value from the desired portion of the energy grid stored in the energy buffer and sums the corresponding energy values. In some embodiments, the accelerator may determine the weighted sum and scale the previously accumulated energy sum with a predetermined fraction before summing the most recent energy values.
시스템은 블록 456 으로 진행되는데, 블록 456 에서는 가속기가 누산된 에너지 값을 에너지 버퍼에 기록한다. 통상적으로, 시스템은 가속기와 연관된 에너지 버퍼의 블록에 직접 엑세스할 수 없다. 따라서, 시스템은 블록 458 로 진행되어 에너지 블록 연관 스왑의 다음 발생을 대기한다.The system proceeds to block 456, where the accelerator writes the accumulated energy value to the energy buffer. Typically, the system cannot directly access a block of energy buffers associated with the accelerator. Thus, the system proceeds to block 458 waiting for the next occurrence of an energy block associative swap.
블록 460 에서, 데이터 이동기는 가속기에 의해 업데이트된 가장 최근의 에너지 값에 대한 엑세스를 갖는다. 데이터 이동기는 메모리로 업데이트된 에너지 누산값의 DAM 전송을 수행한다. 또한, 데이터 이동기는 메모리로부터의 임의의 에너지 값을 에너지 버퍼에 로딩하여 다음의 넌-코히런트 누산을 지원한다.At
블록 460 이후에, 특정 수신된 샘플의 프로세싱은 샘플링으로부터 에너지 누산으로 하나의 전체 프로세싱 경로에서 완료된다. 이중 버퍼링 및 다양한 중간 값의 메모리 저장은, 전체 프로세스가 실질적으로 연속적으로 구동하는 것을 허용한다. 검색기는 초기 누산 경계마다 재구성될 수 있기 때문에, 시스템은 정지할 필요가 없거나 그렇지 않으면 검색 구성에서의 변화를 대기하고, 검색기는 이전에 스케줄링된 태스크를 동작한다. 검색기와 가속기에 대한 입력 모두에서 검색 결과값의 이중 버퍼링은 메모리를 엑세스하는데 있어서 유연성을 증가시키면서 메모리 경쟁을 제거하고, 검색기 및 가속기를 갖는 모듈 또는 집적 회로에 대한 외 부 메모리를 공유될 수 있다. After
원하는 적분 길이에 대응하는 더 긴 코히런트 적분으로부터 초기 코히런트 적분을 분리하는 것은, 시스템의 스케줄링 및 구성에 있어서 더 많은 유연성을 허용한다. 검색기로부터의 1 밀리초 적분 결과값은 실질적으로 임의의 적분 길이를 지원하는데 이용될 수 있다.Separating the initial coherent integration from the longer coherent integration that corresponds to the desired integration length allows more flexibility in scheduling and configuration of the system. The one millisecond integration result from the searcher can be used to support substantially any integration length.
도 5 는 코드 스페이스 검색을 구현하는 위치 결정 신호 프로세싱 시스템 (500) 의 실시형태의 간략화된 기능 블록도이다. 도 5 의 시스템 (500) 은, 예를 들어, 도 1 의 사용자 단말기 내에 구현될 수 있다. 5 is a simplified functional block diagram of an embodiment of a position determination
시스템 (500) 은 수신된 무선 신호의 복소 샘플을 캡쳐하는 수단 (510) 을 포함한다. 복소 샘플을 캡쳐하는 수단 (510) 은 검색 수단 (520) 에 커플링된다.
검색 수단 (520) 은, 복수의 코드 스페이스 검색 태스크를 구성하는 수단으로서 동작하는 하드웨어 레지스터 (522) 에 의해 지적된 코드 스페이스 검색 태스크들 각각에 따라 동작할 수 있다. 검색 수단 (520) 은, 1 밀리초일 수 있는 초기 적분 시간 동안 획득된 복수의 코히런트 적분 결과값을 발생시킨다. 검색 수단 (520) 은, 검색 태스크로 정의된 바와 같이 복수의 코드 스페이스 가설에 대응하는 복수의 코히런트 적분 결과값을 발생시키도록 구성될 수 있다.The retrieval means 520 can operate in accordance with each of the code space retrieval tasks indicated by the
제어 수단 (570) 은 하드웨어 레지스터 (522) 에 기록된 값을 제어한다. 하드웨어 레지스터 (522) 내의 값은, 예를 들어, 코드 스페이스 검색 모드에 기초하여 결정되는 메모리 내의 태스크 큐로 지적될 수 있다. 데이터 전송 수단 (530) 은 검색 수단 (520) 에 커플링되고, 복수의 코히런트 적분 결과값을 저장 수단 (540) 으로 전송하도록 동작한다. 또한, 데이터 전송 수단 (530) 은 복수의 코히런트 적분 결과값을 저장 수단 (540) 으로부터 가속 수단 (550) 내의 그렇지 않으면 가속 수단에 커플링된 버퍼링 수단 (562 및 564) 으로 전송하도록 동작한다. 특히, 데이터 전송 수단 (530) 은 적분 길이에 대응하는 다수의 코히런트 적분 결과값을 전송한다.The control means 570 controls the value recorded in the
가속 수단 (550) 은 복수의 코히런트 적분 결과값의 코히런트 누산을 결정하는 수단으로서 동작한다. 코히런트 누산과 연관된 적분 길이 및 주파수 오프셋은 프로그래머블 코드 스페이스 검색 모드에 기초된다.Acceleration means 550 acts as means for determining coherent accumulation of a plurality of coherent integration result values. The integral length and frequency offset associated with the coherent accumulation are based on the programmable code space search mode.
본 명세서에서는 코드 스페이스 검색의 시스템, 장치, 및 방법이 설명된다. 설명된 시스템, 장치, 및 방법은, GPS 신호, AFLT 신호 등, 또는 일부 다른 코드 확산 신호를 처리하도록 사용자 단말기에서 구현될 수 있다. 예를 들어, 코드 스페이스 검색 프로세스 및 장치는 수신된 확산 스펙트럼 신호의 임의의 코드 스페이스 검색에 적용 가능하다. 특정 실시형태로 GPS 신호에 대한 애플리케이션을 설명하였으나, 청구된 주제는 GPS 에 제한되지 않고 코드 스페이스 검색에 일반적이다. 검색기는 초기 적분 시간 또는 주기 동안 코히런트 적분 결과값을 결정하도록 구성된다. 검색기 결과값은 가속기에서 수행된 코히런트 적분 및 넌-코히런트 에너지 누산에 대한 중간 값으로서 이용된다.Described herein is a system, apparatus, and method of code space search. The described systems, apparatus, and methods may be implemented in a user terminal to process GPS signals, AFLT signals, or the like, or some other code spreading signal. For example, the code space search process and apparatus is applicable to any code space search of the received spread spectrum signal. Although applications have been described in particular embodiments for GPS signals, the claimed subject matter is not limited to GPS and is typical for code space searches. The searcher is configured to determine the coherent integration result for the initial integration time or period. The searcher results are used as intermediate values for coherent integration and non-coherent energy accumulation performed in the accelerator.
중간 값은 이중 버퍼에 저장되어 효과적이고 비경쟁적인 메모리로 데이터를 전송할 수 있다. 이중 버퍼링의 이용은 낮거나 레이턴시가 없는 코드 검색 모 드의 재구성을 허용한다.The intermediate value is stored in a double buffer to transfer data to the effective and uncompetitive memory. The use of double buffering allows reconfiguration of low or no latency code search mode.
또한, 초기 적분 주기를 지나 이어지는 코히런트 적분 프로세싱의 분리는, 데이터의 여분의 획득 및 분석을 필요로 하지 않고 코드 스페이스 검색 모드의 유연한 재구성을 허용한다. 실질적으로 실시간으로 코드 스페이스 검색을 재구성하는 성능은 보다 효과적인 코드 스페이스 검색을 허용하고, 빠른 코드 획득으로부터 고 감도 코드 스페이스 검색으로의 재구성을 허용한다.In addition, the separation of coherent integration processing following the initial integration period allows for flexible reconfiguration of the code space search mode without the need for extra acquisition and analysis of the data. The ability to substantially reconstruct the code space search in real time allows for more efficient code space search and allows reconstruction from fast code acquisition to high sensitivity code space search.
본 명세서에서 이용된 바와 같이, 커플링 또는 접속된이라는 용어는 간접적 커플링 뿐만 아니라 직접적 커플링 또는 접속을 의미하는데 이용된다. 2 개 이상의 블록, 모듈, 디바이스, 또는 장치가 커플링되는 경우에서는, 2 개의 커플링된 블록들 사이에 하나 이상의 중재 (intervening) 블록들이 존재한다.As used herein, the term coupled or connected is used to mean indirect coupling as well as direct coupling or connection. In cases where two or more blocks, modules, devices, or devices are coupled, one or more intervening blocks exist between the two coupled blocks.
본 명세서에 기술된 실시형태와 연관되어 설명된 다양한 예시적인 로직 블록, 모듈, 및 회로는 일반적인 목적의 프로세서, 디지털 신호 프로세서 (DSP), RISC (Reduced Instruction Set Computer) 프로세서, ASIC (application specific integrated circuit), FPGA (field programmable gate array) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 본 명세서에 설명된 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다른 방법으로, 그 프로세서는 임의의 종래 프로세서, 제어기, 마이크로 제어기, 또는 상태 기계일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합, 예를 들어, DSP 와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들 또는 임의의 기타 다른 구성물로 구현될 수도 있다.Various illustrative logic blocks, modules, and circuits described in connection with the embodiments described herein include general purpose processors, digital signal processors (DSPs), reduced instruction set computer (RISC) processors, and application specific integrated circuits. ), A field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in other ways, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
여기에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 방법 또는 프로세스에서의 다양한 단계 또는 활동은 도시된 순서로 수행될 수도 있고, 또는 다른 순서로 수행될 수도 있다. 또한, 하나 이상의 프로세스 또는 방법 단계가 생략될 수도 있고, 또는 하나 이상의 프로세스 또는 방법 단계가 그 방법 및 프로세스에 추가될 수도 있다. 추가 단계, 블록, 또는 활동은 방법 및 프로세스의 시작, 종료, 또는 중간에 존재하는 엘리먼트에 추가될 수도 있다.The steps of a method or algorithm described in connection with the embodiments disclosed herein may be implemented directly in hardware, a software module, or a combination of the two executed by a processor. The various steps or activities in the method or process may be performed in the order shown, or may be performed in another order. In addition, one or more process or method steps may be omitted, or one or more process or method steps may be added to the methods and processes. Additional steps, blocks, or activities may be added to elements that exist at the beginning, end, or in the middle of methods and processes.
개시되어 있는 실시형태들에 대한 상기의 설명은 당업자로 하여금 본 발명을 제조 또는 이용할 수 있도록 제공된다. 당업자는 이들 실시형태에 대한 다양한 변형들을 명백히 알 수 있으며, 여기에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않고도 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 여기에서 설명된 실시형태들에 제한되는 것이 아니라, 여기에서 개시된 원리 및 신규한 특징들과 부합하는 최광의 범위를 부여하려는 것이다.The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (33)
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US77917206P | 2006-03-02 | 2006-03-02 | |
US60/779,172 | 2006-03-02 | ||
US88532307P | 2007-01-17 | 2007-01-17 | |
US60/885,323 | 2007-01-17 | ||
PCT/US2007/063225 WO2007120995A1 (en) | 2006-03-02 | 2007-03-02 | Method and apparatus for code space search in a receiver |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080100840A KR20080100840A (en) | 2008-11-19 |
KR101147942B1 true KR101147942B1 (en) | 2012-05-24 |
Family
ID=38609838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087024301A KR101147942B1 (en) | 2006-03-02 | 2007-03-02 | Method and apparatus for code space search in a receiver |
Country Status (11)
Country | Link |
---|---|
EP (1) | EP1992080A1 (en) |
JP (1) | JP5295788B2 (en) |
KR (1) | KR101147942B1 (en) |
CN (1) | CN101395814B (en) |
AU (1) | AU2007238489A1 (en) |
BR (1) | BRPI0708489A2 (en) |
CA (1) | CA2640761C (en) |
IL (1) | IL193093A0 (en) |
MX (1) | MX2008010827A (en) |
TW (1) | TWI370627B (en) |
WO (1) | WO2007120995A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI426397B (en) * | 2009-06-29 | 2014-02-11 | Lee Ming Inst Technology | Can be used in a signal interval in the unequal spacing of the sample, the signal in this interval between a single and multiple numerical integration device. |
EP2326022A1 (en) * | 2009-11-23 | 2011-05-25 | Nxp B.V. | Device for acquiring a spread spectrum signal |
JP5549471B2 (en) * | 2010-08-09 | 2014-07-16 | 株式会社デンソー | Receiving machine |
US8792438B2 (en) * | 2010-10-07 | 2014-07-29 | Futurewei Technologies, Inc. | System and method for search space reconfiguration in a communications system |
KR101440692B1 (en) * | 2012-05-31 | 2014-09-15 | 한국과학기술원 | 2-dimensional compressed correlator for fast gnss and spread spectrum signal acquisition and robust tracking and apparatus thereof |
US10111248B2 (en) * | 2012-06-29 | 2018-10-23 | Blackberry Limited | Method and system for cross-subframe scheduling during carrier aggregation |
US9107159B2 (en) | 2013-06-07 | 2015-08-11 | Apple Inc. | Enhancing jitter buffer performance through radio level feedback |
DE102016109342B4 (en) | 2016-05-20 | 2024-02-22 | Infineon Technologies Ag | RADAR SENSOR SYSTEM FOR GESTURE RECOGNITION AND METHOD FOR RADAR-BASED GESTURE RECOGNITION |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005022187A2 (en) * | 2003-09-02 | 2005-03-10 | Sirf Technology, Inc. | Control and features for satellite positioning system receivers |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6603803B1 (en) * | 1999-03-12 | 2003-08-05 | Navcom Technology, Inc. | Global positioning system receiver for monitoring the satellite transmissions and for reducing the effects of multipath error on coded signals and carrier phase measurements |
FI19992653A (en) * | 1999-12-09 | 2001-06-10 | Nokia Mobile Phones Ltd | A method for synchronizing a receiver and a receiver |
GB0126325D0 (en) * | 2001-11-02 | 2002-01-02 | Koninl Philips Electronics Nv | Method and apparatus for spread spectrum signal acquisition |
GB0130804D0 (en) * | 2001-12-22 | 2002-02-06 | Koninkl Philips Electronics Nv | Method and apparatus for signal receipt and acquisition |
US20040062298A1 (en) * | 2002-10-01 | 2004-04-01 | Mcdonough John G. | System and method for detecting direct sequence spread spectrum signals using pipelined vector processing |
US7702002B2 (en) * | 2004-01-28 | 2010-04-20 | Qualcomm Incorporated | Rapid acquisition methods and apparatus for GPS signals |
US7471717B2 (en) * | 2004-05-17 | 2008-12-30 | Yi Ping Huang | Apparatus and method for acquiring spread-spectrum signals |
EP1801991A3 (en) * | 2005-12-21 | 2008-08-20 | Nemerix SA | Optimal use of resources for signal processors |
-
2007
- 2007-03-02 WO PCT/US2007/063225 patent/WO2007120995A1/en active Application Filing
- 2007-03-02 KR KR1020087024301A patent/KR101147942B1/en active IP Right Grant
- 2007-03-02 BR BRPI0708489-7A patent/BRPI0708489A2/en not_active Application Discontinuation
- 2007-03-02 CN CN2007800072671A patent/CN101395814B/en active Active
- 2007-03-02 TW TW096107238A patent/TWI370627B/en active
- 2007-03-02 MX MX2008010827A patent/MX2008010827A/en not_active Application Discontinuation
- 2007-03-02 JP JP2008557521A patent/JP5295788B2/en active Active
- 2007-03-02 EP EP07757836A patent/EP1992080A1/en not_active Withdrawn
- 2007-03-02 CA CA2640761A patent/CA2640761C/en active Active
- 2007-03-02 AU AU2007238489A patent/AU2007238489A1/en not_active Abandoned
-
2008
- 2008-07-28 IL IL193093A patent/IL193093A0/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005022187A2 (en) * | 2003-09-02 | 2005-03-10 | Sirf Technology, Inc. | Control and features for satellite positioning system receivers |
Also Published As
Publication number | Publication date |
---|---|
CA2640761A1 (en) | 2007-10-25 |
CA2640761C (en) | 2014-09-30 |
TW200805908A (en) | 2008-01-16 |
AU2007238489A1 (en) | 2007-10-25 |
CN101395814A (en) | 2009-03-25 |
TWI370627B (en) | 2012-08-11 |
BRPI0708489A2 (en) | 2011-05-31 |
MX2008010827A (en) | 2008-09-05 |
JP2009535605A (en) | 2009-10-01 |
IL193093A0 (en) | 2009-02-11 |
CN101395814B (en) | 2013-02-06 |
JP5295788B2 (en) | 2013-09-18 |
KR20080100840A (en) | 2008-11-19 |
WO2007120995A1 (en) | 2007-10-25 |
EP1992080A1 (en) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8279910B2 (en) | Method and apparatus for code space search in a receiver | |
KR101147942B1 (en) | Method and apparatus for code space search in a receiver | |
US8138972B2 (en) | Signal processing system for satellite positioning signals | |
US8593345B2 (en) | Signal processing system for satellite positioning signals | |
RU2611069C1 (en) | Device for simultaneous reception of signals from various satellite navigation systems | |
JP5769971B2 (en) | GNSS receiver and signal tracking circuit and system | |
EP2093584A1 (en) | Processing received satellite radio signals | |
WO2002068981A2 (en) | Memory reduction method for a dsp-based gps processor | |
KR101170334B1 (en) | Multiphase code generator and gnss receiver | |
US20170115400A1 (en) | Memory Optimized GNSS Correlator | |
EP2748802B1 (en) | Packet-based input/output interface for a correlation engine | |
US7936846B2 (en) | Low gate count sequential multitap correlator | |
US7359429B2 (en) | Support of the determination of a correlation | |
Schmidt et al. | Exploiting acceleration features of LabVIEW platform for real-time GNSS software receiver optimization | |
JP5128585B2 (en) | Method of using hardware and software for acquisition, tracking and hosting in a CDMA receiver | |
TW202124994A (en) | Modernized global navigation satellite system receivers | |
US20100245170A1 (en) | Gnss receiver | |
TW202219549A (en) | Modernized global navigation satellite system receivers | |
RU161091U1 (en) | DEVICE FOR SIMULTANEOUS RECEIVING OF SIGNALS OF VARIOUS SATELLITE NAVIGATION SYSTEMS |
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: 20160330 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170330 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180329 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190327 Year of fee payment: 8 |