KR101346367B1 - Fast furier transform operation system and butterfly apparatus thereof - Google Patents
Fast furier transform operation system and butterfly apparatus thereof Download PDFInfo
- Publication number
- KR101346367B1 KR101346367B1 KR1020060086780A KR20060086780A KR101346367B1 KR 101346367 B1 KR101346367 B1 KR 101346367B1 KR 1020060086780 A KR1020060086780 A KR 1020060086780A KR 20060086780 A KR20060086780 A KR 20060086780A KR 101346367 B1 KR101346367 B1 KR 101346367B1
- Authority
- KR
- South Korea
- Prior art keywords
- butterfly
- radix
- multiplication constant
- multiplexer
- output value
- 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
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Discrete Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 버터플라이 장치 및 이를 이용한 고속 퓨리에 변환 연산 시스템에 관한 것이다.
본 발명의 고속 퓨리에 변환 연산 시스템은 입력 데이터에 대하여 가변적인 값을 갖는 래딕스(RADIX) 버터플라이 연산을 수행하는 가변 래딕스(RADIX) 버터플라이 장치; 가변 래딕스(RADIX) 버터 플라이 장치로부터 수신받은 출력값에 대한 제1 래딕스(RADIX) 버터플라이 연산을 수행하는 제1 버터플라이 장치; 제1 버터플라이 장치로부터 수신 받은 출력값에 제1 곱셈 상수의 곱을 하는 제1 곱셈기; 및 제1 곱셈기로부터 수신 받은 출력값에 대한 제2 래딕스(RADIX) 버터플라이 연산을 수행하는 제2 버터플라이 장치를 포함한다.
이러한, 본 발명에 따르면 가변적인 값을 갖는 RADIX 버터플라이 연산을 통해 다양한 포인터에 대한 FFT 연산을 수행할 수 있는 효과를 기대할 수 있다.
또한, 다양한 포인터에 대한 FFT 연산을 수행하기 위한 비용 절감 및 처리 속도 개선 효과를 기대할 수 있다.
버터플라이, 고속 퓨리에 변환, FFT, RADIX, SDF, OFDM
The present invention relates to a butterfly device and a fast Fourier transform operation system using the same.
A fast Fourier transform operation system of the present invention comprises: a variable Radix butterfly device for performing a RADIX butterfly operation having a variable value with respect to input data; A first butterfly device for performing a first RADIX butterfly operation on an output value received from a variable RADIX butterfly device; A first multiplier multiplying the output value received from the first butterfly device by a first multiplication constant; And a second butterfly device for performing a second RADIX butterfly operation on the output value received from the first multiplier.
According to the present invention, an effect of performing an FFT operation on various pointers can be expected through a RADIX butterfly operation having a variable value.
In addition, cost reduction and processing speed improvement for performing FFT operations on various pointers can be expected.
Butterfly, Fast Fourier Transform, FFT, RADIX, SDF, OFDM
Description
도 1은 본 발명의 실시 예에 따른 가변 래딕스(RADIX) 4-2 버터플라이 장치를 도시한 블록도이다.1 is a block diagram illustrating a variable radix 4-2 butterfly device according to an exemplary embodiment of the present invention.
도 2는 본 발명의 실시 예에 따른 가변 래딕스(RADIX) 4-2 버터플라이 장치를 이용한 FFT 연산 시스템을 도시한 블록도이다.FIG. 2 is a block diagram illustrating an FFT calculation system using a variable RADIX 4-2 butterfly device according to an exemplary embodiment of the present invention.
본 발명은 버터플라이 장치 및 이를 이용한 고속 퓨리에 변환(Fast Fourier Transform; 이하, "FFT"라 함) 연산 시스템에 관한 것으로, 더욱 상세하게 말하자면 단일 경로 지연 피드백(Single-path Delay Feedback; 이하 "SDF"라 함)구조를 이용한 가변 래딕스(RADIX) 4-2 버터플라이 장치와 그 장치를 이용하여 다양한 사이즈의 입력 포인터 연산이 가능한 FFT 연산 시스템에 관한 것이다.The present invention relates to a butterfly device and a fast Fourier transform (hereinafter, referred to as "FFT") calculation system using the same, and more specifically to a single-path delay feedback ("SDF"). RADIX 4-2 butterfly device using the structure and the FFT operation system that can operate the input pointer of various sizes using the device.
FFT 연산 시스템은 시간 영역의 신호를 주파수 영역의 신호로 변환시키거나 주파수 영역의 신호를 시간 영역의 신호로 역변환시키기 위해 사용되는 FFT 연산을 처리하는 시스템으로, 통신 신호 처리 및 영상 신호 처리 등 대부분의 디지털 신호 처리 분야에서 광범위하게 사용되고 있다. 특히, 다중 경로 페이딩 환경을 경험하는 무선 통신 환경 아래에서 초고속 데이터 처리를 위해 적합한 기술로 주목받고 있는 직교 주파수 분할 다중(Orthogonal Frequency Division Multiplexing; 이하, "OFDM"이라 함)기술에서 초고속 FFT 구현은 필수적이다.The FFT calculation system is a system that processes FFT operations used to convert signals in the time domain into signals in the frequency domain or inversely convert signals in the frequency domain to signals in the time domain. Widely used in the field of digital signal processing. In particular, in the Orthogonal Frequency Division Multiplexing (hereinafter referred to as "OFDM") technology, which is attracting attention as a suitable technology for processing high-speed data under a wireless communication environment that experiences a multipath fading environment, an ultra-fast FFT implementation is essential. to be.
이를 위해 초고속 FFT 연산 시스템 구현을 위한 다양한 기술들이 현재까지 제안되고 있으며, 그 중에 파이프라인 구조로 구현된 FFT가 낮은 동작 주파수에서도 고속 연산의 효과를 얻을 수 있고, 구조가 비교적 간단하여 초고속 데이터 처리를 위해 적합한 방식으로 간주되고 있다.To this end, various techniques for the implementation of the ultrafast FFT computation system have been proposed to date, and among them, the FFT implemented by the pipeline structure can obtain the effect of the high-speed computation even at a low operating frequency, and the structure is relatively simple, so the ultra-fast data processing is possible. To be considered in a suitable manner.
파이프라인 구조를 가지는 FFT 구현 방식 중 하나인 래딕스(이하, 'RADIX'라 함) 방식은 최소한의 하드웨어 요구 조건을 가지고 FFT를 구현할 수 있다는 장점이 있지만, 다양한 FFT 사이즈를 수용하지 못한다는 단점이 있다. One of the FFT implementations with pipeline structure, Radix (hereinafter referred to as 'RADIX') has the advantage of implementing FFT with minimum hardware requirements, but it does not accommodate various FFT sizes. have.
현재 여러 통신 분야에서 요구되는 FFT 사이즈는 각 시스템에 따라 다양하게 구현되고 있다. 예를 들어, ADSL(Asymmetrical Digital Subscriber Line)과 같은 시스템은 512포인터의 FFT 사이즈가 요구되고, 초고속 휴대 인터넷과 같은 시스템은 1024 포인터의 FFT 사이즈가 요구된다. 그 외에도 2048 또는 4096 포인터의 FFT 사이즈가 요구되는 다양한 시스템들이 존재한다.Currently, FFT sizes required in various communication fields are implemented in various systems. For example, systems such as Asymmetrical Digital Subscriber Line (ADSL) require an FFT size of 512 pointers, and systems such as high-speed portable Internet require an FFT size of 1024 pointers. In addition, there are various systems that require an FFT size of 2048 or 4096 pointers.
이러한, RADIX 방식을 이용한 FFT 장치로, 대한민국 특허공개 번호 제2002-0034746호에 개시된 "고속 및 면적 효율적인 알고리즘을 적용한 고속 프리에 변환 프로세서"가 있다. 이 종래의 기술은 4개의 입력 신호가 인가되어 버터플라이 연산을 행하는 RADIX-4 버터플라이 모듈 및 RADIX-4 버터플라이 모듈의 다음에 연결되 어 RADIX-4 버터플라이 모듈의 출력된 신호에 버터플라이 연산을 행하는 RADIX-2 버터플라이 모듈이 포함된 알고리즘을 적용하는 FFT 프로세스에 관한 것으로, RADIX-4 또는 RADIX-2 알고리즘에 비해 비 단순 복소승산기의 수를 줄일 수 있으며, 장치 면적을 줄일 수 있는 효율적인 특징을 갖는다.Such a FFT device using the RADIX method includes a "high speed free-to-transform processor using a high speed and area efficient algorithm" disclosed in Korean Patent Publication No. 2002-0034746. This conventional technique is connected to the RADIX-4 butterfly module and the RADIX-4 butterfly module, where four input signals are applied to perform a butterfly operation, and then butterfly operation on the output signal of the RADIX-4 butterfly module. The FFT process employs an algorithm that includes a RADIX-2 butterfly module that implements the proposed algorithm, which can reduce the number of non-simple complex multipliers and reduce the device area compared to the RADIX-4 or RADIX-2 algorithms. Has
한편, 종래의 FFT 장치는 입력 사이즈가 8포인터, 64 포인터, 512 포인터 또는 4096포인터와 같이 8의 승수인 포인터 값에 대하여 정해진 입력 포인트 값의 RADIX 연산을 수행했기 때문에 입력 포인터 사이즈에 따른 연산을 맞추어야 하는 문제점이 있었다. 즉, 하나의 포인터 값에 대한 연산만을 수행하였다. 또한, 다양한 입력 포인터 사이즈 연산을 수행한다고 하더라도, RADIX 연산을 높여야 하기 때문에 비용이 비싸지고, 처리속도가 느려지는 문제점이 있었다.On the other hand, in the conventional FFT apparatus, since the RADIX operation is performed on a pointer value having an input multiplier of 8, such as 8 pointer, 64 pointer, 512 pointer, or 4096 pointer, the operation according to the input pointer size must be adjusted. There was a problem. That is, the operation was performed on only one pointer value. In addition, even if various input pointer size operations are performed, the RADIX operation has to be increased, resulting in a high cost and a slow processing speed.
따라서 본 발명은 상기 문제점을 해결하기 위한 것으로, SDF(Single-path Delay Feedback)구조를 이용한 가변 래딕스(RADIX) 4-2 버터플라이 장치와 그 장치를 이용하여 다양한 사이즈의 입력 포인터 연산이 가능한 FFT 연산 시스템을 제공하기 위한 것이다.Accordingly, an aspect of the present invention is to solve the above problems, and includes a variable radix 4-2 butterfly device using an SDF (Single-path Delay Feedback) structure and an FFT capable of input pointer operations of various sizes using the device. To provide a computational system.
전술한 기술과제를 해결하기 위한 본 발명의 첫번째 특징에 따라서, 입력되는 데이터에 대한 버터플라이 연산을 수행하는 버터플라이 장치는, According to a first aspect of the present invention for solving the above technical problem, a butterfly device for performing a butterfly operation on the input data,
입력 데이터에 대한 제1 래딕스(RADIX) 버터플라이 연산을 수행하는 제1 버터플라이부; 상기 입력 데이터 및 상기 제1 버터플라이부의 출력값을 수신하여 선 택적인 출력을 하는 제1 멀티플렉서(MUX); 상기 제1 멀티플렉서의 출력값에 대한 제2 래딕스(RADIX) 버터플라이 연산을 수행하는 제2 버터플라이부; 상기 제1 멀티플렉서 및 상기 제2 버터플라이부의 출력값을 수신하여 선택적인 출력을 하는 제2 멀티플렉서(MUX); 제1 곱셈 상수, 제2 곱셈 상수 및 제3 곱셈 상수를 저장하고, 저장된 상기 제1 곱셈 상수, 제2 곱셈 상수 및 제3 곱셈 상수 중 적어도 하나의 곱셈 상수를 제공하는 곱셈 상수부; 상기 곱셈 상수부로부터 출력되는 상기 곱셈 상수와 상기 제2 멀티플렉서로부터 수신받은 출력값의 곱을 수행하는 곱셈기; 상기 입력 데이터와 상기 곱셈기의 출력 값을 수신하여 선택적인 출력을 하는 제3 멀티플렉서(MUX); 및 상기 곱셈 상수부를 제어하여 상기 곱셈 상수를 곱셈기로 제공하고, 상기 제1 멀티플렉서, 제2 멀티플렉서 및 제3 멀티플렉서를 제어하는 제어부를 포함한다.A first butterfly unit configured to perform a first RADIX butterfly operation on the input data; A first multiplexer (MUX) configured to receive the input data and the output value of the first butterfly unit and to selectively output the input data; A second butterfly unit performing a second RADIX butterfly operation on an output value of the first multiplexer; A second multiplexer (MUX) for selectively outputting the output values of the first multiplexer and the second butterfly unit; A multiplication constant unit for storing a first multiplication constant, a second multiplication constant, and a third multiplication constant and providing a multiplication constant of at least one of the stored first multiplication constant, the second multiplication constant, and the third multiplication constant; A multiplier configured to multiply the multiplication constant output from the multiplication constant unit with an output value received from the second multiplexer; A third multiplexer (MUX) for selectively outputting the input data and the output value of the multiplier; And a controller configured to control the multiplication constant unit to provide the multiplication constant to a multiplier, and to control the first multiplexer, the second multiplexer, and a third multiplexer.
본 발명의 두 번째 특징에 따라서, 입력되는 데이터에 대한 FFT(Fast Fourier Transform)에 대한 연산을 수행하는 시스템은,According to a second aspect of the present invention, a system for performing an operation on an FFT (Fast Fourier Transform) on input data,
입력 데이터에 대하여 가변적인 값을 갖는 래딕스(RADIX) 버터플라이 연산을 수행하는 가변 래딕스(RADIX) 버터플라이 장치; 상기 가변 래딕스(RADIX) 버터 플라이 장치로부터 수신받은 출력값에 대한 제1 래딕스(RADIX) 버터플라이 연산을 수행하는 제1 버터플라이 장치; 상기 제1 버터플라이 장치로부터 수신 받은 출력값에 제1 곱셈 상수의 곱을 하는 제1 곱셈기; 및 상기 제1 곱셈기로부터 수신 받은 출력값에 대한 제2 래딕스(RADIX) 버터플라이 연산을 수행하는 제2 버터플라이 장치를 포함한다.A variable RADIX butterfly device for performing a RADIX butterfly operation having a variable value on input data; A first butterfly device performing a first RADIX butterfly operation on an output value received from the variable RADIX butterfly device; A first multiplier multiplying an output value received from the first butterfly device by a first multiplication constant; And a second butterfly device for performing a second RADIX butterfly operation on the output value received from the first multiplier.
여기서, 상기 제2 버터플라이 장치로부터 수신 받은 출력값에 제2 곱셈 상수의 곱을 하는 제2 곱셈기; 및 상기 제2 곱셈기로부터 수신 받은 출력값에 대한 제3 래딕스(RADIX) 버터플라이 연산을 수행하는 제3 버터플라이 장치를 더 포함한다.A second multiplier multiplying an output value received from the second butterfly device by a second multiplication constant; And a third butterfly device for performing a third RADIX butterfly operation on the output value received from the second multiplier.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise.
또한, 본 명세서에서 기재한 "00부"란 용어는 특정한 기능이나 동작을 처리하는 하나의 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합을 구현할 수 있다.In addition, the term "part" described herein refers to one unit for processing a specific function or operation, which may implement hardware or software or a combination of hardware and software.
이제 본 발명의 실시 예에 따른 가변 래딕스(RADIX) 4-2 버터플라이 장치 및 그 장치를 이용한 FFT 연산 시스템에 대하여 도면을 참고로 하여 상세하게 설명한다.Now, a variable RADIX 4-2 butterfly device and an FFT calculation system using the device will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따른 가변 래딕스(RADIX) 4-2 버터플라이 장치를 도시한 블록도이다.1 is a block diagram illustrating a variable radix 4-2 butterfly device according to an exemplary embodiment of the present invention.
도 1에 나타낸 바와 같이, 본 발명의 실시 예에 따른 가변 래딕스(RADIX) 4-2 버터플라이 장치는 제1 버터플라이부(110), 제2 버터플라이부(120), 곱셈 상수부(130), 곱셈기(150), 3개의 멀티플렉서(Multiplexer; 이하, "MUX"라고도 함)(152, 154, 156) 및 제어부(140)를 포함하여 가변적인 연산을 수행한다.As shown in FIG. 1, in the variable RADIX 4-2 butterfly device according to an exemplary embodiment of the present invention, a
제1 버터플라이부(110)는 RADIX 4 단일 경로 지연 피드백(Radix-4 Single-path Delay Feedback; 이하 "R4SDF"라 함)의 구조로, 메모리(112)와 래딕스(RADIX) 4 버터플라이(BF)(114)를 포함하여 수신되는 데이터에 대하여 RADIX 4 버터플라이 연산을 수행한 후 제1 멀티플렉서(Multiplexer)(152)로 전송한다.The
RADIX 4 버터플라이(114)는 일반적인 RADIX 4 버터플라이 연산을 수행하며, 수신받은 데이터에 대한 RADIX 4 버터플라이 연산을 수행한 후 메모리(112) 또는 제1 멀티플렉서(152)로 출력값을 전송한다.The RADIX 4
메모리(112)는 피드백 메모리로, RADIX 4 버터플라이(114)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 4 버터플라이(114)로 피드백한다.The
제2 버터플라이부(120)는 RADIX 2 단일 경로 피드백(Radix-2 Single-path Delay Feedback; 이하 "R2SDF"라 함)의 구조로, 메모리(122)와 RADIX 2 버터플라이(BF)(124)를 포함하여 제1 멀티플렉서(MUX)(152)로부터 수신되는 데이터에 대하여 RADIX 2 버터플라이 연산을 수행하고, 제2 멀티플렉서(MUX)(154)로 출력값을 전송한다.The
RADIX 2 버터플라이(124)는 일반적인 RADIX 2 버터플라이 연산을 수행하며, 제1 멀티플렉서(MUX)(152)로부터 수신받은 값에 대한 RADIX 2 버터플라이 연산을 수행한 후 메모리(122) 또는 제2 멀티플렉서(MUX)(154)로 출력값을 전송한다.The RADIX 2 Butterfly 124 performs a typical RADIX 2 Butterfly operation, and after performing a RADIX 2 Butterfly operation on the value received from the first multiplexer (MUX) 152, the
메모리(122)는 피드백 메모리로, RADIX 2 버터플라이(124)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 2 버터플라이(124)로 피드백한다.The
곱셈 상수부(130)는 제1 ROM(Radix 4-2)(136), 제2 ROM(Radix 4)(134), 제3 ROM(Radix 2)(132) 및 멀티플렉서(MUX)(138)를 포함하여, 제어부(140)의 제어에 따라 선택적인 곱셈 상수를 곱셈기(150)에 제공한다. The multiplication constant unit 130 may include a first ROM (Radix 4-2) 136, a second ROM (Radix 4) 134, a third ROM (Radix 2) 132, and a multiplexer (MUX) 138. In addition, an optional multiplication constant is provided to the
제1 ROM(Radix 2)(132)는 RADIX 2 곱셈 상수를 저장하고, 저장된 곱셈 상수를 멀티플렉서(MUX)(138)로 제공한다.The first ROM (Radix 2) 132 stores the
제2 ROM(Radix 4)(134)는 RADIX 4 곱셈 상수를 저장하고, 저장된 곱셈 상수를 멀티플렉서(MUX)(138)로 제공한다.The second ROM (Radix 4) 134 stores the
제3 ROM(Radix 4-2)(136)는 RADIX 4-2 곱셈 상수를 저장하고, 저장된 곱셈 상수를 멀티플렉서(MUX)(138)로 제공한다. The third ROM (Radix 4-2) 136 stores the RADIX 4-2 multiplication constant and provides the stored multiplication constant to the multiplexer (MUX) 138.
멀티플렉서(MUX)(138)는 제1 ROM(Radix 2)(132), 제2 ROM(Radix 4)(134) 및 제3 ROM(Radix 4-2)(136)과 연결되어 있고, 제어부(140)의 제어에 따라 제1 ROM(Radix 2)(132), 제2 ROM(Radix 4)(134) 또는 제3 ROM(Radix 4-2)(136) 중 하나의 ROM으로부터 곱셈 상수를 수신 받아 곱셈기(150)로 제공한다.The multiplexer (MUX) 138 is connected to a first ROM (Radix 2) 132, a second ROM (Radix 4) 134, and a third ROM (Radix 4-2) 136, and the
제어부(140)는 버터플라이 장치의 내부 구성부들에 대한 제어를 수행하고, 가변 RADIX 연산을 수행하기 위하여 제1 멀티플렉서(MUX)(152), 제2 멀티플렉서(MUX)(154), 제3 멀티플렉서(MUX)(156) 및 곱셈 상수부(130)의 멀티플렉서(MUX)(138)를 제어한다.The
제1 멀티플렉서(MUX)(152)는 제어부(140)에 의해 제어되며, 제1 버터플라이부(110)의 RADIX 4 버터플라이(114)로부터 출력되는 값이나 RADIX 4 버터플라이(114)를 거치지 않고 직접 입력되는 값 중에 하나를 선택하여 제2 버터플라이부(120)의 RADIX 2 버터플라이(124)로 제공한다.The first multiplexer (MUX) 152 is controlled by the
제2 멀티플렉서(MUX)(154)는 제어부(140)에 의해 제어되며, 제2 버터플라이부(120)의 RADIX 2 버터플라이(124)로부터 출력되는 값이나 제1 버터플라이부(110)의 RADIX 4 버터플라이(114)에서 출력되었지만 RADIX 2 버터플라이(124)를 거치지 않고 직접 입력되는 값 중에 하나를 선택하여 곱셈기(150)로 제공한다.The second multiplexer (MUX) 154 is controlled by the
곱셈기(150)는 곱셈상수부(130)의 멀티플렉서(MUX)(138)로부터 수신되는 값과 제2 멀티플렉서(MUX)(154)로부터 수신되는 값의 곱을 수행하여 제3 멀티플렉서(MUX)(156)로 전송한다.The
제3 멀티플렉서(MUX)(156)는 제어부(140)에 의해 제어되며, 곱셈기(150)로부터 출력되는 값이나 제1 버터플라이부(110)를 거치지 않고 직접 입력되는 값 중에 하나를 선택하여 출력한다.The third multiplexer (MUX) 156 is controlled by the
이러한, 가변 래딕스(RADIX) 4-2 버터플라이 장치는 제1 멀티플렉서, 제2 멀티플렉서, 제3 멀티플렉서 및 곱셈 상수부의 멀티플렉서를 제어하여 가변적인 값을 갖는 RADIX 버터플라이 연산을 수행할 수 있는 큰 장점이 있다.Such a variable RADIX 4-2 butterfly device has a great advantage of performing a RADIX butterfly operation having a variable value by controlling a first multiplexer, a second multiplexer, a third multiplexer, and a multiplexer of a multiplication constant part. There is this.
도 2는 본 발명의 실시 예에 따른 가변 래딕스(RADIX) 4-2 버터플라이 장치를 이용한 FFT 연산 시스템을 도시한 블록도이다.FIG. 2 is a block diagram illustrating an FFT calculation system using a variable RADIX 4-2 butterfly device according to an exemplary embodiment of the present invention.
도 2에 나타낸 바와 같이, 본 발명의 실시 예에 따른 FFT 연산 시스템은 가 변 RADIX 4-2 버터플라이 장치(210), 3개의 RADIX 4-2 버터플라이 장치(230, 250, 270), 2개의 ROM(280, 282) 및 2개의 곱셈기(290, 292)를 포함하여 다양한 입력 포인트(512, 1024, 2048 및 4086)에 대한 FFT 연산을 수행한다. As shown in FIG. 2, the FFT calculation system according to an embodiment of the present invention includes a variable RADIX 4-2
가변 RADIX 4-2 버터플라이 장치(210)는 2개의 메모리(211,213), 3개의 ROM(RADIX 2, RADIX 4, RADIX 4-2)(215, 216, 217), 4개의 멀티플렉서(MUX)(218, 219, 220, 221), RADIX 4 버터플라이(212), RADIX 2 버터플라이(214) 및 제어부(223)를 포함하여 제어부(223)의 멀티플렉서(MUX) 제어에 따라 입력되는 데이터에 대한 가변적인 RADIX 버터플라이 연산을 수행한 후에 제1 RADIX 4-2 버터플라이 장치(230)로 출력값을 전송한다. Variable RADIX 4-2
여기서, 가변 RADIX 4-2 버터플라이 장치(210)의 제어부(223)는 FFT 연산 시스템이 512 포인터 FFT를 수행하도록 하기 위하여 제3 멀티플렉서(MUX)(221)를 제어하거나, 1024 포인터 FFT를 수행하도록 하기 위하여 제1 멀티플렉서(MUX)(219), 제2 멀티플렉서(MUX)(220), 제3 멀티플렉서(MUX)(221) 및 제4 멀티플렉서(MUX)(218)를 제어하거나, 2048 포인터 FFT를 수행하도록 하기 위하여 제2 멀티플렉서(MUX)(220), 제3 멀티플렉서(MUX)(221) 및 제4 멀티플렉서(MUX)(218)를 제어하거나, 4096포인터 FFT를 수행하도록 하기 위하여 제1 멀티플렉서(219), 제2 멀티플렉서(220), 제3 멀티플렉서(221), 제4 멀티플렉서(MUX)(218)를 제어한다. 이때, 1024 포인터 FFT 수행시에는 ROM(RADIX 2)(215)에 저장된 곱셈 상수가 이용되고, 2048 포인터 FFT 수행시에는 ROM(RADIX 4)(216)에 저장된 곱셈 상수가 이용되고, 4096 포인터 FFT 수행시에는 ROM(RADIX 4-2)(217)에 저장된 곱셈 상수가 이용된다.Herein, the
제1 RADIX 4-2 버터플라이 장치(230)는 RADIX 4 버터플라이(232), RADIX 2 버터플라이(234), 제어부(235) 및 2개의 메모리(231, 233)를 포함하여 가변 RADIX 4-2 버터플라이 장치(210)로부터 수신받은 값을 기초로 RADIX 4-2 연산을 수행한 후 제1 곱셈기(291)로 출력값을 전송한다.The first RADIX 4-2
RADIX 4 버터플라이(232)는 일반적인 RADIX 4 버터플라이 연산을 수행하며, 수신받은 데이터에 대한 RADIX 4 버터플라이 연산을 수행한 후 메모리(231) 또는 RADIX 2 버터플라이(234)로 출력값을 전송한다.The
RADIX 2 버터플라이(234)는 일반적인 RADIX 2 버터플라이 연산을 수행하며, RADIX 4 버터플라이(232)로부터 수신받은 출력값에 대한 RADIX 2 버터플라이 연산을 수행한 후 메모리(233) 또는 제1 곱셈기(291)로 출력값을 전송한다.The
메모리(231)는 피드백 메모리로, RADIX 4 버터플라이(232)와 연결되어 RADIX 4 버터플라이(232)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 4 버터플라이(232)로 피드백한다. 이때, 메모리(231)는 128 포인트의 사이즈를 갖는 3개로 구성된다.The memory 231 is a feedback memory, which is connected to the
메모리(233)는 피드백 메모리로, RADIX 2 버터플라이(234)와 연결되어 RADIX 2 버터플라이(234)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 2 버터플라이(234)로 피드백한다. 이때, 메모리(233)는 64 포인트의 사이즈를 갖는다. The
제어부(235)는 수신되는 데이터에 기초하여 RADIX 4 버터플라이(232) 및 RADIX 2 버터플라이(234)를 제어한다.The
제2 RADIX 4-2 버터플라이 장치(250)는 RADIX 4 버터플라이(252), RADIX 2 버터플라이(254), 제어부(255) 및 2개의 메모리(251, 253)를 포함하여 제1 곱셈기(291)로부터 수신받은 값에 대한 RADIX 4-2 버터플라이 연산 후에 제2 곱셈기(292)로 출력값을 전송한다.The second RADIX 4-2
RADIX 4 버터플라이(252)는 일반적인 RADIX 4 버터플라이 연산을 수행하며, 수신받은 데이터에 대한 RADIX 4 버터플라이 연산을 수행한 후 메모리(251) 또는 RADIX 2 버터플라이(254)로 출력값을 전송한다.The
RADIX 2 버터플라이(254)는 일반적인 RADIX 2 버터플라이 연산을 수행하며, RADIX 4 버터플라이(252)로부터 수신받은 출력값에 대한 RADIX 2 버터플라이 연산을 수행한 후 메모리 또는 제2 곱셈기(292)로 출력값을 전송한다.The
메모리(251)는 피드백 메모리로, RADIX 4 버터플라이(252)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 4 버터플라이(252)로 피드백한다. 이때, 메모리(251)는 16 포인트의 사이즈를 갖는 3개로 구성된다.The
메모리(253)는 피드백 메모리로, RADIX 2 버터플라이(254)와 연결되어 RADIX 2 버터플라이(254)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 2 버터플라이(254)로 피드백한다. 이때, 메모리(253)는 8 포인트의 사이즈를 갖는다. The
제어부(255)는 수신되는 출력값에 기초하여 RADIX 4 버터플라이(252) 및 RADIX 2 버터플라이(254)를 제어한다.The
제3 RADIX 4-2 버터플라이 장치(270)는 RADIX 4 버터플라이(272), RADIX 2 버터플라이(274), 제어부(275) 및 2개의 메모리(271, 273)를 포함하여 제2 곱셈기(292)로부터 수신받은 값에 대한 RADIX 4-2 버터플라이 연산 후에 FFT 연산 시스 템의 다음단으로 출력값을 전송한다.The third RADIX 4-2
RADIX 4 버터플라이(272)는 일반적인 RADIX 4 연산을 수행하며, 수신받은 데이터에 대한 RADIX 4 버터플라이 연산을 수행한 후 메모리(271) 또는 RADIX 2 버터플라이(274)로 출력값을 전송한다.The
RADIX 2 버터플라이(274)는 일반적인 RADIX 2 연산을 수행하며, RADIX 4 버터플라이(272)로부터 수신받은 출력값에 대한 RADIX 2 버터플라이 연산을 수행한 후 메모리(273) 또는 FFT 연산 시스템의 다음단으로 출력값을 전송한다.The
메모리(271)는 RADIX 4 버터플라이(272)와 연결되어 RADIX 4 버터플라이(272)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 4 버터플라이(272)로 피드백한다. 이때, 메모리(271)는 2 포인트의 사이즈를 갖는 3개로 구성된다.The memory 271 is connected to the
메모리(273)는 RADIX 2 버터플라이(274)와 연결되어 RADIX 2 버터플라이(274)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 2 버터플라이(274)로 피드백한다. 이때, 메모리(273)는 1 포인트의 사이즈를 갖는다. The
제어부(275)는 수신되는 출력값에 기초하여 RADIX 4 버터플라이(272) 및 RADIX 2 버터플라이(274)를 제어한다.The
제1 곱셈기(291)는 제1 ROM(281)으로부터 전송 받은 미리 정해진 특정 곱셈 상수와 제1 RADIX 4-2 버터플라이 장치(230)로부터 수신 받은 출력값을 곱하여 제2 RADIX 4-2 버터플라이 장치(250)로 전송한다.The
제 2곱셈기(292)는 제2 ROM(292)으로부터 전송 받은 미리 정해진 특정 곱셈 상수와 제2 RADIX 4-2 버터플라이 장치(250)로부터 수신받은 출력값을 곱하여 제3 RADIX 4-2 버터플라이 장치(270)로 전송한다.The
이러한, FFT 연산 시스템은 가변 RADIX 4-2 버터플라이 장치의 멀티플렉서(MUX)를 제어함으로써, 다양한 포인터에 대한 FFT 연산을 수행할 수 있는 큰 장점이 있다.Such an FFT operation system has a great advantage of performing FFT operation on various pointers by controlling a multiplexer (MUX) of a variable RADIX 4-2 butterfly device.
한편, 본 발명의 실시 예에 따른 FFT 연산 시스템은 3개의 RADIX4-2 버터플라이 장치를 이용하였지만, 다양한 포인터 연산을 위해 RADIX4-2 버터플라이 장치를 1개 또는 2개를 포함할 수도 있다. Meanwhile, the FFT operation system according to an embodiment of the present invention uses three RADIX4-2 butterfly devices, but may include one or two RADIX4-2 butterfly devices for various pointer operations.
이상에서 설명한 본 발명의 실시예는 장치를 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현을 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.The embodiments of the present invention described above are not implemented only by the apparatus, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiments of the present invention or a recording medium on which the program is recorded. From the description of the embodiments described above it can be easily implemented by those skilled in the art.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.
전술한 구성에 의하여 가변 래딕스(RADIX) 4-2 버터플라이 장치를 이용한 FFT 연산 시스템은 가변적인 값을 갖는 RADIX 버터플라이 연산을 통해 다양한 포인터에 대한 FFT 연산을 수행할 수 있는 효과를 기대할 수 있다.According to the above-described configuration, the FFT operation system using the variable Radix 4-2 butterfly device can expect the effect of performing the FFT operation on various pointers through the RADIX butterfly operation having a variable value. .
또한, 다양한 포인터에 대한 FFT 연산을 수행하기 위한 비용 절감 및 처리 속도 개선 효과를 기대할 수 있다.In addition, cost reduction and processing speed improvement for performing FFT operations on various pointers can be expected.
Claims (13)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050118752 | 2005-12-07 | ||
KR1020050118752 | 2005-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070059926A KR20070059926A (en) | 2007-06-12 |
KR101346367B1 true KR101346367B1 (en) | 2013-12-31 |
Family
ID=38356176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060086780A KR101346367B1 (en) | 2005-12-07 | 2006-09-08 | Fast furier transform operation system and butterfly apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101346367B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101359033B1 (en) * | 2007-09-21 | 2014-02-11 | 삼성전자주식회사 | Apparatus and method for discrete fourier trasform |
US20160124904A1 (en) * | 2013-06-17 | 2016-05-05 | Freescale Semiconductor, Inc. | Processing device and method for performing a round of a fast fourier transform |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020034746A (en) * | 2000-11-03 | 2002-05-09 | 윤종용 | Fast fourier transform processor using fast and area efficient algorithm |
KR20030054300A (en) * | 2001-12-24 | 2003-07-02 | 한국전자통신연구원 | Fast fourier transform apparatus using radix-8 single-path delay commutator and method thereof |
KR20050052740A (en) * | 2003-12-01 | 2005-06-07 | 전자부품연구원 | Variable fast fourier transform processor using iteration algorithm |
KR20050065984A (en) * | 2003-12-26 | 2005-06-30 | 한국전자통신연구원 | Fast fourier transform processor with auto gain control |
-
2006
- 2006-09-08 KR KR1020060086780A patent/KR101346367B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020034746A (en) * | 2000-11-03 | 2002-05-09 | 윤종용 | Fast fourier transform processor using fast and area efficient algorithm |
KR20030054300A (en) * | 2001-12-24 | 2003-07-02 | 한국전자통신연구원 | Fast fourier transform apparatus using radix-8 single-path delay commutator and method thereof |
KR20050052740A (en) * | 2003-12-01 | 2005-06-07 | 전자부품연구원 | Variable fast fourier transform processor using iteration algorithm |
KR20050065984A (en) * | 2003-12-26 | 2005-06-30 | 한국전자통신연구원 | Fast fourier transform processor with auto gain control |
Also Published As
Publication number | Publication date |
---|---|
KR20070059926A (en) | 2007-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7870176B2 (en) | Method of and apparatus for implementing fast orthogonal transforms of variable size | |
Cheng et al. | High-throughput VLSI architecture for FFT computation | |
Chen et al. | An indexed-scaling pipelined FFT processor for OFDM-based WPAN applications | |
US9465611B2 (en) | Processor execution unit with configurable SIMD functional blocks for complex number operations | |
WO2004042981A3 (en) | Method and apparatus for reducing a peak-to-average power ratio in an orthogonal frequency division multiplex signal | |
WO2007115329A3 (en) | Pipeline fft architecture and method | |
US7660840B2 (en) | Method, system, and computer program product for executing SIMD instruction for flexible FFT butterfly | |
KR100989797B1 (en) | Fast fourier transform/inverse fast fourier transform operating core | |
US20120166508A1 (en) | Fast fourier transformer | |
Li et al. | A 128/256-point pipeline FFT/IFFT processor for MIMO OFDM system IEEE 802.16 e | |
KR20020034746A (en) | Fast fourier transform processor using fast and area efficient algorithm | |
KR100628303B1 (en) | Method and apparatus of the variable points IFFT/FFT | |
US20100128818A1 (en) | Fft processor | |
Ayhan et al. | A 128∶ 2048/1536 point FFT hardware implementation with output pruning | |
KR101346367B1 (en) | Fast furier transform operation system and butterfly apparatus thereof | |
KR100836624B1 (en) | Device of variable fast furier transform and method thereof | |
US8166088B2 (en) | Fast fourier transform processor | |
US20070226285A1 (en) | A high speed fft hardware architecture for an ofdm processor | |
KR20120070746A (en) | Method and apparatus of performing fast fourier transform | |
Langemeyer et al. | A FPGA architecture for real-time processing of variable-length FFTs | |
US8010588B2 (en) | Optimized multi-mode DFT implementation | |
Yu et al. | A novel low-power 64-point pipelined FFT/IFFT processor for OFDM applications | |
US8484273B1 (en) | Processing system and method for transform | |
KR20140142927A (en) | Mixed-radix pipelined fft processor and method using the same | |
KR100602272B1 (en) | Apparatus and method of FFT for the high data rate |
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: 20161118 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171120 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20181114 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20191216 Year of fee payment: 7 |