KR101346367B1 - Fast furier transform operation system and butterfly apparatus thereof - Google Patents

Fast furier transform operation system and butterfly apparatus thereof Download PDF

Info

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
Application number
KR1020060086780A
Other languages
Korean (ko)
Other versions
KR20070059926A (en
Inventor
문영진
김영일
Original Assignee
한국전자통신연구원
삼성전자주식회사
주식회사 케이티
에스케이텔레콤 주식회사
에스케이브로드밴드주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 삼성전자주식회사, 주식회사 케이티, 에스케이텔레콤 주식회사, 에스케이브로드밴드주식회사 filed Critical 한국전자통신연구원
Publication of KR20070059926A publication Critical patent/KR20070059926A/en
Application granted granted Critical
Publication of KR101346367B1 publication Critical patent/KR101346367B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing 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 연산을 수행하기 위한 비용 절감 및 처리 속도 개선 효과를 기대할 수 있다.

Figure R1020060086780

버터플라이, 고속 퓨리에 변환, 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.

Figure R1020060086780

Butterfly, Fast Fourier Transform, FFT, RADIX, SDF, OFDM

Description

버터플라이 장치 및 이를 이용한 고속 퓨리에 변환 연산 시스템{FAST FURIER TRANSFORM OPERATION SYSTEM AND BUTTERFLY APPARATUS THEREOF}Butterfly device and fast Fourier transform arithmetic system using the same {FAST FURIER TRANSFORM OPERATION SYSTEM AND BUTTERFLY APPARATUS THEREOF}

도 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 first butterfly part 110, a second butterfly part 120, and a multiplication constant part 130 are provided. ), A multiplier 150, three multiplexers (hereinafter, also referred to as "MUX") 152, 154, and 156, and a controller 140 to perform variable operations.

제1 버터플라이부(110)는 RADIX 4 단일 경로 지연 피드백(Radix-4 Single-path Delay Feedback; 이하 "R4SDF"라 함)의 구조로, 메모리(112)와 래딕스(RADIX) 4 버터플라이(BF)(114)를 포함하여 수신되는 데이터에 대하여 RADIX 4 버터플라이 연산을 수행한 후 제1 멀티플렉서(Multiplexer)(152)로 전송한다.The first butterfly unit 110 has a structure of a RADIX-4 single-path delay feedback (hereinafter referred to as “R4SDF”), and the memory 112 and the RADIX 4 butterfly ( BF) 114, and then performs a RADIX 4 butterfly operation on the received data and transmits the same to the first multiplexer 152.

RADIX 4 버터플라이(114)는 일반적인 RADIX 4 버터플라이 연산을 수행하며, 수신받은 데이터에 대한 RADIX 4 버터플라이 연산을 수행한 후 메모리(112) 또는 제1 멀티플렉서(152)로 출력값을 전송한다.The RADIX 4 butterfly 114 performs a general RADIX 4 butterfly operation and transmits an output value to the memory 112 or the first multiplexer 152 after performing a RADIX 4 butterfly operation on the received data.

메모리(112)는 피드백 메모리로, RADIX 4 버터플라이(114)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 4 버터플라이(114)로 피드백한다.The memory 112 is a feedback memory, which stores an output value received from the RADIX 4 butterfly 114 and feeds back the stored value to the RADIX 4 butterfly 114.

제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 second butterfly unit 120 has a structure of a RADIX-2 Single-path Delay Feedback (hereinafter referred to as “R2SDF”), and the memory 122 and the RADIX 2 butterfly (BF) 124. A RADIX 2 butterfly operation is performed on the data received from the first multiplexer (MUX) 152, and the output value is transmitted to the second multiplexer (MUX) 154.

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 memory 122 or the second multiplexer. The output value is transmitted to the (MUX) 154.

메모리(122)는 피드백 메모리로, RADIX 2 버터플라이(124)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 2 버터플라이(124)로 피드백한다.The memory 122 is a feedback memory that stores an output value received from the RADIX 2 butterfly 124 and feeds back the stored value to the RADIX 2 butterfly 124.

