KR100551111B1 - 파이프라인 고속 푸리에 변환 프로세서 - Google Patents
파이프라인 고속 푸리에 변환 프로세서 Download PDFInfo
- Publication number
- KR100551111B1 KR100551111B1 KR1020007008017A KR20007008017A KR100551111B1 KR 100551111 B1 KR100551111 B1 KR 100551111B1 KR 1020007008017 A KR1020007008017 A KR 1020007008017A KR 20007008017 A KR20007008017 A KR 20007008017A KR 100551111 B1 KR100551111 B1 KR 100551111B1
- Authority
- KR
- South Korea
- Prior art keywords
- butterfly
- multiplier
- obvious
- fourier transform
- factor
- 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/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
-
- 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/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast 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 버터플라이를 이용한다. 또한, 저전력 고정 계수 승산기가 각 버터플라이 모듈에서 자명하지 않은 트위들 인수 승산(nontrivial twiddle factor multiplications)을 실행하기 위해 이용된다. 상이한 자명하지 않은 트위들 인수 승산기의 수는 자명 및 자명하지 않은 트위들 인수를 분리하고, 복소 평면에서 트위들 인수 대칭성 및/또는 트위들 인수 분해의 장점을 취함으로써 감소된다. 이들 및 다른 인수에 따르면, 본 발명은 최소 전력 및 IC 칩 표면적 소비를 갖는 FFT 프로세서의 구성이 가능하게 한다.
고속 푸리에 변환(FFT) 프로세서, 트위들 ROM, 버터플라이 모듈, 고정 계수 승산기 회로, 피드백 레지스터
Description
본 발명은 고속 푸리에 변환(FFT) 프로세서에 관한 것으로, 특히 전력 소비 및 집적 회로 면적 요구를 최적으로 최소화시키는 FFT 파이프라인 프로세서 아키텍쳐(pipeline processor architecture)에 관한 것이다.
시변 신호를 분석하는 푸리에 변환은 널리 공지되어 있는 기술이다. 간단하게, 푸리에 변환은 시변 포맷으로부터 주파수 가변 포맷으로 신호를 변환시킨다. 역푸리에 변환은 역의 변환을 실행한다. 신호가 규칙적인 시간 주기에서 취해진 일련의 연속적인 신호 샘플에 의해 이산 형태로 표현될 때, 이 푸리에 변환을 이산 푸리에 변환(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"이다.
그러므로, 트위들 인수(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인 "버터플라이(butterfly)"로 칭해지는 특성 크로스오버 패턴을 사용하여 재결합된다. FFT에서 버터플라이의 크기는 FFT의 "기수(radix)"(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 계산은 다수의 신호 처리 시스템 및 애플리케이션에 중요하다. 비대칭 디지털 가입자 라인(ADSL), 디지털 오디오 방송(DAB), 디지털 비디오 방송(DVB), 멀티 캐리어 변조(MCM) (이 방식중 하나는 직교 주파수 분할 다중화(OFDM)이다), 소나(sonar), 레이더, 블록 기초 필터링 및 고속 컨벌루션(convolution), 데시메이트된 필터 뱅크 자기 기억용 등화기, 반향 소거기 및 다중 경로 등화는 고속 FFT 애플리케이션의 예들이다. FFT 프로세서는 또한 예컨대, 전력 소비 및 IC 칩 크기가 모두 최소화되는 디지털 이동 셀룰러 무선 시스템에서의 애플리케이션을 구한다. 전력 소비가 증가하면 더 많은 열이 생성된다. 칩 크기에 대한 상한이 존재하고, 또한 얼마나 많은 전력이 특정 IC 캡슐화에 사용될 수 있는지에 대한 상한이 존재한다. 감소된 전력 소비는 칩의 보다 저렴한 IC 캡슐화를 사용할 수 있게 한다. 이들은 FFT 프로세서와 같은 하나의 칩 처리 장치를 제조할 때 고려하는 가장 중요한 인자들이다.
물론, 처리 속도가 예컨대, 실시간 애플리케이션에 대해 중요하지만, 전력 소비는 또한 실행되는 승산, 가산 및 레지스터 연산의 수에 따라 증가한다. IC 칩 면적은 사용되는 승산기, 가산기 및 레지스터와 같은 하드웨어 부품의 수에 따라 증가한다. 본 발명의 목적은 IC 칩 면적 및 전력 소비를 최소화하기 위해 실행되는 연산의 양 및 부품의 수를 최소화하는 것이다.
속도를 증가시키며 및/또는 전력 소비 및 IC 칩 면적 요구를 최소화하기 위한 많은 다양한 방법이 존재한다. 가장 성공적인 방법중 하나는 프로세스를 파이프라인하는 것이다. 파이프라인 프로세서는 계산 로드를 병렬 처리를 허용하는 연속적인 단계로 분할한다. 근본적으로, 파이프라인 연산은 프로세서의 선행 단계로부터 획득된 부분적인 결과가 지연 없이 후속 단계에서 즉시 사용되게 한다. 실시간 파이프라인 프로세서의 처리 속도는 입력 데이터 속도, 즉 연속적인 연산에 대한 데이터 포착 속도(acquistion speed)와 정합해야 한다. 이것은 데이터 포착 속도가 사이클당 하나의 샘플이기 때문에, FFT 파이프라인 프로세서가 N 클록 사이클에서 N 길이 DFT를 계산해야 한다는 것을 의미한다.
초대규모 집적(VLSI)을 위한 하나의 제안된 파이프라인 FFT 구조는 Shousheng He의 명의의 1997년 5월 29에 공개된 WO 97/19412호에 개시되어 있다. 제안된 파이프라인 FFT 구조는 트위들 인수가 기수 4 구조를 형성하도록 분해된 단일 경로, 지연 피드백(SDF), 기수 2 FFT이다. 기수 22은 기수 4 알고리즘과 동일한 승산 복잡성을 갖지만, 기수 2 버터플라이 구조를 유지한다.
He가 전체 승산기를 자명하고 자명하지 않은 승산기(trivial and non-trivial multipliers)로 분해하는지의 수학적인 상세는 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)에 의한 실수 허수 교환(swapping)에 의해 수행된다. 이것은 동기화 카운터(18)로부터 2 비트 제어 신호(25, 27)를 요구한다. 그 후, 데이터는 75% 유용성에서 작업하는 완전 복소수 승산기(17)를 통과하여 기수 4 FFT 워드 ×워드의 제1 레벨의 결과를 산출한다. 추가의 처리는 각 연속 버터플라이 단계에서 입력 데이터의 거리를 1/2만큼 감소시키면서 이러한 패턴을 반복한다. N-1 클록 사이클 후에, 완전한 DFT 변환 결과 X(k)는 비트 반전 차수로 출력된다. 변환의 후속 프레임은 프로세서의 각 단에서의 파이프라인 처리로 인해 중지 없이 처리된다.
He에 대한 WO 97/19412호 출원은 이러한 기수 22 SDF 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개의 승산기를 구현한다.
도 1a는 2개의 4 포인트 DFT가 8 포인트 DFT 연산을 실행하는데 이용되는 고속 푸리에 변환(FFT) 버터플라이 흐름도.
도 1b는 8 포인트 DFT를 수행하는 이중 버터플라이 FFT 흐름도.
도 2a는 N=256에 대한 기수 22 단일 지연 피드백(SDF) 파이프라인 FFT 프로세서 구조를 도시한 도면.
도 2b는 도 2a에 도시되어 있는 기수 22 SDF 파이프라인 FFT 프로세서에 사용되는 제1의 2 포인트 버터플라이 구조를 도시한 도면.
도 2c는 도 2a에 도시되어 있는 기수 22 SDF 파이프라인 FFT 프로세서에 사 용되는 제2 버터플라이 구조를 도시한 도면.
도 3은 본 발명의 하나의 실시예에 따르는 기수 23 단일 경로 지연 피드백 실시간 파이프라인 프로세서를 도시한 도면.
도 4는 도 3에 도시되어 있는 기수 23 FFT를 수행하는데 사용되는 기수 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) 영역 소비를 도시한 그래프.
이하의 설명은 본 발명을 제한하고자 하는 것이 아니라 설명하고자 하는 것으로, 본 발명의 전체적인 이해를 돕기 위해 특정 실시예, 기술, 하드웨어 회로, 장치 등과 같은 특정 설명이 나타나 있다. 예를 들어, 본 발명의 바람직한 실시예는 기수 23 및 기수 24 파이프라인 FFT 프로세서에 대한 것이다. 그러나, 이들 실시예 및 구조는 단지 예일 뿐이고, 당업자에게는 본 발명이 이들 특정 설명에서 벗어난 다른 실시예로 실시될 수 있음은 명백하다. 다른 예에서, 널리 공지되어 있는 DFT/FFT 방법, 장치 및 기술의 상세한 설명은 불필요한 상세에 의해 본 발명의 설명을 불명료하게 하지 않기 위해 생략된다.
전술한 바와 같이, DFT/FFT 게산에 대한 종래의 견해는 계산 수가 크게 감소되지 않기 때문에, 기수 8 또는 16 FFT 프로세서에 의해 거의 성취될 수 없다는 것이다. FFT 분야의 일부 전문가들은 분할 기수 FFT가 길이 2n의 DFT를 계산하기 위해 가장 낮은 공지된 수의 자명하지 않은 연산을 사용하기 때문에, 가장 효율적인 것이라고 주장한다. 종래의 견해 및 이들 주장과는 대조적으로, 본 발명자는 상당한 이득이 높은 기수 FFT 프로세서, 특히 고정 계수 승산기를 사용하고 필요한 트위들 인수 승산을 수행하기 위해 고정 계수 승산기의 실제 수를 감소시키도록 트위들 인수 사이의 어떤 유용한 관계를 이용하는 기수 8 및 기수 16을 사용하여 전력 소비 및 집적 회로(IC) 칩 표면적을 감소할 때 이루어질 수 있다는 것을 발견하였다. 실제로, 더 높은 기수에 대한 간단한 외삽(extrapolation)이 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 버터플라이 유닛에 대해 일반화될 수 있는데, 여기서 X =1,8,64,512 등이다. 시퀀스 또는 계수는 데이터가 도 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에 대한 각 버터플라이 모듈내에서의 트위들 인수 승산의 수의 증가의 순수 효과(net effect)는 실행되는 총 수의 승산에서의 비교적 작은 감소이다. 보다 높은 기수 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)를 사용하여 수행된다. 실수 및 허수 성분은 합산기(840)에서 합산되어 출력되고, 동시에 실수 성분은 W8 1에 대해 감산기(860)에서 허수 성분으로부터 감산된다. 동일한 승산기 회로가 실수 성분에 대해 이루어지는 부호 변경와 함께 트위들 인수 W8 3 승산을 위해 사용된다.
예시적인 기수 24 FFT 프로세서
본 발명의 제2 예 및 바람직한 수행이 도 8에 도시되어 있다. 도 8의 실시간 파이프라인 FFT 프로세서(1000)은 FFT 연산이 기수 8 알고리즘보다는 기수 16 FFT 알고리즘에 기초하는 것을 제외하고는 도 3에 도시되어 있는 기수 23 SDF 구조와 유사한 기수 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)
- 저전력 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 면적을 사용하여 형성되는 고속 푸리에 변환(FFT) 프로세서로서,4보다 큰 크기를 갖고, 트위들 인수 승산을 실행하는 고정 계수 승산기 회로를 각각 포함하는 하나 이상의 이산 푸리에 변환(DFT) 모듈을 포함하며,입력 데이터 스트림이 변환된 출력 데이터 시퀀스를 발생하도록 각 DFT 모듈에 의해 처리되는 고속 푸리에 변환 프로세서.
- 제 1 항에 있어서,각 DFT 모듈의 크기는 8인 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 1 항에 있어서,각 DFT 모듈의 크기는 16인 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 1 항에 있어서,각 DFT 모듈에서의 트위들 인수 승산은 자명하지 않은 승산 및 자명한 승산을 포함하고, 자명하지 않은 승산은 고정 계수 승산기를 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 4 항에 있어서,상기 자명한 승산은 연산을 실행하지 않고 부호를 변화시키거나 실수 및 허수 성분을 시프트하는 승산기 없이 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 4 항에 있어서,상이한 자명하지 않은 트위들 인수값 승산은 동일한 고정 계수 승산 회로를 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 4 항에 있어서,하나 이상의 자명하지 않은 트위들 인수는 상이한 자명하지 않은 트위들 인수값의 수를 감소시키도록 2개의 성분 트위들 인수로 분해되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 4 항에 있어서,2개 이상의 자명하지 않은 트위들 인수 사이의 대칭 관계는 상이한 자명하지 않은 트위들 인수값의 수를 감소시키는데 사용되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 2 항에 있어서,각각의 8 포인트 DFT 모듈에서의 모든 자명하지 않은 트위들 인수 승산은 단지 하나의 고정 계수 승산기 회로를 사용하여 수행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 9 항에 있어서,상기 하나의 고정 계수 승산기 회로는 제1 가산기에서 허수 성분 승산기의 출력에 가산되는 실수 성분 승산기의 출력 및 제2 가산기에서 허수 승산기 출력으로부터 감산되는 실수 승산기 출력을 갖는 실수 및 허수 성분 승산기를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 3 항에 있어서,각각의 16 포인트 DFT 모듈은 모든 자명하지 않은 트위들 인수 승산을 실행하도록 2개의 고정 계수 승산기 회로를 이용하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 11 항에 있어서,각각의 16 포인트 DFT 모듈내의 상기 2개의 고정 계수 승산기 회로는:제1 가산기에서 허수 성분 승산기의 출력에 가산되는 실수 성분 승산기의 출력 및 제2 가산기에서 허수 승산기 출력으로부터 감산되는 실수 승산기 출력을 갖는 실수 및 허수 성분 승산기를 갖는 제1 고정 계수 승산기 회로와,하나의 트위들 인수 승산을 위하여 제1 상태로 그리고 다른 트위들 인수 승산을 위하여 제2 상태로 시프트되는 실수 및 허수 시프터를 갖는 제2 고정 계수 승산기 회로를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 감소된 전력으로 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 면적을 사용하여 형성되는 FFT 프로세서로 고속 푸리에 변환(FFT)을 계산하는 방법으로서:4보다 큰 크기를 갖고 트위들 인수 승산을 실행하는 고정 계수 승산기를 각각 포함하는 복수의 처리 모듈을 갖는 FFT 프로세서를 구성하는 단계와,변환된 출력 데이터 시퀀스를 발생하도록 각 처리 모듈에서 입력 데이터 스트림을 처리하는 단계를 포함하는 고속 푸리에 변환 계산 방법.
- 제 13 항에 있어서,각 처리 모듈의 크기는 8인 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 13 항에 있어서,각 처리 모듈의 크기는 16인 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 13 항에 있어서,각 처리 모듈에서의 트위들 인수 승산을 자명하지 않은 승산 및 자명한 승산으로 분리하는 단계와,하나 이상의 고정 계수 승산기를 사용하여 자명하지 않은 승산을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 16 항에 있어서,상기 자명한 승산은 연산 없이 실행하거나, 부호를 변화시키거나, 실수 및 허수 성분을 시프팅하는 승산기 없이 실행되는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 16 항에 있어서,각각의 상이한 자명하지 않은 트위들 인수값 승산에 대응하는 고정 계수 승산기 회로를 사용하여 각 처리 모듈에서 상이한 자명하지 않은 트위들 인수값 승산을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 16 항에 있어서,동일한 고정 계수 승산기 회로를 사용하여 각 처리 모듈에서 상이한 자명하지 않은 트위들 인수값 승산을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 16 항에 있어서,상이한 자명하지 않은 트위들 인수값의 수를 감소시키기 위해 하나 이상의 자명하지 않은 트위들 인수를 2개의 성분 트위들 인수로 분해하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 16 항에 있어서,상이한 자명하지 않은 트위들 인수값의 수를 감소시키기 위해 2개 이상의 자명하지 않은 트위들 인수 사이의 대칭 관계를 사용하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 14 항에 있어서,각각의 8 포인트 처리 모듈에서 모든 자명하지 않은 트위들 인수 승산을 실행하기 위해 단지 하나의 고정 계수 승산기 회로를 사용하여 각각의 8 포인트 처리 모듈에서 모든 자명하지 않은 트위들 인수 승산을 수행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 15 항에 있어서,각각의 16 포인트 처리 모듈에서 모든 자명하지 않은 트위들 인수 승산을 실행하기 위해 단지 2개의 고정 계수 승산기를 사용하여 각각의 16 포인트 처리 모듈에서 모든 자명하지 않은 트위들 인수 승산을 수행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 저전력 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 면적을 사용하여 형성되는 고속 푸리에 변환(FFT) 프로세서로서,함께 결합되는 3개의 2 포인트 버터플라이 유닛을 각각 갖는 하나 이상의 이산 푸리에 변환(DFT) 모듈과,2 포인트 버터플라이 유닛중 2개를 링크하는 고정 계수 승산기 회로를 사용하여 구현되는 하나 이상의 트위들 인수 승산기를 포함하고,입력 데이터 스트림은 변환된 출력 데이터 시퀀스를 발생하도록 3개의 버터플라이 유닛에 의해 처리되는 고속 푸리에 변환 프로세서.
- 제 24 항에 있어서,상기 FFT 프로세서는 각 버터플라이 유닛 사이에 위치되는 파이프라인 레지스터로 파이프라인되고, 각각의 2 포인트 버터플라이 유닛은 자신으로부터의 출력 및 자신으로의 입력 사이의 피드백 경로를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 25 항에 있어서,상기 피드백 경로는 단일 지연 피드백 경로이고, 각 DFT 모듈은 각각 상이한 크기 피드백 시퀀스를 수용하는 3개의 피드백 레지스터를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 26 항에 있어서,DFT 모듈은 동적 승산기를 통해 트위들 인수 메모리에 접속되어, 상기 버터플라이 모듈중 하나로부터의 출력이 인접한 DFT 모듈에서 처리되기 전에 동적 승산기의 트위들 인수 메모리로부터 검색되는 트위들 인수와 승산되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 24 항에 있어서,자명한 트위들 인수 승산은 승산기 회로를 사용하지 않고 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 28 항에 있어서,자명한 트위들 인수 승산은 연산 없이, 부호 변경 연산, 또는 실수 및 허수 성분 교환 연산을 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 24 항에 있어서,상기 고정 계수 승산기 회로는 제1 가산기에서 허수 승산기의 출력에 가산되는 실수 승산기의 출력 및 제2 가산기에서 허수 출력으로부터 감산되는 실수 출력을 갖는 실수 및 허수 성분 승산기를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 24 항에 있어서,상기 동일한 고정 계수 승산기 회로는 각 DFT 모듈에서 실행될 모든 자명하지 않은 트위들 인수 승산을 실행하는데 사용되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 저전력 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 면적을 사용하여 형성되는 고속 푸리에 변환(FFT) 프로세서로서,함께 결합되는 4개의 2 포인트 버터플라이 유닛을 각각 갖는 하나 이상의 이산 푸리에 변환(DFT) 모듈과,2개 이상의 2 포인트 버터플라이 유닛을 링크하는 고정 계수 승산기 회로를 사용하여 구현되는 하나 이상의 트위들 인수 승산기를 포함하고,입력 데이터 스트림은 변환된 출력 데이터 시퀀스를 발생하도록 3개의 버터플라이 유닛에 의해 처리되는 고속 푸리에 변환 프로세서.
- 제 32 항에 있어서,상기 FFT 프로세서는 각 버터플라이 유닛 사이에 위치되는 파이프라인 레지스터로 파이프라인되고, 각각의 2 포인트 버터플라이 유닛은 자신으로부터의 출력 및 자신으로의 입력 사이에 피드백 경로를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 33 항에 있어서,상기 피드백은 단일 지연 피드백 경로이고, 각 DFT 모듈은 각각 상이한 크기 피드백 시퀀스를 수용하는 4개의 피드백 레지스터를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 32 항에 있어서,자명한 트위들 인수 승산은 승산기 회로를 사용하지 않고 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 35 항에 있어서,자명한 트위들 인수 승산은 연산 없이, 부호 변경 연산, 또는 실수 및 허수 성분 교환 연산을 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 32 항에 있어서,제1 고정 계수 승산기 회로는 제1 가산기에서 제1 허수 승산기의 출력에 가산되는 제1 실수 승산기 출력 및 제2 가산기에서 허수 승산기 출력으로부터 감산되는 실수 승산기 출력을 갖는 제1 실수 및 허수 성분 승산기를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 37 항에 있어서,제2 고정 계수 승산기 회로는 하나의 트위들 인수 승산을 위하여 제1 상태로 시프트되고, 또 다른 트위들 인수 승산을 위하여 제2 상태로 시프트되는 실수 및 허수 성분 시프터를 포함하는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 제 38 항에 있어서,상기 제1 및 제2 고정 승산기 회로는 각 DFT 모듈에서 실행될 모든 자명하지 않은 트위들 인수 승산을 실행하는데 사용되는 것을 특징으로 하는 고속 푸리에 변환 프로세서.
- 감소된 전력으로 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 면적을 사용하여 형성되는 FFT 프로세서로 고속 푸리에 변환(FFT)을 계산하는 방법으로서:파이프라인 방식으로 함께 결합되는 3개의 2 포인트 버터플라이 유닛을 각각 구현하는 하나 이상의 처리 모듈을 갖는 FFT 프로세서를 구성하는 단계로서, 상기 버터플라이 유닛중 2개 이상이 고정 계수 승산기 회로에 의해 링크되는, FFT 프로세서 구성 단계와,3개의 버터플라이 유닛중 제1 버터플라이 유닛의 입력에 입력 데이터 스트림을 인가하여 입력 데이터 스트림을 처리하는 단계와,3개의 버터플라이 유닛중 제2 버터플라이 유닛에서 제1 버터플라이 유닛의 출력을 처리하는 단계와,출력 데이터 시퀀스를 발생하도록 3개의 버터플라이 유닛중 제3 버터플라이 유닛에서 제2 버터플라이 유닛의 출력을 처리하는 단계를 포함하는 고속 푸리에 변환 계산 방법.
- 제 40 항에 있어서,동일한 고정 계수 승산기 회로를 사용하여 상이한 자명하지 않은 트위들 승산을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 41 항에 있어서,각 처리 모듈에 대한 모든 자명하지 않은 트위들 인수 승산은 고정 계수 승산기 회로를 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 감소된 전력으로 고속 푸리에 변환 동작을 효율적으로 실행하기 위해 최소 집적 회로 칩 면적을 사용하여 형성되는 FFT 프로세서로 고속 푸리에 변환(FFT)을 계산하는 방법으로서:2 포인트 버터플라이 유닛중 2개 이상이 고정 계수 승산기 회로에 의해 링크되는 파이프라인 방식으로 함께 결합되는 4개의 2 포인트 버터플라이 유닛을 각각 갖는 하나 이상의 처리 모듈을 갖는 FFT 프로세서를 구성하는 단계와,4개의 버터플라이 유닛중 제1 버터플라이 유닛의 입력에 입력 데이터 스트림을 인가하여 입력 데이터 스트림을 처리하는 단계와,4개의 버터플라이 유닛중 제2 버터플라이 유닛에서 제1 버터플라이 유닛의 출력을 처리하는 단계와,4개의 포인트 버터플라이 유닛중 제3 버터플라이 유닛에서 제2 버터플라이 유닛의 출력을 처리하는 단계와,출력 데이터 시퀀스를 발생시키기 위하여 4개의 버터플라이 유닛중 제4 버터플라이 유닛에서 제2 버터플라이 유닛의 출력을 처리하는 단계를 포함하는 고속 푸리에 변환 계산 방법.
- 제 43 항에 있어서,동일한 고정 계수 승산기 회로를 사용하여 상이한 자명하지 않은 승산을 실행하는 단계를 더 포함하는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
- 제 43 항에 있어서,각 처리 모듈에 대한 모든 자명하지 않은 트위들 인수 승산은 2개의 고정 계수 승산기 회로를 사용하여 실행되는 것을 특징으로 하는 고속 푸리에 변환 계산 방법.
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 KR20010034300A (ko) | 2001-04-25 |
KR100551111B1 true 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) |
Families Citing this family (53)
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 |
KR100890768B1 (ko) * | 2007-03-21 | 2009-04-02 | (주)카이로넷 | 데이터 변환 프로세서 및 이를 갖는직교주파수분할다중변조 수신장치 |
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 |
KR101359033B1 (ko) * | 2007-09-21 | 2014-02-11 | 삼성전자주식회사 | 이산 푸리에 변환 장치 및 방법 |
EP2250581B1 (en) * | 2008-01-31 | 2015-09-02 | 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设计方法 |
AU2019228387B2 (en) * | 2018-02-27 | 2024-07-25 | 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)
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 | シャープ株式会社 | 高速フーリエ変換用ディジット反転のためのアドレス発生器及び反転フィールドシーケンス発生器並びにディジット反転シーケンス信号発生方法 |
WO1997019412A1 (en) * | 1995-11-17 | 1997-05-29 | Teracom Svensk Rundradio | Improvements in or relating to real-time pipeline fast fourier transform processors |
-
1998
- 1998-01-21 US US09/010,130 patent/US6061705A/en not_active Expired - Lifetime
- 1998-12-18 WO PCT/SE1998/002393 patent/WO1999038089A1/en active Search and Examination
- 1998-12-18 CA CA002318449A patent/CA2318449C/en not_active Expired - Lifetime
- 1998-12-18 AU AU21935/99A patent/AU753685B2/en not_active Expired
- 1998-12-18 JP JP2000528925A patent/JP2002501253A/ja active Pending
- 1998-12-18 CN CN98813921A patent/CN1109991C/zh not_active Expired - Lifetime
- 1998-12-18 KR KR1020007008017A patent/KR100551111B1/ko not_active IP Right Cessation
- 1998-12-18 EP EP98965923A patent/EP1051680A1/en not_active Withdrawn
-
1999
- 1999-01-13 TW TW088100461A patent/TW409212B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1051680A1 (en) | 2000-11-15 |
TW409212B (en) | 2000-10-21 |
KR20010034300A (ko) | 2001-04-25 |
CN1109991C (zh) | 2003-05-28 |
CA2318449C (en) | 2006-03-28 |
CA2318449A1 (en) | 1999-07-29 |
CN1290369A (zh) | 2001-04-04 |
WO1999038089A1 (en) | 1999-07-29 |
US6061705A (en) | 2000-05-09 |
AU753685B2 (en) | 2002-10-24 |
JP2002501253A (ja) | 2002-01-15 |
AU2193599A (en) | 1999-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100551111B1 (ko) | 파이프라인 고속 푸리에 변환 프로세서 | |
US6098088A (en) | Real-time pipeline fast fourier transform processors | |
Jung et al. | New efficient FFT algorithm and pipeline implementation results for OFDM/DMT applications | |
US5941940A (en) | Digital signal processor architecture optimized for performing fast Fourier Transforms | |
US4199660A (en) | FDM/TDM Transmultiplexer | |
US7856465B2 (en) | Combined fast fourier transforms and matrix operations | |
EP1646953A2 (en) | Recoded radix-2 pipelined fft processor | |
KR20020034746A (ko) | 고속 및 면적효율적인 알고리즘을 적용한 고속 프리에변환 프로세서 | |
Prakash et al. | Performance evaluation of FFT processor using conventional and Vedic algorithm | |
US20080198914A1 (en) | Architecture for Systolic Nonlinear Filter Processors | |
CN1685309A (zh) | 计算上高效数学引擎 | |
US6157938A (en) | Fast fourier transform device with parallel lattice architecture | |
Fang et al. | A pipelined algorithm and area-efficient architecture for serial real-valued FFT | |
Seshadri et al. | Knowledge-based single-tone digital filter implementation for DSP systems | |
Yang et al. | Recursive discrete Fourier transform with unified IIR filter structures | |
KR100576520B1 (ko) | 반복 연산 기법을 이용한 가변 고속 푸리에 변환프로세서 | |
Sarada et al. | Reconfigurable FFT processor—a broader perspective survey | |
Chang et al. | Efficient FFT implementation using digit-serial arithmetic | |
KR100444729B1 (ko) | 레딕스-8 단일 경로 지연 전달 구조의 고속 퓨리에 변환장치 및 그 방법 | |
US6973135B1 (en) | Reduced delay implementation of fourier transform based channelizers and de-channelizers | |
JP3865469B2 (ja) | バタフライ演算器 | |
Pritha et al. | An effective design of 128 point FFT/IFFT processor UWB application utilizing radix-(16+ 8) calculation | |
Geresu et al. | Area-Efficient 128-to 2048/1536-Point Pipeline FFT Processor for LTE and Mobile Wimax Systems | |
Ho et al. | A reconfigurable systolic array architecture for multicarrier wireless and multirate applications | |
Ching et al. | Matrix formulation: fast filter bank |
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 |