KR20130047202A - High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method - Google Patents
High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method Download PDFInfo
- Publication number
- KR20130047202A KR20130047202A KR1020110112082A KR20110112082A KR20130047202A KR 20130047202 A KR20130047202 A KR 20130047202A KR 1020110112082 A KR1020110112082 A KR 1020110112082A KR 20110112082 A KR20110112082 A KR 20110112082A KR 20130047202 A KR20130047202 A KR 20130047202A
- Authority
- KR
- South Korea
- Prior art keywords
- butterfly
- fast fourier
- fourier transform
- fifo memory
- result
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000015654 memory Effects 0.000 claims description 46
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 19
- 238000012805 post-processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 241000226211 Salminus brasiliensis Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법이 개시된다.
고속 푸리에 변환 장치는 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산하여 고속 푸리에 변환하는 복수의 고속 푸리에 변환부; 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 제1 버터플라이 연산부; 및 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 제2 버터플라이 연산부를 포함할 수 있다.Radix 2 quadratic fast Fourier transform apparatus and method are disclosed.
The fast Fourier transform apparatus includes: a plurality of fast Fourier transform units configured to perform fast Fourier transform by calculating single-path delay feedback (SDF) on input data received through a parallel data path; A first butterfly operation unit performing a butterfly operation on the fast Fourier transformed input data; And a second butterfly calculator configured to butterfly arithmetic operations of the first butterfly calculator.
Description
본 발명은 Radix 2의 5승 고속 푸리에 변환 장치 및 방법에 관한 것으로, 보다 상세하게는, 고속 푸리에 변환 방법에서 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높이는 파이프라인 고속 푸리에 변환 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for a quadratic fast Fourier transform of Radix 2. More particularly, the present invention relates to a pipeline fast Fourier transform device and method for increasing data throughput by performing a parallel operation on a part of a higher stage in the fast Fourier transform method. will be.
직교 주파수 분할 다중화 (OFDM: Orthogonal Frequency Division Multiplexing) 는 통신 시스템에서 하나의 반송파를 여러 개의 직교되는 부 반송파로 나누어 데이터 열을 실어서 변조 및 전송함으로써, 통신 시스템을 병렬 구조화 하지 않아도 단일 반송파 통신 시스템을 병렬 구조화 하는 것에 가까운 고속 데이터 전송이 가능한 방식이다.Orthogonal Frequency Division Multiplexing (OFDM) divides a single carrier into several orthogonal subcarriers in a communication system, loads, modulates, and transmits a data stream, thereby providing a single carrier communication system without having to parallel structure the communication system. This is a high speed data transfer that is close to parallel structure.
이때, 직교 주파수 분할 다중화 방식은 이산 푸리에 변환 (Discrete Fourier Transform; DFT) 방식을 사용하여 구현한다. 그러나 이산 푸리에 변환 방식을 하드웨어로 구현하면, 입력 길이인 포인트 수의 증가에 따라 복소 덧셈, 뺄셈 및 곱셈 연산이 지수적으로 증가하여 하드웨어 비용이 늘어나므로, 고속 푸리에 변환을 사용하고 있다.In this case, orthogonal frequency division multiplexing is implemented using a Discrete Fourier Transform (DFT) scheme. However, when the discrete Fourier transform is implemented in hardware, the fast Fourier transform is used because the complex add, subtract, and multiply operations increase exponentially with the increase in the number of points, the input length.
한국공개특허 제10-2008-0062003호(공개일 2008년 07월 03일)에는 파이프라인 (Pipeline) 구조를 사용한 고속 푸리에 변환 장치가 개시되어 있다. 종래의 파이프라인 구조를 사용한 고속 푸리에 변환 장치는 Radix-22 알고리즘을 사용하고 있으나, Radix-22 알고리즘은 높은 입력 길이의 고속 푸리에 변환 연산을 수행하는 경우 다수의 곱셈기가 필요하게 되어 하드웨어 설계 비용이 높아진다는 문제가 있었다. Korean Patent Publication No. 10-2008-0062003 (published Jul. 03, 2008) discloses a fast Fourier transform apparatus using a pipeline structure. The fast Fourier transform apparatus using the conventional pipeline structure uses the Radix-2 2 algorithm, but the Radix-2 2 algorithm requires a multiplier when performing the fast Fourier transform operation with a high input length. There was a problem of this being high.
따라서 종래의 고속 푸리에 변환 프로세서보다 저 면적으로 구현 할 수 있으면서도 고속 처리가 가능한 장치 및 방법이 요청되고 있다.Therefore, there is a need for an apparatus and method that can be implemented in a lower area than a conventional fast Fourier transform processor and can be processed at a high speed.
본 발명은 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높일 수 있는 파이프라인 고속 푸리에 변환 장치 및 방법을 제공한다.The present invention provides a pipeline fast Fourier transform apparatus and method that can increase the data throughput by performing parallel operations on some of the higher stages.
또한, 본 발명은 복잡한 구조를 가지는 복소 부스(Booth) 곱셈기의 대부분을 간단한 구조를 가지는 공통 서브 익스프레션 공유(Common Sub-expression Sharing; CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복수 상수 곱셈기로 대체함으로써, 복잡도가 낮은 고속 푸리에 변환 장치 및 방법을 제공한다. In addition, the present invention is a Canonical Signed Digit (CSD) method using a common sub-expression sharing (CSS) technique having a simple structure for most of the complex booth multiplier having a complex structure By replacing with a plural constant multiplier, there is provided a fast Fourier transform device and method with low complexity.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 고속 푸리에 변환하는 복수의 고속 푸리에 변환부; 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 제1 버터플라이 연산부; 및 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 제2 버터플라이 연산부를 포함할 수 있다.A fast Fourier transform device according to an embodiment of the present invention includes a plurality of fast Fourier transform unit for performing a fast Fourier transform by calculating a single-path delay feedback (SDF) input data received through a parallel data path; A first butterfly operation unit performing a butterfly operation on the fast Fourier transformed input data; And a second butterfly calculator configured to butterfly arithmetic operations of the first butterfly calculator.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치의 고속 푸리에 변환부는, 32-FIFO 메모리와 연결된 제2 버터플라이 연산부를 통해 버터플라이 연산하는 제1 단계; 16-FIFO 메모리와 연결된 제1 버터플라이 연산부를 통해 상기 제1 단계의 연산 결과를 버터플라이 연산하는 제2 단계; 8-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제2 단계의 연산 결과를 버터플라이 연산하는 제3 단계; 4-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제3 단계의 연산 결과를 버터플라이 연산하는 제4 단계; 2-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제4 단계의 연산 결과를 버터플라이 연산하는 제5 단계; 및 1-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제5 단계의 연산 결과를 버터플라이 연산하는 제6 단계를 포함하는 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산을 수행할 수 있다.A fast Fourier transform unit of the fast Fourier transform device according to an embodiment of the present invention, the first step of performing a butterfly operation through a second butterfly calculation unit connected to the 32-FIFO memory; A second step of performing a butterfly operation on the operation result of the first step through a first butterfly operation unit connected to a 16-FIFO memory; A third step of performing a butterfly operation on the operation result of the second step through a first butterfly operation unit connected to an 8-FIFO memory; A fourth step of performing a butterfly operation on the operation result of the third step through a second butterfly operation unit connected to a 4-FIFO memory; A fifth step of performing a butterfly operation on the operation result of the fourth step through a first butterfly operation unit connected to a 2-FIFO memory; And a sixth step of performing a butterfly operation on the operation result of the fifth step through a second butterfly operation unit connected to the 1-FIFO memory to perform a single-path delay feedback (SDF) operation. have.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치의 고속 푸리에 변환부는 복소 상수 곱셈기를 사용하여 상기 제2 단계의 연산 결과와 상기 제3단계의 연산 결과를 회전 인자 곱셈 연산할 수 있다.The fast Fourier transform unit of the fast Fourier transform device according to an embodiment of the present invention may perform a rotation factor multiplication operation on the calculation result of the second step and the operation result of the third step by using a complex constant multiplier.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치의 복소 상수 곱셈기는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기일 수 있다.The complex constant multiplier of the fast Fourier transform apparatus according to an embodiment of the present invention may be a multiple constant multiplier of a canonical code number (CSD) method using a common subexpression sharing (CSS) technique.
본 발명의 일실시예에 따른 고속 푸리에 변환 방법은 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산하여 병렬로 고속 푸리에 변환하는 단계; 제1 버터플라이 연산부를 사용하여 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 단계; 및 제2 버터플라이 연산부를 사용하여 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 단계를 포함할 수 있다.A fast Fourier transform method according to an embodiment of the present invention comprises the steps of performing a fast Fourier transform in parallel by calculating a single-path delay feedback (SDF) input data received through the parallel data path; Performing a butterfly operation on the fast Fourier transformed input data using the first butterfly calculator; And performing a butterfly operation on a calculation result of the first butterfly calculator using a second butterfly calculator.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 6차원 인덱스 분해법에 의해 유도 되는 Radix-25 알고리즘에 공통 인수 분해 알고리즘을 적용하여 수식을 재구성한 수정된 Radix-25 알고리즘에 따라 고속 푸리에 변환을 수행할 수 있다.A fast Fourier transform apparatus according to an embodiment of the present invention is a fast Fourier transform according to a modified Radix-2 5 algorithm that reconstructs an equation by applying a common factorization algorithm to a Radix-2 5 algorithm derived by 6-dimensional index decomposition. Can be performed.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 6차원 인덱스 분해법에 의해 유도 되는 복수의 Radix-25 알고리즘을 기초로 병렬 구조 및 파이프라인 방식을 이용한 수정된 Radix-25 알고리즘에 따라 고속 푸리에 변환을 수행할 수 있다.A fast Fourier transform apparatus according to an embodiment of the present invention is a fast Fourier transform according to a modified Radix-2 5 algorithm using a parallel structure and a pipeline method based on a plurality of Radix-2 5 algorithms derived by 6-dimensional index decomposition. You can perform the conversion.
본 발명의 일실시예에 의하면, 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치에서 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높일 수 있다.According to an embodiment of the present invention, the data throughput may be increased by performing a parallel operation on a part of an upper stage in a pipeline fast Fourier transform apparatus having a plurality of parallel data paths.
또한, 본 발명의 일실시예에 의하면, 복잡한 구조를 가지는 복소 부스(Booth) 곱셈기의 대부분을 간단한 구조를 가지는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기로 대체함으로써, 고속 푸리에 변환 장치의 복잡도를 낮출 수 있다.In addition, according to an embodiment of the present invention, a majority of the complex booth multiplier having a complicated structure is a plural constant multiplier of a canonical code number (CSD) method using a common subexpression sharing (CSS) technique having a simple structure. By replacing, the complexity of the fast Fourier transform device can be reduced.
도 1은 64 포인트의 Radix-25 알고리즘의 전개 방법 1을 이용한 고속 푸리에 변환 방법의 개략적인 신호 흐름도이다.
도 2는 64 포인트의 Radix-25 알고리즘의 전개 방법 2를 이용한 고속 푸리에 변환 방법의 개략적인 신호 흐름도이다.
도 3은 본 발명의 일실시예에 따른 고속 푸리에 변환 장치를 도시한 블록 다이어그램이다.
도 4는 본 발명의 일실시예에 따른 고속 푸리에 변환부를 도시한 블록 다이어그램이다.
도 5는 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 CSD 상수 곱셈기의 구성을 도시한 도면이다.
도 8은 회전 인자 W32를 위한 본 발명의 일실시예에 따른 복소 상수 곱셈기의 구성을 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 후처리부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.
도 10은 본 발명의 일실시예에 따른 후처리부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.
도 11은 본 발명의 일실시예에 따른 고속 푸리에 변환 방법을 도시한 플로우차트이다.1 is a schematic signal flow diagram of a fast Fourier transform method using a
FIG. 2 is a schematic signal flow diagram of a fast Fourier transform method using a
3 is a block diagram illustrating a fast Fourier transform device according to an embodiment of the present invention.
4 is a block diagram illustrating a fast Fourier transform unit according to an embodiment of the present invention.
5 is a diagram illustrating a configuration of a first butterfly calculator included in a fast Fourier transform unit according to an embodiment of the present invention.
6 is a diagram illustrating a configuration of a second butterfly calculator included in a fast Fourier transform unit according to an exemplary embodiment of the present invention.
7 is a diagram illustrating a configuration of a CSD constant multiplier according to an embodiment of the present invention.
8 shows for rotation factor W 32 A diagram illustrating a configuration of a complex constant multiplier according to an embodiment of the present invention.
9 is a diagram illustrating a configuration of a first butterfly calculation unit included in a post-processing unit according to an embodiment of the present invention.
10 is a diagram illustrating a configuration of a second butterfly calculating unit included in a post-processing unit according to an embodiment of the present invention.
11 is a flowchart illustrating a fast Fourier transform method according to an embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 고속 푸리에 변환 방법은 고속 푸리에 변환 장치에 의해 수행될 수 있다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The fast Fourier transform method according to an embodiment of the present invention may be performed by a fast Fourier transform device.
본 발명은 Radix-25 알고리즘을 사용한 고속 푸리에 변환 방법이다.The present invention is a fast Fourier transform method using the Radix-2 5 algorithm.
고속 푸리에 변환 방법 중에 64 포인트의 Radix-25 알고리즘은 공통 인수 분해 알고리즘의 적용 방법에 따라 도 1이나 도 2와 같은 신호 흐름도를 사용할 수 있다. 이때, 도 1을 64 포인트의 Radix-25 알고리즘의 전개 방법 1에 따른 신호 흐름도라 하고, 도 2를 64 포인트의 Radix-25 알고리즘의 전개 방법 2에 따른 신호 흐름도라 한다.The 64-point Radix-2 5 algorithm in the fast Fourier transform method may use a signal flow diagram as shown in FIG. 1 or 2 according to a method of applying a common factorization algorithm. At this time, the Dorado signal flow according to a first signal stream Dora, and deployment of the Radix-2 algorithm of the Fig. 5 2 2 64-point method according to the
이때, 길이가 N인 이산 푸리에 변환은 수학식 1과 같이 정의할 수 있다.In this case, the discrete Fourier transform of length N may be defined as in
이때, WN은 회전 인자이고, n은 시간 인덱스이며, k는 주파수 인덱스일 수 있다.In this case, W N may be a rotation factor, n may be a time index, and k may be a frequency index.
이때, Radix-25 알고리즘을 유도하기 위하여 수학식 1과 같은 이산 푸리에 변환에 6차원 선형 인덱스 맵을 적용하면 수학식 2를 생성할 수 있다.In this case,
다음으로, 수학식 2에 공통 인수 분해 알고리즘(Common Factor Algorithm; CFA)을 적용하면 수학식 3을 생성할 수 있다.Next, when the common factor algorithm (CFA) is applied to
이때, 수학식 3의 회전 인자를 정리하면 수학식 4를 생성할 수 있다.At this time, if the rotation factor of Equation 3 is arranged,
이때, 수학식 4는 도 1에 도시된 바와 같이 64 포인트의 Radix-25 알고리즘의 전개 방법 1에 따른 각 스테이지의 버터플라이 연산 및 회전 인자 곱셈 연산의 순서 및 구조를 나타낼 수 있다. In this case,
이때, 첫 번째 스테이지의 회전 인자 곱셈(110)와 네 번째 스테이지의 회전 인자 곱셈(120)은 곱셈기를 필요로 하지 않는 단순 곱셈으로 구성될 수 있다. 또한, W8 회전 인자 복소 곱셈(130)의 회전 인자 수는 1개이고, W32 회전 인자 복소 곱셈(140) 의 회전 인자 수는 7개로 구성될 수 있다. 이때, W8 회전 인자 복소 곱셈(130)과 W32 회전 인자 복소 곱셈(140)은 CSD 특수 상수 곱셈기를 사용하여 수행될 수 있다. 이때, 64P BU2는 64포인트 제2 버터플라이 연산이고, 32P BU1은 32포인트 제1 버터플라이 연산일 수 있다. 또한, 16P BU1은 16포인트 제1 버터플라이 연산이고, 8P BU2는 8포인트 제2 버터플라이 연산일 수 있다. In this case, the
또한, 수학식 1과 수학식 2에 적용하는 공통 인수 분해 알고리즘을 수학식 3과 다른 방식으로 적용하는 경우, 수학식 5를 생성할 수 있다.In addition, when the common factorization algorithm applied to
이때, 수학식 5의 회전 인자를 정리하면 수학식 6을 생성할 수 있다.At this time, by arranging the rotation factors of Equation 5,
이때, 수학식 6은 도 2에 도시된 바와 같이 64 포인트의 Radix-25 알고리즘의 전개 방법 2에 따른 각 스테이지의 버터플라이 연산 및 회전 인자 곱셈 연산의 순서 및 구조를 나타낼 수 있다. In this case,
이때, 첫 번째 스테이지의 회전 인자 곱셈(210)과 세 번째 스테이지의 회전 인자 곱셈(220)은 곱셈기를 필요로 하지 않는 단순 곱셈으로 구성될 수 있다. 또한, 두 번째 스테이지의 W16 회전 인자 복소 곱셈(230)에서의 회전 인자 수를 3개로 구성함으로써, CSD 특수 상수 곱셈기를 사용 하여 두 번째 스테이지의 W16 회전 인자 복소 곱셈(230)을 연산할 수 있다. 그리고, 다섯 번째 스테이지의 회전 인자 곱셈(240)은 고속 푸리에 변환의 입력 길이가 512 보다 작은 경우, 회전 인자 수를 최대 7개로 구성함으로써, CSD 특수 상수 곱셈기로 다섯 번째 스테이지의 회전 인자 곱셈(240)을 연산할 수 있다.In this case, the
본 발명에 따른 Radix-25 알고리즘은 복소 곱셈 연산량을 최소화 하기 위하여 첫 번째 스테이지에서 상위 다섯 번째 스테이지까지는 수학식 3과 수학식 4에 따른 전개 방법 1을 적용하여 연산하고, 여섯 번째 스테이지부터는 마지막 스테이지까지는 수학식 5와 수학식 6에 따른 전개 방법 2를 적용하여 연산할 수 있다.The Radix-2 5 algorithm according to the present invention operates from the first stage to the upper fifth stage by applying the
또한, 본 발명에 따른 Radix-25 알고리즘은 프로그래머블 복소 곱셈기를 대신하여 CSS 기법 및 CSD 방식을 이용한 복소 상수 곱셈기로 복수 상수 곱셈을 연산함으로써, 하드웨어의 설계 비용 및 전력 소모를 감소시킬 수 있다. 이때, 본 발명에 따른 복소 상수 곱셈기는 CSD 방식을 통해 0 (Zero)이 아닌 비트의 개수를 최소화하고 CSS 기법을 통해 공통 연산부를 공유하도록 연산과정을 간소화할 수 있다.In addition, the Radix-2 5 algorithm according to the present invention can reduce the design cost and power consumption of hardware by calculating a multiple constant multiplication using a complex constant multiplier using CSS and CSD instead of the programmable complex multiplier. In this case, the complex constant multiplier according to the present invention can simplify the calculation process to minimize the number of non-zero bits through the CSD method and to share the common operation unit through the CSS method.
도 3은 본 발명의 일실시예에 따른 고속 푸리에 변환 장치를 도시한 블록 다이어그램이다. 3 is a block diagram illustrating a fast Fourier transform device according to an embodiment of the present invention.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 도 3에 도시된 바와 같이 8개의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치이며, 고속 푸리에 변환부(310)와, 후처리부(320)를 포함할 수 있다. The fast Fourier transform device according to an embodiment of the present invention is a pipelined Fast Fourier transform device having eight parallel data paths as shown in FIG. 3, and includes a fast
고속 푸리에 변환부(310)는 8개의 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 64 포인트의 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 고속 푸리에 변환할 수 있다. 이때, 고속 푸리에 변환부(310)는 제1 고속 푸리에 변환부(311) 내지 제8 고속 푸리에 변환부(312)를 사용하여 병렬 데이터 경로를 통하여 입력된 입력 데이터들을 독립적으로 병렬 연산할 수 있다.The fast
또한, 고속 푸리에 변환부(310)는 본 발명의 일실시예에 따른 고속 푸리에 변환 방법의 제1 단계 내지 제6 단계에 해당하는 상위 6개의 스테이지를 수행할 수 있다.In addition, the fast
고속 푸리에 변환부(310)의 상세 구성과 수행하는 스테이지들은 이하 도 4를 기초로 상세히 설명한다.The detailed configuration of the fast
후처리부(320)는 제1 버터플라이 연산부와 제2 버터플라이 연산부 및 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)로 하위 3스테이지를 수행하여 제1 고속 푸리에 변환부(311) 내지 제8 고속 푸리에 변환부(312)의 출력을 후처리할 수 있다.The
이때, 후처리부(320)는 7 번째 스테이지에서 4개의 제1 버터플라이 연산부(321)를 사용하여 제1 고속 푸리에 변환부(311) 내지 제8 고속 푸리에 변환부(312)의 출력을 8 포인트 버터플라이 연산할 수 있다. 이때, 7 번째 스테이지의 회전 인자 곱셈 연산은 3 종류의 회전 인자를 필요로 하므로, 후처리부(320)는 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)를 이용하여 제1 버터플라이 연산부(321)의 출력에 회전 인자 곱셈 연산을 수행할 수 있다. 이때, W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)는 공통 서브 익스프레션 공유(Common Sub-expression Sharing: CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복수 상수 곱셈기일 수 있다. In this case, the
또한, 후처리부(320)는 8번째 스테이지와 4개의 제2 버터플라이 연산부(323)를 사용하여 7 번째 스테이지의 결과를 4 포인트 버터플라이 연산할 수 있다. In addition, the
그리고, 후처리부(320)는 9번째 스테이지에서 4개의 제1 버터플라이 연산부(324)를 사용하여 8 번째 스테이지 결과를 2 포인트 버터플라이 연산하여 64 클럭 동안 결과를 출력할 수 있다. The
후처리부(320)의 제1 버터플라이 연산부와 제2 버터플라이 연산부의 상세 구성과 동작은 이하 도 9와 도 10을 참조로 상세히 설명한다. 또한, 복소 상수 곱셈기(322)의 구성은 도 7을 참조로 상세히 설명한다.Detailed configurations and operations of the first butterfly calculating unit and the second butterfly calculating unit of the
도 4는 본 발명의 일실시예에 따른 고속 푸리에 변환부를 도시한 블록 다이어그램이다. 4 is a block diagram illustrating a fast Fourier transform unit according to an embodiment of the present invention.
본 발명의 일실시예에 따른 고속 푸리에 변환부(310)은 도 4에 도시된 바와 같이 6개의 스테이지를 수행하기 위한 6개의 버터플라이 연산부(410, 420, 430, 440, 450, 460)와 W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422), W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432) 및 각각의 버터플라이 연산부에 대응하는 FIFO 메모리(411, 421, 431, 441, 451, 461)를 포함할 수 있다. 이때, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422), W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기일 수 있다. 이때, 고속 푸리에 변환부(310)의 제1 버터플라이 연산부와 제2 버터플라이 연산부의 상세 구성과 동작은 이하 도 5와 도 6을 참조로 상세히 설명한다.The fast
본 발명의 일실시예에 따른 고속 푸리에 변환부(310)는 8개의 파이프라인 중 하나로부터 매 클럭 당 1개의 복소수 값을 입력 데이터로 수신할 수 있다.The fast
이때, 고속 푸리에 변환부(310)는 32-FIFO 메모리(411)와 연결된 제2 버터플라이 연산부(410)를 통해 입력 데이터를 64 포인트 버터플라이 연산하는 첫 번째 스테이지를 수행할 수 있다.In this case, the fast
구체적으로, 제2 버터플라이 연산부(410)는 1클럭부터 32클럭까지는 입력 데이터를 32-FIFO 메모리(411)에 저장할 수 있다. 다음으로, 제2 버터플라이 연산부(410)는 32클럭부터 64클럭까지의 입력 데이터를 32-FIFO 메모리(411)에 저장 된 값과 버터플라이 연산을 수행할 수 있다. 이때, 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과는 두 번째 스테이지 연산을 위해 출력할 수 있다. 또한, 버터플라이 연산 결과 중 복소 뺄셈을 수행한 결과는 32-FIFO 메모리(411)에 저장할 수 있다. 이때, 32-FIFO 메모리(411)의 특성에 따라 버터플라이 연산 결과 중 복소 뺄셈을 수행한 결과는 32 클럭이 경과한 후에 출력될 수 있다.In detail, the
다음으로, 고속 푸리에 변환부(310)는 16-FIFO 메모리(421)와 연결된 제1 버터플라이 연산부(420)를 통해 입력 데이터를 32 포인트 버터플라이 연산하는 두 번째 스테이지를 수행할 수 있다. 이때, 고속 푸리에 변환부(310)는 8-FIFO 메모리(431)와 연결된 제1 버터플라이 연산부(430)를 통해 입력 데이터를 16 포인트 버터플라이 연산하는 세 번째 스테이지를 수행할 수 있다. Next, the fast
그 다음으로, 고속 푸리에 변환부(310)는 4-FIFO 메모리(441)와 연결된 제2 버터플라이 연산부(440)를 통해 입력 데이터를 8 포인트 버터플라이 연산하는 네 번째 스테이지를 수행할 수 있다. 이때, 고속 푸리에 변환부(310)는 2-FIFO 메모리(451)와 연결된 제1 버터플라이 연산부(450)를 통해 입력 데이터를 4 포인트 버터플라이 연산하는 다섯 번째 스테이지를 수행할 수 있다. Next, the fast
마지막으로, 고속 푸리에 변환부(310)는 1-FIFO 메모리(461)와 연결된 제2 버터플라이 연산부(460)를 통해 입력 데이터를 2 포인트 버터플라이 연산하는 여섯 번째 스테이지를 수행할 수 있다.Finally, the fast
이때, 제2 버터플라이 연산부는 제1 버터플라이 연산부와 동일한 연산 결과에 복소수 (-j)를 곱하는 단순 곱셈 연산을 추가하는 구성이다. 따라서, 제2 버터플라이 연산부를 사용하지 않은 두 번째 스테이지와 세 번째 스테이지 및 다섯 번째 스테이지는 회전 인자 곱셈을 위한 곱셈기를 필요로 할 수 있다.In this case, the second butterfly calculator is configured to add a simple multiplication operation that multiplies a complex number (-j) by the same operation result as the first butterfly calculator. Thus, the second stage, the third stage, and the fifth stage without using the second butterfly operator may require a multiplier for rotation factor multiplication.
이때, 두 번째 스테이지와 세 번째 스테이지는 곱셈을 위한 회전 인자의 종류가 적을 수 있다, 따라서, 고속 푸리에 변환부(310)는 W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)를 사용하여 두 번째 스테이지의 연산 결과를 회전 인자 곱셈 연산하고, W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)를 사용하여 세 번째 스테이지의 연산 결과를 회전 인자 곱셈 연산할 수 있다.In this case, the second stage and the third stage may have fewer kinds of rotation factors for multiplication. Therefore, the fast
또한, 고속 푸리에 변환부(310)는 W32의 회전 인자 복소 부스(Booth) 곱셈기(452)를 사용하여 다섯 번째 스테이지의 연산 결과를 회전 인자 곱셈 연산할 수 있다. 이때, 복소 부스(Booth) 곱셈기(452)는 ROM 메모리에 기 저장된 회전 인자 값을 사용하여 회전 인자 곱셈 연산을 수행할 수 있다.In addition, the fast
본 발명에 따른 고속 푸리에 변환부(310)는 각 병렬 데이터 경로에 도 4에 도시된 바와 같은 단일 경로 지연 피드백 구조를 사용하여 여섯 번째 스테이지까지 연산함으로써, 동일한 제어 신호로 64 포인트 고속 푸리에 변환을 연산할 수 있다.The
도 5는 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.5 is a diagram illustrating a configuration of a first butterfly calculator included in a fast Fourier transform unit according to an embodiment of the present invention.
본 발명에 따른 고속 푸리에 변환부(310)에 포함된 제1 버터플라이 연산부(420, 430, 450)는 N 포인트 버터플라이 연산을 수행하는 경우, N/2 번째 클럭을 기준으로 두 가지 연산 과정을 수행할 수 있다.The
먼저, 제1 버터플라이 연산부(420, 430, 450)는 첫 번째부터 N/2 번째 클럭까지 입력되는 복소수 값을 N/2-FIFO 메모리(510)에 순차적으로 저장하고, N/2-FIFO 메모리(510)에 기 저장되었던 복소수 값을 순차적으로 다음 스테이지에 출력할 수 있다.First, the first
다음으로, 제1 버터플라이 연산부(420, 430, 450)는 N/2 번째 클럭부터 N 번째 클럭까지 입력되는 복소수 값과 N/2-FIFO 메모리(510)에서 출력되는 복소수 값을 버터플라이 연산을 할 수 있다. 이때, 제1 버터플라이 연산부(420, 430, 450)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과를 N/2-FIFO 메모리(510)에 순차적으로 입력할 수 있다(520). 이때, 입력한 순서대로 출력하는 N/2-FIFO 메모리(510)의 특성에 따라 버터플라이 연산 결과 중 복소 뺄셈을 수행한 결과는 N/2 클럭이 경과한 후에 출력될 수 있다. 예를 들어, N이 32인 경우, 16클럭에 버터플라이 연산 중 복소 뺄셈을 수행한 결과로 16-FIFO 메모리에 저장된 값은 16클럭이 경과한 후인 33클럭, 즉, 새로운 1클럭에 출력될 수 있다. Next, the
또한, 제1 버터플라이 연산부(420, 430, 450)는 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과를 다음 스테이지로 출력할 수 있다(530).In
즉, 본 발명에 따라 N 포인트 버터플라이 연산을 수행하는 제1 버터플라이 연산부는 상기 과정을 반복함으로써, 첫 번째부터 N/2 번째 클럭까지는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과를 출력하고, N/2 번째 클럭부터 N 번째 클럭까지는 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과를 출력할 수 있다.That is, the first butterfly operation unit performing the N point butterfly operation according to the present invention repeats the above process, and outputs the result of performing the complex subtraction among the butterfly operation results from the first to N / 2th clocks. From the N / 2 th clock to the N th clock, the complex addition result of the butterfly operation result may be output.
도 6은 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.6 is a diagram illustrating a configuration of a second butterfly calculator included in a fast Fourier transform unit according to an exemplary embodiment of the present invention.
본 발명에 따른 고속 푸리에 변환부(310)에 포함된 제2 버터플라이 연산부(410, 440, 460)는 제1 버터플라이 연산부와 동일한 연산 결과에 복소수 (-j)를 곱하는 단순 곱셈 연산을 추가하는 구성이다.The
따라서, 본 발명에 따른 제2 버터플라이 연산부(410, 440, 460)는 N 포인트 버터플라이 연산을 수행하는 경우, 제1 버터플라이 연산부(420, 430, 450)와 동일하게 N/2 번째 클럭을 기준으로 두 가지 연산 과정을 수행할 수 있다.Accordingly, when the second
이때, 제2 버터플라이 연산부(410, 440, 460)는 입력 데이터를 수신한 클럭이 1 내지 N/2인 경우, 제1 버터플라이 연산부와 같이 첫 번째부터 N/2 번째 클럭까지 입력되는 복소수 값을 N/2-FIFO 메모리(610)에 순차적으로 저장하고, N/2-FIFO 메모리(610)에 기 저장되었던 복소수 값을 순차적으로 다음 스테이지에 출력할 수 있다.In this case, when the clocks for receiving the input data are 1 to N / 2, the
또한, 제2 버터플라이 연산부(410, 440, 460)는 입력 데이터를 수신한 클럭이 N/2 내지 N인 경우, N/2 번째 클럭부터 N 번째 클럭까지 입력되는 복소수 값과 N/2-FIFO 메모리(610)에서 출력되는 복소수 값을 버터플라이 연산을 할 수 있다. 이때, 제2 버터플라이 연산부(410, 440, 460)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과를 N/2-FIFO 메모리(610)에 순차적으로 입력할 수 있다(620). In addition, when the clocks for receiving the input data are N / 2 to N, the
또한, 제2 버터플라이 연산부(410, 440, 460)는 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과를 다음 스테이지로 출력할 수 있다(630). 이때, 제2 버터플라이 연산부(410, 440, 460)는 멀피플렉서 회로(640)를 사용하여 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과에 복소수 (-j)를 곱하는 단순 곱셈 연산을 수행할 수 있다.In
도 7은 본 발명의 일실시예에 따른 CSD 상수 곱셈기의 구성을 도시한 도면이다.7 is a diagram illustrating a configuration of a CSD constant multiplier according to an embodiment of the present invention.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 하드웨어 면적 및 전력 소모 감소를 위하여 고속 푸리에 변환 장치에 포함된 복소 곱셈기 중 대부분을 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기로 사용할 수 있다.In the fast Fourier transform apparatus according to an embodiment of the present invention, a canonical code number (CSD) scheme using a common subexpression sharing (CSS) technique for most of the complex multipliers included in the fast Fourier transform apparatus in order to reduce hardware area and power consumption. Can be used as a multiple constant multiplier of.
고속 푸리에 변환 장치에서 복소 곱셈에 필요한 회전 인자는 표 1과 같이 10진수, 10 비트의 2진수 및 10 비트의 CSD 표현으로 나타낼 수 있다.The rotation factor required for complex multiplication in the fast Fourier transform device may be represented by a decimal number, a 10-bit binary number, and a 10-bit CSD representation as shown in Table 1.
이때, 회전인자에 해당하는 복소 곱셈 계수는 sin(/8), cos(/8), sin(/4), sin(/16), sin(3/16), sin(5/16), sin(7/16)이며 이를 CSD 표현으로 나타내면 최대 5개의 0이 아닌 비트로 표현될 수 있다.In this case, the complex multiplication factor corresponding to the rotation factor is sin ( / 8), cos ( / 8), sin ( / 4), sin ( / 16), sin (3 / 16), sin (5 / 16), sin (7 / 16), which can be represented by up to five nonzero bits.
이때, CSD 상수 곱셈기는 곱셈 계수 중 0이 아닌 비트의 위치에 따라서 입력 값을 오른쪽 시프트 하여 부분곱을 생성하고 생성 된 부분 곱을 모두 더해서 결과를 얻을 수 있다.In this case, the CSD constant multiplier generates a partial product by right shifting an input value according to a non-zero bit position among multiplication coefficients, and adds all the generated partial products to obtain a result.
구체적으로 CSD 상수 곱셈기는 회전 인자 W32 , W16 , W8의 공통 비트를 연산하는 공통 연산부(710)가 회전 인자별 비트를 연산하는 회전 인자 연산부(720)를 포함할 수 있다.In detail, the CSD constant multiplier may include a
이때, 회전 인자 W32 , W16 , W8는 W8 회전 인자 곱셈 연산부(721), W16 회전 인자 곱셈 연산부(722), W32 회전 인자 곱셈 연산부(723)에서 연산될 수 있다.In this case, the rotation factors W 32 , W 16 , and W 8 may be calculated by the W 8 rotation factor
이때, 회전 인자 W32는 W16 와 W8의 곱셈 계수를 모두 포함하고, 회전 인자 W16는 W8 의 곱셈 계수를 포함하므로, 회전 인자 연산부(720)는 회전 인자 W32를 연산하는 구성을 생성하고, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 연산 결과에서 필요한 곱셈 계수를 사용함으로써, 하나의 CSD 상수 곱셈기로 회전 인자 W32 , W16 , W8를 모두 연산할 수 있다.At this time, the rotation factor W 32 is W 16 Wow Contains all the multiplication factors of W 8 , and the rotation factor W 16 is Since it includes a multiplication coefficient of W 8 , the rotation
또한, W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)는 W32 회전 인자 곱셈 연산부(723)를 사용하고, W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)는 W16 회전 인자 곱셈 연산부(722)만을 사용하며, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)는 W8 회전 인자 곱셈 연산부(721)만을 사용함으로써 구조를 간략화할 수도 있다.In addition, W complex constant multiplier (432) for rotation factor multiplication 32, W 32 twiddle factors using the
즉, 본 발명의 일실시예에 따른 CSD 상수 곱셈기는 2의 보수 형식으로 표현 된 곱셈 계수를 CSD 방식으로 표현함으로써, 하드웨어 면적을 감소시키는 2진 곱셈기를 설계할 수 있다. 이때, CSD 방식은 반드시 {-1, 0, 1}의 원소 중 하나의 값을 갖고. 두 개 이상의 연속적인 0이 아닌 비트로 이루어질 수 없다.That is, the CSD constant multiplier according to an embodiment of the present invention may design a binary multiplier for reducing hardware area by expressing a multiplication coefficient expressed in two's complement form by the CSD method. At this time, the CSD method must have a value of one of the elements of {-1, 0, 1}. It cannot consist of more than two consecutive nonzero bits.
도 8은 회전 인자 W32를 위한 본 발명의 일실시예에 따른 복소 상수 곱셈기의 구성을 도시한 도면이다.8 shows for rotation factor W 32 A diagram illustrating a configuration of a complex constant multiplier according to an embodiment of the present invention.
회전 인자 W32를 위한 본 발명의 일실시예에 따른 복소 상수 곱셈기는 도 8에 도시된 바와 같이 두 개의 CSD 상수 곱셈기와 멀티플렉서, 및 두 개의 덧셈기를 포함할 수 있다.Rotation factor for W 32 The complex constant multiplier according to an embodiment of the present invention may include two CSD constant multipliers, a multiplexer, and two adders, as shown in FIG. 8.
이때, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 두 개의 CSD 상수 곱셈기에 각각 실수와 허수를 입력하여 입력 데이터에 대한 계수 별 곱셈 결과를 출력시킬 수 있다.In this case, the complex constant multiplier according to an embodiment of the present invention may input real and imaginary numbers to two CSD constant multipliers to output a multiplication result for each coefficient of the input data.
이때, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 표 2의 스케쥴에 따라 회전 인자 곱셈을 연산할 수 있다.In this case, the complex constant multiplier according to an embodiment of the present invention may calculate rotation factor multiplication according to the schedule of Table 2.
표 2는 회전 인자 W32에서 사용하는 64 클럭 별 회전 인자 곱셈 연산 모드를 시간 순서에 따라 정의한 것이며, 15 종류의 회전 인자 곱셈 연산 모드가 정의되어 있을 수 있다. Table 2 defines the rotation factor multiplication operation mode for each of the 64 clocks used in the rotation factor W 32 in chronological order, and 15 rotation factor multiplication operation modes may be defined.
또한, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 표 2를 사용하여 표 3과 같은 멀티플렉서의 제어 신호를 생성할 수 있다.In addition, the complex constant multiplier according to an embodiment of the present invention can generate the control signal of the multiplexer as shown in Table 3 using Table 2.
본 발명의 일실시예에 따른 복소 상수 곱셈기는 표 3과 같이 전체 4개의 멀티플렉서 제어 신호에 의해 곱셈기의 동작을 제어할 수 있다. 이때, 회전 인자 W8 및 W16을 위한 복소 상수 곱셈기도 회전 인자 W32로 구성한 경우와 같은 제어 신호를 통해 간략히 구성될 수 있다.As shown in Table 3, the complex constant multiplier according to an embodiment of the present invention can control the operation of the multiplier by the four multiplexer control signals. At this time, the rotation factor W 8 And a complex constant multiplier for W 16 may also be simply configured through a control signal as in the case of the rotation factor W 32 .
이때, W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)는 상수 곱셈기(W32)를 W16 회전 인자 곱셈 연산부(722)로 대체하고, W16 회전 인자 곱셈 연산부(722)의 출력은 3개 이므로, mux-sel2의 멀티플렉서를 3-to-1 MUX로 대체하여 구성할 수 있다.In this case, the complex
또한, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)는 상수 곱셈기(W32)를 W8 회전 인자 곱셈 연산부(721)로 대체하고, W8 회전 인자 곱셈 연산부(721)의 출력은 1개 이므로, mux-sel2의 멀티플렉서를 생략하여 구성할 수 있다. Further, the complex
도 9는 본 발명의 일실시예에 따른 후처리부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.9 is a diagram illustrating a configuration of a first butterfly calculation unit included in a post-processing unit according to an embodiment of the present invention.
본 발명에 따른 후처리부(320)에 포함된 제1 버터플라이 연산부(321, 324)는 입력받은 복소수 값을 버터플라이 연산을 할 수 있다. 이때, 제1 버터플라이 연산부(321)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과(910)와 복소 덧셈을 수행한 결과(920)를 각각 다른 출력 단자를 사용하여 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322) 또는 제2 버터플라이 연산부(323)로 출력할 수 있다.The
또한, 제1 버터플라이 연산부(324)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과(910)와 복소 덧셈을 수행한 결과(920)를 각각 다른 출력 단자를 사용하여 64 클럭 동안 출력할 수 있다. In addition, the
도 10은 본 발명의 일실시예에 따른 후처리부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.10 is a diagram illustrating a configuration of a second butterfly calculating unit included in a post-processing unit according to an embodiment of the present invention.
본 발명에 따른 후처리부(320)에 포함된 제2 버터플라이 연산부(323)는 제1 버터플라이 연산부(321), 또는 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)로부터 입력받은 복소수 값을 버터플라이 연산할 수 있다. 이때, 제2 버터플라이 연산부(323)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과(1010)와 복소 덧셈을 수행한 결과(1020)에 각각 복소수 (-j)를 곱하는 단순 곱셈 연산(1030)을 수행하여 제1 버터플라이 연산부(324)로 출력할 수 있다.The
도 11은 본 발명의 일실시예에 따른 고속 푸리에 변환 방법을 도시한 플로우차트이다.11 is a flowchart illustrating a fast Fourier transform method according to an embodiment of the present invention.
단계(S1110)에서 8개의 제2 버터플라이 연산부(410)는 병렬 데이터 경로 각각에 대하여 32-FIFO 메모리(411)를 사용하여 64 포인트 버터플라이 연산을 병렬로 수행할 수 있다.In operation S1110, the eight
단계(S1120)에서 8개의 제1 버터플라이 연산부(420)는 16-FIFO 메모리(421)를 사용하여 단계(S1110)의 연산 결과에 32포인트 버터플라이 연산을 수행할 수 있다. 이때, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)는 제1 버터플라이 연산부(420)의 연산 결과를 회전 인자 곱셈 연산하여 제1 버터플라이 연산부(430)에 제공할 수 있다.In operation S1120, the eight first
단계(S1130)에서 8개의 제1 버터 플라이 연산부(430)는 8-FIFO 메모리(431)를 사용하여 단계(S1130)의 연산 결과에 16포인트 버터플라이 연산을 수행할 수 있다. 이때, W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)는 제1 버터플라이 연산부(430)의 연산 결과를 회전 인자 곱셈 연산하여 제2 버터플라이 연산부(440)에 제공할 수 있다.In operation S1130, the eight
단계(S1140)에서 8개의 제2 버터 플라이 연산부(440)는 4-FIFO 메모리(441)를 사용하여 단계(S1130)의 연산 결과에 8포인트 버터플라이 연산을 수행할 수 있다.In operation S1140, the eight
단계(S1150)에서 8개의 제1 버터 플라이 연산부(450)는 2-FIFO 메모리(451)를 사용하여 단계(S1140)의 연산 결과에 4포인트 버터플라이 연산을 수행할 수 있다. 이때, W512의 회전 인자 복소 부스(Booth) 곱셈기(452)는 제1 버터플라이 연산부(450)의 연산 결과를 회전 인자 곱셈 연산하여 제1 버터플라이 연산부(460)에 제공할 수 있다.In operation S1150, the eight
단계(S1160)에서 8개의 제2 버터 플라이 연산부(460)는 1-FIFO 메모리(461)를 사용하여 단계(S1150)의 연산 결과에 2포인트 버터플라이 연산을 수행할 수 있다. In operation S1160, the eight second
이때, 단계(S1110) 내지 단계(S1160)는 8개의 병렬 데이터 경로에 따라 독립적으로 동작하는 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산일 수 있다.In this case, steps S1110 to S1160 may be a single-path delay feedback (SDF) operation that operates independently according to eight parallel data paths.
단계(S1170)에서 제1 버터플라이 연산부(321)는 단계(S1160)의 연산 결과들에 8포인트 버터플라이 연산을 수행할 수 있다. 이때, 복소 상수 곱셈기(322)는 제1 버터플라이 연산부(321)의 연산 결과에 회전 인자 곱셈 연산을 수행하여 제2 버터플라이 연산부(323)에 제공할 수 있다.In operation S1170, the
단계(S1180)에서 제2 버터플라이 연산부(323)는 단계(S1170)의 연산 결과에 4포인트 버터플라이 연산을 수행할 수 있다. In operation S1180, the second
단계(S1190)에서 제1 버터플라이 연산부(324)는 단계(S1180)의 연산 결과에 2포인트 버터플라이 연산을 수행함으로써 64 클럭 동안 고속 푸리에 변환 결과를 출력할 수 있다.In operation S1190, the
본 발명은 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치에서 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높일 수 있다. 또한, 복잡한 구조를 가지는 복소 부스(Booth) 곱셈기의 대부분을 간단한 구조를 가지는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기로 대체함으로써, 고속 푸리에 변환 장치의 복잡도를 낮출 수 있다.The present invention can increase data throughput by performing parallel operations on a part of higher stages in a pipeline fast Fourier transform apparatus having a plurality of parallel data paths. In addition, the complexity of the fast Fourier transform apparatus is replaced by replacing a majority of the complex booth multiplier with a complex structure with a plural constant multiplier of the canonical code number (CSD) method using a common subexpression sharing (CSS) technique with a simple structure. Can be lowered.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.
310: 고속 푸리에 변환부
321: 제1 버터플라이 연산부
323: 제2 버터플라이 연산부310: fast Fourier transform unit
321: first butterfly calculation unit
323: second butterfly operation unit
Claims (14)
병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 고속 푸리에 변환하는 복수의 고속 푸리에 변환부;
고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 제1 버터플라이 연산부; 및
상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 제2 버터플라이 연산부
를 포함하는 고속 푸리에 변환 장치.In a pipeline fast Fourier transform apparatus having a plurality of parallel data paths,
A plurality of fast Fourier transform units configured to perform fast Fourier transform by calculating single-path delay feedback (SDF) on the input data received through the parallel data path;
A first butterfly operation unit performing a butterfly operation on the fast Fourier transformed input data; And
A second butterfly calculator configured to butterfly arithmetic results of the first butterfly calculator
Fast Fourier transform device comprising a.
상기 고속 푸리에 변환부는,
32-FIFO 메모리와 연결된 제2 버터플라이 연산부를 통해 버터플라이 연산하는 제1 단계;
16-FIFO 메모리와 연결된 제1 버터플라이 연산부를 통해 상기 제1 단계의 연산 결과를 버터플라이 연산하는 제2 단계;
8-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제2 단계의 연산 결과를 버터플라이 연산하는 제3 단계;
4-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제3 단계의 연산 결과를 버터플라이 연산하는 제4 단계;
2-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제4 단계의 연산 결과를 버터플라이 연산하는 제5 단계; 및
1-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제5 단계의 연산 결과를 버터플라이 연산하는 제6 단계
를 포함하는 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산을 수행하는 것을 특징으로 하는 고속 푸리에 변환 장치.The method of claim 1,
The fast Fourier transform unit,
A first step of performing a butterfly operation through a second butterfly operator connected to the 32-FIFO memory;
A second step of performing a butterfly operation on the operation result of the first step through a first butterfly operation unit connected to a 16-FIFO memory;
A third step of performing a butterfly operation on the operation result of the second step through a first butterfly operation unit connected to an 8-FIFO memory;
A fourth step of performing a butterfly operation on the operation result of the third step through a second butterfly operation unit connected to a 4-FIFO memory;
A fifth step of performing a butterfly operation on the operation result of the fourth step through a first butterfly operation unit connected to a 2-FIFO memory; And
A sixth step of performing a butterfly operation on the operation result of the fifth step through a first butterfly calculator connected to a 1-FIFO memory;
The fast Fourier transform apparatus for performing a single-path delay feedback (SDF) operation comprising a.
상기 고속 푸리에 변환부는,
복소 상수 곱셈기를 사용하여 상기 제2 단계의 연산 결과와 상기 제3단계의 연산 결과를 회전 인자 곱셈 연산하는 것을 특징으로 하는 고속 푸리에 변환 장치.The method of claim 2,
The fast Fourier transform unit,
And a rotation factor multiplication operation of the operation result of the second step and the operation result of the third step by using a complex constant multiplier.
상기 복소 상수 곱셈기는,
공통 서브 익스프레션 공유(Common Sub-expression Sharing; CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복수 상수 곱셈기인 것을 특징으로 하는 고속 푸리에 변환 장치.The method of claim 3,
The complex constant multiplier,
2. A fast Fourier transform apparatus, comprising: a canonical signed digit (CSD) multiple constant multiplier using a common sub-expression sharing (CSS) technique.
상기 고속 푸리에 변환 장치는,
6차원 인덱스 분해법에 의해 유도 되는 Radix-25 알고리즘에 공통 인수 분해 알고리즘을 적용하여 수식을 재구성한 수정된 Radix-25 알고리즘에 따라 동작하는 것을 특징으로 하는 고속 푸리에 변환 장치.The method of claim 1,
The fast Fourier transform device,
A Fast Fourier Transform apparatus, which operates according to a modified Radix-2 5 algorithm which reconstructs an equation by applying a common factorization algorithm to a Radix-2 5 algorithm derived by 6-dimensional index decomposition.
상기 고속 푸리에 변환 장치는,
6차원 인덱스 분해법에 의해 유도 되는 복수의 Radix-25 알고리즘을 기초로 병렬 구조 및 파이프라인 방식을 이용한 수정된 Radix-25 알고리즘에 따라 동작하는 것을 특징으로 하는 고속 푸리에 변환 장치.The method of claim 1,
The fast Fourier transform device,
A fast Fourier transform apparatus, which operates according to a modified Radix-2 5 algorithm using a parallel structure and a pipeline method based on a plurality of Radix-2 5 algorithms derived by 6-dimensional index decomposition.
병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 병렬로 고속 푸리에 변환하는 단계;
제1 버터플라이 연산부를 사용하여 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 단계; 및
제2 버터플라이 연산부를 사용하여 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 단계
를 포함하는 고속 푸리에 변환 방법.A fast Fourier transform method performed by a pipeline fast Fourier transform apparatus having a plurality of parallel data paths,
Performing fast Fourier transform on the input data received through the parallel data path by performing a single-path delay feedback (SDF) operation in parallel;
Performing a butterfly operation on the fast Fourier transformed input data using the first butterfly calculator; And
Performing a butterfly operation on a calculation result of the first butterfly calculator using a second butterfly calculator
Fast Fourier transform method comprising a.
상기 고속 푸리에 변환하는 단계는
32-FIFO 메모리와 연결된 제2 버터플라이 연산부를 통해 입력 데이터를 버터플라이 연산하는 제1 단계;
16-FIFO 메모리와 연결된 제1 버터플라이 연산부를 통해 상기 제1 단계의 연산 결과를 버터플라이 연산하는 제2 단계;
8-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제2 단계의 연산 결과를 버터플라이 연산하는 제3 단계;
4-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제3 단계의 연산 결과를 버터플라이 연산하는 제4 단계;
2-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제4 단계의 연산 결과를 버터플라이 연산하는 제5 단계; 및
1-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제5 단계의 연산 결과를 버터플라이 연산하는 제6 단계
를 포함하는 고속 푸리에 변환 방법.The method of claim 7, wherein
The fast Fourier transform
A first step of performing a butterfly operation on the input data through a second butterfly operator connected to the 32-FIFO memory;
A second step of performing a butterfly operation on the operation result of the first step through a first butterfly operation unit connected to a 16-FIFO memory;
A third step of performing a butterfly operation on the operation result of the second step through a first butterfly operation unit connected to an 8-FIFO memory;
A fourth step of performing a butterfly operation on the operation result of the third step through a second butterfly operation unit connected to a 4-FIFO memory;
A fifth step of performing a butterfly operation on the operation result of the fourth step through a first butterfly operation unit connected to a 2-FIFO memory; And
A sixth step of performing a butterfly operation on the operation result of the fifth step through a first butterfly calculator connected to a 1-FIFO memory;
Fast Fourier transform method comprising a.
상기 제3단계는,
복소 상수 곱셈기로 상기 제2 단계의 연산 결과를 회전 인자 곱셈 연산한 결과를 버터플라이 연산하는 것을 특징으로 하는 고속 푸리에 변환 방법.9. The method of claim 8,
In the third step,
And performing a butterfly operation on the result of the rotation factor multiplication operation of the operation result of the second step by using a complex constant multiplier.
상기 제4단계는,
복소 상수 곱셈기로 상기 제3 단계의 연산 결과를 회전 인자 곱셈 연산한 결과를 버터플라이 연산하는 것을 특징으로 하는 고속 푸리에 변환 방법.9. The method of claim 8,
In the fourth step,
And performing a butterfly operation on the result of the rotation factor multiplication operation using the complex constant multiplier.
상기 복소 상수 곱셈기는,
공통 서브 익스프레션 공유(Common Sub-expression Sharing; CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복수 상수 곱셈기인 것을 특징으로 하는 고속 푸리에 변환 방법.10. The method of claim 9,
The complex constant multiplier,
A fast Fourier transform method comprising a canonical signed digit (CSD) multi-constant multiplier using a common sub-expression sharing (CSS) technique.
고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 단계의 연산 결과를 회전 인자 곱셈 연산하여 제2 버터플라이 연산부에 제공하는 단계
를 더 포함하는 고속 푸리에 변환 방법.The method of claim 7, wherein
Performing a rotation factor multiplication operation on the fast Fourier transformed input data and providing the second butterfly operation unit
Fast Fourier transform method comprising more.
A fast Fourier transform apparatus for performing fast Fourier transform according to a modified Radix-2 5 algorithm using a parallel structure and a pipeline method based on a plurality of Radix-2 5 algorithms derived by 6-dimensional index decomposition.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110112082A KR101334494B1 (en) | 2011-10-31 | 2011-10-31 | High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110112082A KR101334494B1 (en) | 2011-10-31 | 2011-10-31 | High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130047202A true KR20130047202A (en) | 2013-05-08 |
KR101334494B1 KR101334494B1 (en) | 2013-11-29 |
Family
ID=48658744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110112082A KR101334494B1 (en) | 2011-10-31 | 2011-10-31 | High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101334494B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220017638A (en) * | 2020-08-05 | 2022-02-14 | 아스텔 주식회사 | Fast Fourier transform device and method using real valued as input |
CN118296363A (en) * | 2024-06-04 | 2024-07-05 | 北京汇思慧能科技有限公司 | Signal processing and monitoring method and device based on mixed-base fast Fourier transform |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050087683A (en) * | 2004-02-26 | 2005-08-31 | 임명섭 | Fast fourier transform processor based on low-power and area-efficient algorithm |
-
2011
- 2011-10-31 KR KR1020110112082A patent/KR101334494B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220017638A (en) * | 2020-08-05 | 2022-02-14 | 아스텔 주식회사 | Fast Fourier transform device and method using real valued as input |
CN118296363A (en) * | 2024-06-04 | 2024-07-05 | 北京汇思慧能科技有限公司 | Signal processing and monitoring method and device based on mixed-base fast Fourier transform |
Also Published As
Publication number | Publication date |
---|---|
KR101334494B1 (en) | 2013-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cortés et al. | Radix $ r^{k} $ FFTs: Matricial representation and SDC/SDF pipeline implementation | |
US5717620A (en) | Improved-accuracy fast-Fourier-transform butterfly circuit | |
KR100597439B1 (en) | 2N-point and N-point FFT / IFFT dual mode devices | |
Bruno et al. | FPGA implementation of a 10 GS/s variable-length FFT for OFDM-based optical communication systems | |
Ganjikunta et al. | An area-efficient and low-power 64-point pipeline Fast Fourier Transform for OFDM applications | |
KR20050098967A (en) | Optimised discrete fourier transform method and apparatus using prime factor algorithm | |
Saenz et al. | FPGA design and implementation of radix-2 fast Fourier transform algorithm with 16 and 32 points | |
Prakash et al. | Performance evaluation of FFT processor using conventional and Vedic algorithm | |
KR100836624B1 (en) | Variable fast Fourier transform device and method | |
KR101334494B1 (en) | High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method | |
KR100598075B1 (en) | Data conversion method using lookup table in the IFT / FT processor | |
US8010588B2 (en) | Optimized multi-mode DFT implementation | |
KR100892292B1 (en) | Quadratic Fast Fourier Transform Processor of Radii 2 Using Parallel Structure and Pipeline Method | |
Adiono et al. | Low latency parallel-pipelined configurable FFT-IFFT 128/256/512/1024/2048 for LTE | |
KR102301144B1 (en) | Device for processing short time fourier transform of low complexity and method thereof | |
KR100576520B1 (en) | Variable Fast Fourier Transform Processor Using Iterative Arithmetic | |
KR101711783B1 (en) | Apparatus and method for high-speed low-complexity mixed-radix fast fourier transform using dual-path sharing method | |
Huang et al. | A new memoryless and low-latency FFT rotator architecture | |
KR100667188B1 (en) | Fast Fourier Transform and Fast Fourier Transform | |
KR100617248B1 (en) | Fast Fourier Transform Device and Method | |
CN115396079B (en) | Multichannel channelizing method based on FPGA | |
Mamatha et al. | Triple-matrix product-based 2D systolic implementation of discrete Fourier transform | |
Park et al. | Twiddle factor transformation for pipelined FFT processing | |
KR100668674B1 (en) | Fast Fourier Transform and Fast Fourier Transform | |
Chen et al. | New algorithm for design of low complexity twiddle factor multipliers in radix-2 FFT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20111031 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20130430 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20131120 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20131122 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20131122 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20170829 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20170829 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180823 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20180823 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20200924 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20210908 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20220926 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20231030 Start annual number: 11 End annual number: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20240927 Start annual number: 12 End annual number: 12 |