KR20010034300A - 파이프라인 고속 푸리에 변환 프로세서 - Google Patents

파이프라인 고속 푸리에 변환 프로세서 Download PDF

Info

Publication number
KR20010034300A
KR20010034300A KR1020007008017A KR20007008017A KR20010034300A KR 20010034300 A KR20010034300 A KR 20010034300A KR 1020007008017 A KR1020007008017 A KR 1020007008017A KR 20007008017 A KR20007008017 A KR 20007008017A KR 20010034300 A KR20010034300 A KR 20010034300A
Authority
KR
South Korea
Prior art keywords
fourier transform
multiplier
fast fourier
twiddle factor
butterfly
Prior art date
Application number
KR1020007008017A
Other languages
English (en)
Other versions
KR100551111B1 (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 KR20010034300A publication Critical patent/KR20010034300A/ko
Application granted granted Critical
Publication of KR100551111B1 publication Critical patent/KR100551111B1/ko

Links

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
    • 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
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

고속 푸리에 변환(FFT) 프로세서는 바람직한 실시예에서 4보다 큰 크기를 갖는 이산 푸리에 변환(DFT) 버터플라이 모듈을 사용하여 구성된다. 제1 실시예에서, FFT 프로세서는 크기 8 버터플라이를 이용한다. 제2 실시예에서, FFT 프로세서는 크기 16 버터플라이를 이용한다. 또한, 저전력 고정 계수 곱셈기가 각 버터플라이 모듈에서 자명하지 않은 트위들 인수 곱셈을 실행하기 위해 이용된다. 상이한 자명하지 않은 트위들 인수 곱셈기의 수는 자명한 및 자명하지 않은 트위들 인수를 분리하고, 복소 평면에서 트위들 인수 대칭성 및/또는 트위들 인수 분해의 장점을 취함으로써 감소된다. 이들 및 다른 인수에 따르면, 본 발명은 최소 전력 및 IC 칩 표면 영역 소비를 갖는 FFT 프로세서의 구성이 가능하게 한다.

Description

파이프라인 고속 푸리에 변환 프로세서{PIPELINED FAST FOURIER TRANSFORM PROCESSOR}
푸리에 변환은 시간 가변 신호를 분석하기 위한 잘 공지되어 있는 기술이다. 간단하게, 푸리에 변환은 시간 가변 포맷으로부터 주파수 가변 포맷으로 신호를 변환시킨다. 역푸리에 변환은 역의 변환을 실행한다. 신호가 정규 시간 주기에서 취해진 일련의 연속적인 신호 샘플에 의해 이산 형태로 표현될 때, 대응하는 푸리에 변환은 이산 푸리에 변환(DFT)으로 칭해진다.
비교적 높은 레벨에서, DFT는 간단한 알고리즘이다. 이러한 알고리즘은 입력 기능의 디지털화된 데이터 포인트를 통해 스텝핑하는 것, 각 데이터 포인트를 사인 및 코사인 함수와 승산하는 것, 및 결과적인 곱, 즉 사인 성분에 대한 하나와 대응하는 누산기에서 코사인 성분에 대한 다른 하나를 합산하는 것으로 이루어진다. 대부분의 데이터 포인트가 이러한 방식으로 처리될 때, 사인 및 코사인 누산기는 처리되는 데이터 포인트의 수로 제산된다. 결과적인 양은 현재 연구되고 있는 주파수의 사인 및 코사인 성분에 대한 평균값이다. 이러한 프로세스는 모든 정수배 주파수에 대해 최대 나이퀴스트(Nyquist) 주파수의 2배와 동일한 주파수까지 반복된다.
더욱 형식적으로, DFT 및 역 DFT는 이하와 같이 정의된다:
여기에서, F(f) = 주파수 성분 또는 변환
f(T) = 시간 기초 데이터 포인트 또는 역 변환
N = 데이터 포인트의 수
T = 이산 시간
f = 이산 주파수
WN= e-j2π/N= Cos(2π/N)-j Sin(2π/N) ≡ "트위들 인수(twiddle factor"이다.
그러므로, 트위들 인수는 복소수이고, 일반적인 경우에, 주파수 영역 및 시간 영역 함수는 모두 복소수이다. 2개의 복소량의 승산은 이하를 산출한다:
항 (A+jB)는 예컨대, 시간 영역 함수로서 간주될 수 있고, 항 (C+jD)는 WN, 즉 WN=Cos(2π/N)+j Sin(2π/N)으로서 간주될 수 있다.
DFT에서의 실질적인 문제점은 계산하는데 시간이 많이 걸린다는 것이다. 실제로, DFT를 실행하는데는 N 데이터 포인트에 대해 대략 N2복소 연산을 실행하는 것이 필요하다. 복소 연산은 사인 및 코사인 함수를 평가하는 것, 데이터 포인트로 곱셈하는 것, 및 이들 적을 가산하는 것을 포함한다. 이러한 문제점은 특히 실시간에 변환하기 위한 수만 데이터 포인트가 존재할 수 있는 응용에서 특히 곤란하다. 반면에, 데이터 포인트의 수가 감소되는 경우, 연산의 수는 제곱으로서 감소된다. 따라서, 데이터 시퀀스를 2개의 동일한 부분으로 분할하고 각 부분을 분리하여 처리하는 것은 연산의 계산을 1/2로 절감한다. 이것은 고속 푸리에 변환(FFT)을 전개하는데 사용되는 방법이다. 입력 데이터 어레이는 계산량을 감소시키도록 더욱 작은 어레이로 분할되고, 이어서 이러한 변환 결과가 실제로 작은 FFT인 버터플라이로 칭해지는 특성 크로스오버 패턴을 사용하여 재결합된다. FFT에서 버터플라이의 크기는 FFT의 기수(R)라 칭해진다. 따라서, 큰 DFT가 복수의 작은 DFT 예컨대,2 또는 4의 크기를 갖는 버터플라이로 대체되는 경우, 복소 연산의 수는 실질적으로 감소된다. DFT의 크기가 감소됨에 따라 연산의 수가 감소될지라도, DFT 크기 감소는 대략 N 연산을 필요로 하며, 따라서 FFT에 대한 일반적인 NlogN 계산 복잡성을 필요로 한다.
도 1a는 N=8 데이터 포인트 어레이 D0-D7에 대한 예시적인 FFT 버터플라이 신호 흐름도를 도시한다. 어레이의 우수 성분은 제1의 4 포인트 DFT(8 포인트 DFT의 1/2 크기)에 입력되고, 기수 데이터 포인트 D1, D2, D5 및 D7은 제2의 4 포인트 DFT에 입력된다. 2개의 4 포인트 어레이의 출력은 4개의 주파수 성분의 각 세트를 2회 반복한 후 기수 및 우수 세트를 함께 합산함으로써 8 포인트 DFT에 대응하는 8 포인트 시퀀스를 발생하도록 결합된다. 그러나, 합산하기 전에, 기수 DFT 주파수 성분은 시간 영역에서의 기수항이 하나의 데이터 포인트에 의해 시프트되기 때문에 위상 시프트되어야 한다. 위상 시프트는 여러 가지 블록으로 표시되고, π/4 라디언의 증가시에 0에서 2π까지의 범위에 있다.
이러한 분할 및 점유 방법은 각각의 4 포인트 DFT가 2개의 2 포인트 DFT로 분할되는 도 1b에 도시되어 있는 바와 같이 확장될 수 있다. 물론, 4개의 2 포인트 DFT가 전술한 바와 같이 하나의 8 포인트 DFT로 결합되는 2개의 4 포인트 DFT로 결합되어야 한다. 총처리 시간은 대략 1/2만큼 다시 감소된다.
따라서, 8 포인트 FFT 입력 데이터는 2 또는 4 포인트 이산 푸리에 변환이 실행되는 단지 2개 또는 4개의 데이터 포인트의 서브세트로 분할된다. 이 변환 출력은 적절한 트위들 인수로 곱셈되고, 이어서 2 또는 4 포인트 푸리에 변환에 따르게 된다.
본 발명은 고속 푸리에 변환(FFT) 프로세서에 관한 것으로, 특히 전력 소비 및 집적 회로 면적 요구를 최적으로 최소화시키는 FFT 파이프라인 프로세서 구조에 관한 것이다.
도 1a는 2개의 4 포인트 DFT가 8 포인트 DFT 연산을 실행하는데 이용되는 고속 푸리에 변환(FFT) 버터플라이 흐름도.
도 1b는 8 포인트 DFT를 수행하는 이중 버터플라이 FFT 흐름도.
도 2a는 N=256에 대한 기수 22단일 지연 피드백(SDF) 파이프라인 FFT 프로세서 구조를 도시한 도면.
도 2b는 도 2a에 도시되어 있는 기수 22SDF 파이프라인 FFT 프로세서에 사용되는 제1의 2 포인트 버터플라이 구조를 도시한 도면.
도 2c는 도 2a에 도시되어 있는 기수 22SDF 파이프라인 FFT 프로세서에 사용되는 제2 버터플라이 구조를 도시한 도면.
도 3은 본 발명의 하나의 실시예에 따르는 기수 23단일 경로 지연 피드백 실시간 파이프라인 프로세서를 도시한 도면.
도 4는 도 3에 도시되어 있는 기수 23FFT를 수행하는데 사용되는 기수 23버터플라이를 도시한 도면.
도 5는 복소 평면의 기수 8 및 기수 16 DFT 버터플라이 모듈에 대한 트위들 인수를 도시한 벡터도.
도 6은 고정 계수 곱셈기를 사용하여 수행되는 도 4에 도시되어 있는 기수 23버터플라이를 도시한 도면.
도 7은 W8 1트위들 인수 곱셈을 수행하는 하나의 예시적인 고정 계수 곱셈기를 도시한 도면.
도 8은 본 발명의 또 다른 바람직한 실시예에 따르는 기수 24단일 경로 지연 피드백 파이프라인 FFT 프로세서를 도시한 도면.
도 9a는 도 8의 기수 24파이프라인 FFT 프로세서의 각 처리 단계에서 사용되는 16 포인트 FFT에 대응하는 기수 24버터플라이 모듈을 도시한 도면.
도 9b는 곱셈기 없이 수행되는 도 9a에 도시되어 있는 자명한 트위들 인수 곱셈을 도시한 도면.
도 9c는 도 9a에 도시되어 있는 기수 24버터플라이에 대한 여러 가지 자명하지 않은 기수 16 트위들 인수 곱셈의 고정 계수 곱셈기 수행을 도시한 도면.
도 10은 여러 가지 기수 16 트위들 인수에 대한 곱셈을 수행하는 하나의 예시적인 고정 계수 곱셈기를 도시한 도면.
도 11은 상이한 기수 FFT 프로세서를 사용하여 수행되는 4096 포인트 FFT에 대한 FFT 전력 소비를 도시한 그래프.
도 12는 상이한 기수 FFT 프로세서를 사용하여 수행되는 4096 FFT에 대한 FFT 집적 회로(IC) 영역 소비를 도시한 그래프.
실시간에 고속 디지털 신호의 FFT 계산은 다수의 신호 처리 시스템 및 응용에서 중요하다. 비대칭 디지털 가입자 라인(ADSL), 디지털 오디오 방송(DAB), 디지털 비디오 방송(DVB), 직교 주파수 분할 다중화(OFDM)가 소나(sonar), 레이더, 블록 기초 필터링 및 고속 컨벌루션(convolution), 1/10 필터 뱅크 중 하나인 멀티 캐리어 변조(MCM) 스켐(scheme), 자기 기억, 반향 소거기 및 다중 경로 등화를 위한 등화기가 고속 FFT 응용의 예들이다. FFT 프로세서는 또한 예컨대, 전력 소비 및 IC 칩 크기가 모두 최소화되는 디지털 이동 셀룰러 무선 시스템에서의 응용을 발견한다. 전력 소비가 증가하면 더 많은 열이 생성된다. 칩 크기에 대한 상한이 존재하고, 또한 얼마나 많은 전력이 특정 IC 밀폐에 사용될 수 있는지에 대한 상한이 존재한다. 감소된 전력 소비는 칩의 더 저렴한 IC 밀폐를 사용할 수 있게 한다. 이들은 FFT 프로세서와 같은 하나의 칩 처리 장치를 제조할 때 고려하는 가장 중요한 인자들이다.
물론, 처리 속도가 예컨대, 실시간 응용에 대해 중요하지만, 전력 소비는 또한 실행되는 곱셈, 덧셈 및 레지스터 연산의 수에 따라 증가한다. IC 칩 영역은 사용되는 곱셈기, 가산기 및 레지스터와 같은 하드웨어 성분의 수에 따라 증가한다. 본 발명의 목적은 IC 칩 영역 및 전력 소비를 최소화하기 위해 실행되는 연산의 양 및 성분의 수를 최소화하는 것이다.
속도를 증가시키고/시키거나 전력 소비 및 IC 칩 영역 요구를 최소화하기 위한 다수의 상이한 방법이 존재하고 있다. 가장 성공적인 방법중 하나는 프로세스를 파이프라인하는 것이다. 파이프라인 프로세서는 계산 로드를 병렬 처리를 허용하는 연속적인 단계로 분할한다. 근본적으로, 파이프라인 연산은 프로세서의 선행 단계로부터 수득된 부분적인 결과가 지연 없이 후속 단계에서 즉시 사용되게 한다. 실시간 파이프라인 프로세서의 처리 속도는 입력 데이터 속도, 즉 연속적인 연산에 대한 데이터 포착 속도와 일치해야 한다. 이것은 데이터 포착 속도가 사이클당 하나의 샘플이기 때문에, FFT 파이프라인 프로세서가 N 클록 사이클에서 N 길이 DFT를 계산해야 한다는 것을 의미한다.
초대규모 집적(VLSI)을 위한 하나의 제안된 파이프라인 FFT 구조는 Shousheng He의 명의의 1997년 5월 29에 공개된 WO 97/19412호에 개시되어 있다. 제안된 파이프라인 FFT 구조는 트위들 인수가 기수 4 구조를 형성하도록 분해된 단일 경로, 지연 피드백(SDF), 기수 2 FFT이다. 기수 22은 기수 4 알고리즘과 동일한 곱셈 복잡성을 갖지만, 기수 2 버터플라이 구조를 유지한다.
어떻게 총 곱셈기를 일반적이고 자명하지 않은 곱셈기로 분해하는지의 수학적인 상세는 WO 97/19412호에 개시되어 있다. 구조적으로, He의 것과 같은 실시간 파이프라인 FFT 프로세서는 256 데이터 포인트, 즉 N=256에 대하여 도 2a에 도시되어 있다. 특히, 입력 데이터 시퀀스는 한 쌍의 버터플라이 유닛(9, 10)의 제1 쌍으로 전달된다. 128 워드 피드백 레지스터(1)는 버터플라이(9)의 출력을 그 입력에 링크한다. 제2 버터플라이 유닛(10)은 64 워드 피드백 레지스터(2)를 갖는다. 곱셈기(17)는 버터플라이 유닛(9, 10)을 포함하는 프로세서의 제1단을 버터플라이 유닛(11, 12)을 포함하는 프로세서의 제2단에 링크하고, 트위들 인수 W1(n)으로 데이터 스트림을 곱셈한다. 버터플라이 유닛(9, 11, 13, 15)의 구조는 각각 도 2b 및 도 2c에 도시되어 있는 바와 같은 버터플라이 유닛(10, 12, 14, 16)과 상이하다. 버터플라이 유닛(11, 12)에는 각각 32 워드 및 16 워드 용량을 갖는 피드백 레지스터(3, 4)가 제공된다. 프로세서의 제2 및 제3단 사이에 위치되는 곱셈기(17)는 데이터 스트림을 트위들 인수 W2(n)으로 곱셈한다. 프로세서의 제3단은 버터플라이(13, 14), 8 워드 피드백 레지스터(5) 및 4 워드 피드백 레지스터(6)를 포함한다. 프로세서의 제3 및 제4단 사이에 위치되는 곱셈기(17)는 데이터 스트림을 트위들 인수 W3(n)으로 곱셈한다. 프로세서의 제4단은 버터플라이 유닛(15, 16), 2 워드 피드백 레지스터(7) 및 1 워드 피드백 레지스터(8)를 포함한다. 출력 시퀀스 X(k)는 프로세서의 제4단의 출력으로부터 도출된다. 클록 신호(19)에 의해 클록킹되는 이진 카운터(18)는 프로세서의 각 단 사이에 사용되는 트위들 인수에 대한 동기화 제어기 및 어드레스 카운터로서 동작한다. 도 2b에 도시되어 있는 유형 BF2Ⅰ 버터플라이는 2개의 가산기(21), 2개의 감산기(22) 및 4개의 멀티플렉서(23)를 포함한다. 멀티플렉서의 동작은 제어 신호(27)에 의해 제어된다. 도 2c에 도시되어 있는 유형 BF2Ⅱ 버터플라이는 유형 BF2Ⅰ 버터플라이와 구성상 유사하지만, 2×2 정류자(26) 및 논리 게이트(24), 즉 하나의 반전 입력을 갖는 AND 게이트를 포함한다. 제어 신호(25)는 AND 게이트(24)의 반전 입력에 인가되고, 멀티플렉서(23)에 또한 인가되는 제어 신호(27)는 AND 게이트(24)의 비반전 입력(24)에 인가된다. AND 게이트(24)로부터의 출력은 정류자(26)를 구동시킨다.
도 2a의 기수 22단일 지연 피드백 FFT 프로세서의 연산은 이하와 같다. 제1의 N/2 사이클에서, 제1 버터플라이 모듈의 2대1 멀티플렉서(23)가 위치 0으로 스위치하고, 버터플라이는 유휴 상태이다. 좌측으로부터의 입력 데이터는 피드백 시프트 레지스터가 충전될 때까지 피드백 시프트 레지스트로 전송된다. 후속 N/2 사이클에서, 멀티플렉서(23)는 위치 1로 변화하고, 버터플라이 유닛은 시프트 레지스터에 저장된 데이터 및 착신 데이터와 함께 2 포인트 DFT를 계산한다.
버터플라이 출력 Z1(n)은 트위들 인수를 인가하도록 전송되고, Z1(n+N/2)은 시간 시퀀스의 후속 프레임의 제1의 1/2이 로드될 때 후속 N/2 사이클에서 다중화되도록 시프트 레지스터에 다시 전송된다.
제2 버터플라이의 동작은 버터플라이 입력 시퀀스의 거리가 정확히 N/4인 것을 제외하고, 제1 버터플라이의 동작과 유사하며, 자명한 트위들 인수 곱셈이 정류자(26) 및 제어된 덧셈/뺄셈 연산에 의해 실수 허수 교환에 의해 수행된다. 이것은 동기화 카운터(18)로부터 2 비트 제어 신호(25, 27)를 요구한다. 데이터는 이어서 75% 유용성에서 작업하는 완전 복소수 곱셈기(17)를 통과하여 기수 4 FFT 워드 바이 워드(word-by-word)의 제1 레벨의 결과를 산출한다. 추가의 처리는 각 연속 버터플라이 단계에서 입력 데이터의 거리를 1/2만큼 감소시키면서 이러한 패턴을 반복한다. N-1 클록 사이클 후에, 완전한 DFT 변환 결과 X(k)는 비트 반전 차수로 출력된다. 변환의 후속 프레임은 프로세서의 각 단에서의 파이프라인 처리로 인해 중지 없이 처리된다.
He의 WO 97/19412호 출원은 이러한 기수 22SDF FFT 프로세서 구조가 파이프라인 FFT 계산에 가장 적합하다는 것을 주장한다. 그러나, FFT 프로세서 IC 영역 및 전력 소비의 더욱 큰 감소는 본 발명을 이용하여 달성될 수 있다.
복수의 작은 DFT(즉, FFT 분할 및 점유 원리)를 사용하는 큰 DFT 의 계산은 반복 또는 파이프라인 구조로 수행될 수 있는 다단계 프로세스이다. 이러한 분리 및 점유 방법이 게산을 절감할지라도, 더 작은 단계 사이에서 실행되는 증가된 수의 복잡한 트위들 인수 곱셈이 존재한다. 2 포인트 또는 4 포인트 DFT/버터플라이는 곱셈기 계수가 간단히 ±1 또는 j이기 때문에 각 버터플라이에서 실행되는 트위들 인수 곱셈이 일반적이라는 관점에서 바람직하다. 환언하면, 복소수 곱셈 회로가 2 또는 4 포인트 DFT에서의 개별 변환에서 즉 자명한 곱셈에서 불필요하다. 자명한 곱셈은 연산 없이 데이터를 통과시키거나 부호를 변화시키거나 실수 및 허수 성분을 스위칭함으로써 간단하게 곱셈기 없이 실행된다. 환언하면, 자명하지 않은 계산적으로 고가의 곱셈은 방지된다. 그러나, 실질적인 수의 자명하지 않은 복소수 곱셈은 FFT의 2 포인트 및 4 포인트 DFT 버터플라이 단 사이의 트위들 인수 곱셈에 필요하다.
종래의 견해는 FFT의 기수(즉, 기본 DFT 계산 유닛의 크기)가 8, 16 및 그 이상(즉, 분할 및 점유 방법에서 변환의 8, 16 또는 그 이상의 수의 브랜치(branch)로의 분할)으로 증가할수록, 각 높은 기수 버터플라이(높은 기수 FFT의 버터플라이)에서 실행되어야 하는 자명하지 않은 곱셈에 관한 계산 비용이 증가하여 버터플라이 사이의 감소된 수의 트위들 인수 곱셈에 의해 수득되는 이득을 소거한다는 것을 유지한다. 본 발명자는 이것이 반드시 참이 아니라는 것을 발견하였다. 종래의 견해와 대조적으로, 본 발명은 4보다 큰 기수를 갖는 FFT의 비교적 작은 수의 저전력 고정 계수 곱셈기를 사용하는 매우 강력하고 IC 칩 영역 효율적인 FFT 프로세서를 제공한다. 비교적 작은 수의 고정 계수 곱셈기만의 사용은 임의의 트위들 인수 관계의 장점을 취함으로써 달성된다(이하의 상세한 설명에서 설명됨).
따라서, 본 발명은 높은 기수인 동시에 최소 전력으로 고속 푸리에 변환 동작을 효율적으로 실행하도록 최소 집적 회로 영역만을 사용하는 고속 푸리에 변환(FFT) 프로세서에 관한 것이다. 바람직하게는, 본 발명은 4보다 큰 기수를 갖는 임의의 FFT 구조에 이용된다. 예시적인 실시예는 실시간 파이프라인 FFT 프로세서 구조의 상황에서 8 또는 16의 크기를 갖는 버터플라이 모듈을 사용한다. 기수 8 수행을 위해, FFT 프로세서는 기수 23버터플라이 처리 모듈을 사용하여 구성된다. 기수 16 수행을 위해, FFT 프로세서는 기수 24버터플라이 처리 모듈을 사용하여 구성된다.
기수 23으로서 수행되는 기수 8 실시예에서, 각 버터플라이 모듈은 파이프라인 방식으로 함께 결합된 3개의 2 포인트 버터플라이 유닛을 사용하여 수행된다. 입력 데이터 시퀀스는 3개의 버터플라이 유닛중 하나에 인가되고, 푸리에 변환된 데이터 시퀀스를 발생하도록 3개의 파이프라인 버터플라이 유닛을 통해 처리된다. 각 버터플라이 유닛은 단일 지연 피드백 레지스터를 포함한다. 기수 8 버터플라이 모듈에 필요한 3개의 자명하지 않은 트위들 인수 곱셉(각각의 이들 3개의 자명하지 않은 트위들 인수 곱셈은 버터플라이에서 복수회 실행된다)중에서, 본 발명은 단지 하나의 고정 계수 곱셈기를 사용하여 이들 3개의 곱셈을 수행한다. 기수 24으로서 수행되는 기수 16 실시예에서, 각 버터플라이 모듈은 파이프라인 방식으로 함께 결합된 4개의 2 포인트 버터플라이 유닛을 사용하여 수행된다. 기수 16 버터플라이 모듈에 필요한 9개의 자명하지 않은 트위들 인수 곱셈(각각의 이들 9개의 자명하지 않은 트위들 인수 곱셈은 버터플라이에서 복수회 실행된다)중에서, 본 발명은 단지 2개의 고정 계수 곱셈기 회로를 사용하여 이들 9개의 곱셈기를 수행한다.
이하의 설명에서는, 제한하고자 하는 목적이 아니라 설명하고자 하는 목적으로, 본 발명의 전체적인 이해를 돕기 위해 특정 실시예, 기술, 하드웨어 회로, 장치 등과 같은 특정 설명이 나타나 있다. 예를 들어, 본 발명의 바람직한 실시예는 기수 23및 기수 24파이프라인 FFT 프로세서에 대한 것이다. 그러나, 이들 실시예 및 구조는 단지 예일 뿐이고, 당업자에게는 본 발명이 이들 특정 설명에서 벗어난 다른 실시예로 실시될 수 있음은 명백하다. 다른 예에서, 잘 공지되어 있는 DFT/FFT 방법, 장치 및 기술의 상세한 설명은 불필요한 상세에 의해 본 발명의 설명을 불명료하게 하지 않기 위해 생략된다.
전술한 바와 같이, DFT/FFT 게산에 대한 종래의 견해는 계산의 수가 상당히 감소되지 않기 때문에, 기수 8 또는 16 FFT 프로세서에 의해 거의 수득될 수 없다는 것이다. FFT 분야의 일부 전문가들은 분할 기수 FFT가 길이 2n의 DFT를 계산하기 위해 가장 낮은 공지된 수의 자명하지 않은 연산을 사용하기 때문에, 가장 효율적인 것이라고 주장한다. 종래의 견해 및 이들 주장과는 대조적으로, 본 발명자는 상당한 이득이 높은 기수 FFT 프로세서, 특히 고정 계수 곱셈기를 사용하고 필요한 트위들 인수 곱셈을 수행하기 위해 고정 계수 곱셈기의 실제 수를 감소시키도록 트위들 인수 사이의 임의의 유리한 관계를 이용하는 기수 8 및 기수 16을 사용하여 전력 소비 및 집적 회로(IC) 칩 표면 영역을 감소할 때 이루어질 수 있다는 것을 발견하였다. 실제로, 더 높은 기수에 대한 간단한 외삽이 IC 칩 영역 또는 전력 요구에 관하여 더 큰 효율성을 반드시 유도하지는 않기 때문에, 본 발명은 IC 칩 영역 및 전력 소비 모두에서 상당히 큰 효율성을 달성하기 위해 복소 평면의 트위들 인수 대칭성, 트위들 인수의 분해 및 고정 계수 곱셈기를 이용한다.
예시적인 기수 8 FFT 프로세서
기수 8 FFT 프로세서에 대한 본 발명의 제1 실시예는 N=4096 데이터 포인트 어레이에 대해 도 3에 도시되어 있는 예와 같은 기수 23단일 경로 지연 피드백(SDF) 파이프라인 FFT 프로세서를 사용하여 수행되는 것이 바람직하다. 도 3의 4개의 8 포인트 버터플라이는 각각 3개의 파이프라인 2 포인트 버터플라이를 사용하여 구성된다. 입력 데이터 시퀀스 x(n)은 제1의 기수 23버터플라이 모듈(110)로 입력된다. 각 기수 23(8) BF 모듈로부터의 출력은 모듈로의 입력의 8 포인트 FFt이며, 여기에서 주파수 성분 0-7은 비트 반전 순서 0, 4, 2, 6, 1, 5, 3, 7로 출력된다. 이러한 출력은 제1 트위들 인수 곱셈기 W4096 n*k와의 곱셈을 위해 곱셈기(200)에 결합되며, 여기에서 n은 0에서 (4096/8-1)=511로 진행하는 n, k의 각 값에 대해 비트 반전 순서(상기 참조)로 0에서 7로 진행한다. 따라서, 약 1/8(512)가 자명한 4096 트위들 인수값은 트위들 ROM(260)에 저장된다.
트위들 적(積)은 제2의 기수 23버터플라이 모듈(120)에 인가되고, 출력 시퀀스는 제2 트위들 인수 곱셈기 W512 n*k를 갖는 곱셈기(220)에서 곱셈되며, 여기에서 n은 0에서 (4096/82-1)=63로 진행하는 n, k의 각 값에 대해 비트 반전 순서(상기 참조)로 0에서 7로 진행한다. 약 1/8이 자명한 4096 트위들 인수값은 트위들 ROM(270)에 저장된다.
트위들 적(積)은 제3의 기수 23버터플라이 모듈(140)에서 처리된다. 그 출력은 제3 트위들 인수 곱셈기 W64 n*k로 곱셈기(240)에서 곱셈되며, 여기에서 n은 0에서 (4096/83-1)=7로 진행하는 n, k의 각 값에 대해 비트 반전 순서(상기 참조)로 0에서 7로 진행하고, 그 값은 트위들 ROM(280)에 저장된다. 트위들 적(積)은 푸리에 변환된 출력 시퀀스 X(k)를 산출하도록 최종 기수 23버터플라이 모듈(160)에서 처리된다.
각각의 버터플라이 모듈(110, 120, 140, 160)은 3개의 피드백 경로를 포함한다. 특히, 버터플라이 모듈(110)은 2048 워드 피드백 레지스터를 갖는 제1 피드백 경로, 1024 워드 피드백 레지스터를 갖는 제2 피드백 경로 및 512 워드 피드백 레지스터(300)를 갖는 제3 피드백 경로를 포함한다. 버터플라이 모듈(120)은 256 워드 레지스터(440)를 포함하는 제1 피드백 경로, 128 워드 피드백 레지스터(420)를 포함하는 제2 피드백 경로 및 64 워드 레지스터(400)를 포함하는 제3 피드백 경로를 포함한다. 제3 버터플라이 모듈(140)은 32 워드 레지스터(540)를 포함하는 제1 피드백 경로, 16 워드 레지스터(520)를 포함하는 제2 피드백 경로 및 8 워드 레지스터(500)를 포함하는 제3 피드백 경로를 포함한다. 버터플라이 모듈(160)은 4 워드 피드백 레지스터(640)를 포함하는 제1 피드백 경로, 2 워드 피드백 레지스터(620)를 포함하는 제2 피드백 경로 및 1 워드 피드백 레지스터(600)를 포함하는 제3 피드백 경로를 포함한다. 이진 카운터(820)는 클록 신호(800)에 의해 클록킹된다. 이진 카운터는 FFT 프로세서의 여러 가지 단 사이에 사용되는 총 인수에 대한 동기화 제어기 및 어드레스 카운터로서 작용한다. 여러 가지 피드백 레지스터는 지연의 X 샘플을 제공하므로, 데이터가 상이한 회수로 처리될 수 있다.
버터플라이 모듈(110, 120, 140, 160)의 각각의 하나는 3개의 파이프라인 2 포인트 버터플라이 유닛(BF2)을 포함한다. 각 버터플라이 모듈은 기수 8(즉, 8 포인트) FFT 알고리즘을 수행하지만, 기수 8 버터플라이는 3개의 캐스케이드(cascaded) 기수 2 버터플라이 유닛으로 분해된다. 버터플라이 모듈(160)은 예컨대, 제2 버터플라이 유닛(160b)에 결합되고 차례로 제3 버터플라이 유닛(160c)에 결합되는 제1 버터플라이 유닛(160a)를 포함한다. 각 버터플라이 유닛(160a-160c)의 내부 구조는 도 2a에 도시되어 있는 것과 유사할 수 있다. 다른 버터플라이 수행은 실수/허수 시프트 및 덧셈/뺄셈 시프트에 의해 j 및 -1의 곱셈을 실행하도록 도 2b에 도시되어 있는 구조를 이용할 수 있다. 그러나, 자명한 곱셈은 다른 방법을 사용하여 수행될 수 있다.
각 버터플라이 유닛은 각각 타이밍 펄스 2, 1, 0을 사용하는 어드레스 카운터 및 동기화 제어기에 의해 클록킹된다. 각 버터플라이 유닛은 단일 경로 피드백 지연 루프 및 레지스터를 포함한다. 버터플라이 유닛(160a)은 4 워드 피드백 레지스터(64)를 포함한다. 버터플라이 유닛(160b)은 2 워드 피드백 레지스터(620)를 포함하고, 버터플라이 유닛(160c)은 1 워드 피드백 레지스터(600)를 포함한다.
도 4는 크기 4X, 2X, X의 피드백 레지스터를 사용하는 임의의 기수 23버터플라이 유닛에 대해 일반화될 수 있다. 시퀀스 또는 계수는 데이터가 도 4에 도시되어 있는 바와 같이 곱셈기를 통과할 때로 곱해지는 값이다. 시퀀스는 후속 값으로 변화하기 전에 X회 처리된다. X의 값은 파이프라인 체인내의 기수 8 버터플라이의 위치에 의존한다. 가장 우측 모듈(160)에 대해서 X=1이고, 가장 좌측 모듈(110)에 대해서 X=512이며, 모듈(140)에 대해서 X=64이다.
도 1a에 도시되어 있는 버터플라이 구조를 상기하면, 다수의 버터플라이 유닛 출력은 +1, -1, +j, -j를 포함하는 자명한 곱셈기에 의해 간단하게 곱셈된다. 그러나, 이들 자명한 곱셈은 연산, 부호 변화 또는 실수/허수 성분 교환을 사용하지 않고 (곱셈기 없이) 수행된다. 자명하지 않은 트위들 인수 곱셈(도 2a에 도시되어 있는 W1(n), W2(n), W3(n)과 같은)은 버터플라이 모듈 사이에서 동적 곱셈기(도 2a의 동적 곱셈기(17)와 같은)에 의해 실행된다.
따라서, 종래의 FFT 프로세서는 트위들 인수 곱셈을 실행하기 위해 동적 곱셈기를 이용한다. 동적 곱셈기는 동적 곱셈기가 입력 데이터 워드 A 및 계수 워드 B 사이에서 곱셈을 실행하는 경우, 워드 B의 수치는 가상적으로 임의의 값으로 변화할 수 있다는 의미로 동적이다. 상이한 트위들 인수 게수값으로 출력 시퀀스를 곱셈에 관하여 신축적이지만, 동적 곱셈기는 비교적 작은 양의 IC 표면 영역을 사용하여 수행될 수 있을지라도 상당한 양의 전력을 소비한다. 고정 계수 곱셈기에서, 워드 B의 수치는 일정하다.
실제로, 이진수의 곱셈은 곱셈될 2개의 이진 데이터 워드의 여러 가지 버전을 시프트한 후 시프트된 버전을 함께 덧셈함으로써 수행된다. 하나의 데이터 워드가 고정 계수 곱셈기에 대해 공지되어 있기 때문에, 곱셈기는 임의의 다른 곱셈을 실행할 필요는 없다. 그 결과, 고정 계수 곱셈기는 동적 곱셈기에 사용되는 하드웨어의 단지 약 1/2만 포함한다. 더욱이, 공지된데이터 워드는 매우 효율적인 포맷으로 재코딩될 수 있으므로, 고정 계수 전력 소비는 동적 곱셈기와 비교하여 상당히 감소된다. 고정 계수 곱셈기의 결점은 분리 곱셈기가 각각의 상이한 계수에 대해 필요하다는 것이다. 결국, IC 칩 표면 영역은 상이한 고정 계수 곱셈기의 수가 증가함에 따라 소비된다.
버터플라이 모듈의 크기가 8 및 16으로 증가할수록, 버터플라이 모듈 사이의 트위들 인수 곱셈기의 수는 감소한다. 그러나, 트위들 인수로 곱셈되어야 하는 곱셈기를 통과하는 데이터의 백분율은 증가한다. 또한, 각 버터플라이 모듈에서 실행되는 트위들 인수 곱셈의 수도 증가한다. 기수 4 FFt에 대하여, 각각의 4 포인트 버터플라이 모듈 사이를 통과하는 데이터 포인트의 75%는 트위들 인수로 곱셈되어야 한다. 그러한 백분율은 기수 8 FFT에 대해 87.5%까지 및 기수 16 FFT에 대해 93.75%까지 증가한다.
버터플라이 모듈 사이의 동적 곱셈기에 의해 실행되는 트위들 인수 곱셈의 감소된 수 및 증가된 기수 FFT에 대한 각 버터플라이 모듈내에서의 트위들 인수 곱셈의 수의 증가의 순수 효과는 실행되는 총 수의 곱셈에서의 비교적 작은 감소이다. 더 높은 기수 FFT의 버터플라이 모듈에 사용되는 상이한 트위들 인수값의 수는 본 발명에 따르는 방법을 사용함으로써 감소될 수 있다. 더 작은 수의 상이한 값의 자명하지 않은 트위들 인수 곱셈이 각 버터플라이 모듈에서 실행된다고 가정하면, 본 발명은 동적 곱셈기보다 전력을 매우 덜 소비하는 고정 계수 곱셈기를 사용하여 상기 곱셈을 수행한다. 각 버터플라이 모듈에서 실행될 상이한 값의 자명하지 않은 트위들 인수 곱셈의 수가 증가할수록, 그 경우의 고정 계수 곱셈기는 소비되는 증가된 IC 칩 영역에 관하여 덜 매력적으로 된다.
본 발명은 (1) 복소 평면에서 트위들 인수의 대칭성의 이점을 취함으로써, 또는 부가하여 (2) 트위들 인수를 분해함으로써 각 버터플라이 모듈에서 실행될 상이한 값의 자명하지 않은 트위들 인수 곱셈의 수를 감소시킨다. 두 기술은 모두 도 5에 도시되어 있는 트위들 인수 벡터도와 관련하여 논의된다.
트위들 인수는 1의 크기 및 특정 위상각을 갖는 벡터로서 복소 평면에서 나타낼 수 있다. 따라서, 벡터를 트위들 인수로 곱셈하면 2πn/N의 위상각에 의해 그 벡터를 회전한 것과 등가이다. 도 5에서는 기수 8 버터플라이 모듈에 대하여, 트위들 인수 W8 ()은 자명한 1의 실수값에 대응한다. 트위들 인수 W8 2은 자명한 -j의 허수값에 대응한다. 트위들 인수 W8 1은 자명하지 않은의 복소값에 대응한다. 트위들 인수 W8 3은 자명하지 않은의 복소값에 대응한다. W8 1및 W8 3사이의 대칭성을 주목하라. 단지 차이점은 그들의 실수 성분의 부호가 상이하다는 것이다. 대칭적인 관계를 사용하면, 동일한 곱셈기 회로 예컨대, W8 1이 인수들 중 하나에 필요한 부호 변화와 함께 W8 1및 W8 3모두에 대해 자명하지 않은 복소 트위들 인수 곱셈을 실행하는데 사용될 수 있다.
다른 방법으로는, 트위들 인수 W8 3는 W8 3=W8 1·W8 2로 분해될 수 있다. 다시, 트위들 인수 W8 3은 자명한 곱셈, 즉 부호 변화 및 실수 및 허수 성분 교환을 사용하여 수행되는 W8 2=-j가 후속하는 동일한 W8 1곱셈기 회로를 사용하여 수행될 수 있다. 트위들 인수 대칭성의 이점을 취하거나 자명하지 않은 트위들 인수를 공통 인수로 분해함으로써, 유일한 고정 계수 곱셈기 회로의 수는 감소되며, 그것에 의해 더 높은 기수 FFT 프로세서에 필요한 IC 칩 영역의 크기를 더욱 최소화시킨다.
따라서, 제1 실시예에서 본 발명은 각각의 기수 8 버터플라이 모듈내에서 자명하지 않은 트위들 인수를 실행하기 위해 고정 계수 곱셈기를 사용하는 기수 8 버터플라이 모듈을 이용한다. 더욱이, 트위들 인수 대칭성 또는 분해를 사용하면, 자명하지 않은 트위들 인수 곱셈은 최소 고정 계수 곱셈기 하드웨어를 사용하여 실행된다. 상기 설명된 바와 같이, 각각의 기수 8 버터플라이는 트위들 인수 W8 1, W8 2및 W8 3과의 트위들 인수 곱셈을 필요로 한다. 트위들 인수 W8 2곱셈은 일반적이기 때문에, 즉 -j로의 곱셈이 부호 변화 및 실수 및 허수 성분 교환을 사용하여 수행되기 때문에, 곱셈기를 사용하여 실행되지 않는다. W8 1및 W8 3트위들 인수 곱셈은 동일한 고정 계수 곱셈기 회로를 사용하여 실행된다.
도 6은 자명한 곱셈 및 단일 고정 계수 곱셈기 회로를 사용하여 수행되는 도 4의 기수 23버터플라이 모듈(160)을 도시한다. 각 트위들 인수 처리 단(650, 660)에 대해 도시되어 있는 트위들 인수 시퀀스에 따라서, 적절한 소자가 신호 처리 경로로 스위칭된다. 처리 단(650)은 고정 계수 곱셈기와 자명한 트위들 인수 곱셈을 포함한다. 곱셈 1은 도시되어 있는 2개의 노드 사이의 신호 처리 경로를 간단히 접속함으로써 수행된다. 버터플라이 유닛(160a)의 출력이 자명하지 않은 트위들 인수 W8 1과의 곱셈을 필요로 할 때, 고정 계수 곱셈기(700)는 신호 처리 경로로 스위칭된다. 이러한 스위칭 동작은 제어기 수를 디코딩하고 그에 따라 스위치를 제어함으로써 동기화 제어기(820)에 의해 발생되는 타이밍 신호에 의해 제어될 수 있다. 처리 단(660, 670)은 1 및 블록 720에 나타내는 -j로의 자명한 곱셈을 위한 스위치 가능 신호 처리 경로를 포함한다.
트위들 인수 W8 1에 대한 고정 계수 곱셈기의 하나의 효율적인 수행은 도 7에 도시되어 있다. W8 1=이고 W8 3=임을 상기하라. 도 6에서는 신호 처리 경로가 신호 라인으로서 도시되어 있지만, 당업자는 데이터 시퀀스가 실수(I) 및 허수(Q) 성분을 모두 포함하는 복소수인 것을 인식할 것이다. 따라서, 도 7은 I 및 Q 신호 처리 경로를 모두 도시한다. 유리하게도, I 및 Q 신호의 1/로의 2개의 곱셈은 2개의 동적 곱셈기보다 상당히 덜 전력을 소비하는 2개의 고정 계수 곱셈기(800, 820)를 사용하여 수행된다. 실수 및 허수 성분은 합산기(84)에서 합산되어 출력되고, 동시에 실수 성분은 W8 1에 대해 감산기(860)에서 허수 성분으로부터 뺄셈된다. 동일한 곱셈기 회로가 실수 성분에 대해 이루어지는 부호 변화와 함께 트위들 인수 W8 3곱셈을 위해 사용된다.
예시적인 기수 24FFT 프로세서
본 발명의 제2 예 및 바람직한 수행이 도 8에 도시되어 있다. 도 8의 실시간 파이프라인 FFT 프로세서(1000)은 FFT 연산이 기수 8 알고리즘보다는 기수 16 FFT 알고리즘에 기초하는 것을 제외하고는 도 3에 도시되어 있는 기수 23SDF 구조와 유사한 기수 24단일 경로 지연 피드백(SDF) 구조이다. N=4096 포인트의 입력 시퀀스 x(n)은 제1의 기수 24버터플라이 모듈(1020)로 입력된다. 각 R-24(16) BF 모듈로부터의 출력은 모듈로의 입력의 16 포인트 FFT이며, 여기에서 주파수 성분은 비트 반전 순서로 출력된다. 이 출력은 제1 트위들 인수 곱셈기 W4096 n*k에 의해 곱셈하기 위해 곱셈기(1100)에 결합되며, 여기에서 n은 0에서 (4096/16-1)=255로 진행하는 n, k의 각 값에 대해 비트 반전 순서로 0에서 15로 진행한다. 따라서, 약 1/16(256)이 자명한 4096 트위들 인수값은 트위들 ROM(1120)에 저장된다.
트위들 적(積)은 제2의 기수 24버터플라이 모듈(1040)에서 처리되고, 제2 트위들 인수 곱셈기 W256n*k에 의해 곱셈기(1140)에서 곱셈되며, 여기에서 n은 0에서 (4096/162-1)=15로 진행하는 n, k의 각 값에 대해 16회 반복하는 비트 반전 순서로 0에서 15로 진행한다. 이들 트위들 인수는 트위들 ROM(1160)에 저장된다. 트위들 적(積)은 변환된 시퀀스 X(k)를 발생하도록 최종 기수 24버터플라이 모듈(1060)에서 처리된다.
기수 16 버터플라이 모듈(1020)은 단일 피드백 경로를 각각 갖는 4개의 2 포인트 FFT 버터플라이 및 대응하는 피드백 레지스터(1200, 1220, 1240, 1260)를 포함한다. 버터플라이 모듈(1040)은 4개의 피드백 레지스터(1300, 1320, 1340, 1360)를 포함한다. 버터플라이 모듈(1060)은 4개의 피드백 레지스터(1400, 1420, 1440, 1460)를 포함한다. FFT 프로세서는 각 버터플라이 모듈 및 그 모듈내의 각 버터플라이 유닛의 동작을 제어하는 동기화 및 어드레스 발생기(1520)에 의해 수신되는 클록 신호(1500)에 따라서 동작된다.
도 9a는 도 8에 도시되어 있는 기수 24(16) 버터플라이 유닛중 하나를 도시한다. 4개의 2 포인트 FFT 버터플라이(1060a, 1060b, 1060c 1060d)가 도시되어 있는 바와 같이 파이프라인 방식으로 함께 결합되어 있다. 버터플라이 유닛(1060a)은 8X 워드를 저장하는 단일 경로 피드백 레지스터(1460)를 포함하고, 여기에서 버터플라이 모듈(1060)에 대해서는 X=1이며, 버터플라이 모듈(1040)에 대해서는 16이고, 버터플라이 모듈(1020)에 대해서는 256이다. 버터플라이 유닛(1060b)은 4X 워드 피드백 레지스터(1440)를 포함한다. 버터플라이 유닛(1060c)은 2X 워드 피드백 레지스터(1420)를 포함하고, 버터플라이 유닛(1060d)은 X 워드 피드백 레지스터(1400)를 포함한다. 4개의 2 포인트 버터플라이 유닛은 피드백 선입선출(FIFO) 메모리의 각각의 상이한 길이를 제외하고는 동일할 수 있다.
기수 16 버터플라이는 아래의 트위들 인수 곱셈: W16 1, W16 2, W16 3, W16 2, W16 4, W16 6, W16 3, W16 6, W16 9를 필요로 한다. 도 5는 이들 트위들 인수를 복소 평면에서의 벡터로서 도시한다. 이들 기수 16 트위들 인수를 아래와 같이 분해함으로써, 트위들 인수 곱셈은 간략화될 수 있다:
W16 3=W16 -1·W16 4, 여기에서 W16 4=-j.
W16 9=W16 1·W16 8, 여기에서 W16 8=-1.
W16 2=W8 1, W16 6=W8 3=W8 1·W16 2.
따라서, 기수 16 버터플라이의 트위들 인수의 일부, 자체 또는 그들의 분해된 트위들 인수 성분은 대개 자명한 곱셈이며 곱셈기를 사용하여 수행되지 않는다. 부가하여 도 5에 도시되어 있는 바와 같이, W16 1및 W16 -1은 실수축에 대하여 대칭이므로, W16 -1은 허수 성분의 부호를 변화시킴으로써 W16 1로부터 발생될 수 있다. 따라서, W16 1및 W16 -1트위들 인수 곱셈은 동일한 고정 계수 곱셈기를 사용하여 수행될 수 있다. 필요한 다른 고정 계수 곱셈기는 단지 W16 2및 W16 6에 대한 자명하지 않은 트위들 인수 곱셈을 수행하기 위한 것이다. 상기 나타낸 바와 같이, 이들 2개의 트위들 인수 곱셈은 도 7에 도시되어 있는 곱셈기와 같은 단일 W8 1곱셈기를 사용하여 실행될 수 있다. 그 결과, 기수 16 버터플라이 모듈에 대한 모든 트위들 인수 곱셈은 나머지 곱셈/연산이 자명한 예컨대, 부호 변화, 1로 곱셈 및 실수 및 허수 성분 교환되는 단 2개의 고정 계수 곱셈기 회로를 사용하여 실행될 수 있다.
도 9a-도 9c로 되돌아가면, 버퍼플라이 유닛(1060a 및 1060b 뿐만 아니라 1060c 및 1060d)는 1 및 -j의 자명한 트위들 인수 곱셈에 의해 링크된다. 도 9b는 참조 번호 1600 및 1680으로 이들 자명한 트위들 인수 곱셈을 도시한다. 버터플라이 유닛(1060b, 1060c)은 2개의 일반적이지 않는 트위들 인수 곱셈기(1620, 1640) 및 하나의 자명한 트위들 인수 곱셈기(1660)에 의해 결합된다. 도 9c는 이들 자명하지 않은 트위들 인수 곱셈이 어떻게 고정 계수 곱셈기를 사용하여 수행되는지를 나타낸다. 대응하는 고정 계수 곱셈기를 사용하여 각 유형의 기수 16 트위들 인수 곱셈을 수행하기 보다는, 트위들 인수 대칭성 및 분해가 고정 계수 곱셈기 회로의 수를 단 2개로 감소시키기 위해 사용된다.
도 10은 고정 계수 곱셈기가 자명하지 않은 트위들 인수 곱셈을 수행하도록 스위치 가능하게 제어되는 그러한 효율적인 수행예를 도시한다. I 및 Q 채널은 동기화 제어기에 의해 발생되는 제어 신호(1880)에 의해 제어되는 IQ 시프터(1720)에 공급된다. IQ 시프터(1720) 및 IQ 시프터(1820)(또한 신호(1880)에 의해 제어됨)중 어느 하나는 트위들 인수 곱셈이 W16 1일지라도 I 및 Q 데이터를 직선으로 통과시키거나 트위들 인수 곱셈이 W16 -1인 경우 도시되어 있는 바와 같이 I 및 Q 경로를 스위치시킨다. IQ 시프터(1720)로부터의 I 및 Q 경로 출력은 2개의 상이한 고정된 수, 즉 A-B 및 A+B(A는 실수 성분이고 B는 허수 성분이다)로의 곱셈을 수행하도록 대응하는 고정 계수 곱셈기(1740, 1760)에서 처리된다. 최초로 입력 I 및 Q 신호가 또한 감산기(1780)에서 뺄셈되고 허수 성분 B로 고정 계수 곱셈기(180)에서 곱셈된다. 소자(1800)로부터의 출력은 제어 신호(1880)의 상태에 다라서 입력 I 및 Q 신호로부터 덧셈 또는 뺄셈된다. 따라서, 도 10에 도시되어 있는 동일한 3개의 곱셈기(1740, 1760, 1800)은 자명하지 않은 트위들 인수 W16 X의 여러 값에 대한 곱셈을 실행하는데 사용될 수 있다.
본 발명의 장점은 도 11 및 도 12에 도시되어 있는 그래프에 도시되어 있다. 도 11은 기수 2, 4, 8 및 16을 포함하는 FFT 기수 크기에 대하여 4096 포인트 데이터 시퀀스에 대한 FFT 프로세서 전력 소비를 그래프로 나타낸다. 4보다 큰 기수를 사용하고, 트위들 인수 대칭성 및/또는 트위들 인수 분해의 장점을 취하며, 고정 계수 곱셈기를 사용하여, 본 발명은 IC 영역 소비를 낮게 유지하면서 매우 낮은 전력 소비를 또한 달성한다.
특히, FFT 프로세서의 기수를 기수 4를 초과하여 증가시킴으로써, 전력 소비는 동적 곱셈기가 전체적으로 사용되는 경우, 기수 8에 대해 12% 및 기수 16에 대해 5%만큼 감소된다. 단지 동적 곱셈기만 사용되는 경우, 최소 전력 소비가 본 발명의 제1 실시예에 따라서 기수 8 FFT 프로세서에서 달성된다. 단지 동적 곱셈기가 기수 16 FFT 프로세서에 대해서만 사용되는 경우, 전력 소비는 실제적으로 기수 8에서 감소하는 것보다 증가한다. 그러나, 동적 곱셈기가 아니라 고정 계수 곱셈기가 FFT 프로세서에 사용되는 경우, IC 영역 및 전력 소비의 상당한 절감이 달성된다. 본 발명에 따르면, 기수 16 FFT 프로세서는 고정 계수 곱셈기가 버터플라이에 사용되는 경우, 4개의 도시되어 있는 모든 기수의 최적의 가장 낮은 전력 소비 및 매우 낮은 영역 소비(기수 8 FFT 프로세서는 다소 더 낮은 영역 소비를 가짐)를 갖는다.
본 발명은 가장 실제적이고 바람직한 실시예로 현재 간주되는 것과 관련하여 설명하였지만, 본 발명은 개시된 실시예로 제한되는 것이 아니라 첨부된 청구의 범위의 사상 및 범위에 포함되는 여러 가지 수정 및 등가의 배열을 커버하도록 의도됨을 이해해야 한다. 예를 들어, 고정 계수 곱셈기, 트위들 인수 대칭성 및/또는 트위들 인수 분해는 8 또는 16과 다른 크기를 갖는 버터플라이 유닛을 갖는 FFT 프로세서에 이용될 수 있다. 예시적인 실시예가 파이프라인 처리 구조를 사용하지만, 본 발명은 다른 FFT 프로세서 구조 예컨대, 반복 구조에 적용될 수 있으며, 따라서 특정 FFT 프로세서 구조로 제한되지 않는다.

Claims (45)

  1. 저전력 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 영역을 사용하여 형성되는 고속 푸리에 변환(FFT) 프로세서로서,
    4보다 큰 크기를 갖고, 트위들 인수 곱셈을 실행하는 고정 계수 곱셈기 회로를 포함하는 하나 이상의 이산 푸리에 변환(DFT) 모듈을 포함하고,
    입력 데이터 스트림이 변환된 출력 데이터 시퀀스를 발생하도록 각 DFT 모듈에 의해 처리되는 고속 푸리에 변환 프로세서.
  2. 제1항에 있어서, 각 DFT 모듈의 크기는 8인 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  3. 제1항에 있어서, 각 DFT 모듈의 크기는 16인 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  4. 제1항에 있어서, 각 DFT 모듈에서의 트위들 인수 곱셈은 자명하지 않은 곱셈 및 자명한 곱셈을 포함하고, 자명하지 않은 곱셈은 고정 계수 곱셈기를 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  5. 제4항에 있어서, 상기 자명한 곱셈은 연산을 실행하지 않고 부호를 변화시키거나 실수 및 허수 성분을 시프트하는 곱셈기 없이 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  6. 제4항에 있어서, 상이한 자명하지 않은 트위들 인수값 곱셈은 동일한 고정 계수 곱셈 회로를 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  7. 제4항에 있어서, 적어도 하나의 자명하지 않은 트위들 인수는 상이한 자명하지 않은 트위들 인수값을 감소시키도록 2개의 성분 트위들 인수로 분해되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  8. 제4항에 있어서, 적어도 2개의 자명하지 않은 트위들 인수 사이의 대칭 관계는 상이한 자명하지 않은 트위들 인수값을 감소시키는데 사용되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  9. 제2항에 있어서, 각각의 8 포인트 DFT 모듈에서의 모든 자명하지 않은 트위들 인수 곱셈은 단지 하나의 고정 계수 곱셈기 회로를 사용하여 수행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  10. 제9항에 있어서, 상기 하나의 고정 계수 곱셈기 회로는 제1 가산기에서 허수 성분 곱셈기의 출력에 덧셈되는 실수 성분 곱셈기의 출력 및 제2 가산기에서 허수 곱셈기 출력으로부터 뺄셈되는 실수 곱셈기 출력을 갖는 허수 성분 곱셈기를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  11. 제3항에 있어서, 각각의 16 포인트 DFT 모듈은 모든 자명하지 않은 트위들 인수 곱셈을 실행하도록 2개의 고정 계수 곱셈기 회로를 이용하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  12. 제11항에 있어서, 각각의 16 포인트 DFT 모듈내의 상기 2개의 고정 계수 곱셈기 회로는:
    제1 가산기에서 허수 성분 곱셈기의 출력에 덧셈되고 제2 가산기에서 허수 곱셈기 출력으로부터 뺄셈되는 실수 성분 곱셈기의 출력을 갖는 실수 및 허수 성분 곱셈기를 갖는 제1 고정 계수 곱셈기 회로와,
    하나의 트위들 인수 곱셈에 대해 제1 상태로 및 다른 트위들 인수 곱셈에 대해 제2 상태로 시프트되는 실수 및 허수 시프터를 갖는 제2 고정 계수 곱셈기 회로를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  13. 감소된 전력에 의해 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 영역을 사용하여 형성되는 FFT 프로세서에 의해 고속 푸리에 변환(FFT)을 계산하는 방법으로서:
    4보다 큰 크기를 갖고 트위들 인수 곱셈을 실행하는 고정 계수 곱셈기를 각각 포함하는 복수의 처리 모듈을 갖는 FFT 프로세서를 구성하는 단계와,
    변환된 출력 데이터 시퀀스를 발생하도록 각 처리 모듈에서 입력 데이터 스트림을 처리하는 단계를 포함하는 고속 푸리에 변환 계산 방법.
  14. 제13항에 있어서, 각 처리 모듈의 크기는 8인 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  15. 제13항에 있어서, 각 처리 모듈의 크기는 16인 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  16. 제13항에 있어서,
    각 처리 모듈에서의 트위들 인수 곱셈을 자명하지 않은 곱셈 및 자명한 곱셈으로 분리하는 단계와,
    하나 이상의 고정 계수 곱셈기를 사용하여 자명하지 않은 곱셈을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  17. 제16항에 있어서, 상기 자명한 곱셈은 연산 없이 실행하거나, 부호를 변화시키거나, 실수 및 허수 성분을 시프팅하는 곱셈기 없이 실행되는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  18. 제16항에 있어서,
    각각의 상이한 자명하지 않은 트위들 인수값 곱셈에 대응하는 고정 계수 곱셈기 회로를 사용하여 각 처리 모듈에서 상이한 자명하지 않은 트위들 인수값 곱셈을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  19. 제16항에 있어서,
    동일한 고정 계수 곱셈기 회로를 사용하여 각 처리 모듈에서 상이한 자명하지 않은 트위들 인수값 곱셈을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  20. 제16항에 있어서,
    상이한 자명하지 않은 트위들 인수값의 수를 감소시키기 위해 적어도 하나의 자명하지 않은 트위들 인수를 2개의 성분 트위들 인수로 분해하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  21. 제16항에 있어서,
    상이한 자명하지 않은 트위들 인수값의 수를 감소시키기 위해 적어도 2개의 자명하지 않은 트위들 인수 사이의 대칭 관계를 사용하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  22. 제14항에 있어서,
    각각의 8 포인트 처리 모듈에서 모든 자명하지 않은 트위들 인수 곱셈을 실행하도록 단지 하나의 고정 계수 곱셈기 회로를 사용하여 각각의 8 포인트 처리 모듈에서 모든 자명하지 않은 트위들 인수 곱셈을 수행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  23. 제15항에 있어서,
    각각의 16 포인트 처리 모듈에서 모든 자명하지 않은 트위들 인수 곱셈을 실행하기 위해 단지 2개의 고정 계수 곱셈기를 사용하여 각각의 16 포인트 처리 모듈에서 모든 자명하지 않은 트위들 인수 곱셈을 수행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  24. 저전력 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 영역을 사용하여 형성되는 고속 푸리에 변환(FFT) 프로세서로서,
    함께 결합되는 3개의 2 포인트 버터플라이 유닛을 각각 갖는 하나 이상의 이산 푸리에 변환(DFT) 모듈과,
    2 포인트 버터플라이 유닛중 2개를 링크하는 고정 계수 곱셈기 회로를 사용하여 수행되는 하나 이상의 트위들 인수 곱셈기를 포함하고,
    입력 데이터 스트림은 변환된 출력 데이터 시퀀스를 발생하도록 3개의 버터플라이 유닛에 의해 처리되는 고속 푸리에 변환 프로세서.
  25. 제24항에 있어서, 상기 FFT 프로세서는 각 버터플라이 유닛 사이에 위치되는 파이프라인 레지스터로 파이프라인되고, 각각의 2 포인트 버터플라이 유닛은 자체로부터의 출력 및 자체로의 입력 사이의 피드백 경로를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  26. 제25항에 있어서, 상기 피드백 경로는 단일 지연 피드백 경로이고, 각 DFT 모듈은 각각 상이한 크기 피드백 시퀀스를 조절하는 3개의 피드백 레지스터를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  27. 제26항에 있어서, DFT 모듈은 동적 곱셈기를 통해 트위들 인수 메모리에 접속되어, 상기 버터플라이 모듈중 하나로부터의 출력이 인접한 DFT 모듈에서 처리되기 전에 동적 곱셈기의 트위들 인수 메모리로부터 검색되는 트위들 인수로 곱셈되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  28. 제24항에 있어서, 자명한 트위들 인수 곱셈은 곱셈기 회로를 사용하지 않고 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  29. 제28항에 있어서, 자명한 트위들 인수 곱셈은 동작 없이, 부호 변화 동작, 또는 실수 및 허수 성분 교환 동작을 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  30. 제24항에 있어서, 상기 고정 계수 곱셈기 회로는 제1 가산기에서 허수 곱셈기의 출력에 덧셈되고 제2 가산기에서 허수 출력으로부터 뺄셈되는 실수 곱셈기의 출력을 갖는 실수 및 허수 성분 곱셈기를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  31. 제24항에 있어서, 상기 동일한 고정 계수 곱셈기 회로는 각 DFT 모듈에서 실행될 모든 자명하지 않은 트위들 인수 곱셈을 실행하는데 사용되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  32. 저전력 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 영역을 사용하여 형성되는 고속 푸리에 변환(FFT) 프로세서로서,
    함께 결합되는 4개의 2 포인트 버터플라이 유닛을 각각 갖는 하나 이상의 이산 푸리에 변환(DFT) 모듈과,
    적어도 2개의 2 포인트 버터플라이 유닛을 링크하는 고정 계수 곱셈기 회로를 사용하여 수행되는 하나 이상의 트위들 인수 곱셈기를 포함하고,
    입력 데이터 스트림은 변환된 출력 데이터 시퀀스를 발생하도록 3개의 버터플라이 유닛에 의해 처리되는 고속 푸리에 변환 프로세서.
  33. 제32항에 있어서, 상기 FFT 프로세서는 각 버터플라이 유닛 사이에 위치되는 파이프라인 레지스터로 파이프라인되고, 각각의 2 포인트 버터플라이 유닛은 자체로부터의 출력 및 자체로의 입력 사이에 피드백 경로를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  34. 제33항에 있어서, 상기 피드백은 단일 지연 피드백 경로이고, 각 DFT 모듈은 각각 상이한 크기 피드백 시퀀스를 조절하는 4개의 피드백 레지스터를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  35. 제32항에 있어서, 자명한 트위들 인수 곱셈은 곱셈기 회로를 사용하지 않고 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  36. 제35항에 있어서, 자명한 트위들 인수 곱셈은 동작 없이, 부호 변화 동작, 또는 실수 및 허수 성분 교환 동작을 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  37. 제32항에 있어서, 제1 고정 계수 곱셈기 회로는 제1 가산기에서 제1 허수 곱셈기의 출력에 덧셈되고 제2 가산기에서 허수 곱셈기 출력으로부터 뺄셈되는 제1 실수 곱셈기의 출력을 갖는 제1 실수 및 허수 성분 곱셈기를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  38. 제37항에 있어서, 제2 고정 계수 곱셈기 회로는 하나의 트위들 인수 곱셈에 대해 제1 상태로 시프트되고, 다른 트위들 인수 곱셈에 대해 제2 상태로 시프트되는 실수 및 허수 성분 시프터를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  39. 제38항에 있어서, 상기 제1 및 제2 고정 곱셈기 회로는 각 DFT 모듈에서 실행될 모든 자명하지 않은 트위들 인수 곱셈을 실행하는데 사용되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
  40. 감소된 전력에 의해 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 영역을 사용하여 형성되는 FFT 프로세서에 의해 고속 푸리에 변환(FFT)을 계산하는 방법으로서:
    파이프라인 방식으로 함께 결합되는 3개의 2 포인트 버터플라이 유닛을 각각 수행하는 하나 이상의 처리 모듈을 갖고, 상기 버터플라이 유닛중 적어도 2개가 고정 계수 곱셈기 회로에 의해 링크되는 FFT 프로세서를 구성하는 단계와,
    3개의 버터플라이 유닛중 제1 버터플라이 유닛의 입력에 입력 데이터 스트림을 인가하여 입력 데이터 스트림을 처리하는 단계와,
    3개의 버터플라이 유닛중 제2 버터플라이 유닛에서 제1 버터플라이 유닛의 출력을 처리하는 단계와,
    출력 데이터 시퀀스를 발생하도록 3개의 버터플라이 유닛중 제3 버터플라이 유닛에서 제2 버터플라이 유닛의 출력을 처리하는 단계를 포함하는 고속 푸리에 변환 계산 방법.
  41. 제40항에 있어서,
    동일한 고정 계수 곱셈기 회로를 사용하여 상이한 자명하지 않은 트위들 곱셈을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  42. 제41항에 있어서, 각 처리 모듈에 대한 모든 자명하지 않은 트위들 인수 곱셈은 고정 계수 곱셈기 회로를 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  43. 감소된 전력으로 고속 푸리에 변환을 효율적으로 실행하기 위해 최소 집적 회로 칩 영역을 사용하여 형성되는 FFT 프로세서에 의해 고속 푸리에 변환(FFT)을 계산하는 방법으로서:
    2 포인트 버터플라이 유닛중 적어도 2개가 고정 계수 곱셈기 회로에 의해 링크되는 파이프라인 방식으로 함께 결합되는 4개의 2 포인트 버터플라이 유닛을 각각 갖는 하나 이상의 처리 모듈을 갖는 FFT 프로세서를 구성하는 단계와,
    4개의 2 포인트 버터플라이 유닛중 제1 버터플라이 유닛의 입력에 입력 데이터 스트림을 인가하여 입력 데이터 스트림을 처리하는 단계와,
    4개의 2 포인트 버터플라이 유닛중 제2 버터플라이 유닛에서 제1 버터플라이 유닛의 출력을 처리하는 단계와,
    4개의 2 포인트 버터플라이 유닛중 제3 버터플라이 유닛에서 제2 버터플라이 유닛의 출력을 처리하는 단계와,
    4개의 2 포인트 버터플라이 유닛중 제4 버터플라이 유닛에서 제2 버터플라이 유닛의 출력을 처리하는 단계를 포함하는 고속 푸리에 변환 계산 방법.
  44. 제43항에 있어서,
    동일한 고정 계수 곱셈기 회로를 사용하여 상이한 자명하지 않은 곱셈을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
  45. 제43항에 있어서, 각 처리 모듈에 대한 모든 자명하지 않은 트위들 인수 곱셈은 2개의 고정 계수 곱셈기 회로를 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
KR1020007008017A 1998-01-21 1998-12-18 파이프라인 고속 푸리에 변환 프로세서 KR100551111B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/010,130 1998-01-21
US09/010,130 US6061705A (en) 1998-01-21 1998-01-21 Power and area efficient fast fourier transform processor

Publications (2)

Publication Number Publication Date
KR20010034300A true KR20010034300A (ko) 2001-04-25
KR100551111B1 KR100551111B1 (ko) 2006-02-09

Family

ID=21744057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007008017A KR100551111B1 (ko) 1998-01-21 1998-12-18 파이프라인 고속 푸리에 변환 프로세서

Country Status (9)

Country Link
US (1) US6061705A (ko)
EP (1) EP1051680A1 (ko)
JP (1) JP2002501253A (ko)
KR (1) KR100551111B1 (ko)
CN (1) CN1109991C (ko)
AU (1) AU753685B2 (ko)
CA (1) CA2318449C (ko)
TW (1) TW409212B (ko)
WO (1) WO1999038089A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100890768B1 (ko) * 2007-03-21 2009-04-02 (주)카이로넷 데이터 변환 프로세서 및 이를 갖는직교주파수분할다중변조 수신장치
KR101359033B1 (ko) * 2007-09-21 2014-02-11 삼성전자주식회사 이산 푸리에 변환 장치 및 방법

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3377391B2 (ja) * 1997-02-12 2003-02-17 日本テクトロニクス株式会社 リアルタイム信号アナライザ
FR2772950B1 (fr) * 1997-12-19 2000-03-17 St Microelectronics Sa Dispositif electronique de calcul d'une transformee de fourier a architecture dite "pipelinee" et procede de commande correspondant
US6658441B1 (en) * 1999-08-02 2003-12-02 Seung Pil Kim Apparatus and method for recursive parallel and pipelined fast fourier transform
US6909469B2 (en) * 1999-08-11 2005-06-21 Silicon Image, Inc. Interlace motion artifact detection using vertical frequency detection and analysis
US6609140B1 (en) * 1999-11-30 2003-08-19 Mercury Computer Systems, Inc. Methods and apparatus for fast fourier transforms
SE0101175D0 (sv) * 2001-04-02 2001-04-02 Coding Technologies Sweden Ab Aliasing reduction using complex-exponential-modulated filterbanks
KR100692997B1 (ko) * 2001-04-17 2007-03-12 삼성전자주식회사 패스트퓨리에변환 장치
US7010558B2 (en) * 2001-04-19 2006-03-07 Arc International Data processor with enhanced instruction execution and method
CA2377623C (en) * 2002-03-20 2008-04-22 Dongxing Jin Method and apparatus for computation reduction for tone detection
GB2388931B (en) * 2002-05-25 2005-11-09 Roke Manor Research Digital signal processing system
CN100388699C (zh) * 2002-06-19 2008-05-14 中兴通讯股份有限公司 非对称数字用户环线系统中的离散傅里叶变换装置
US20040059766A1 (en) * 2002-09-23 2004-03-25 Yeou-Min Yeh Pipelined low complexity FFT/IFFT processor
EP1426872A3 (en) * 2002-12-03 2006-02-22 STMicroelectronics Ltd. Linear scalable FFT/IFFT computation in a multi-processor system
EP1447752A3 (en) * 2003-02-17 2006-02-22 STMicroelectronics Pvt. Ltd Method and system for multi-processor FFT/IFFT with minimum inter-processor data communication
US20050015420A1 (en) * 2003-07-18 2005-01-20 Gibb Sean G. Recoded radix-2 pipeline FFT processor
US20050278404A1 (en) * 2004-04-05 2005-12-15 Jaber Associates, L.L.C. Method and apparatus for single iteration fast Fourier transform
US7870176B2 (en) * 2004-07-08 2011-01-11 Asocs Ltd. Method of and apparatus for implementing fast orthogonal transforms of variable size
JP2008506191A (ja) * 2004-07-08 2008-02-28 アソクス リミテッド 可変サイズの高速直交変換を実施する方法および機器
US20060282764A1 (en) * 2005-06-08 2006-12-14 National Chiao Tung University High-throughput pipelined FFT processor
CN100390782C (zh) * 2005-07-15 2008-05-28 北京大学深圳研究生院 一种实时快速傅立叶变换电路
CN100442272C (zh) * 2005-10-31 2008-12-10 凌阳科技股份有限公司 数字信号处理装置
KR100762281B1 (ko) * 2005-12-08 2007-10-01 한국전자통신연구원 고속 푸리에 변환 시스템의 메모리 주소 생성 방법 및 그를이용한 트위들 팩터 생성 장치
US7925686B2 (en) * 2005-12-19 2011-04-12 Rambus Inc. Linear transformation circuit
TWI307227B (en) * 2006-01-09 2009-03-01 Via Tech Inc A fft processor, an implement method thereof and an ofdm processor using the same
KR20070075946A (ko) * 2006-01-17 2007-07-24 장영범 저전력 고속 푸리에 변환 방법 및 장치와, 이를 이용한통신 단말기
CN101154215B (zh) * 2006-09-27 2011-08-24 昆山杰得微电子有限公司 基23频域取样快速傅立叶变换的硬件结构
TWI329814B (en) * 2007-03-13 2010-09-01 Keystone Semiconductor Corp Discrete fourier transform apparatus utilizing cooley-tukey algorithm for n-point discrete fourier transform
US8275820B2 (en) * 2007-07-06 2012-09-25 Mediatek Inc. Variable length FFT system and method
US7675847B2 (en) 2007-07-10 2010-03-09 Wipro Limited Hardware implementation of a programmable FFT based on a half length FFT core
WO2009095087A2 (en) * 2008-01-31 2009-08-06 Qualcomm Incorporated Device for dft calculation
JP5131346B2 (ja) * 2008-03-03 2013-01-30 富士通株式会社 無線通信装置
US20100082722A1 (en) * 2008-09-26 2010-04-01 Sinnokrot Mohanned O Methods and Apparatuses for Detection and Estimation with Fast Fourier Transform (FFT) in Orthogonal Frequency Division Multiplexing (OFDM) Communication Systems
TWI402695B (zh) * 2010-07-12 2013-07-21 Novatek Microelectronics Corp 分裂基數-2/8快速傅立葉轉換裝置及方法
KR20120070746A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 고속 푸리에 변환 수행 방법 및 장치
KR20120072226A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 고속 퓨리에 변환기
FR2972091A1 (fr) * 2011-02-28 2012-08-31 France Telecom Procede de modulation d'un signal multiporteuse de type oqam, programme d'ordinateur et modulateur correspondants
JP5724739B2 (ja) * 2011-08-09 2015-05-27 富士通株式会社 離散フーリエ演算装置、無線通信装置及び離散フーリエ演算方法
JPWO2013042249A1 (ja) * 2011-09-22 2015-03-26 富士通株式会社 高速フーリエ変換回路
WO2014013726A1 (ja) * 2012-07-18 2014-01-23 日本電気株式会社 Fft回路
US9275014B2 (en) * 2013-03-13 2016-03-01 Qualcomm Incorporated Vector processing engines having programmable data path configurations for providing multi-mode radix-2x butterfly vector processing circuits, and related vector processors, systems, and methods
TWI506457B (zh) * 2014-09-26 2015-11-01 Univ Nat Chiao Tung 折疊式蝶形模組、管線式快速傅利葉轉換處理器及控制方法
CN106549882B (zh) * 2015-09-16 2020-01-31 北京展讯高科通信技术有限公司 等效信道矩阵计算方法及装置
CN105701036B (zh) * 2016-01-19 2019-03-05 中国人民解放军国防科学技术大学 一种支持变形基16fft算法并行访存的地址转换单元
US10140250B2 (en) * 2016-01-28 2018-11-27 Cavium Methods and apparatus for providing an FFT engine using a reconfigurable single delay feedback architecture
CN107544942B (zh) * 2017-07-13 2020-10-02 天津大学 一种快速傅里叶变换的vlsi设计方法
AU2019228387A1 (en) * 2018-02-27 2020-10-01 Zetane Systems Inc. Scalable transform processing unit for heterogeneous data
CN109359267B (zh) * 2018-10-18 2022-11-01 哈尔滨工程大学 一种基于动态截位的低复杂度无乘法器定点fft优化方法
US11221397B2 (en) * 2019-04-05 2022-01-11 Texas Instruments Incorporated Two-dimensional FFT computation
CN111210806B (zh) * 2020-01-10 2022-06-17 东南大学 一种基于串行fft的低功耗mfcc语音特征提取电路
CN112822139B (zh) * 2021-02-04 2023-01-31 展讯半导体(成都)有限公司 数据输入、数据转换方法及装置
CN114186183B (zh) * 2021-12-01 2024-04-16 中国电子科技集团公司第二十研究所 一种轻量化的fft运算方法及其实现装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4689762A (en) * 1984-09-10 1987-08-25 Sanders Associates, Inc. Dynamically configurable fast Fourier transform butterfly circuit
US4821224A (en) * 1986-11-03 1989-04-11 Microelectronics Center Of N.C. Method and apparatus for processing multi-dimensional data to obtain a Fourier transform
US4868776A (en) * 1987-09-14 1989-09-19 Trw Inc. Fast fourier transform architecture using hybrid n-bit-serial arithmetic
US5034910A (en) * 1988-03-14 1991-07-23 E-Systems, Inc. Systolic fast Fourier transform method and apparatus
GB2217058A (en) * 1988-03-23 1989-10-18 Benchmark Technologies Processing integral transform operations
US5095456A (en) * 1990-03-23 1992-03-10 Texas Instruments Incorporated Method for densely packing a complex multiplier
US5093801A (en) * 1990-07-06 1992-03-03 Rockwell International Corporation Arrayable modular FFT processor
JP2744526B2 (ja) * 1991-04-18 1998-04-28 シャープ株式会社 準16基数プロセッサおよび方法
US5293330A (en) * 1991-11-08 1994-03-08 Communications Satellite Corporation Pipeline processor for mixed-size FFTs
US5694347A (en) * 1991-12-19 1997-12-02 Hughes Electronics Digital signal processing system
JP2950703B2 (ja) * 1992-04-30 1999-09-20 シャープ株式会社 高速フーリエ変換用ディジット反転のためのアドレス発生器及び反転フィールドシーケンス発生器並びにディジット反転シーケンス信号発生方法
EP0824730A1 (en) * 1995-11-17 1998-02-25 Teracom Svensk Rundradio Improvements in or relating to real-time pipeline fast fourier transform processors

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100890768B1 (ko) * 2007-03-21 2009-04-02 (주)카이로넷 데이터 변환 프로세서 및 이를 갖는직교주파수분할다중변조 수신장치
KR101359033B1 (ko) * 2007-09-21 2014-02-11 삼성전자주식회사 이산 푸리에 변환 장치 및 방법

Also Published As

Publication number Publication date
AU2193599A (en) 1999-08-09
JP2002501253A (ja) 2002-01-15
CA2318449A1 (en) 1999-07-29
AU753685B2 (en) 2002-10-24
CN1290369A (zh) 2001-04-04
US6061705A (en) 2000-05-09
EP1051680A1 (en) 2000-11-15
WO1999038089A1 (en) 1999-07-29
CA2318449C (en) 2006-03-28
KR100551111B1 (ko) 2006-02-09
CN1109991C (zh) 2003-05-28
TW409212B (en) 2000-10-21

Similar Documents

Publication Publication Date Title
KR20010034300A (ko) 파이프라인 고속 푸리에 변환 프로세서
US6098088A (en) Real-time pipeline fast fourier transform processors
He et al. Designing pipeline FFT processor for OFDM (de) modulation
He et al. A new approach to pipeline FFT processor
He et al. Design and implementation of a 1024-point pipeline FFT processor
Jia et al. A new VLSI-oriented FFT algorithm and implementation
Jung et al. New efficient FFT algorithm and pipeline implementation results for OFDM/DMT applications
WO2005008516A2 (en) Recoded radix-2 pipelined fft processor
Eleftheriadis et al. Energy-efficient fast Fourier transform for real-valued applications
Fang et al. A pipelined algorithm and area-efficient architecture for serial real-valued FFT
Anbarasan et al. Design and implementation of low power FFT/IFFT processor for wireless communication
Yang et al. Recursive discrete Fourier transform with unified IIR filter structures
Chang et al. Efficient FFT implementation using digit-serial arithmetic
KR100576520B1 (ko) 반복 연산 기법을 이용한 가변 고속 푸리에 변환프로세서
Seshadri et al. Knowledge-based single-tone digital filter implementation for DSP systems
Hassan et al. FPGA Implementation of an ASIP for high throughput DFT/DCT 1D/2D engine
Li et al. Complex multiplication reduction in FFT processor
HongJi A Pipelined Algorithm and Area-efficient Architecture for Serial Real-valued FFT
Ho et al. A reconfigurable systolic array architecture for multicarrier wireless and multirate applications
Kumar et al. Design and Implementation of AGU based FFT Pipeline Architecture
KR100416641B1 (ko) 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로
JP3865469B2 (ja) バタフライ演算器
Dick et al. Virtual signal processors
Camarda et al. Towards a reconfigurable FFT: application to digital communication systems
Kumar Analysis and design of FFT processor architecture for OFDM applications

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140124

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150126

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160122

Year of fee payment: 11

EXPY Expiration of term