곱셈 상수부(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 multiplier 150 under the control of the controller 140.

제1 ROM(Radix 2)(132)는 RADIX 2 곱셈 상수를 저장하고, 저장된 곱셈 상수를 멀티플렉서(MUX)(138)로 제공한다.The first ROM (Radix 2) 132 stores the RADIX 2 multiplication constant and provides the stored multiplication constant to the multiplexer (MUX) 138.

제2 ROM(Radix 4)(134)는 RADIX 4 곱셈 상수를 저장하고, 저장된 곱셈 상수를 멀티플렉서(MUX)(138)로 제공한다.The second ROM (Radix 4) 134 stores the RADIX 4 multiplication constant and provides the stored multiplication constant to the multiplexer (MUX) 138.

제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 controller 140. Multiplier receives a multiplier constant from one of a first ROM (Radix 2) 132, a second ROM (Radix 4) 134, or a third ROM (Radix 4-2) 136 according to the control of Provided at 150.

제어부(140)는 버터플라이 장치의 내부 구성부들에 대한 제어를 수행하고, 가변 RADIX 연산을 수행하기 위하여 제1 멀티플렉서(MUX)(152), 제2 멀티플렉서(MUX)(154), 제3 멀티플렉서(MUX)(156) 및 곱셈 상수부(130)의 멀티플렉서(MUX)(138)를 제어한다.The controller 140 controls the internal components of the butterfly device, and performs a first multiplexer (MUX) 152, a second multiplexer (MUX) 154, and a third multiplexer (MUX) 154 to perform variable RADIX operations. MUX) 156 and the multiplexer (MUX) 138 of the multiplication constant unit 130 are controlled.

제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 control unit 140 and does not go through a value output from the RADIX 4 butterfly 114 of the first butterfly unit 110 or the RADIX 4 butterfly 114. One of the values directly input is selected and provided to the RADIX 2 butterfly 124 of the second butterfly unit 120.

제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 controller 140, and the value output from the RADIX 2 butterfly 124 of the second butterfly unit 120 or the RADIX of the first butterfly unit 110. 4 but is output from the butterfly 114, but selects one of the values directly input without passing through the RADIX 2 butterfly 124 to provide to the multiplier (150).

곱셈기(150)는 곱셈상수부(130)의 멀티플렉서(MUX)(138)로부터 수신되는 값과 제2 멀티플렉서(MUX)(154)로부터 수신되는 값의 곱을 수행하여 제3 멀티플렉서(MUX)(156)로 전송한다.The multiplier 150 multiplies the value received from the multiplexer (MUX) 138 of the multiplication constant unit 130 and the value received from the second multiplexer (MUX) 154 to perform a third multiplexer (MUX) 156. To send.

제3 멀티플렉서(MUX)(156)는 제어부(140)에 의해 제어되며, 곱셈기(150)로부터 출력되는 값이나 제1 버터플라이부(110)를 거치지 않고 직접 입력되는 값 중에 하나를 선택하여 출력한다.The third multiplexer (MUX) 156 is controlled by the controller 140 and selects and outputs one of a value output from the multiplier 150 or a value directly input without passing through the first butterfly unit 110. .

