KR101031566B1 - 다수의 프로세싱 사이클에서 데이터 워드를 처리하는 방법 - Google Patents
다수의 프로세싱 사이클에서 데이터 워드를 처리하는 방법 Download PDFInfo
- Publication number
- KR101031566B1 KR101031566B1 KR1020077005435A KR20077005435A KR101031566B1 KR 101031566 B1 KR101031566 B1 KR 101031566B1 KR 1020077005435 A KR1020077005435 A KR 1020077005435A KR 20077005435 A KR20077005435 A KR 20077005435A KR 101031566 B1 KR101031566 B1 KR 101031566B1
- Authority
- KR
- South Korea
- Prior art keywords
- processing
- cycle
- memory
- data
- data blocks
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- 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/709—Correlator structure
-
- 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
-
- 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/35—Constructional details or hardware or software details of the signal processing chain
- G01S19/37—Hardware or software details of the signal processing chain
-
- 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
- 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/70715—Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation with application-specific features
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
본 발명은 다수의 프로세싱 사이클들에서 데이터 워드의 처리에 관한 것이다. 프로세싱을 효율적으로 수행하기 위해, 데이터 워드는 다수의 연속적인 데이터 블록들로 각 사이클 동안 분할된다. 블록들은 한 사이클에서 다음 사이클까지 하나의 블록만큼 시프트된다. 각각의 사이클에서, 각각의 연속적인 블록들은 시퀀스로 처리된다. 첫 번째 프로세싱 사이클에서, 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소들의 메모리에 첫 번째 사이클의 연속적인 데이터 블록들에 대한 처리 결과들을 저장한다. 각각의 다음 프로세싱 사이클에서, 다음 프로세싱 사이클에서의 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소에, 이전 프로세싱 사이클 동안에 메모리에 저장된 처리 결과들과 다음 프로세싱 사이클의 연속적인 데이터 블록들에 대한 처리 결과들을 결합한다.
블록, 처리, 사이클, 메모리 주소, 데이터 워드
Description
본 발명은 다수의 프로세싱 사이클에서 데이터 워드를 처리하는 방법에 관한 것이다. 본 발명은 상기 처리 방법에 상응하는 처리 모듈, 전자 디바이스, 및 시스템에 관한 것이다. 마지막으로, 상응하는 소프트웨어 프로그램 프로덕트에 관한 것이다.
데이터 워드는 다수의 사이클, 예를 들면 블록 상관(block correlation)에서 다양한 애플리케이션에서 처리되어야만 한다. 블록 상관은 공지의 데이터 워드와 수신된 데이터 워드 사이에 위상 시프트를 결정하는데 이용될 수 있으며, 예를 들면 네비게이션 시스템에 기초한 위성에서의 위성 신호들을 트래킹하는데 이용될 수 있다.
위성 위치 확인 시스템(Global Positioning System, GPS)에서, 예를 들면 코드 변조된 신호들은 지구를 돌고 있는 몇몇 위성들에 의해 전송되고, 현재 위치가 결정되는 GPS 수신기들에 의해 수신된다. 위성들 각각은 2개의 마이크로웨이브 캐리어 신호들을 전송한다. 이러한 캐리어 신호들 중 하나(L1)는 네비게이션 메시지와 표준 위치 서비스(standard positioning service, SPS)의 코드 신호들을 전송하 는데 이용된다. L1 캐리어 신호는 각각의 위성들에 의해 수신기에서 공지된 ㄷ다다양한 C/A(Coarse Acqusition) 코드로 변조된다. 따라서, 다양한 위성들에 의한 전송을 위해 다양한 채널들이 얻어진다. -1 및 1의 값을 포함하고, 1MHz의 대역폭으로 대역 확산한 C/A 코드는 매 1023 칩들로 반복되고, 코드 에포치(epoch)는 1ms이다. 칩이란 용어는 C/A 코드의 비트를 제정하기 위해 사용된다. L1 신호의 캐리어 주파수는 50bit/s의 비트율로 네이게이션 정보와 함께 변조된다. 데이터 시퀀스를 구성하는 네이게이션 정보는, 예를 들면 각각의 수신기의 위치를 결정하기 위해 계산될 수 있다.
코드 변조된 신호를 수신한 수신기는 신호의 데이터 시퀀스를 역확산(de-spread)할 수 있도록, 이용된 변조 코드의 동기 리플리카(synchronized replica)에 액세스해야만 한다. 특히, 동기화는 수신된 코드 변조된 신호와 이용 가능한 복제 코드 사이에 수행되어야만 한다. 대개, "획득(acquisition)"이라 불리는 초기 동기화 다음에 "트래킹(tracking)"이라 불리는 정교한 동기화가 뒤따른다. 두 가지 동기화 과정에서, 상관기들은 복제 코드 시퀀스와 수신된 신호 사이에 최상의 매치를 찾고나서, 코드 위상이라 불리는 상대적인 시프트를 찾는데 이용된다. 획득과정 동안, 이용 가능한 복제 코드에 비교하여 수신된 신호의 위상은 위성의 위치와 수신된 신호의 전송 시간의 불확실성으로 인하여 가능한 값을 가질 수 있다.
상관기들로서, 예를 들면 블록 상관기들이 이용될 수 있다.
도 1은 블록 상관기의 동작을 개략적으로 설명하는 도면이다.
상관기는 공지의 고정 데이터 워드, 예를 들면 C/A 코드에 액세스한다. 본 발명의 실시 예에서, 이러한 데이터 워드는 비트 열 "ABCDEFGH"로 표현된다. 또한, 샘플들이 상관기에 입력되는데, 여기서, 샘플들은 수신된 위성 신호들의 샘플들이다. 본 발명의 일 실시 예에서, 이러한 샘플은 비트 열 "abcdefghiabc..."로 표현된다. 이제, 상관기는 이용 가능한 데이터 워드와 각각의 가능한 위상 시프트에 대한 입력 샘플들, 및 이용 가능한 데이터 워드와 수신된 샘플들 사이의 상관을 결정한다.
블록 상관기는 전체 이용 가능한 데이터 워드를 연속적으로 N=3의 데이터 블록들, 블록 'ABC', 블록 'DEF', 블록 'GHI'로 나누는데, 샘플들은 L=3의 길이를 각각 가진다. 이는 도 1의 도면부호 11에 도시되어 있다. 처음 L=3 인커밍 샘플들 'abc'가 도 1의 도면부호 12에 도시되어 있다.
이어, 상관기는 각각의 블록의 비트들과 처음 L=3 인커밍 샘플들 'abc'를 곱하고, 각각의 곱셈 결과들을 적분하고, 연속적인 메모리 주소에 각각의 적분 결과를 저장한다. 예를 들면, 'A*a + B*b + C*c' 값은 메모리 주소 '1'에 저장되고, 'D*a + E*b + F*c' 값은 메모리 주소 '2'에 저장되고, 'G*a + H*b + I*c' 값은 메모리 주소 '3'에 저장된다. 저장된 적분 결과 각각은 부분 상관 값을 나타낸다.
동일한 과정이 입력 샘플들 'bcd'에 대해 반복되고, 적분 결과가 연속적인 메모리 주소 '4', '5' 및 '6'에 각각 저장된다. 또한, 동일한 과정이 입력 샘플들 'cde'에 대해 반복되고, 연속적인 메모리 주소 '7', '8' 및 '9'에 저장된다.
이제, 처음 3개의 입력 샘플들 'abc'가 완전히 처리되고, 메모리 주소 '1' 내지 '9'에 이용된 모든 N x L이 특정 위상 시프트에 대한 부분 상관 결과들로 채 워진다. 이러한 메모리 할당은 도 1의 왼편에 도시되어 있다.
블록 상관기는 전체 이용 가능한 데이터 워드를 N=3 데이터 블록들 'ABC', 'DEF' 및 'GHI'로 나누는 것을 계속한다. 설명된 곱셈과 적분은 다음 N x L 데이터 블록들 및 다음 3개의 입력 샘플들 'def' 각각에 대해 반복된다. 도 1의 도면부호 13의 오른편에 도시되어 있는 적분 결과들에 도 1의 도면부호 13에 화살표도 도시된 것처럼, 적당한 메모리 주소들에 이미 저장된 부분 상관 값들이 더해진다.
예를 들면, 'A*d + B*e + C*f' 값이 메모리 주소 '3'에 저장된 현재 값에 더해지고, 'D*d + E*e F*f' 값이 메모리 주소 '1'에 저장된 현재 값에 더해지고, 'G*d + H*e + I*f' 값이 메모리 주소 '2'에 저장된 현재 값에 저장된다.
입력 샘플들 'def' 가 완전하게 처리된 경우, 블록 상관기는 전체 이용 가능한 데이터 워드를 N=3 데이터 블록들 'ABC', 'DEF' 및 'GHI'로 나누는 것을 계속한다. 설명한 곱셈과 적분은 다음 N x L 데이터 블록들 각각과 마지막 3개의 입력 샘플들 'ghi'에 대해 반복된다. 각각의 위상 시프트에 대한 마지막 상관 값들을 얻기 위해서, 적분 결과들이 적당한 메모리 주소들 '1' 내지 '9'에 이미 저장된 부분 상관 값들에 더해진다. 이 처리 부분은 도 1에 도시되지 않았다.
따라서, 메모리 주소 '1'에 저장된 최종 상관 값은 'A*a + B*b + C*c + D*d + E*e + F*f + G*g + H*h + I*i'이고, 메모리 주소 '2'에 저장된 최종 상관 값은 'D*a + E*b + F*c + G*d + H*e + I*f + A*g + B*h + C*i' 이고, 메모리 주소 '3'에 저장된 최종 상관 값은 'G*a + H*b + I*c + A*d + B*e + C*f + D*g + E*h + F*i' 등이다. 전체적으로, 이용 가능한 코드와 인커밍 샘플들 사이에 메모리 주소 '1' 내지 '9'에 저장된, 9개의 다른 위상 시프트들에 대한 9개의 다른 상관 값들이 있다.
도 1에 도시된 것처럼, 새로운 부분 상관 값들과 저장된 부분 상관 값들의 조합은 메모리에 액세스하는 경우 점프(jump)를 요구한다. 따라서, 메모리 주소는 복잡한 상태 머신(state machine)에 의해 각각의 조합에 대해 계산되어야만 한다.
특히 데이터 워드에 속한 9개 이상의 많은 샘플의 경우에 있어서, 상태 머신에 의해 수행되는 계산 노력은 상당하다. 예를 들면, GPS 수신기가 C/A 코드의 한번 반복에 L=66 샘플들을 가진 N=31 블록을 사용하는 것이 공지되어 있다.
본 발명은 이용 가능한 자원, 특히 처리 자원들을 더 효과적으로 사용할 수 있는 방법, 처리 모듈, 디바이스, 시스템 및 소프트웨어 프로그램 프로덕트를 제공한다.
다수의 프로세싱 사이클들에서 데이터 워드를 처리하는 방법을 제공하는데, 상기 방법은 각각의 프로세싱 사이클 동안에 상기 데이터 워드를 다수의 연속적인 데이터 블록들로 나누는 단계를 포함하는데, 상기 연속적인 데이터 블록들은 하나의 프로세싱 사이클로부터 다음 프로세싱 사이클까지 하나의 데이터 블록만큼 시프팅된다. 제안된 방법은 상기 프로세싱 사이클들 각각에서, 상기 연속적인 데이터 블록들 각각을 시퀀스로 처리하는 단계를 더 포함한다. 제안된 방법은 첫 번째 프로세싱 사이클에서, 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소들의 메모리에 상기 첫 번째 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 저장하는 단계를 더 포함한다. 제안된 방법은 각각의 다음 프로세싱 사이클에서, 상기 다음 프로세싱 사이클에서의 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소에, 이전 프로세싱 사이클 동안에 상기 메모리에 저장된 처리 결과들과 상기 다음 프로세싱 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 결합하는 단계를 더 포함한다.
또한, 다수의 프로세싱 사이클들에서 데이터 워드를 처리하기 위한 처리 모듈을 제안한다. 처리 모듈은 각각의 프로세싱 사이클 동안에 상기 데이터 워드를 다수의 연속적인 데이터 블록들로 나누는 데이터 워드 분할 컴포넌트를 포함하는데, 상기 연속적인 데이터 블록들은 하나의 프로세싱 사이클로부터 다음 프로세싱 사이클까지 하나의 데이터 블록만큼 시프팅된다. 제안된 처리 모듈은 상기 프로세싱 사이클들 각각에서 상기 연속적인 데이터 블록들 각각을 시퀀스로 처리하는 처리 컴포넌트를 더 포함한다. 제안된 처리 모듈은 첫 번째 프로세싱 사이클에서, 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소들의 메모리에 상기 첫 번째 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 저장하고, 각각의 다음 프로세싱 사이클에서, 상기 다음 프로세싱 사이클에서의 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소에, 이전 프로세싱 사이클 동안에 상기 메모리에 저장된 처리 결과들과 상기 다음 프로세싱 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 결합하는 결합 컴포넌트를 더 포함한다.
처리 모듈은 하드웨어로 구현될 수 있지만, 소프트웨어로 동일하게 구현될 수 있거나 또는 하드웨어와 소프트웨어의 조합으로 구현할 수도 있다.
또한, 그러한 처리 모듈을 포함하는 전자 디바이스가 제안된다.
또한, 그러한 처리 모듈과, 처리 모듈과 데이터를 적어도 일정 방향(uni-directionally)으로 교환하는 적어도 하나의 다른 모듈을 포함하는 시스템을 제안한다.
마지막으로, 소프트웨어 프로그램 프로덕트가 제안되는데, 프로덕트에는 다수의 프로세싱 사이클들에서 데이터 워드를 처리하기 위한 소프트웨어 코드가 저장된다. 소프트웨어 코드는 프로세싱 컴포넌트에서 운영하는 경우 제안된 방법의 단계들을 구현한다.
본 발명은 데이터 워드의 블록들이 적당한 순서로 각각의 프로세싱 사이클에서 이미 처리된다면, 메모리 주소들 사이의 점핑의 필요성을 피할 수 있다는데 기초한다. 따라서, 메모리 주소들에 대한 액세스의 순서가 데이터 블록들이 관계된 메모리 주소들의 실제 순서에 상응하도록, 각각의 프로세싱 사이클 동안에 재배열 되게 하는 것이 제안된다. 이는 하나의 프로세싱 사이클부터 다음까지 각각 하나의 블록만큼 데이터 블록들을 시프팅함으로써 달성된다.
본 발명은 장점은 필요한 계산의 횟수를 줄일 수 있다는 것이다. 각각의 프로세싱 사이클 동안에, 각각의 메모리 액세스에 대한 메모리 주소를 결정하기 위해 많은 계산 대신에 한 번의 계산이 필요하다. 특히, 본 발명은 많은 수의 데이터 블록들이 처리되어야만 하는 애플리케이션에 있어서 장점이 있다.
또한, 본 발명의 장점은 간단하고 유연한 방식으로 구현될 수 있다는 것이다. 예를 들면 다른 길이의 데이터 워드들 및 다른 길이의 데이터 블록들이 쉽게 이용될 수 있다.
일반적으로 모든 관계된 메모리 주소들은 프로세싱 사이클 동안에 정확하게 한번 액세스될 것이다. 각각의 프로세싱 사이클 동안에, 데이터 워드가 데이터 블록들에 의해 한 번 이상 표현될 수 있다는 것은 자명하다. 데이터 블록들은 보통 정수의 데이터 블록들은 전체 데이터 워드를 표현하도록 선택될 것이다.
메모리 주소들은 일정하게 변화될 수 있는데, 예를 들면 하나의 프로세싱 사이클 내에 각각의 처리 결과에 대한 고정 값만큼 주소를 증가시키거나 감소시킴으로써 변화될 수 있다.
본 발명의 일 실시 예에서, 메모리의 액세스는 라운드 회전 방식으로 각각의 메모리 액세스에 대해 증가되는 어드레스 포인터로 달성된다. 즉, 새로운 프로세싱 사이클의 시작에서, 포인터는 초기 메모리 주소로부터 신규로 시작된다. 예를 들면, 포인터는 저장하고 처리 결과들을 결합하기 위한 결합 컴포넌트로 사용될 수 있다. 그러한 어드레스 포인터는 매우 간단하고 작을 수 있다.
하나의 블록만큼 데이터 블록들의 시퀀스를 시프팅하는 것은, 예를 들면 이전 프로세싱 사이클의 첫 번째 데이터 블록을 마지막으로 옮기는 것을 의미하고, 데이터 블록들의 시퀀스는 각각의 프로세싱 사이클에서 이전 두 번째 데이터 블록으로 움직이기 시작한다.
본 발명의 일 실시 예에서, 이는 하나의 데이터 블록이 각각의 다음 프로세싱 사이클의 시작에서 스킵되는 것을 제외하고, 순환적 및 연속적으로 생성함으로써 구현된다.
본 발명의 처리 모듈의 일 실시 예에서, 데이터 워드 분할 컴포넌트는 이러한 목적을 달성하기 위해, 데이터 워드 생성기, 멀티플렉서 및 카운터를 포함한다. 데이터 워드 생성기는 순환 방식으로 데이터 워드 블록들을 생성한다. 카운터는 생성된 블록들의 수를 카운트하고, 하나의 프로세싱 사이클 동안에 필요한 블록들의 수가 생성될 때마다 멀티플렉서에 소정의 제어 신호를 제공한다. 멀티플렉서는 카운터가 제어 신호를 제공하지 않는 한, 데이터 워드 생성기가 데이터 워드의 연속적인 블록들을 생성하도록 하고, 카운터가 제어 신호를 제공할 때마다 상기 데이터 워드 생성기가 상기 데이터 워드의 하나의 블록을 스킵하도록 한다.
종래의 코드 상관기들이 코드 위상의 트래킹이 가능하도록 카운터에 생성된 코드 블록들을 제공하는 것은 공지되어 있다. 이러한 카운터는, 카운터가 라운드 회전할 때마다, 공지된 코드 블록들의 순환 순서에 하나의 블록씩 추가로 어드밴스되도록 하는 것을 보장함으로써 사용될 수 있다.
본 발명은 블록-지향 알고리즘(block-oriented algorithm)을 이용하는 애플리케이션에 이용될 수 있다. 하드웨어의 블록 상관은 그러한 애플리케이션들의 일 예이다. 블록 상관에서, 데이터 워드는 제공된 샘플들과 블록 단위로 상관된다. 이러한 경우에 데이터 워드는, 예를 들면 공지된 코드일 수 있고, 제공된 샘플들은 수신된 코드 변조 신호의 샘플들일 수 있다.
따라서, 데이터 블록들의 프로세싱은 다른 메모리 주소들에 저장되어야만 하거나 또는 다른 메모리 주소들에 이미 저장되어 있는 값들과 결합해야만 하는 중간 결과들을 만드는 어떠한 종류의 블록 프로세싱을 포함한다. 애플리케이션에 따라서, 새로운 프로세싱의 결과들과 저장된 프로세싱 결과들을 결합하는 것은, 덧셈 또는 곱셈, 또는 이미 저장된 결과들에 새로운 프로세싱 결과를 단순히 저장하는 것과 같은 어떠한 종류의 결합을 포함할 수 있다.
본 발명에 따른 전자 디바이스는 데이터 워드가 다수의 프로세싱 사이클들에서 처리되어야만 하는 어떠한 디바이스일 수 있다. 이는 모바일 또는 고정 디바이스일 수 있다. 전자 디바이스는, 이에 한정되지는 않지만 예를 들면 모바일 폰, 코드분할 다중 접속(CDMA)이 가능한 수신기 또는 CPS 수신기와 같은 위성 신호 수신기일 수 있다. 또한, GPS 수신기를 포함하는 모바일 폰과 같이 다른 기능들을 결합한 디바이스일 수 있다. 이러한 경우에, 본 발명에 따른 데이터 워드 프로세싱은 하나 이상의 기능을 가진 디바이스로 구현될 수 있다.
본 발명에 따른 시스템은 다양한 종류의 시스템들일 수 있는데, 다음에 설명되는 특징들을 포함하고 있다.
시스템은, 예를 들면 에어 인터페이스를 통해 신호들을 수신하고, 블록 프로세싱을 포함하는 계산을 위해 처리 모듈에 수신된 신호들을 제공하는 추가 모듈로서 수신기를 포함할 수 있다. 처리 모듈은 수신기에 직접, 케이블을 통해, 또는 에어 인터페이스를 통해 접속될 수 있다. 예를 들면, 수신기가 위성 신호 수신기이고 모바일 통신 디바이스의 일부라면, 처리 모듈은 신호들의 샘플들이 계산을 위해 제공되는 모바일 통신 네트워크의 일 부분일 수 있다.
선택적으로, 시스템은, 예를 들면 처리 모듈이 모바일 단말인 경우, 추가 모듈로서 모바일 통신 네트워크의 네트워크 구성요소를 포함할 수 있다. 여기서 네트워크 구성요소는 블록 기반의 프로세싱을 지원하기 위해 모바일 단말에 보조 데이터를 제공할 수 있다.
또한 선택적으로, 시스템은, 예를 들면 추가 모듈로서 적어도 하나의 위성, 및 수신기의 기능을 추가로 포함하는 처리 모듈을 포함하는 위성 기반의 네비게이션 시스템일 수 있다. 처리 모듈은 이러한 위성들에서 전송된 신호들을 수신할 수 있다.
본 발명의 다른 목적들 및 특징들은 첨부한 도면들을 참조하여 다음 상세한 설명으로부터 명확해 질 것이다. 그러나, 도면들을 단지 설명을 위한 목적으로 제시되는 것이고, 본 발명의 범위가 이에 한정되는 것은 아니며, 본 발명의 범위는 첨부한 청구범위들에 의해 정하여 진다. 또한, 도면에 도시된 크기에 상관없이 이하에 설명되는 구성과 과정을 개념적으로 설명하기 위한 것이다.
도 1은 종래의 메모리 할당을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 개략적인 시스템 블록 다이어그램이다.
도 3은 도 2의 시스템의 상관기의 블록 다이어그램이다.
도 4는 도 3의 상관기의 동작을 설명하기 위한 흐름도이다.
도 5는 도 3의 상관기의 메모리 할당의 원리를 설명하기 위한 다이어그램이다.
<도면의 주요 부분에 대한 부호의 설명>
20: 모바일 디바이스 21:GPS 모듈
22: 수신 컴포넌트 23: 상관기
24: 계산 컴포넌트 29: GPS 위성
도 2는 본 발명의 일 실시 예에 따른 데이터 워드 프로세싱이 구현된 GPS 위치 확인 시스템의 개략적인 블록 다이어그램이다.
위치 확인 시스템은 모바일 디바이스(20)과 다수의 GPS 위성들(29)을 포함한다.
모바일 디바이스(200)은 GPS 모듈(21)을 포함하는 어떠한 모바일 디바이스일 수 있다. 예를 들면, 모바일 디바이스(20)는 셀룰러 네트워크으로 통신할 수 있는 셀룰러 단말의 필수적인 컴포넌트들을 포함한 셀룰러 단말일 수 있다. 선택적으로, 모바일 디바이스(20)는 예를 들면 개인 휴대 정보 단말기(Portable Digital Assistant, PDA)일 수 있다. 또한, 선택적으로, 순수한 GPS 디바이스일 수 있다.
GPS 모듈(21)은 수신 컴포넌트, 하드웨어(HW) 및/또는 소프트웨어(SW)로 구현된 상관기, 및 계산 컴포넌트((24)를 포함한다. 여기서 계산 컴포넌트(24)는 모바일 디바이스(20)의 다른 기능들을 위해 사용되는 프로세서를 이용하거나 또는 일 부분일 수 있다.
상관기(23)는 도 3의 블록 다이어그램에 더 상세히 도시된다.
상관기(23)에서, 코드 생성기(30)는 멀티플렉서(31)로부터 제어 신호들을 수 신한다. 코드 생성기(30)의 출력은 카운터(32)를 통해 멀티플렉서(31)의 제어 입력으로 피드백된다. 멀티플렉서(31)는 제어 입력에서의 신호에 따라 2개의 제어 신호들 중 하나를 코드 생성기(30)로 포워딩한다. 제1 제어 신호는 명령 'L 칩만큼 증가'를 나타내는 반면, 제2 제어 신호는 명령 '2L 칩만큼 증가'를 나타낸다.
또한, 코드 생성기(30)의 출력은 L 칩을 저장할 수 있는 코드 시프트 레지스터(33)를 통해 비트 단위의 곱셈기(bit-wise multiplier, 34)의 입력에 접속된다.
또한, L 샘플들을 저장할 수 있는 샘플 시프트 레지스터(35)는 비트 단위의 곱셈기(34)의 입력에 접속된다. 샘플 시프트 레지스터(35)는 GPS 모듈(21)의 수신 컴포넌트(22)로부터 입력 샘플들을 수신한다.
비트 단위의 곱셈기(34)의 출력은 적분기(36)와 결합 컴포넌트(37)를 통해 메모리(38)에 접속된다. 메모리(38)는 결합 컴포넌트(37)의 제2 입력에 다시 결합된다. 비트 단위의 곱셈기(34), 적분기(36) 및 결합 컴포넌트(37)는 덧셈기 트리(adder tree)를 형성한다.
이제, 상관기(23)의 동작이 도 4 및 도 5의 흐름도를 참조하여 설명될 것이다. 도 5의 다이어그램은 간략한 예시에 의해 동작의 원리를 설명한다.
GPS 모듈(21)이 GPS 위성(29)으로부터 신호를 수신하는 경우, GPS 모듈(21)은 신호를 발신한 위성 및 신호가 가지는 코드 위상을 결정하여야 한다. 이를 위해, 수신 컴포넌트(22)는 수신된 신호의 샘플들을 공지의 샘플링 속도로 상관기(23)에 포워딩한다.
상관기(23)에서, 처음 L 샘플들이 샘플 시프트 레지스터(35)에 저장된다(단 계 401)., 도 5에 도시된 개략적인 예시에서, L은 3이고, 샘플 시프트 레지스터(35)에 저장된 처음 3개의 샘플들은 'abc'이고, 도면부호 12로 도시되어 있다.
동시에, 코드 생성기(30)는 C/A 코드의 첫 번째 블록을 생성한다(단계 402). C/A 코드는 특정 GPS 위성, 가능한 신호를 전송한 위성(29)에 의해 사용되는 것으로 공지되어 있다. 생성된 블록은 코드의 L 다음 칩들(L subsequent chips)을 포함하고, 코드 레지스터(33)에 저장된다. 도 5에 도시된 개략적인 예시에서, 코드 레지스터(33)에 저장된 처음 L=3 샘플들은 'ABC'이고, 도면부호 11로 도시되어 있다.
다음, 곱셈기(34)는 샘플 시프트 레지스터(35)로부터 샘플들과 코드 레지스터(33)의 칩들을 비트 단위로 곱셈한다. 적분기(36)는 곱셈 결과들을 적분하고, 결합 컴포넌트(37)는 메모리(38)의 첫 번째 메모리 주소에 부분 상관 값으로 적분 결과들을 저장한다(단계 403). 메모리(38)가 관계된 메모리 주소에 어떠한 부분 상관 값들을 포함하지 않는 한, 결합 컴포넌트(37)는 어떠한 합산 태스크(tasks)도 가지지 않는다.
도 5의 예시에서, 부분 상관 값 'A*a + B*b + C*c'는 메모리(38)의 메모리 주소 '1'에 저장되고, 이는 도면 부호 13에 도시되어 있다.
매번, 코드 생성기(30)는 블록을 출력하고, 또한 상응하는 지시를 카운터(32)에 제공한다. 제로의 카운터 값으로 시작해서, 카운터(32)는 N x L 카운터 값에 도달할 때까지, 코드 생성기(30)로부터 신호를 받아 하나씩 카운터 값을 증가시킨다. N x L 카운터 값에 도달된 경우에만, 카운터는 제어 신호를 멀티플렉 서(31)에 제공한다.
N 블록들 이하가 처리되는 한(단계 404), 샘플 시프트 레지스터(34)의 L 샘플들은 동일하게 남는다. N 블록들은 코드의 모든 샘플들을 정확하게 한 번 포함한다. 코드 생성기(30)는 L 칩들을 가진 다음 블록을 규칙적인 간격으로 생성하는데, 왜냐하면 멀티플렉서(31)는 명령 ' L칩들만큼 증가'을 코드 생성기(30)에 제공하기 때문이고(단계 402), 제어 신호가 카운터(32)에 제공되지 않는다. 새로운 블록은 샘플링 주파수보다 N배 더 큰 주파수로 코드 생성기(30)에 의해 생성된다. 각각의 다음 블록은 첫 번째 블록에 대해 설명된 것처럼, 샘플 시프트 레지스터(35)에 저장된 샘플들과 상관되고, 결과적인 부분 상관 값은 새로운 부분 상관 값에 대해 하나 씩 증가한 메모리 주소의 메모리에 저장된다(단계 403). 도 5에 도시된 예시에서, 제2 코드 블록은 'DEF'이고, 제2 상관 결과 'D*a + E*b + F*c'가 메모리 주소 '2'에 저장된다. 제3 코드 블록은 'GHI' 이고, 제3 상관 결과 'G*a + H*b + I*c'는 메모리 주소 '3'에 저장된다.
샘플 시프트 레지스터(35)의 입력 샘플들이 코드 생성기(30)에 의한 제N 블록 출력을 처리하도록 N번 동안 곱셈기(34)에 제공된 후(단계 404), 또 다른 입력 샘플이 샘플 시프트 레지스터(35)에 저장된다(단계 405). 이는 코드 생성기(30)뿐만 아니라 전체 상관기(23)가 샘플링 주파수보다 N배 더 큰 주파수에서 동작되도록 함으로써 달성가능하다. 도 5에 도시된 예시에서, 샘플 시프트 레지스터에 저장된 3개의 샘플은 이제 'bcd'이다.
카운터(32)가 값 'N x L'에 도달하지 않는 한(단계 406), 코드 생성기(30)는 코드의 다음 블록을 생성하고, 각각의 부분 상관 값을 결정하고, 하나씩 증가된 메모리 주소의 메모리(38)에 결과를 저장하는 것을 계속한다(단계 402, 403, 404). 각각의 N 부분 상관 값들이 결정된 후에, 또는 제N 부분 상관 값이 결정된 후에, 새로운 샘플이 다음 N 부분 상관 값들을 위해 샘플 시프트 레지스터(35)에 입력된다(단계 404, 405).
도 5의 예시에서, 네 번째 블록은 다시 'ABC'이고, 다섯 번째 블록은 'DEF' 및 여섯 번째 블록은 'GHI'이다. 네 번째 부분 상관 값 'A*b + B*c + C*d' 이 메모리 주소 '4'에 저장되고, 다섯 번째 부분 상관 값 'D*b + E*c + F*d' 이 메모리 주소 '5'에 저장되고, 여섯 번째 부분 상관 값 'G*b + H*c + I*d' 이 메모리 주소 '6'에 저장된다. 샘플 시프트 레지스터(35)에 다음에 저장된 3개의 샘플은 'cde'이고, 일곱 번째 블록은 다시 'ABC', 여덟 번째 블록은 'DEF', 아홉 번째 블록은 'GHI'이다. 일곱 번째 부분 상관 값 'A*c + B*d + C*e' 이 메모리 주소 '7'에 저장되고, 여덟 번째 부분 상관 값 'D*c + E*d + F*e' 이 메모리 주소 '8'에 저장되고, 아홉 번째 부분 상관 값 'G*c + H*d + I*e' 이 메모리 주소 '9'에 저장된다.
카운터(32)가 값 'N x L'에 도달하면(단계 406), 제1 프로세싱 사이클에 대한 모든 블록이 코드 생성기(30)에 의해 제공된다. 결과 부분 상관 값들은 N x L 이용 가능한 메모리 주소들에 저장되고, 각각은 수신된 샘플들과 공지된 코드 사이에 다른 위상 시프트에 속한다. 도 5의 예시에서, 상관 값들은 제1 프로세싱 사이클 후에 9개의 이용 가능한 메모리 주소들 '1' 내지 '9'에 저장된다.
다음 프로세싱 사이클 동안, 카운터(32)는 제어 신호를 멀티플렉서(31)에 제 공하고, 멀티플렉서(31)는 명령 ' 2L 칩들만큼 증가'을 코드 생성기(30)에 제공한다. 멀티플렉서(31)로부터의 제어 신호의 결과로, 코드 생성기(30)는 다음 2L 칩들을 생성하지만, 마지막 L 칩들을 코드 레지스터(33)에 출력한다. 즉, L 칩들의 길이를 가지는 하나의 블록이 코드 생성기(30)의 출력에서 스킵된다(단계 407, 408). 도 5의 예시에서, 종래의 블록 상관기의 경우처럼, 아홉 번째 블록 'GHI'이 블록 'ABC'를 대신하여 열 번째 블록 'DEF' 다음에 이어진다. 샘플 레지스터(35)의 샘플들은 'def'로 자동으로 업데이트된다.
다음, 곱셈기(34)는 다시 샘플 시프트 레지스터(35)로부터의 샘플들과 코드 레지스터(33)의 블록을 비트 단위로 곱한다. 적분기(36)는 곱셈 결과들을 적분한다. 또 다른 부분 상관 값을 형성하는 적분 결과에 결합 컴포넌트(37)에 의해 메모리(38)의 첫 번째 메모리 주소에 저장된 값이 더해진다(단계 409). 도 5의 예시에서, 부분 상관 값 'D*d + E*e + F*f'에 메모리(38)의 첫 번째 메모리 주소 '1'에 저장된 값 'A*a + B*b + C*c'이 더해진다.
이러한 프로세스는 다음 N-1 블록들에 대해 반복된다(단계 410, 408, 409). 도 5의 예시에서, 부분 상관 값 'G*d + H*e + I*f'에 메모리(38)의 메모리 주소 '2'에 저장된 값 'D*a + E*b + F*c'이 더해진다. 그 후에, 부분 상관 값 'A*d + B*e + C*f'에 메모리(38)의 메모리 주소 '3'에 저장된 값 'G*a + H*b + I*c'이 더해진다.
그 후에, 새로운 샘플이 다시 샘플 시프트 레지스터(35)에 입력된다(단계 410, 411). 도 5의 예시에서, 이는 'efg' 의 샘플 시프트 레지스터(24)의 레지스 터 값을 가져온다.
이전처럼(단계 408, 409, 410), 부분 상관 값들은 연속적으로 생성된 블록들을 가진 이러한 레지스터 값들에 대해 결정된다. 도 5의 예시에서, 생성된 블록들은 다시 블록 'DEF', GHI' 및 'ABC'이다. 부분 상관 값 'D*e + E*f + F*g'에 메모리(38)의 메모리 주소 '4'에 저장된 값 'A*b +B*c + C*d' 이 더해진다. 부분 상관 값 'G*e + H*f + I*g'에 메모리(38)의 메모리 주소 '5'에 저장된 값 'D*b + E*c + F*d' 이 더해진다. 부분 상관 값 'A*e + B*f + C*g'에 메모리(38)의 메모리 주소 '6'에 저장된 값 'G*b + H*c + I*d' 이 더해진다.
또한, 다음 N x L 블록들이 처리될 때까지, 각각의 N 개의 새로운 블록들이 생성된 후에 각각의 새로운 샘플이 샘플 시프트 레지스터(35)에 입력된다. 도 5의 예시에서, 이러한 사이클에서의 마지막 입력 샘플은 샘플 시프트 레지스터(36)의 값 'fgh' 을 가져온다.
부분 상관들은 연속적으로 생성된 블록들에 대해 샘플 시프트 레지스터(35)에서 각각의 값들로 수행된다(단계 408 내지 412). 각각의 결정된 부분 상관 값은 각각의 다음 메모리 주소에 저장된 값들과 결합된다. 도 5의 예시에서, 두 번째 프로세싱 사이클 동안에 마지막 블록들은 다시 블록 'DEF', 'GHI' 및 'ABC'이다. 부분 상관 값 'D*f + E*g + F*h'에 메모리(38)의 메모리 주소 '7'에 저장된 값 'A*c + B*d + C*e' 이 더해진다. 부분 상관 값 'G*f + H*g + I*h'에 메모리(38)의 메모리 주소 '8'에 저장된 값 'D*c + E*d + F*e' 이 더해진다. 부분 상관 값 'A*f + B*g + C*h'에 메모리(38)의 메모리 주소 '9'에 저장된 값 'G*c + H*d + I*e' 이 더해진다.
단계 407 내지 412는 모든 N x L x N 프로세싱 사이클이 완료될 때까지 계속된다. 각각의 프로세싱 사이클의 시작에서, 다음 블록이 생성된 경우(단계 408), 하나의 블록이 스킵된다(단계 407).
도 5의 예시에서, 메모리 주소 '1'에서 메모리의 마지막 값은, 예를 들면 'A*a + B*b + C*c + D*d + E*e + F*f + G*g + H*h + I*i'이다. 이 값은 수신된 신호와 공지의 C/A 코드 사이에 제로 위상 시프트에 대한 상관 값이다. 나머지 8개의 메모리 주소 '2' 내지 '9'에서, 가능한 8개의 다른 위상 시프트들에 대한 마지막 상관 값들이 저장된다.
각각의 프로세싱 사이클의 시작에서 하나의 블록에 의한 시프트로 인하여, 필요한 메모리 주소가 이용 가능한 메모리 주소들을 단순한 라운드 회전에 의한 상관 프로세스를 통해 얻어질 수 있는데, 이는 단순하고 작은 어드레스 포인터에 의해 구현될 수 있다. 따라서, 메모리 주소들 사이에 점프와 종래의 블록 상관기들에서 요구되는 복잡한 상태 기계는 필요치 않다.
본 발명의 실시 예가 각각 3개의 샘플의 3개의 블록으로 나누어진 코드들에 대해서 이해를 돕기 위해 설명되었지만, 당업자는 블록당 샘플들의 수에 한정되지 않는다는 것을 이해할 것이다.
마지막 상관 값들의 추가적인 사용은 공지기술이다. 마지막 상관 값들은 예를 들면 메모리(38)에 의해 계산 컴포넌트(24)에 제공될 수 있으며, 마지막 상관 값들은 고려하고 있는 C/A 코드가 수신된 신호에 대한 정확한 C/A 코드인지와, 정 확한 위상 시프트를 결정하기 위해 계산된다. 획득한 정보는 GPS 모듈(21)에 의해 제공되는 기능들에서 필요한 이후 프로세싱 단계들에 사용될 수 있는데, 예를 들면, 수신된 신호를 디코딩하고, 내비게이션 정보를 추출하고, 내비게이션 정보와 측정 결과들에 기초한 모바일 디바이스(20)의 현재 위치를 결정하는데 사용될 수 있다. GPS 모듈(21)은, 예를 들면 모바일 디바이스(20)에서 운영하는 애플리케이션에 위치 정보를 제공할 수 있다.
이상 본 발명의 바람직한 실시 예들을 기초로 설명되었지만, 당업자들은 본 발명이 속하는 기술분야의 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 한정되며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (22)
- 다수의 프로세싱 사이클들에서 데이터 워드를 처리하는 방법으로서,상기 방법은,각각의 프로세싱 사이클 동안에 상기 데이터 워드를 다수의 연속적인 데이터 블록들 - 상기 연속적인 데이터 블록들은 하나의 프로세싱 사이클로부터 다음 프로세싱 사이클까지 하나의 데이터 블록만큼 시프팅됨- 로 나누는 단계;상기 프로세싱 사이클들 각각에서, 상기 연속적인 데이터 블록들 각각을 시퀀스로 처리하는 단계;첫 번째 프로세싱 사이클에서, 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소들의 메모리에 상기 첫 번째 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 저장하는 단계; 및각각의 다음(subsequent) 프로세싱 사이클에서, 상기 다음 프로세싱 사이클에서의 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소에, 이전(preceding) 프로세싱 사이클 동안에 상기 메모리에 저장된 처리 결과들과 상기 다음 프로세싱 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 결합하는 단계를 포함하는 데이터 워드 처리 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 다수의 프로세싱 사이클들에서 데이터 워드를 처리하기 위한 장치에 있어서,상기 장치는,각각의 프로세싱 사이클 동안에 상기 데이터 워드를 다수의 연속적인 데이터 블록들 - 상기 연속적인 데이터 블록들은 하나의 프로세싱 사이클로부터 다음 프로세싱 사이클까지 하나의 데이터 블록만큼 시프팅됨- 로 나누는 데이터 워드 분할 컴포넌트;상기 프로세싱 사이클들 각각에서 상기 연속적인 데이터 블록들 각각을 시퀀스로 처리하는 처리 컴포넌트; 및첫 번째 프로세싱 사이클에서, 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소들의 메모리에 상기 첫 번째 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 저장하고,각각의 다음 프로세싱 사이클에서, 상기 다음 프로세싱 사이클에서의 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소에, 이전 프로세싱 사이클 동안에 상기 메모리에 저장된 처리 결과들과 상기 다음 프로세싱 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 결합하는 결합 컴포넌트를 포함하는 데이터 워드 처리 모듈.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 다수의 프로세싱 사이클에서 데이터 워드를 처리하기 위한 처리 모듈을 포함하는 전자 디바이스로서,상기 처리 모듈은,각각의 프로세싱 사이클 동안에 상기 데이터 워드를 다수의 연속적인 데이터 블록들 - 상기 연속적인 데이터 블록들은 하나의 프로세싱 사이클로부터 다음 프로세싱 사이클까지 하나의 데이터 블록만큼 시프팅됨- 로 나누는 데이터 워드 분할 컴포넌트;상기 프로세싱 사이클들 각각에서 상기 연속적인 데이터 블록들 각각을 시퀀스로 처리하는 처리 컴포넌트; 및첫 번째 프로세싱 사이클에서, 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소들의 메모리에 상기 첫 번째 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 저장하고,각각의 다음 프로세싱 사이클에서, 상기 다음 프로세싱 사이클에서의 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소에, 이전 프로세싱 사이클 동안에 상기 메모리에 저장된 처리 결과들과 상기 다음 프로세싱 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 결합하는 결합 컴포넌트를 포함하는,전자 디바이스.
- 삭제
- 삭제
- 삭제
- 다수의 프로세싱 사이클들에서 데이터 워드를 처리하기 위한 처리 모듈과, 상기 처리 모듈과 데이터를 적어도 일정 방향(uni-directionally)으로 교환하는 적어도 하나의 다른 모듈을 포함하는 시스템으로서,상기 처리 모듈은,각각의 프로세싱 사이클 동안에 상기 데이터 워드를 다수의 연속적인 데이터 블록들 - 상기 연속적인 데이터 블록들은 하나의 프로세싱 사이클로부터 다음 프로세싱 사이클까지 하나의 데이터 블록만큼 시프팅됨- 로 나누는 데이터 워드 분할 컴포넌트;상기 프로세싱 사이클들 각각에서 상기 연속적인 데이터 블록들 각각을 시퀀스로 처리하는 처리 컴포넌트; 및첫 번째 프로세싱 사이클에서, 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소들의 메모리에 상기 첫 번째 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 저장하고,각각의 다음 프로세싱 사이클에서, 상기 다음 프로세싱 사이클에서의 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소에, 이전 프로세싱 사이클 동안에 상기 메모리에 저장된 처리 결과들과 상기 다음 프로세싱 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 결합하는 결합 컴포넌트를 포함하는,시스템.
- 다수의 프로세싱 사이클들에서 데이터 워드를 처리하기 위한 소프트웨어 코드 - 상기 소프트웨어 코드는 프로세싱 컴포넌트에서 실행하는 경우 다음 단계들을 구현함 - 가 저장된 소프트웨어 프로그램 프로덕트로서,각각의 프로세싱 사이클 동안에 상기 데이터 워드를 다수의 연속적인 데이터 블록들 - 상기 연속적인 데이터 블록들은 하나의 프로세싱 사이클로부터 다음 프로세싱 사이클까지 하나의 데이터 블록만큼 시프팅됨- 로 나누는 단계;상기 프로세싱 사이클들 각각에서, 상기 연속적인 데이터 블록들 각각을 시퀀스로 처리하는 단계;첫 번째 프로세싱 사이클에서, 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소들의 메모리에 상기 첫 번째 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 저장하는 단계; 및각각의 다음 프로세싱 사이클에서, 상기 다음 프로세싱 사이클에서의 하나의 처리 결과부터 다음 처리 결과까지 일정하게 변하는 메모리 주소에, 이전 프로세싱 사이클 동안에 상기 메모리에 저장된 처리 결과들과 상기 다음 프로세싱 사이클의 상기 연속적인 데이터 블록들에 대한 처리 결과들을 결합하는 단계를 포함하는 소프트웨어 프로그램 프로덕트.
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2004/002915 WO2006027638A1 (en) | 2004-09-08 | 2004-09-08 | Processing a data word in a plurality of processing cycles |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097006582A Division KR100914232B1 (ko) | 2009-03-30 | 2004-09-08 | 다수의 프로세싱 사이클에서 데이터 워드를 처리하는 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070040841A KR20070040841A (ko) | 2007-04-17 |
KR101031566B1 true KR101031566B1 (ko) | 2011-04-27 |
Family
ID=34958585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077005435A KR101031566B1 (ko) | 2004-09-08 | 2004-09-08 | 다수의 프로세싱 사이클에서 데이터 워드를 처리하는 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7590828B2 (ko) |
EP (1) | EP1828922A1 (ko) |
KR (1) | KR101031566B1 (ko) |
CN (1) | CN100580659C (ko) |
WO (1) | WO2006027638A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073053B (zh) * | 2010-12-20 | 2012-10-03 | 东莞市泰斗微电子科技有限公司 | 一种多模gnss接收机伪随机噪声码发生单元 |
US9130786B2 (en) * | 2013-03-15 | 2015-09-08 | Qualcomm Incorporated | Device and method for computing a channel estimate |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1067702A1 (en) * | 1999-05-14 | 2001-01-10 | Alcatel | Electrical correlator |
EP1441449A1 (en) * | 2003-01-27 | 2004-07-28 | Agilent Technologies, Inc. - a Delaware corporation - | Programmable acquisition module for multi-standard CDMA based receivers |
KR20040073536A (ko) * | 1998-07-10 | 2004-08-19 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 송신기, 수신기, 송신기 동작 방법, 및 수신기 동작 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1572622A (en) * | 1977-03-29 | 1980-07-30 | Secr Defence | Code synchronising apparatus |
US5317283A (en) * | 1993-06-08 | 1994-05-31 | Nokia Mobile Phones, Ltd. | Method to reduce noise in PLL frequency synthesis |
US5515300A (en) * | 1993-09-30 | 1996-05-07 | The United States Of America As Represented By The Secretary Of The Navy | Coherent signal power detector using higher-order statistics |
GB2321833B (en) * | 1997-02-03 | 2001-08-08 | Symmetricom Inc | Phase detector |
JP3503433B2 (ja) * | 1997-07-31 | 2004-03-08 | 株式会社日立製作所 | スペクトル拡散受信機 |
US6965631B2 (en) * | 2000-03-13 | 2005-11-15 | Pri Research & Development Corp. | Low power passive correlators for multichannel global positioning system signal receiver |
JP2003533091A (ja) * | 2000-05-01 | 2003-11-05 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 整合フィルタ及び移動無線通信システム用受信機 |
US7190710B2 (en) * | 2001-06-08 | 2007-03-13 | Broadcom Corporation | Successive interference canceling for CMDA |
US7272622B2 (en) * | 2001-10-29 | 2007-09-18 | Intel Corporation | Method and apparatus for parallel shift right merge of data |
CN1723627A (zh) * | 2002-10-15 | 2006-01-18 | 张量通讯公司 | 用于信道幅度估计和干扰矢量构造的方法和装置 |
-
2004
- 2004-09-08 KR KR1020077005435A patent/KR101031566B1/ko not_active IP Right Cessation
- 2004-09-08 CN CN200480043822A patent/CN100580659C/zh not_active Expired - Fee Related
- 2004-09-08 EP EP04769314A patent/EP1828922A1/en not_active Withdrawn
- 2004-09-08 US US11/660,896 patent/US7590828B2/en not_active Expired - Fee Related
- 2004-09-08 WO PCT/IB2004/002915 patent/WO2006027638A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040073536A (ko) * | 1998-07-10 | 2004-08-19 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 송신기, 수신기, 송신기 동작 방법, 및 수신기 동작 방법 |
EP1067702A1 (en) * | 1999-05-14 | 2001-01-10 | Alcatel | Electrical correlator |
EP1441449A1 (en) * | 2003-01-27 | 2004-07-28 | Agilent Technologies, Inc. - a Delaware corporation - | Programmable acquisition module for multi-standard CDMA based receivers |
Also Published As
Publication number | Publication date |
---|---|
US20070255930A1 (en) | 2007-11-01 |
WO2006027638A1 (en) | 2006-03-16 |
US7590828B2 (en) | 2009-09-15 |
EP1828922A1 (en) | 2007-09-05 |
KR20070040841A (ko) | 2007-04-17 |
CN100580659C (zh) | 2010-01-13 |
CN101006440A (zh) | 2007-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1071966B1 (en) | Matched Filter | |
US7272168B2 (en) | Determining the correlation between received samples and available replica samples | |
CN101356449B (zh) | 为接收自多种卫星***的卫星信号执行信号相关的方法和装置 | |
US6934322B2 (en) | Data message bit synchronization and local time correction methods and architectures | |
RU2254680C2 (ru) | Устройство поиска с программируемым согласованным фильтром для поиска множественных пилот-сигналов | |
US20090225816A1 (en) | Parallel Correlator Implementation Using Hybrid Correlation In Spread-Spectrum Communication | |
CN106526632A (zh) | 一种gnss捕获相干器和信号捕获方法 | |
US7526014B2 (en) | Correlator for spread spectrum receiver | |
US6519237B1 (en) | Apparatus and method for parallel searching and correlating for CDMA system | |
CN201152895Y (zh) | 一种gps信号相关器 | |
US7558312B2 (en) | Parallel correlator implementation using block integration for spread-spectrum communication | |
JP2734956B2 (ja) | スペクトラム拡散用pn符号同期方法 | |
KR101031566B1 (ko) | 다수의 프로세싱 사이클에서 데이터 워드를 처리하는 방법 | |
KR100914232B1 (ko) | 다수의 프로세싱 사이클에서 데이터 워드를 처리하는 방법 | |
US6847676B1 (en) | All-lag spread-spectrum correlators with rotating references | |
US6601078B1 (en) | Time-efficient real-time correlator | |
JP3450299B2 (ja) | 収集方法及びこの方法を実施するための装置 | |
EP1152544A1 (en) | A time efficient real time correlator for CDMA systems | |
US7277476B2 (en) | Determining the correlation between received samples and available replica samples | |
US20040141574A1 (en) | Determination of the code phase between a code modulated signal and a replica code sequence | |
US7124352B2 (en) | Tracking a code modulated signal | |
JP7150396B2 (ja) | 符号生成装置及びスペクトラム拡散信号受信システム | |
US7336696B2 (en) | Acquisition of a code modulated signal | |
EP2249180A2 (en) | Processing code-modulated signals | |
AU8756098A (en) | Fast acquisition, high sensitivity gps receiver |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B601 | Maintenance of original decision after re-examination before a trial | ||
S901 | Examination by remand of revocation | ||
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |