KR101205256B1 - Dft 계산용 디바이스 - Google Patents

Dft 계산용 디바이스 Download PDF

Info

Publication number
KR101205256B1
KR101205256B1 KR1020107018963A KR20107018963A KR101205256B1 KR 101205256 B1 KR101205256 B1 KR 101205256B1 KR 1020107018963 A KR1020107018963 A KR 1020107018963A KR 20107018963 A KR20107018963 A KR 20107018963A KR 101205256 B1 KR101205256 B1 KR 101205256B1
Authority
KR
South Korea
Prior art keywords
dft
multipliers
multiplier
constant
coefficients
Prior art date
Application number
KR1020107018963A
Other languages
English (en)
Other versions
KR20100120172A (ko
Inventor
안드레아 첸치오티
네스토르 루카스 바리올라
필 영
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20100120172A publication Critical patent/KR20100120172A/ko
Application granted granted Critical
Publication of KR101205256B1 publication Critical patent/KR101205256B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/29Acquisition or tracking or demodulation of signals transmitted by the system carrier including Doppler, related
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain

Landscapes

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

Abstract

예를 들어, DFT 에서 트위들 인수의 실수부 및 허수부를 나타내는 상수 정수 값에 의한 승산기의 2 개의 뱅크를 포함하는 GNSS 수신기에서, DFT 계산을 수행하는 디바이스에 관한 것이다. 제어 신호는 적절한 승산기를 통해서 데이터를 선택적으로 라우팅하여 원하는 DFT 항을 획득한다. 동적 전력을 최소화하기 위해 사용되지 않은 승산기는 상수 입력 값으로 고정된다.

Description

DFT 계산용 디바이스{DEVICE FOR DFT CALCULATION}
본 발명은, 특히 GNSS (글로벌 내비게이션 위성 시스템; Global Navigation Satellite System) 용 수신기의 통합에 채택된 DFT (이산 푸리에 변환; Discrete Fourier Transform) 프로세서에 관한 것이나, 이에 한정되는 것은 아니다. 본 발명의 실시형태는 단일 DFT 라인의 선택적인 활성화에 기초로 한 전력 및 면적 최적화된 아키텍쳐에 관한 것이다.
푸리에 변환 (FT) 은 신호를 시간 도메인에서 주파수 도메인으로 변환하는 함수이다. 유한 지속기간 {x0, ..., xN -1} 의 이산 신호의 경우, 푸리에 변환은 이산 푸리에 변환 (DFT) 으로 종종 지칭된다.
수많은 다른 어플리케이션들 중에서, 푸리에 변환이 GPS, 갈릴레오 (Galileo), GLONASS, 및 다른 GNSS 신호의 복조 (demodulation) 및 프로세싱에 적용된다. 이러한 어플리케이션들 중에서, 수신 데이터에 가해지는 푸리에 변환은 하드웨어 복잡도의 중요한 축소를 통해서 병렬 방식으로 수개의 캐리어 주파수들을 프로세싱하는 것을 허용한다. 현대의 GNSS 수신기 또는 프로세서는 대부분의 경우 DFT 의 계산에 특히 전용되는 일 섹션인 "DFT 엔진" 을 포함하고 있다.
FT-기반 GNSS 신호 프로세싱의 이론 및 세부사항은 당업계에 공지되어 있고, 본 명세서는 상세하게 설명되지 않을 것이다. 입수가능한 문헌, 예를 들어, Artech House, London (2005년 12월) 에 의해 발행되고 E.D: Kaplan 및 C.Hegarty 에 의해 편집된 책인 "Understanding GPS and its applications" 2 번째 간행물에서 전반적인 정보를 찾을 수 있으며, 본 명세서에 참조로서 통합되어 있다.
앞서 언급한 유한 샘플링된 신호 {xN} 에 대한 DFT 포인트 Xk 의 정의는:
Figure 112010055170968-pct00001
이다. 여기서,
Figure 112010055170968-pct00002
는 유닛의 N 번째 차수의 복소근 (complex root) 이고, "트위들 인수 (twiddle factor)" 로서 지칭되며, 또한 (1) 에서의 합산 항의 실수부 및 허수부를 명백하게 기록한다:
Figure 112010055170968-pct00003
따라서, 식 (1) 은 DFT 항
Figure 112010055170968-pct00004
의 합산으로서 표현될 수 있다. 모든 Xk 포인트를 산출하는데 필요한 DFT 항의 수는 N2 이지만, 각각은 4 번의 승산 및 2 번의 가산을 요구할 것이다.
DFT 를 계산하기 위한 효율적인 알고리즘은 분할 및 정복 접근법 (split and conquers approach) 에 기초한 주지된 고속 푸리에 변환 (FFT) 이다. N 개의 (N 의 제곱) 샘플들의 데이터 스트림이 반감되고 (halved) 병렬로 프로세싱되는 경우, 산출 차수 (computation order) 는 N2/2 복소 가산 (complex addition) 및 (N2/2+N) 복소 승산 (complex multiplication) 으로 축소된다. 가능한 분할의 수가 log2(N) 와 동일하기 때문에, 이에 따라 산출 차수는 N?log2(N) 복소 가산 및 N?log2(N)/2 복소 승산에 의해 제공된다.
일반적으로, FFT 알고리즘의 사용이 N 개의 샘플로부터 N 개의 DFT 포인트를 계산하는 가장 효과적인 방법으로 고려된다. 그러나, FFT 알고리즘이 최적이 아닌 특정 DFT 구성이 있다. 감소된 세트의 M 개의 DFT 라인만이 요구되는 (여기서 M≤N 임) 어플리케이션의 예를 들면, 이는 종종 신호 프로세싱의 경우이기 때문에, 특히 GNSS 프로세서에서, FFT 아키텍쳐의 산출 차수는 최적화되지 않는다.
또한, FFT 알고리즘은 N 이 제곱인 경우에만 가장 간단하고 가장 효과적인 형태를 취한다. 임의의 N 에 대한 여러가지 FFT 알고리즘이 존재하지만, 이들은 일반적으로 덜 효과적이다.
GNSS 신호 프로세서에서, DFT 산출은 수신기의 비용, 실리콘 면적 및 전력 소모에 직접적인 영향을 준다. 따라서, 가능한 한 가장 낮은 산출 부하를 갖는 DFT 알고리즘을 제공할 필요가 있다.
푸리에 변환은, 사인 및 코사인 함수의 정규직교 기저 (orthonormal base) 에 걸쳐서 시간 도메인에서 함수의 스펙트럼 분해처리 (spectral factorization) 로서 간주될 수 있다. 수많은 다른 이산 적분 변환은 상이한 정규직교 기저에 대응하는 신호 프로세싱 기술에 관련된다. 이러한 변환은 예를 들어 코사인 변환 (DCT) 및 그 다양한 변형 (MDCT), 이산 하틀리 변환 (DHT; discrete Hartley transform) 및 다른 여러 변환들을 포함한다. 전술한 사항들은 간단함을 목적으로 DFT 변환만을 참조한다. 그러나, 본 발명은 이 특정 경우로만 한정되지 않고 이 변환이 적용되는 모든 이산 적분 변환을 포함한다는 사실을 이해해야만 한다.
본 발명의 목적은 GNSS 신호를 프로세싱하는 신호 프로세서에서 DFT 라인의 세트를 산출하기 위한 더욱 효과적인 알고리즘을 제공하는 것이다. 또한, 본 발명은 저전력 GNSS 수신기를 제공하는데 목적이 있다.
본 발명의 목표는, 첨부된 독립항들, 중요하지만 엄밀하게 필수적인 것은 아닌 특징을 구체화하는 다양한 종속항의 목적에 의해 달성된다. 본 발명은 예시로서만 제공된 몇몇 실시형태의 상세한 설명, 및 개략적으로 설명하는 도면을 참조하여 더 잘 이해될 것이다.
도 1 은 DFT 산출의 공지된 구현의 도면이다.
도 2 는 도 1 의 공지된 디바이스의 파이프라이닝된 변형의 도면이다.
도 3 은 본 발명의 양태에 따른 DFT 엔진의 구조의 도면이다.
도 4 는 도 3 의 구조에서 사용된 하프 버터플라이 (half butterfly) 아키텍쳐의 도면이다.
도 5 는 (K+1)/2 상수-승산기 모듈 (multiplier-by-constant module) 을 갖는 짝수 계수 뱅크의 상세도이다.
도 6 은 (K+1)/2 상수-승산기 모듈을 갖는 홀수 계수 뱅크의 상세도이다.
도 7 은 GNSS 위성 획득에서의 탐색 공간의 표현의 도면이다.
도 8 은 GNSS 수신기 아키텍쳐의 도면이다.
도 9 는 특정 경우에서 복소 평면에서 DFT 의 트위들 인수의 위치의 도면이다.
본 발명은, GNSS 프로세싱이 일반적으로 제한된 수의 DFT 라인의 계산을 요구한다는 관찰에 기초한다. GNSS DFT 엔진에 사용되는 트위들 인수는 유한 세트이고, 또한, 그 실수부 및 허수부에서 특별한 대칭 특성을 갖는다. 따라서, 본 발명은, N 이 반드시 제곱일 필요는 없는 N 개의 샘플들로부터 감소된 세트 M 개의 DFT 라인을 계산할 수 있는 최적화된 DFT 알고리즘 (여기서 M≤N 임) 을 제안하며, 이는 이들의 대칭으로부터의 이점을 취한다.
이러한 목적을 위해, 데이터 포맷 사항, 사용되지 않는 DFT 라인의 동적 불능 및 루팅의-효과적 설계 분할을 고려해야만 한다.
도 1 에 도시된 바와 같이, 직접 DFT 구현은 식 (4) 의 실수부 및 허수부를 계산하는데 필요한 4 개의 승산기 및 2 개의 가산기에 기초한다. 이는, 통상 전체 버터플라이 회로 또는 알고리즘으로서 지칭된다. 예를 들어, 계수 CI, CQ 는 도면에 도시되지는 않았지만 사전에 계산된 표로부터 페치 (fetch) 될 수 있다.
도 2 는 파이프라인 접근법을 채택하는 전체 버터플라이 회로 또는 하프 버터플라이 (half butterfly) 의 변형을 도시한다. 다중화기 (201) 및 역다중화기 (206) 는, 2 개의 승산기 (202, 203) 및 하나의 가산기 (204) 만을 갖는 산술 블록 (205) 내에서 실수부 (I?CI - Q?CQ) (207) 및 허수부 (I?CQ + Q?CI) (208) 를 따로따로 산출하도록 이용된다. 그 결과가 복소 레지스터 (209) 내에 저장된다.
실제 범용 승산기를 사용하는 종래의 DFT 구현은, 가능한 트위들 인수
Figure 112010055170968-pct00005
및 CI, CQ 계수는 임의의 값을 취할 수 없지만 사전정의된 유한 세트에 필수적으로 포함된다는 사실을 고려하지 않기 때문에, 차선책이다. 트위들 인수
Figure 112010055170968-pct00006
는 유닛의 N 번째 차수 복소근이고, 이에 따라, 그 실수부 및 허수부는 종래의 DFT 구현에서 사용되지 않은 특정 대칭을 갖는다.
바람직하게는, 본 발명의 회로는, 상이한 가능한 계수들의 수 K + 1 과 동일한 수의 상수-승산기 모듈의 세트 (그 부호는 무시) 를 사용한다 (여분의 모듈은 실수부 및 허수부에 대해 절대값으로 동일한 계수를 갖는 형태
Figure 112010055170968-pct00007
의 1 의 제곱근들 (roots of the unity) 을 고려할 필요가 있다).
각각의 DFT 의 주파수 스팬 (span) 의 적절한 산출에 대한 간단한 공식은:
Figure 112010055170968-pct00008
이다. 여기서, TS 는 샘플 주기이고, N 은 DFT 에 대한 입력 신호의 길이 (포인트들의 수로 나타남) 이고, M 은 계산된 DFT 라인 (M≤N) 의 수이고, Neff 는 유효 DFT 길이 (얼마나 많은 포인트들이 유효하게 통합되었나) 이다.
상이한 계수의 수 K 는 DFT 포인트의 수 N 에 기초한다. N 이 8 의 정수배라고 가정하고, 유닛의 N 번째 차수 복소근의 대칭을 활용하면, 상이한 계수의 수 K 는 N/4+1 과 동일하다. 이 공식은 N=8, 16, 24, 32, 40, 48 에 대해 K=3, 5, 7, 9, 11, 15 의 후속하는 값을 제공한다. 이는, N 의 다른 값, 또는 K 의 값의 임의의 유한 선택을 지원하는 DFT 엔진으로 이 공식을 직접 확장시키기 위함이다. 예를 들어, N 이 값 {8, 16, 24, 32} 의 범위에서 설정가능하도록 의도되는 경우, 필요한 계수의 수 K 는 (K(24)+K(32)-KC) 이고, 여기서 KC 는 (복소 편각 O°또는 45°를 갖는) N=24 와 N=32 사이의 공통 계수의 수이다.
본 발명의 실시형태는 도 3 을 참조하여 설명될 것이다. 하프 버터플라이 산술 블록 (205) 은 도 2 에서의 동일한 번호로 나타낸 블록과 기능적으로 동일하다. 그러나, 그 구조는 상이하고, 이는 후술될 것이다.
제어 로직 유닛 (303) 은 DFT 엔진의 동작을 구동한다. 이는, 입력 버퍼 (302) 로부터 처리될 데이터를 선택하기 위해 (201) 인입 구성 파라미터 (301) 를 사용한다. 구성 파라미터 (301) 및 버퍼 (302) 의 입력 데이터는 다양한 소스를 가질 수 있다. GNSS 수신기의 경우, 예를 들어, 구성은 표시되지 않은 CPU 에 의해 제공될 수도 있고, 입력 데이터는 상관 유닛에 의해 발생될 수 있다. 그러나, 다른 구성도 가능하다. 또한, 제어 로직 유닛 (303) 은, 식 (4) 의 실수부 또는 허수부가 프로세싱되는지의 여부에 기초하여, 현재 계수 쌍 (304) 의 선택을 제어하고, 부분적인 항이 하프 버터플라이 유닛 (205) 에서 가산 또는 감산되어야만 하는지의 여부를 결정한다.
하프 버터플라이 (205) 는 먼저 실수부 (I?CI - Q?CQ) (207) 를 계산하고, 역다중화기 (206) 가 복소 결과 레지스터 (209) 의 I 부분에 그 결과를 구동시킨다. 그후, 하프 버터플라이는 허수부 (I?CQ + Q?CI ) (208) 를 계산하고, 복소 결과 레지스터 (209) 의 Q 부분에 그 결과를 저장한다.
복소 결과 (209) 는 스케일링 유닛 (305) 에 의해 상수 인수가 선택적으로 승산되고 가산기 (306) 및 메모리 (308; 예를 들어, RAM) 를 포함하는 누산기에서 이전 DFT 항과 함께 누산된다.
본 발명의 DFT 는 누산시에 RAM (308) 의 오버플로우를 검출하기 위한 포화 스테이지 (307) 를 포함하는 것이 바람직하다. 포화가 발생하면, 플래그 (310) 가 활성화된다. DFT 제어 로직 (303) 또는 외부 제어 유닛은 포화를 회피하기 위해 적절한 스케일링 팩터를 계산하는 알고리즘을 구현한다.
본 발명의 DFT 프로세싱 유닛은 구성 파라미터 (301) 에 의해 나타난 것과 같이 임의의 사용되지 않은 DFT 라인을 동적으로 디스에이블 하도록 배열되는 것이 바람직하다. 입력 데이터 선택기 (201) 는 '0' 으로 고정되어 폐기된 DFT 라인에 대한 하프 버터플라이 (205) 및 스케일러 (305) 의 토글링을 감소시킬 수 있다. 또한, 제어 로직 (303) 이 사용되어 불필요하고 전력 소모적인 메모리 판독/기록 액세스를 회피하면서 RAM (308) 의 어드레스를 업데이트할 수 있다.
본 발명의 바람직한 변형에 따르면, DFT 프로세서는 2 개의 단계에서 식 (4) 을 계산하는 도 4 에 도시된 구조를 갖는 하프 버터플라이 (205) 를 포함한다. 먼저, 실수부 (I?CI - Q?CQ) 가 계산되고, 다음으로 허수부 (I?CQ + Q?CI) 가 계산된다.
도 4 의 구조는, 45°의 복소 편각 배수 (complex argument multiple) 를 갖는 대각 계수 (diagonal coefficient) C45 의 유일한 예외를 통해서, 항상 Ci≠Cq 인 사실의 이점을 취하고; 계수들의 세트는 짝수 상수 계수 {C0, C2, ..., Ck -1} 및 홀수 상수 계수 {C1, C3 ..., Ck -2} 의 2 개의 개별적인 그룹으로 분할될 수 있다. 동일한 그룹에 대한 2 개의 계수는 하프 버터플라이 항을 계산하는데 필요하다는 것을 전혀 발생시키지 않는 방식으로 세분이 행해진다. 블록 (403) 은 상수 짝수 계수 {C0, C2, ..., Ck -1} 들 중 하나를 승산하도록 특정적으로 배치된 복수의 승산기를 포함하는 반면, 블록 (406) 은 상수 홀수 계수 {C1, C3 ..., Ck -2} 들 중 하나를 승산하도록 특정적으로 배치된 복수의 승산기를 포함한다. 양 블록은 C45 계수에 의한 승산기를 포함한다.
이러한 본 발명의 특징은 특정 경우 N=32 에 대한 식 (4) 에서 나타나는 트위들 인수
Figure 112010055170968-pct00009
의 위치를 나타내는 도 9 에 의해 예시된다.
Figure 112010055170968-pct00010
는 복소 평면에서 단위원 (unity circle) 을 따라서 분배되고, 45°점선에 대해서 대칭적으로 위치된다. 평범하게 산출될 수 있는 부호를 무시하고, 계수 CQ 및 CI 는 나타난 값 C0 - C8 중 하나를 반드시 취해야만 한다. 45°트위들 인수의 유일한 예외를 통해서, 식 (4) 의 모든 항들은 유한 세트의 상수 {C0, C2, C4, C6, C8} 로부터의 하나의 계수 및 유한 세트의 상수 {C1, C3, C5, C7, C8} 로부터의 다른 계수를 수반한다. 하프 버터플라이 유닛 (205) 의 구조는 이러한 대칭의 이점을 취하도록 설계된다.
도 4 로 다시 복귀하여, 입력 샘플 I, Q 및 K 계수는 부호-크기로서 코딩되는 것이 바람직하다. 결국, 인입 데이터가 부호-크기 포맷이 아닌 경우, 면적의 관점에서 작은 오버헤드를 갖는 I, Q 데이터의 전방에 추가적인 변환 로직이 부가될 수 있다. 데이터 크기와 선택된 계수의 크기가 승산되어 블록 (403 및 406) 에서의 곱 (product) 의 크기를 획득한다. 승산기들이 절대 크기를 다뤄야만 하는 사실로 인해, 내부 토글링 및 동적 전력 소모는 2 의 보수 형태의 수를 트레드 (tread) 하도록 배열된 전통적인 승산기에 비해 훨씬 감소된다.
뱅크 (403 및 406) 에 포함된 상수 값에 의한 승산기는 정수 산술법으로 구현되는 것이 바람직하고 고도로 최적화된다. 0°또는 90°복소 편각을 갖는 평범한 계수가 시프트 (shift) 및 절단 (truncation) 동작으로서 구현되어 면적 및 전력을 더욱 최소화한다. 적절한 경우, 구조를 간략화하고 승산기의 전력 소모를 감소시키기 위해 몇몇 계수는 이론적인 값으로부터 약간 빗나갈 수도 있다.
나타난 예시에서, 하프 버터플라이의 출력은 2 의 보수 형태이다. 403 및 406 에서 계산된 곱이 부호-크기 형태로 인코딩되기 때문에, 데이터가 가산기 (410) 에 의해 조합되기 전에, 변환 블록 (409) 이 필요한 변환을 수행한다. 구성 포트 (407) 는 하프 버터플라이가 복소 DFT 결과 (209) 의 실수부 (I?CI - Q?CQ) 또는 허수부 (I?CQ + Q?CI) 를 계산할지를 선택한다. 또한, 2 의 보수 형태로 데이터를 변환시키기 전에 데이터의 부호 및 계수의 부호를 인지하는 것이 필요하다. 또한, 변환 블록 (409) 을 바이패싱하여 출력의 부호-크기 코딩을 갖는 것이 가능하다. 가산기 (410) 의 출력은 식 (4) 의 DFT 의 실수부 또는 허수부이다. 변형에 따르면, 값 I, Q 는 부호화되지 않은 정수로서 나타나고, 뱅크 (403 및 406) 에서의 승산기는 부호화되지 않은 모드로 동작한다. 개별적으로 산출된 결과의 부호는 2 의 보수 유닛 (408) 에서 작동함으로써 설정된다.
뱅크 (403 및 406) 에 포함된 상수-승산기 모듈들 각각은 제어 유닛 (303) 으로부터 구성 버스 (402 및 405) 에 의해 동적으로 활성화된다. 이에 따라, 현재의 DFT 라인 계산에 진정으로 필요한 회로의 부분만이 임의의 주어진 순간에 활성되고, 뱅크 (403 및 406) 내의 승산기는 대부분의 시간 동안 비활성 정지 상태로 된다. 바람직하게, 식 (4) 에서 항들의 합산 순서는 재배열 (스크램블링) 될 수 있다.
도 5 는 짝수 계수 뱅크 (403) 에 대한 가능한 구조를 나타낸다. 입력 신호 (501) 는 다중화기 (401) (도 4) 에 의해 수행된 I 와 Q 사이에서 선택되는 결과이다. 이 신호 (501) 는 모든 (K+1)/2 상수-승산기 모듈 (503) 에 대해 공통이다. 현재 DFT 라인 계산에 진정으로 필요한 회로의 부분만을 활성화시킬 가능성은 402 로부터의 제어 신호를 사용하여 수행되고, (Sel_I_O, Sel_Q_O, ..., Sel_I_K-1, Sel_Q_K-1) 로서 열거된다.
홀수 계수 뱅크에 대한 유사한 접근법이 도 6 에 도시된다. 입력 신호 (601) 는 다중화기 (404) 에 의해 수행된 I 와 Q 사이에서 선택되는 결과이다. 이 신호 (601) 는 406 내에서 모든 (K+1)/2 상수-승산기 모듈에 대해 공통이다. 현재의 DFT 라인 계산에 진정으로 필요한 회로의 부분만을 활성화시킬 가능성은 405 로부터의 제어 신호를 사용하여 수행되고, (Sel_I_1, Sel_Q_1, ..., Sel_I_K-2, Sel_Q_K-2, Sel_I_45°, Sel_Q_45°) 로서 열거된다. 45°에 대한 계수를 갖는 승산 유닛 (605) 은 또한 403 에서 이용가능하지만, 406 에서 복제되어야만 한다. 또한, 403 으로부터 어떤 계수가 406 내의 605 로서 마킹되는지는 채택된 계수의 코딩에 기초한다.
(각각의 계수 뱅크 (403 및 406) 로부터 하나씩) 단지 2 개의 계수가 필요하고, 이에 따라, 단지 2 개의 상수-승산기 유닛이 동시에 활성화된다. 다른 상수-승산기 블록은 0 으로 된 입력을 갖는다 (조합 로직 토글링으로 인한 소비 없음).
이러한 접근법은, 표준 승산기 접근법과 비교하면 약 30% 의 토글링 활동을 감소시킨다. 또한, 이 아키텍쳐는 전체적으로 조합되고, 어떠한 파이프라인 스테이지도 그 내부에 존재하지 않는다. 통상적으로, 디지털 회로내의 파이프라인은 면적 및 전력 소비의 관점에서 최적화되지 않은 간단한 플립-플롭 기반 레지스터를 사용하여 구현된다. 이들을 회피하기 위해, 면적 및 전력이 최소화된다.
계산되고 있는 DFT 라인의 순서는 제어 로직 블록 (303 및 304) 내부에서 관리된다. CPU 에 대한 후-처리 산출 부하가 감소되도록, DFT 라인은 프로그래밍 가능한 순서로 계산될 수 있다.
도 5 및 도 6 을 참조하고, CI=CO 및 CQ=C1 를 가정하면, 식 (4) 의 계산은 이하 설명되는 2 단계로 수행될 수 있다.
● 단계 1 : 식 (4) 의 실수부 계산 : Sel_I_0=1, Sel_Q_1=1, Sel_I_x=0 (x≠0 인 경우), Sel_Q_x=0 (x≠1 인 경우), Sel_I=1, Sel_Q=1, DFT_Re=1 이면, A=I?C 0 , B=-Q? C 1 임.
● 단계 2 : 식 (4) 의 허수부 계산 : Sel_I_1=1, Sel_Q_0=1, Sel_I_x=0 (x≠1 인 경우), Sel_Q_x=0 (x≠0 인 경우), Sel_I=0, Sel_Q=1, DFT_Re=0 이면, D=Q?C 0 , C=I? C 1 임.
GNSS 수신기 실시형태
DFT 알고리즘은 종래 기술에 일반적으로 공지되어 있고, 기술적 문헌 (technical literature) 에 설명되어 있다. 이하, GNSS 구현에 특정된 양태만이 도 7 및 도 8 을 참조하여 논의될 것이다.
도 7 을 참조하면, GPS 스페이스 비히클 (SV; space vehicle) 의 획득 및 트래킹은 주파수/코드 빈 (705) 의 결정을 요구한다. 이러한 목적으로, 코드 위상 오프셋 빈 (703) 및 도플러 빈 (704) 을 결정하기 위해서는 특정 리소스가 필요하다. 앞서 인용된 파라미터들 중 하나 이상의 파라미터에 대한 어떠한 추정도 없는 경우, 전체 주파수/코드 탐색 스페이스에 걸친 전체 탐색이 수행되어야만 한다.
주파수가 인입 GPS 신호의 모든 가능한 도플러에 걸쳐서 스위핑하고, 코드 위상이 GPS PRN (Pseudo Random Noise) 코드의 1023 개의 가능한 값에 대해 스위핑하는 직렬 탐색 접근법은 GNSS 시스템에서 획득 단계를 위해 널리 사용된 방법이다.
획득 프로세스의 속도를 상승시키는데에는 병렬 주파수 접근법이 사용될 수도 있다. 도 8 에 도시된 수신기 아키텍쳐에서는 주어진 SV 에 대한 PRN 의 국부적으로 발생된 복제 (804) 와 프로세싱된 GNSS 신호 (802) 사이의 상관 (805) 으로부터 발생된 신호의 DFT (806) 룰 계산하는 주파수 영역에서의 병렬 탐색이 수행된다.
수신기로 지칭되는 위성의 가시거리 속도 (line-of-sight velocity) 는 +/-10 KHz 정도의 도플러 효과를 야기한다. 150Hz 의 단계 주파수 단계는 낮은 레벨의 GNSS 신호 시나리오에 요구되는 최소값이다.
상관된 신호 (805) 의 이득은 sinc(x):=sin(x)?x-1 (여기서, x=πfT 임) 포맷을 갖는다. 이러한 sinc 포락선을 DFT 변환 함수에 적용하여, PRN 코드가 완벽하게 배열된 조건 하에서 (도플러 주파수에 해당하는) 중심 주파수 라인 f 의 예외를 갖는 진폭 손실에 의해 모든 DFT 라인이 영향을 받을 것이라는 것이 명백하게 된다. 그 밖에, 어떠한 피크도 존재하지 않는다.
전술한 특성들은 상관기 (805) 로부터 나온 N 개의 데이터 샘플들로부터 감소된 수 M 개의 DFT 라인의 사용을 조정한다.
본 발명은 하드웨어 복잡도 및 전력 소모를 감소시키기 위해 감소된 수의 스펙트럼 라인의 DFT 프로세서에 더 관련된다.
DFT 알고리즘의 분석 및 SV 내비게이션에 특정된 적절한 설계 제약의 주의깊은 적용에 의해, GNSS 칩셋내로 주파수-도메인 분석을 효과적으로 임베딩하기 위한 최적화된 하드웨어 아키텍쳐가 실현될 수 있다.

Claims (13)

  1. 복수의 승산기 회로 (503) 들로서, 각각의 승산기 회로는 입력 값에 상이한 상수 계수들의 유한 세트의 미리 정해진 상수 계수 (C0 - C8) 를 승산하도록 배열되고, 상기 미리 정해진 상수 계수 (C0 - C8) 는 DFT 의 트위들 인수 (twiddle factor) 의 실수부 또는 허수부에 대응하고, 상기 승산기들은 2 개의 분리된 뱅크들 (403, 406) 내에 배열되어 있고, 상수 계수에 대한 승산기는 상기 2 개의 뱅크들 (403, 406) 에서 복제되는, 복수의 승산기 회로 (503) 들;
    상기 DFT 의 트위들 인수에 대응하는 상기 승산기들 중, 각각의 뱅크에 하나의 승산기인, 한 쌍의 승산기들을, 활성화시키도록 동작가능하게 배열된, 제어 로직 블록 (303); 및
    상기 한 쌍의 승산기들의 출력들을 합산하거나 또는 감산하여, DFT 항의 상기 실수부 또는 상기 허수부를 획득하도록, 동작가능하게 배열된, 가산기 (410) 를 포함하는, DFT 변환 산출 디바이스.
  2. 제 1 항에 있어서,
    복수의 DFT 항들을 누산하도록 동작가능하게 배열된, 누산기 (306, 308) 를 더 포함하는, DFT 변환 산출 디바이스.
  3. 제 1 항에 있어서,
    상기 승산기들은 부호/크기 포맷, 또는 부호화되지 않은 정수 포맷의 정수에대해 연산하는, DFT 변환 산출 디바이스.
  4. 제 1 항에 있어서,
    상기 제어 유닛 (303) 에 의해 활성화되지 않은 상기 승산기로의 입력들은 상수값으로 강제되는, DFT 변환 산출 디바이스.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 DFT 변환 산출 디바이스를 더 포함하는, GNSS 수신기에서 무선위치측정 신호 (radiolocalization signal) 를 프로세싱하는, 신호 프로세서.
  6. 제 5 항에 있어서,
    상기 DFT 변환 산출 디바이스는 감소된 DFT 라인 세트를 산출하는데 사용되는, 신호 프로세서.
  7. 복수의 승산기 회로 (503) 들 중 한 쌍의 승산기들의 각각에 입력값의 실수부 및 허수부를 선택적으로 라우팅하는 단계로서, 상기 복수의 승산기 회로 (503) 들 중 각각의 승산기 회로는 입력 값에 상이한 상수 계수들의 유한 세트의 미리 정해진 상수 계수 (C0 - C8) 를 승산하도록 배열되어 있고, 상기 미리 정해진 상수 계수 (C0 - C8) 는 DFT 의 트위들 인수 (twiddle factor) 의 실수부 또는 허수부에 대응하고, 상기 승산기들은 2 개의 분리된 뱅크들 (403, 406) 에 배열되어 있고, 상수 계수에 대한 승산기는 상기 2 개의 뱅크들 (403, 406) 에서 복제되는, 상기 선택적으로 라우팅하는 단계;
    상기 유한 세트의 계수 각각에 상기 입력값의 실수부 및 허수부를 승산하는 단계; 및
    DFT 항의 상기 실수부 또는 상기 허수부를 획득하도록, 상기 한 쌍의 승산기들의 출력들을 합산 또는 감산하는 단계를 포함하는, DFT 변환 산출 방법.
  8. 제 7 항에 있어서,
    상기 한 쌍의 승산기들은 상수 계수에 대해 복제된 승산기들을 포함하는, DFT 변환 산출 방법.
  9. 제 8 항에 있어서,
    복수의 DFT 항들을 누산하는 단계를 더 포함하는, DFT 변환 산출 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
KR1020107018963A 2008-01-31 2008-05-15 Dft 계산용 디바이스 KR101205256B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP08150926.7 2008-01-31
EP08150926 2008-01-31
PCT/EP2008/056001 WO2009095087A2 (en) 2008-01-31 2008-05-15 Device for dft calculation

Publications (2)

Publication Number Publication Date
KR20100120172A KR20100120172A (ko) 2010-11-12
KR101205256B1 true KR101205256B1 (ko) 2012-11-27

Family

ID=40913324

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107018963A KR101205256B1 (ko) 2008-01-31 2008-05-15 Dft 계산용 디바이스

Country Status (6)

Country Link
US (1) US8566380B2 (ko)
EP (1) EP2250581B1 (ko)
JP (1) JP5269911B2 (ko)
KR (1) KR101205256B1 (ko)
CN (1) CN101933012B (ko)
WO (1) WO2009095087A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008001191A2 (en) * 2006-06-27 2008-01-03 Nokia Corporation Optimized multi-mode dft implementation
US8214418B2 (en) * 2007-11-20 2012-07-03 Harris Corporation Method for combining binary numbers in environments having limited bit widths and apparatus therefor
US8438204B2 (en) * 2008-12-18 2013-05-07 Lsi Corporation Apparatus for calculating an N-point discrete fourier transform
JP5724739B2 (ja) * 2011-08-09 2015-05-27 富士通株式会社 離散フーリエ演算装置、無線通信装置及び離散フーリエ演算方法
CN102830127B (zh) * 2012-08-21 2014-08-06 西安工程大学 基于dft频率采样的纱条波谱分析ip软核及其测试方法
JP6999640B2 (ja) 2016-07-22 2022-01-18 ユー-ブロックス、アクチエンゲゼルシャフト 全地球航法衛星システム(gnss)信号追跡
CN111079075B (zh) * 2019-12-19 2023-03-14 网络通信与安全紫金山实验室 一种非2-基dft优化的信号处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236808A1 (en) 2003-05-19 2004-11-25 Industrial Technology Research Institute Method and apparatus of constructing a hardware architecture for transform functions

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604721A (en) * 1981-10-13 1986-08-05 Trw Inc. Computer and method for high speed prime factor transform
US4829465A (en) * 1986-06-19 1989-05-09 American Telephone And Telegraph Company, At&T Bell Laboratories High speed cosine transform
US4972358A (en) * 1989-06-08 1990-11-20 General Electric Company Computation of discrete fourier transform using recursive techniques
JP3025750B2 (ja) * 1994-11-30 2000-03-27 三洋電機株式会社 離散コサイン変換回路,離散コサイン逆変換回路,mpegビデオエンコーダ,mpegビデオデコーダ
US6061705A (en) 1998-01-21 2000-05-09 Telefonaktiebolaget Lm Ericsson Power and area efficient fast fourier transform processor
CN1118033C (zh) * 2001-11-23 2003-08-13 清华大学 3780点离散傅里叶变换处理器系统
US6704760B2 (en) * 2002-04-11 2004-03-09 Interdigital Technology Corporation Optimized discrete fourier transform method and apparatus using prime factor algorithm
CN100390782C (zh) * 2005-07-15 2008-05-28 北京大学深圳研究生院 一种实时快速傅立叶变换电路
JP2007221596A (ja) * 2006-02-17 2007-08-30 Matsushita Electric Ind Co Ltd 高速フーリエ変換装置、ofdm通信装置、及びofdm通信のサブキャリア割当方法
ATE450928T1 (de) * 2006-03-22 2009-12-15 Qualcomm Inc Breitband frequenzdiskriminator und funkortungsempfänger
US8356064B1 (en) * 2006-11-07 2013-01-15 Marvell International Ltd. Discrete Fourier transform calculation method and apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236808A1 (en) 2003-05-19 2004-11-25 Industrial Technology Research Institute Method and apparatus of constructing a hardware architecture for transform functions

Also Published As

Publication number Publication date
JP2011511352A (ja) 2011-04-07
EP2250581A2 (en) 2010-11-17
WO2009095087A3 (en) 2010-07-22
EP2250581B1 (en) 2015-09-02
KR20100120172A (ko) 2010-11-12
US20100306298A1 (en) 2010-12-02
CN101933012B (zh) 2013-07-17
JP5269911B2 (ja) 2013-08-21
US8566380B2 (en) 2013-10-22
CN101933012A (zh) 2010-12-29
WO2009095087A2 (en) 2009-08-06

Similar Documents

Publication Publication Date Title
KR101205256B1 (ko) Dft 계산용 디바이스
Leclère et al. Comparison framework of FPGA-based GNSS signals acquisition architectures
US7418066B2 (en) Multi-function device with positioning system and shared processor
US20090013021A1 (en) Variable length fft system and method
Leclere et al. Modified parallel code-phase search for acquisition in presence of sign transition
Zheng A software-based frequency domain parallel acquisition algorithm for GPS signal
Langemeyer et al. A FPGA architecture for real-time processing of variable-length FFTs
Park et al. Implementation of GPGPU based real-time signal acquisition and tacking module for multi-constellation GNSS software receiver
Ferizi et al. Design and implementation of a fixed-point radix-4 FFT optimized for local positioning in wireless sensor networks
US20080191932A1 (en) Method and Device for Correlation Detection in Spread Spectrum Transmission Systems by Fast Fourier Transformation
US20120274512A1 (en) Signal Processing Method, Device and System
CN101498779A (zh) 用于全球导航卫星系统接收器的相关运算系统及其方法
Nguyen et al. An FPGA-based implementation of a pipelined FFT processor for high-speed signal processing applications
JP2006217601A (ja) 地理的局所化システムの位置決め信号を捕捉するための方法、地理的局所化システム用受信機及び上記の方法を実行するためのプログラム命令を含んでいるコンピュータデータ媒体
Garcia-Hernandez et al. Hardware architecture for an audio fingerprinting system
Kurz et al. Comparison of massive-parallel and FFT based acquisition architectures for GNSS-receivers
Lin et al. Acquisition of GPS software receiver using split-radix FFT
Leclère et al. Implementing super-efficient FFTs in Altera FPGAs
Wang et al. Fast GNSS satellite signal acquisition method based on multiple resamplings
Sadaghiani et al. Low complexity multiplierless welch estimator based on memory-based FFT
Shivaramaiah et al. Application of mixed-radix FFT algorithms in multi-band GNSS signal acquisition engines
CN102331584B (zh) 用于全球卫星导航系统的捕获装置的fft处理器模块
Wu et al. A novel correlation architecture of acquisition for GNSS satellite navigation system receiver based on CORDIC algorithm
Yao et al. The optimizations of FFT algorithm in GPS software receiver
Meyer-Bäse et al. Fast discrete Fourier transform computations using the reduced adder graph technique

Legal Events

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

Payment date: 20150930

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 8