이러한, 가변 래딕스(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 butterfly device 210, three RADIX 4-2 butterfly devices 230, 250, and 270. FFT operations are performed on various input points 512, 1024, 2048 and 4086, including ROMs 280 and 282 and two multipliers 290 and 292.

가변 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 butterfly device 210 includes two memories (211,213), three ROMs (RADIX 2, RADIX 4, RADIX 4-2) (215, 216, 217), four multiplexers (MUX) 218 , 219, 220, 221, RADIX 4 Butterfly 212, RADIX 2 Butterfly 214, and Control Unit 223, which are variable for data input under control of the Multiplexer (MUX) of the Control Unit 223. After performing the RADIX butterfly operation, the output value is transmitted to the first RADIX 4-2 butterfly device 230.

여기서, 가변 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 control unit 223 of the variable RADIX 4-2 butterfly device 210 controls the third multiplexer (MUX) 221 to perform the 512 pointer FFT, or performs the 1024 pointer FFT. To control the first multiplexer (MUX) 219, the second multiplexer (MUX) 220, the third multiplexer (MUX) 221, and the fourth multiplexer (MUX) 218, or perform a 2048 pointer FFT. To control the second multiplexer (MUX) 220, the third multiplexer (MUX) 221, and the fourth multiplexer (MUX) 218, or to perform a 4096 pointer FFT, the first multiplexer 219. The second multiplexer 220, the third multiplexer 221, and the fourth multiplexer (MUX) 218 are controlled. In this case, a multiplication constant stored in a ROM (RADIX 2) 215 is used when performing a 1024 pointer FFT, and a multiplication constant stored in a ROM (RADIX 4) 216 is used when a 2048 pointer FFT is performed, and a 4096 pointer FFT is performed. The multiplication constant stored in the ROM (RADIX 4-2) 217 is used for the time.

제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 butterfly device 230 includes a RADIX 4 butterfly 232, a RADIX 2 butterfly 234, a control unit 235, and two memories 231, 233. After performing the RADIX 4-2 operation based on the value received from the butterfly device 210, the output value is transmitted to the first multiplier 291.

RADIX 4 버터플라이(232)는 일반적인 RADIX 4 버터플라이 연산을 수행하며, 수신받은 데이터에 대한 RADIX 4 버터플라이 연산을 수행한 후 메모리(231) 또는 RADIX 2 버터플라이(234)로 출력값을 전송한다.The RADIX 4 butterfly 232 performs a general RADIX 4 butterfly operation, performs a RADIX 4 butterfly operation on the received data, and then sends an output value to the memory 231 or the RADIX 2 butterfly 234.

RADIX 2 버터플라이(234)는 일반적인 RADIX 2 버터플라이 연산을 수행하며, RADIX 4 버터플라이(232)로부터 수신받은 출력값에 대한 RADIX 2 버터플라이 연산을 수행한 후 메모리(233) 또는 제1 곱셈기(291)로 출력값을 전송한다.The RADIX 2 Butterfly 234 performs a typical RADIX 2 Butterfly operation, and after performing a RADIX 2 Butterfly operation on the output received from the RADIX 4 Butterfly 232, either the memory 233 or the first multiplier 291. Send the output to

메모리(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 RADIX 4 butterfly 232 to store an output value received from the RADIX 4 butterfly 232, and feeds back the stored value to the RADIX 4 butterfly 232. At this time, the memory 231 is composed of three having a size of 128 points.

메모리(233)는 피드백 메모리로, RADIX 2 버터플라이(234)와 연결되어 RADIX 2 버터플라이(234)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 2 버터플라이(234)로 피드백한다. 이때, 메모리(233)는 64 포인트의 사이즈를 갖는다. The memory 233 is a feedback memory. The memory 233 is connected to the RADIX 2 butterfly 234 to store an output value received from the RADIX 2 butterfly 234 and feeds back the stored value to the RADIX 2 butterfly 234. At this time, the memory 233 has a size of 64 points.

제어부(235)는 수신되는 데이터에 기초하여 RADIX 4 버터플라이(232) 및 RADIX 2 버터플라이(234)를 제어한다.The controller 235 controls the RADIX 4 butterfly 232 and the RADIX 2 butterfly 234 based on the received data.

제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 butterfly device 250 includes a RADIX 4 butterfly 252, a RADIX 2 butterfly 254, a controller 255, and two memories 251, 253 and a first multiplier 291. Transmits the output value to the second multiplier 292 after a RADIX 4-2 butterfly operation on the received value.

RADIX 4 버터플라이(252)는 일반적인 RADIX 4 버터플라이 연산을 수행하며, 수신받은 데이터에 대한 RADIX 4 버터플라이 연산을 수행한 후 메모리(251) 또는 RADIX 2 버터플라이(254)로 출력값을 전송한다.The RADIX 4 butterfly 252 performs a general RADIX 4 butterfly operation, performs a RADIX 4 butterfly operation on the received data, and then transmits an output value to the memory 251 or the RADIX 2 butterfly 254.

RADIX 2 버터플라이(254)는 일반적인 RADIX 2 버터플라이 연산을 수행하며, RADIX 4 버터플라이(252)로부터 수신받은 출력값에 대한 RADIX 2 버터플라이 연산을 수행한 후 메모리 또는 제2 곱셈기(292)로 출력값을 전송한다.The RADIX 2 Butterfly 254 performs a typical RADIX 2 Butterfly operation, performs a RADIX 2 Butterfly operation on the output received from the RADIX 4 Butterfly 252, and then outputs the value to the memory or second multiplier 292. Send it.

메모리(251)는 피드백 메모리로, RADIX 4 버터플라이(252)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 4 버터플라이(252)로 피드백한다. 이때, 메모리(251)는 16 포인트의 사이즈를 갖는 3개로 구성된다.The memory 251 is a feedback memory, and stores an output value received from the RADIX 4 butterfly 252 and feeds back the stored value to the RADIX 4 butterfly 252. At this time, the memory 251 is composed of three having a size of 16 points.

메모리(253)는 피드백 메모리로, RADIX 2 버터플라이(254)와 연결되어 RADIX 2 버터플라이(254)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 2 버터플라이(254)로 피드백한다. 이때, 메모리(253)는 8 포인트의 사이즈를 갖는다. The memory 253 is a feedback memory, which is connected to the RADIX 2 butterfly 254 to store an output value received from the RADIX 2 butterfly 254, and feeds back the stored value to the RADIX 2 butterfly 254. At this time, the memory 253 has a size of 8 points.

제어부(255)는 수신되는 출력값에 기초하여 RADIX 4 버터플라이(252) 및 RADIX 2 버터플라이(254)를 제어한다.The controller 255 controls the RADIX 4 butterfly 252 and the RADIX 2 butterfly 254 based on the received output value.

제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 butterfly device 270 includes a RADIX 4 butterfly 272, a RADIX 2 butterfly 274, a control unit 275 and two memories 271 and 273, and a second multiplier 292. After the RADIX 4-2 butterfly operation on the received value, the output value is sent to the next stage of the FFT operation system.

RADIX 4 버터플라이(272)는 일반적인 RADIX 4 연산을 수행하며, 수신받은 데이터에 대한 RADIX 4 버터플라이 연산을 수행한 후 메모리(271) 또는 RADIX 2 버터플라이(274)로 출력값을 전송한다.The RADIX 4 butterfly 272 performs a general RADIX 4 operation, performs a RADIX 4 butterfly operation on the received data, and then sends an output value to the memory 271 or the RADIX 2 butterfly 274.

RADIX 2 버터플라이(274)는 일반적인 RADIX 2 연산을 수행하며, RADIX 4 버터플라이(272)로부터 수신받은 출력값에 대한 RADIX 2 버터플라이 연산을 수행한 후 메모리(273) 또는 FFT 연산 시스템의 다음단으로 출력값을 전송한다.The RADIX 2 Butterfly 274 performs a typical RADIX 2 operation, performs a RADIX 2 Butterfly operation on the output received from the RADIX 4 Butterfly 272 and then moves to the next stage of the memory 273 or FFT operation system. Send the output.

메모리(271)는 RADIX 4 버터플라이(272)와 연결되어 RADIX 4 버터플라이(272)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 4 버터플라이(272)로 피드백한다. 이때, 메모리(271)는 2 포인트의 사이즈를 갖는 3개로 구성된다.The memory 271 is connected to the RADIX 4 butterfly 272 to store output values received from the RADIX 4 butterfly 272 and feed back the stored values to the RADIX 4 butterfly 272. At this time, the memory 271 is composed of three having a size of two points.

메모리(273)는 RADIX 2 버터플라이(274)와 연결되어 RADIX 2 버터플라이(274)로부터 수신받은 출력값을 저장하고, 저장된 값을 RADIX 2 버터플라이(274)로 피드백한다. 이때, 메모리(273)는 1 포인트의 사이즈를 갖는다. The memory 273 is connected to the RADIX 2 butterfly 274 to store output values received from the RADIX 2 butterfly 274 and feed back the stored values to the RADIX 2 butterfly 274. At this time, the memory 273 has a size of one point.

제어부(275)는 수신되는 출력값에 기초하여 RADIX 4 버터플라이(272) 및 RADIX 2 버터플라이(274)를 제어한다.The controller 275 controls the RADIX 4 butterfly 272 and the RADIX 2 butterfly 274 based on the received output value.

제1 곱셈기(291)는 제1 ROM(281)으로부터 전송 받은 미리 정해진 특정 곱셈 상수와 제1 RADIX 4-2 버터플라이 장치(230)로부터 수신 받은 출력값을 곱하여 제2 RADIX 4-2 버터플라이 장치(250)로 전송한다.The first multiplier 291 multiplies a predetermined specific multiplication constant received from the first ROM 281 by an output value received from the first RADIX 4-2 butterfly device 230 to obtain a second RADIX 4-2 butterfly device ( 250).

제 2곱셈기(292)는 제2 ROM(292)으로부터 전송 받은 미리 정해진 특정 곱셈 상수와 제2 RADIX 4-2 버터플라이 장치(250)로부터 수신받은 출력값을 곱하여 제3 RADIX 4-2 버터플라이 장치(270)로 전송한다.The second multiplier 292 multiplies the predetermined specific multiplication constant received from the second ROM 292 by the output value received from the second RADIX 4-2 butterfly device 250 to determine the third RADIX 4-2 butterfly device ( 270).

이러한, 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)

입력되는 데이터에 대한 버터플라이 연산을 수행하는 버터플라이 장치에 있어서,In the butterfly device for performing a butterfly operation on the input data, 입력 데이터에 대한 제1 래딕스(RADIX) 버터플라이 연산을 수행하는 제1 버터플라이부;A first butterfly unit configured to perform a first RADIX butterfly operation on the input data; 상기 입력 데이터 및 상기 제1 버터플라이부의 출력값을 수신하여 선택적인 출력을 하는 제1 멀티플렉서;A first multiplexer configured to receive the input data and an output value of the first butterfly unit and to selectively output the input data; 상기 제1 멀티플렉서의 출력값에 대한 제2 래딕스(RADIX) 버터플라이 연산을 수행하는 제2 버터플라이부;A second butterfly unit performing a second RADIX butterfly operation on an output value of the first multiplexer; 상기 제1 버터플라이부의 출력값 및 상기 제2 버터플라이부의 출력값을 수신하여 선택적인 출력을 하는 제2 멀티플렉서;A second multiplexer for selectively outputting the output value of the first butterfly part and the output value of the second butterfly part; 제1 곱셈 상수, 제2 곱셈 상수 및 제3 곱셈 상수를 저장하고, 저장된 상기 제1 곱셈 상수, 제2 곱셈 상수 및 제3 곱셈 상수 중 적어도 하나의 곱셈 상수를 제공하는 곱셈 상수부;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; 상기 곱셈 상수부로부터 출력되는 상기 곱셈 상수와 상기 제2 멀티플렉서로부터 수신받은 출력값의 곱을 수행하는 곱셈기;A multiplier configured to multiply the multiplication constant output from the multiplication constant unit with an output value received from the second multiplexer; 상기 입력 데이터와 상기 곱셈기의 출력 값을 수신하여 선택적인 출력을 하는 제3 멀티플렉서; 및A third multiplexer configured to receive the input data and an output value of the multiplier and selectively output the multiplier; And 상기 곱셈 상수부를 제어하여 상기 곱셈 상수를 곱셈기로 제공하고, 상기 제1 멀티플렉서, 제2 멀티플렉서 및 제3 멀티플렉서를 제어하는 제어부A control unit which controls the multiplication constant unit to provide the multiplication constant to a multiplier, and controls the first multiplexer, the second multiplexer, and a third multiplexer 를 포함하는 버터플라이 장치.Butterfly device comprising a. 제1항에 있어서,The method of claim 1, 상기 곱셈 상수부는The multiplication constant part 제1 곱셈 상수를 저장하는 제1 ROM;A first ROM for storing a first multiplication constant; 제2 곱셈 상수를 저장하는 제2 ROM;A second ROM for storing a second multiplication constant; 제3 곱셈 상수를 저장하는 제3 ROM; 및A third ROM for storing a third multiplication constant; And 상기 제어부의 제어에 따라 상기 제1 ROM, 제2 ROM 또는 제3 ROM에 저장되어 있는 특정 곱셈 상수를 상기 곱셈기로 제공하는 제4 멀티플렉서A fourth multiplexer for providing the multiplier with a specific multiplication constant stored in the first ROM, the second ROM, or the third ROM under the control of the controller; 를 포함하는 버터플라이 장치.Butterfly device comprising a. 제2항에 있어서,3. The method of claim 2, 상기 제1 곱셈 상수는 특정 래딕스(RADIX)2 곱셈 상수이고, 상기 제2 곱셈 상수는 특정 래딕스(RADIX)4 곱셈 상수이고, 상기 제3 곱셈 상수는 특정 래딕스(RADIX)4-2 곱셈 상수인 것을 특징으로 하는 버터플라이 장치.The first multiplication constant is a specific RADIX2 multiplication constant, the second multiplication constant is a specific RADIX4 multiplication constant, and the third multiplication constant is a specific RADIX4-2 multiplication. A butterfly device, characterized in that the constant. 제1항 내지 제3항 중 어느 한 항에 있어서,4. The method according to any one of claims 1 to 3, 상기 제1 버터플라이부는,The first butterfly part, 상기 입력 데이터에 대한 래딕스(RADIX) 4 연산을 수행하는 제1 버터플라이; 및A first butterfly performing a RADIX 4 operation on the input data; And 상기 제1 버터플라이의 출력값을 저장하고, 저장된 값을 상기 제1 버터플라이로 피드백하는 제1 메모리A first memory for storing an output value of the first butterfly and feeding back the stored value to the first butterfly 를 포함하는 버터플라이 장치.Butterfly device comprising a. 제1항 내지 제3항 중 어느 한 항에 있어서,4. The method according to any one of claims 1 to 3, 상기 제2 버터플라이부는,The second butterfly part, 상기 입력 데이터에 대한 래딕스(RADIX) 2 연산을 수행하는 제2 버터플라이; 및A second butterfly performing a RADIX 2 operation on the input data; And 상기 제2 버터플라이의 출력값을 저장하고, 저장된 값을 상기 제2 버터플라이로 피드백하는 제2 메모리A second memory for storing an output value of the second butterfly and feeding back the stored value to the second butterfly 를 포함하는 버터플라이 장치.Butterfly device comprising a. 입력되는 데이터에 대한 FFT(Fast Fourier Transform)에 대한 연산을 수행하는 시스템에 있어서,In a system that performs an operation on the fast fourier transform (FFT) on the input data, 입력 데이터에 대하여 가변적인 값을 갖는 래딕스(RADIX) 버터플라이 연산을 수행하는 가변 래딕스(RADIX) 버터플라이 장치;A variable RADIX butterfly device for performing a RADIX butterfly operation having a variable value on input data; 상기 가변 래딕스(RADIX) 버터 플라이 장치로부터 수신받은 출력값에 대한 제1 래딕스(RADIX) 버터플라이 연산을 수행하는 제1 버터플라이 장치;A first butterfly device performing a first RADIX butterfly operation on an output value received from the variable RADIX butterfly device; 상기 제1 버터플라이 장치로부터 수신받은 출력값에 제1 곱셈 상수의 곱을 하는 제1 곱셈기; 및A first multiplier multiplying an output value received from the first butterfly device by a first multiplication constant; And 상기 제1 곱셈기로부터 수신 받은 출력값에 대한 제2 래딕스(RADIX) 버터플라이 연산을 수행하는 제2 버터플라이 장치A second butterfly device performing a second RADIX butterfly operation on an output value received from the first multiplier 를 포함하는 FFT 연산 시스템.FFT operation system comprising a. 제6항에 있어서,The method according to claim 6, 상기 제2 버터플라이 장치로부터 수신 받은 출력값에 제2 곱셈 상수의 곱을 하는 제2 곱셈기; 및A second multiplier multiplying an output value received from the second butterfly device by a second multiplication constant; And 상기 제2 곱셈기로부터 수신 받은 출력값에 대한 제3 래딕스(RADIX) 버터플라이 연산을 수행하는 제3 버터플라이 장치A third butterfly device performing a third RADIX butterfly operation on an output value received from the second multiplier 를 더 포함하는 FFT 연산 시스템.FFT operation system further comprising. 제6항에 있어서,The method according to claim 6, 미리 정해진 제1 곱셈 상수를 저장하고, 상기 제1 곱셈기에 상기 제1 곱셈 상수를 제공하는 제1 롬(ROM); 및A first ROM for storing a first predetermined multiplication constant and providing the first multiplication constant to the first multiplier; And 미리 정해진 제2 곱셈 상수를 저장하고, 상기 제2 곱셈기에 상기 제2 곱셈 상수를 제공하는 제2 롬(ROM)A second ROM storing a second predetermined multiplication constant and providing the second multiplier to the second multiplier; 을 더 포함하는 FFT 연산 시스템.FFT operation system further comprising. 제6항 내지 제8항 중 어느 한 항에 있어서,9. The method according to any one of claims 6 to 8, 상기 제1 래딕스(RADIX) 버터플라이 연산, 제2 래딕스(RADIX) 버터플라이 연산 및 제3 래딕스(RADIX) 버터플라이 연산은 래딕스(RADIX) 4-2 버터플라이 연산인 것을 특징으로 하는 FFT 연산 시스템.The first RADIX butterfly operation, the second RADIX butterfly operation, and the third RADIX butterfly operation are RADIX 4-2 butterfly operations. FFT computing system. 제6항 내지 제8항 중 어느 한 항에 있어서,9. The method according to any one of claims 6 to 8, 상기 가변 래딕스(RADIX) 버터플라이 장치는,The variable Radix butterfly device, 상기 입력 데이터에 대한 제1 래딕스(RADIX) 버터플라이 연산을 수행하는 제1 버터플라이부;A first butterfly unit performing a first RADIX butterfly operation on the input data; 상기 데이터 및 상기 제1 버터플라이부의 출력값을 수신하여 선택적인 출력을 하는 제1 멀티플렉서;A first multiplexer for selectively outputting the data and the output value of the first butterfly unit; 상기 제1 멀티플렉서의 출력값에 대한 제2 래딕스(RADIX) 버터플라이 연산을 수행하는 제2 버터플라이부;A second butterfly unit performing a second RADIX butterfly operation on an output value of the first multiplexer; 상기 제1 버터플라이부의 출력값 및 상기 제2 버터플라이부의 출력값을 수신하여 선택적인 출력을 하는 제2 멀티플렉서;A second multiplexer for selectively outputting the output value of the first butterfly part and the output value of the second butterfly part; 제1 곱셈 상수, 제2 곱셈 상수 및 제3 곱셈 상수를 저장하고, 특정 제어에 따라 저장된 상기 제1 곱셈 상수, 제2 곱셈 상수 및 제3 곱셈 상수 중 적어도 하나의 곱셈 상수를 제공하는 곱셈 상수부;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 first multiplication constant, the second multiplication constant, and the third multiplication constant stored according to a specific control ; 상기 곱셈 상수부에서 수신받은 상기 곱셈 상수와 상기 제2 멀티플렉서로부터 수신받은 출력값의 곱을 수행하는 곱셈기;A multiplier configured to multiply the multiplication constant received by the multiplication constant unit with an output value received from the second multiplexer; 상기 데이터와 상기 곱셈기의 출력 값을 수신하여 선택적인 출력을 하는 제3 멀티플렉서; 및A third multiplexer for selectively outputting the data and an output value of the multiplier; And 상기 곱셈 상수부를 제어하여 상기 곱셈 상수를 곱셈기에 제공하고, 상기 제1 멀티플렉서, 제2 멀티플렉서 및 제3 멀티플렉서를 제어하는 제어부A control unit which controls the multiplication constant unit to provide the multiplication constant to a multiplier, and controls the first multiplexer, the second multiplexer, and a third multiplexer 를 포함하는 FFT 연산 시스템.FFT operation system comprising a. 제10항에 있어서,The method of claim 10, 상기 제1 곱셈 상수는 특정 래딕스(RADIX)2 곱셈 상수이고, 상기 제2 곱셈 상수는 특정 래딕스(RADIX)4 곱셈 상수이고, 상기 제3 곱셈 상수는 특정 래딕스(RADIX)4-2 곱셈 상수인 것을 특징으로 하는 FFT 연산 시스템.The first multiplication constant is a specific RADIX2 multiplication constant, the second multiplication constant is a specific RADIX4 multiplication constant, and the third multiplication constant is a specific RADIX4-2 multiplication. FFT operation system, characterized in that the constant. 제11항에 있어서,12. The method of claim 11, 상기 제1 버터플라이부는,The first butterfly part, 상기 입력 데이터에 대한 래딕스(RADIX) 4 연산을 수행하는 제1 버터플라이; 및A first butterfly performing a RADIX 4 operation on the input data; And 상기 제1 버터플라이의 출력값을 저장하고, 저장된 값을 상기 제1 버터플라이로 피드백하는 제1 메모리A first memory for storing an output value of the first butterfly and feeding back the stored value to the first butterfly 를 포함하는 FFT 연산 시스템.FFT operation system comprising a. 제11항에 있어서,12. The method of claim 11, 상기 제2 버터플라이부는,The second butterfly part, 상기 입력 데이터에 대한 래딕스(RADIX) 2 연산을 수행하는 제2 버터플라이; 및 상기 제2 버터플라이의 출력값을 저장하고, 저장된 값을 상기 제2 버터플라이로 피드백하는 제2 메모리A second butterfly performing a RADIX 2 operation on the input data; And a second memory storing an output value of the second butterfly and feeding back the stored value to the second butterfly. 를 포함하는 FFT 연산 시스템.FFT operation system comprising a.
KR1020060086780A 2005-12-07 2006-09-08 Fast furier transform operation system and butterfly apparatus thereof KR101346367B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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