KR100810490B1 - Fast fourier transform processor, and othogonal frequency division multiplexing receiver having the same - Google Patents
Fast fourier transform processor, and othogonal frequency division multiplexing receiver having the same Download PDFInfo
- Publication number
- KR100810490B1 KR100810490B1 KR1020060074687A KR20060074687A KR100810490B1 KR 100810490 B1 KR100810490 B1 KR 100810490B1 KR 1020060074687 A KR1020060074687 A KR 1020060074687A KR 20060074687 A KR20060074687 A KR 20060074687A KR 100810490 B1 KR100810490 B1 KR 100810490B1
- Authority
- KR
- South Korea
- Prior art keywords
- fft
- point
- factor
- radix
- tween
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2647—Arrangements specific to the receiver only
- H04L27/2649—Demodulators
- H04L27/265—Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators
- H04L27/2651—Modification of fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators for performance improvement
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
Abstract
종래의 N-포인트 FFT 연산시 필요한 N개의 트위들 팩터를 모두 저장한 ROM을 사용하지 않고, 1/4 주기내의 m(여기서 m은 N/4 보다 작은 양의 정수값으로서 예를 들어 4, 8, 또는 16이 될 수 있음)개 구간의 트위들 팩터 경계값을 저장하는 ROM을 사용한다. 트위들 팩터 연산부는 상기 트위들 팩터 저장부에 저장된 m개 구간의 트위들 팩터 경계값에 기초하여 N-포인트 고속 푸리에 변환(FFT) 연산시 필요한 나머지 트위들 팩터값의 근사값을 산출한다. 따라서, 트위들 팩터를 저장한 ROM의 액세스 횟수를 줄일 수 있고, 그에 따라 FFT 연산시에 소모되는 전력을 줄일 수 있다.
M in a quarter period (where m is a positive integer value less than N / 4, for example 4, 8, without using ROM storing all the N-tween factors required for a conventional N-point FFT operation). (Or can be 16) using ROM that stores the tween factor boundary value of the interval. A tween factor calculating unit calculates an approximation of the remaining tween factor values required for an N-point fast Fourier transform (FFT) operation based on the tweed factor boundary values of m sections stored in the tweed factor storage unit. Therefore, the number of accesses of the ROM storing the tweed factor can be reduced, thereby reducing the power consumed during the FFT operation.
Description
도 1은 2개의 입력 데이터를 처리하는 기수-2(radix-2) 연산 구조를 나타낸 개념도이다. 1 is a conceptual diagram illustrating a radix-2 operation structure for processing two input data.
도 2는 4개의 입력 데이터를 처리하는 기수-4(radix-4) 연산 구조를 나타낸 개념도이다.2 is a conceptual diagram illustrating a radix-4 operation structure for processing four input data.
도 3은 종래 radix-2 구조의 FFT 프로세서의 블록도이다. 3 is a block diagram of an FFT processor of a conventional radix-2 structure.
도 4는 radix-2와 radix-4가 혼합된 혼합-기수(mixed-radix) 2차원 FFT 연산 구조를 나타낸 개념도이다.4 is a conceptual diagram illustrating a mixed-
도 5는 1차원 FFT와 2차원 FFT에서의 radix-2 FFT 연산과 radix-4 FFT 연산에 사용되는 곱셈기와 덧셈기의 개수를 나타낸 테이블이다.5 is a table showing the number of multipliers and adders used in radix-2 FFT operations and radix-4 FFT operations in one-dimensional and two-dimensional FFTs.
도 6은 1차원 FFT와 2차원 FFT에서의 radix-2 FFT 연산과 radix-4 FFT 연산 수행시 요구되는 사이클(cycle) 수를 나타낸 테이블이다.FIG. 6 is a table showing the number of cycles required to perform a radix-2 FFT operation and a radix-4 FFT operation in one-dimensional and two-dimensional FFTs.
도 7은 본 발명의 바람직한 일실시예에 따른 64-포인트 내지 8K-포인트의 2n FFT 모드를 수행하는 FFT 장치를 나타낸 블록도이다. 7 is a block diagram illustrating an FFT apparatus for performing a 2 n FFT mode of 64-point to 8K-point according to an exemplary embodiment of the present invention.
도 8은 16개의 트위들 팩터값을 예시적으로 나타낸 개념도이다.8 is a conceptual diagram exemplarily illustrating 16 tween factor values.
도 9는 본 발명의 일실시예에 따른 트위들 팩터 저장부에 저장된 트위들 팩터값을 나타낸 개념도이다. 9 is a conceptual diagram illustrating a tween factor value stored in a tween factor storage unit according to an exemplary embodiment of the present invention.
도 10은 본 발명의 일실시예에 따른 radix-2 구조의 FFT 프로세서의 블록도이다. 10 is a block diagram of an FFT processor having a radix-2 structure according to an embodiment of the present invention.
도 11은 본 발명의 일실시예에 따른 OFDM 수신기를 나타낸 블록도이다.11 is a block diagram illustrating an OFDM receiver according to an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
710 : 선택 제어부 720 : FFT 처리부710: selection control unit 720: FFT processing unit
730 : 메모리 740 : 제1 선택부730: memory 740: first selection unit
750 : 출력 제어부 770, 1060, 1144, : 트위들 팩터 연산부750:
150, 780, 1050, 1146 : 트위들 팩터 저장부150, 780, 1050, 1146: tweed factor storage
본 발명은 고속 푸리에 변환 장치 및 이를 포함하는 직교 주파수 분할 다중화(OFDM) 수신기에 관한 것으로, 더욱 상세하게는 롬(ROM)에 저장된 트위들 팩터의 개수를 줄인 고속 푸리에 변환 장치 및 이를 포함하는 직교 주파수 분할 다중화(OFDM) 수신기에 관한 것이다. The present invention relates to a fast Fourier transform device and an orthogonal frequency division multiplexing (OFDM) receiver including the same, and more particularly, to a fast Fourier transform device and a quadrature frequency including the same A Division Multiplexing (OFDM) receiver.
이산 푸리에 변환(Discrete Fourier Transform; 이하 "DFT"라고 함)은 XDSL(X Digital Subscriber Line), 디지털 비디오(digital video), 디지털 오디오 방송(Digital Audio Broadcasting; 이하 "DAB"라고 함)와 같은 디지털 신호 처리에 널리 사용된다. Discrete Fourier Transform (DFT) is a digital signal such as X Digital Subscriber Line (XDSL), digital video, and Digital Audio Broadcasting ("DAB"). Widely used in processing.
특히, 직교 주파수 분할 다중화(Othogonal Frequency Division Multiplexing, 이하 "OFDM"라고 함) 방식은 유럽형 디지털 비디오 방송(Digital Video Braodcasting, 이하 "DVB"라고 함) 시스템에서 표준으로 사용되며, 무선 통신 시스템에서 다중 경로 채널을 통해 고속 데이터를 전송하기 위하여 제안되었다. In particular, Orthogonal Frequency Division Multiplexing (hereinafter referred to as "OFDM") is used as a standard in European-style digital video broadcasting (DVB) systems, and multipath in wireless communication systems. It is proposed to transmit high speed data over a channel.
OFDM 방식은 전송하려는 데이터를 여러 개로 나누어 변조하고, 변조된 데이터를 병렬로 전송하는 다중 반송파 기술이다. 부반송파(subcarrier)는 DFT를 이용하여 얻어진다. 그러나, 실제 하드웨어 설계에서는 DFT를 사용하지 않고 연산량을 줄이기 위해 고속 퓨리에 변환(Fast Fourier Transform, 이하 "FFT"라고 함) 알고리즘을 이용하여 구현한다. The OFDM scheme is a multi-carrier technology that divides and modulates data to be transmitted and transmits the modulated data in parallel. Subcarriers are obtained using DFT. However, in actual hardware design, the fast Fourier transform (hereinafter referred to as "FFT") algorithm is implemented to reduce the computation amount without using the DFT.
FFT는 N개의 시간 영역의 샘플 포인트를 대응하는 N개의 주파수 영역의 샘플 포인트로 변환하는 디지털 신호 처리에 사용되는 알고리즘이다. FFT 프로세서는 입력되는 데이터의 개수에 따라 256, 512, 1024 및 2048 등의 FFT 모드를 갖는다. FFT is an algorithm used for digital signal processing that converts sample points in N time domains to sample points in corresponding N frequency domains. The FFT processor has FFT modes such as 256, 512, 1024, and 2048 depending on the number of input data.
FFT 프로세서의 연산 방식에는 256, 512, 1024 및 2048 등의 2n FFT 모드의 입력 데이터를 처리할 수 있는 기수-2(radix-2) 방식과 256 및 1024 등의 4n FFT 모드의 입력 데이터를 처리할 수 있는 기수-4(radix-4) 방식이 자주 사용된다. The calculation method of the FFT processor includes input data of radix-2 and 4 n FFT modes such as 256 and 1024 that can process input data of 2 n FFT modes such as 256, 512, 1024 and 2048. The radix-4 method is often used.
도 1은 2개의 입력 데이터를 처리하는 기수-2(radix-2) 버터플라이 구조를 나타낸 개념도이고, 도 2는 4개의 입력 데이터를 처리하는 기수-4(radix-4) 버터플 라이 구조를 나타낸 개념도이다. radix-2 구조는 2개의 입력(x(0), x(1))을 처리하는 구조로서 덧셈기(110), 뺄셈기(120) 및 회전 인자(twiddle factor)를 곱하는 곱셈기(130)가 하나씩만 필요한 간단한 구조이다. radix-4 구조는 radix-2 구조에 비하여 구현하기가 복잡하지만 4개의 입력(x(0), x(1), x(2), x(3))에 대해 한꺼번에 처리할 수 있기 때문에 계산이 효율적이며 처리 속도가 빠르다. 즉, radix-2 구조는 구현은 간단하나 입력 데이터의 양이 많을 경우에는 처리 속도가 느려지며, radix-4 구조는 처리 속도는 빠르나 구현이 복잡하다. 1 is a conceptual diagram illustrating a radix-2 butterfly structure for processing two input data, and FIG. 2 illustrates a radix-4 butterfly structure for processing four input data. Conceptual diagram. The radix-2 structure is a structure for processing two inputs (x (0), x (1)), and there is only one
2n개의 입력 데이터에서 특정 번지의 출력이 나올 때까지 도 1에 도시된 바와 같은 구조를 n번 거치게 되며, 4n개의 입력 데이터에서 특정 번지의 출력이 나올 때까지 도 2에 도시된 바와 같은 구조를 n번 거치게 된다. The structure as shown in FIG. 1 is n times until the output of a specific address is output from 2 n input data, and the structure as shown in FIG. 2 is output until the output of a specific address is output from 4 n input data. Will go through n times.
FFT는 많은 계산량이 요구되기 때문에 고속으로 동작할 수 있어야 하고, 또한 휴대용 기기와 같은 분야에 사용하기 위해서는 전력소비가 적어야 하므로 반도체 칩으로 구현시 실리콘 면적의 절감을 기할 수 있는 구조를 필요로 한다.FFT needs to be able to operate at high speed because it requires a large amount of calculation, and also requires low power consumption for applications such as portable devices. Therefore, it needs a structure that can reduce silicon area when implemented as a semiconductor chip.
FFT는 OFDM 수신기의 전체 전력 소모량에서 큰 비중을 차지한다. 따라서, FFT를 설계함에 있어서, 반도체 칩으로 구현시 FFT 회로가 차지하는 면적과 FFT 처리과정에서 소모하는 전력을 효율적으로 감소시킬 필요가 있다. FFT is a big part of the overall power consumption of an OFDM receiver. Therefore, in designing the FFT, it is necessary to efficiently reduce the area occupied by the FFT circuit and the power consumed in the FFT process when implemented as a semiconductor chip.
FFT를 종래 radix-2 구조만을 사용하여 구현하는 경우 덧셈기와 곱셈기의 개수가 많아지게 되므로 반도체 칩으로 구현시 실리콘 면적이 커지게 된다.When the FFT is implemented using only the conventional radix-2 structure, the number of adders and multipliers increases, and thus the silicon area of the FFT is increased.
도 3은 종래 radix-2 구조의 FFT 프로세서의 블록도이다. 3 is a block diagram of an FFT processor of a conventional radix-2 structure.
도 3을 참조하면, FFT 입력으로 N개의 데이터가 차례대로 입력버퍼(110)에 저장된다. FFT가 DIT(Decimation In Time)으로 동작되는 경우, 입력버퍼(110)에 저장된 데이터는 비트열 역순으로 메모리(130)에 저장되며, FFT 연산이 끝난후 메모리(130)로부터 정상적인 순서로 출력된다. FFT가 DIF(Decimation In Frequency)으로 동작되는 경우, 입력버퍼(110)에 저장된 데이터는 정상적인 순서로 메모리(130)에 저장되며, FFT 연산이 끝난후 메모리(130)로부터 비트열 역순으로 출력된다. 어드레스 컨트롤러(120)는 메모리(130)와 radix-2 프로세서(140) 사이에 입출력 주소값을 생성해준다. Referring to FIG. 3, N data are sequentially stored in the
Radix-2 프로세서(140)는 1개의 복소수 곱셈기와 2개의 복소수 덧셈기로 구성되어 복소수 곱셈을 수행할 때, 트위들 팩터(twiddle factor)를 저장하는 트위들 팩터 저장부(150)로부터 트위들 팩터값을 하나씩 읽어들여 연산을 수행한다.The Radix-2
N-포인트 FFT의 경우 일반적으로 N개의 트위들 팩터가 필요하다. 트위들 팩터는 sin, cos값이므로 sin, cos의 1/4 주기내의 값만을 이용하여 나머지 트위들 팩터를 구할 수 있으므로 1/4 주기내의 트위들 팩터값을 ROM으로 구성된 트위들 팩터 저장부(150)에 저장해둔다. 예를 들어, 4096-포인트 FFT의 경우, 1/4 주기내의 1024개의 트위들 팩터값을 ROM으로 구성된 트위들 팩터 저장부(150)에 저장해두고 FFT 연산시 1024개의 트위들 팩터를 읽어낸다. For N-point FFTs, N tween factors are generally needed. Since the tween factor is sin and cos values, the remaining tweed factor can be obtained using only values within a quarter period of sin and cos. ). For example, in the case of a 4096-point FFT, 1024 tweed factor values within a quarter period are stored in a tweed
N의 크기가 커질수록 사용되는 트위들 팩터를 저장하는 ROM의 크기가 비례적으로 커지게 되고, ROM을 액세스하는 횟수와 시간이 증가하여 전력 소모가 증가하게 된다. As the size of N increases, the size of the ROM storing the used tween factor increases proportionally, and the power consumption increases because the number and time of accessing the ROM increase.
특히, 레이더 시스템을 위한 32 포인트 FFT, 무선 랜(Wireless LAN)을 위한 64 포인트 FFT, ADSL(Asynchronous Digital Subscriber Line)을 위한 256 포인트 FFT, 음성 인식을 위한 512 포인트 FFT, 디지털 오디오 방송(Digital Audio Broadcasting, 이하 "DAB"라고 함)에 사용되는 256 포인트 내지 2048 포인트 FFT, DVB에 사용되는 2K 내지 8K FFT와 같이 처리하고자 하는 FFT 포인트의 개수 N의 크기가 커질수록 종래 radix-2 구조만을 사용하여 구현하는 경우 반도체 칩으로 구현시 실리콘 면적이 커지게 되고, 트위들 팩터를 저장하는 ROM의 크기가 비례적으로 커지게 되고, 전력 소모가 증가하게 된다.Specifically, 32-point FFT for radar systems, 64-point FFT for Wireless LAN, 256-point FFT for Asynchronous Digital Subscriber Line (ADSL), 512-point FFT for speech recognition, Digital Audio Broadcasting In this case, the larger the number of FFT points N to be processed, such as 256 point to 2048 point FFT used for "DAB" and 2K to 8K FFT used for DVB, is implemented using only the conventional radix-2 structure. In this case, when the semiconductor chip is implemented, the silicon area increases, the size of the ROM storing the tweed factor increases proportionally, and power consumption increases.
따라서, 본 발명의 제1 목적은 트위들 팩터를 저장하는 ROM의 크기를 줄일 수 있는 고속 푸리에 변환 장치를 제공하는 것이다. Accordingly, a first object of the present invention is to provide a fast Fourier transform apparatus capable of reducing the size of a ROM storing a tweed factor.
또한, 본 발명의 제2 목적은 상기 고속 푸리에 변환 장치를 가지는 OFDM 수신기를 제공하는 것이다.It is also a second object of the present invention to provide an OFDM receiver having the fast Fourier transform device.
상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일측면에 따른 K개-여기서, K는 K1과 Kn 사이의 2의 거듭 제곱값이고, K1 및 Kn은 서로 다른 2의 거듭제곱값이고, Kn은 K1 보다 큰 양의 정수임-의 입력 데이터에 상응하는 K-포인트 FFT 연산을 수행하는 고속 퓨리에 변환(Fast Fourier Transform) 장치는 N-포인트 FFT 연산시 1/4 주기내의 m(여기서 m은 N/4 보다 작은 양의 정수값임)개 구간의 트위들 팩터 경계값을 저장하는 트위들 팩터 저장부; 상기 트위들 팩터 저장부에 저 장된 m개 구간의 트위들 팩터 경계값에 기초하여 N-포인트 FFT 연산시 필요한 나머지 트위들 팩터값을 산출하는 트위들 팩터 연산부; 상기 K 개의 입력 데이터를 입력받아 상기 트위들 팩터 연산부에서 제공하는 트위들 팩터값을 이용하여 K1-포인트 FFT 연산을 수행하는 제1 FFT 처리부와 복수의 서로 다른 M-포인트 FFT-여기서, M은 서로 다른 2의 거듭 제곱값을 가지며, K1 보다 작은 양의 정수이고, 상기 복수의 서로 다른 M-포인트 FFT는 Radix-2 FFT와 Radix-4 FFT가 교대로 배치됨-를 포함하는 제2 FFT 처리부를 포함하는 FFT 처리부; 상기 FFT 처리부의 FFT 연산 결과 중간값을 저장하는 메모리; 및 상기 FFT 처리부, 상기 트위들 팩터 연산부 및 상기 메모리를 제어하여 상기 K1-포인트 내지 Kn-포인트에 대한 FFT 연산을 선택적으로 수행하도록 제어하는 제어부를 포함한다. m은 4, 8 및 16 중의 하나가 될 수 있다. 상기 K-포인트 FFT 연산시 필요한 나머지 트위들 팩터값은 상기 m개 구간의 트위들 팩터 경계값을 읽어들여 상기 m개 구간의 각 구간사이의 트위들 팩터 근사값을 계산할 수 있다. 상기 m개 구간의 각 구간사이의 트위들 팩터 근사값은 상기 m개 구간의 트위들 팩터 경계값을 읽어들여 상기 m개 구간의 각 구간사이를 잇는 직선을 이용하여 선형 근사하여 상기 트위들 팩터 근사값을 계산할 수 있다. 상기 복수의 서로 다른 M-포인트 FFT는 2-포인트 FFT, 4-포인트 FFT, 8-포인트 FFT 및 16-포인트 FFT를 포함할 수 있다. 상기 K1-포인트 FFT는 Radix-4 FFT이고, 상기 2-포인트 FFT는 Radix-2 FFT가 될 수 있다. K according to an aspect of the present invention for achieving the first object of the present invention described above, where K is a power of two between K1 and Kn, and K1 and Kn are different powers of two. Fast Fourier Transform device that performs K-point FFT operation corresponding to input data of Kn is a positive integer greater than K1, where m is within 1/4 period during N-point FFT operation. A tween factor storage unit configured to store a tweed factor boundary value of a plurality of sections; A tween factor calculator configured to calculate a remaining tween factor value required for an N-point FFT operation based on a tween factor boundary value of m sections stored in the tweed factor storage unit; A first FFT processor and a plurality of different M-point FFTs, which receive the K input data and perform K1-point FFT operations using a tween factor value provided by the tweed factor calculator, wherein M A second FFT processing unit having a second power of two, a positive integer less than K1, and wherein the plurality of different M-point FFTs includes a Radix-2 FFT and a Radix-4 FFT alternately arranged. An FFT processor; A memory for storing an intermediate value of the FFT calculation result of the FFT processor; And a controller for controlling the FFT processor, the tween factor calculator, and the memory to selectively perform FFT operations on the K1-point to Kn-point. m can be one of 4, 8 and 16. The remaining tween factor values required for the K-point FFT operation may calculate a tween factor factor between each m section section by reading the tweed factor boundary values of the m section sections. The tween factor approximation value between each section of the m sections is linearly approximated using a straight line between each section of the m sections by reading the tweed factor boundary values of the m sections. Can be calculated The plurality of different M-point FFTs may comprise a 2-point FFT, a 4-point FFT, an 8-point FFT and a 16-point FFT. The K1-point FFT may be a Radix-4 FFT and the 2-point FFT may be a Radix-2 FFT.
또한, 본 발명의 제1 목적을 달성하기 위한 본 발명의 다른 측면에 따른 고속 푸리에 변환 장치는 N-포인트 고속 푸리에 변환(FFT) 연산시 1/4 주기내의 m(여 기서 m은 N/4 보다 작은 양의 정수값임)개 구간의 트위들 팩터 경계값을 저장하는 트위들 팩터 저장부; 상기 트위들 팩터 저장부에 저장된 m개 구간의 트위들 팩터 경계값에 기초하여 N-포인트 고속 푸리에 변환(FFT) 연산시 필요한 나머지 트위들 팩터값을 산출하는 트위들 팩터 연산부; 및 상기 트위들 팩터 연산부로부터 트위들 팩터값을 제공받아 N-포인트 FFT 연산을 수행하는 FFT 연산부를 포함한다. In addition, the fast Fourier transform apparatus according to another aspect of the present invention for achieving the first object of the present invention is m within a quarter period when m-point fast Fourier transform (FFT) operation (where m is less than N / 4) A tweed factor storage unit configured to store a tweed factor boundary value of a small interval; A tween factor calculator configured to calculate a residual tween factor value required for an N-point fast Fourier transform (FFT) operation based on a tween factor boundary value of m sections stored in the tweed factor storage unit; And an FFT calculator configured to receive a tweet factor value from the tween factor calculator and perform an N-point FFT operation.
또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 일측면에 따른 직교 주파수 분할 다중화(OFDM; Othogonal Frequency Division Multiplexing) 수신기는 무선 주파수 신호를 수신하여 기저대역 신호를 출력하는 무선주파수 처리부; 상기 기저대역 신호를 일정 주기로 샘플링하여 제1 개수의 샘플 데이터로 이루어진 유효 심볼과 제2 개수의 보호 구간(GI; Guard Interval)을 포함하는 디지털 신호로 변환하는 아날로그-디지털 변환부; 상기 디지털 신호로부터 보호 구간을 제거하여 보호구간이 제거된 샘플 데이터를 생성하는 보호구간 제거부; 상기 제1 개수-여기서, 상기 제1 개수는 K1과 Kn 사이의 2의 거듭 제곱값이고, K1 및 Kn은 서로 다른 2의 거듭제곱값이고, Kn은 K1 보다 큰 양의 정수임-의 샘플 데이터에 상응하는 제1 개-포인트 FFT 연산을 선택적으로 수행하여 주파수 영역의 제1 개수의 병렬 데이터로 고속 퓨리에 변환하는 고속 퓨리에 변환부; 상기 보호구간 및 상기 고속 퓨리에 변환된 제1 개수의 병렬 데이터를 이용하여 주파수 에러를 검출하는 주파수 검출부; 및 상기 제1 개수의 병렬 데이터를 역확산하여 복원하는 역확산부를 포함한다. 상기 고속 퓨리에 변환부는 N-포인트 FFT 연산시 1/4 주기내의 m(여기서 m은 N/4 보다 작은 양의 정수값임)개 구간의 트위들 팩터 경계값을 저장하는 트위들 팩터 저장부; 상기 트위들 팩터 저장부에 저장된 m개 구간의 트위들 팩터 경계값에 기초하여 N-포인트 FFT 연산시 필요한 나머지 트위들 팩터값을 산출하는 트위들 팩터 연산부; 상기 제1 개수의 샘플 데이터를 입력받아 상기 트위들 팩터 연산부에서 제공하는 트위들 팩터값을 이용하여 K1-포인트 FFT 연산을 수행하는 제1 FFT 처리부와 복수의 서로 다른 M-포인트 FFT-여기서, M은 서로 다른 2의 거듭 제곱값을 가지며, K1 보다 작은 양의 정수이고, 상기 복수의 서로 다른 M-포인트 FFT는 Radix-2 FFT와 Radix-4 FFT가 교대로 배치됨-를 포함하는 제2 FFT 처리부를 포함하는 FFT 처리부; 상기 FFT 처리부의 FFT 연산 결과 중간값을 저장하는 메모리; 및 상기 FFT 처리부, 상기 트위들 팩터 연산부 및 상기 메모리를 제어하여 상기 K1-포인트 내지 Kn-포인트에 대한 FFT 연산을 선택적으로 수행하도록 제어하는 제어부를 포함한다. In addition, an Orthogonal Frequency Division Multiplexing (OFDM) receiver according to an aspect of the present invention for achieving the second object of the present invention includes a radio frequency processor for receiving a radio frequency signal and outputs a baseband signal; An analog-to-digital converter configured to sample the baseband signal at regular intervals and convert the baseband signal into a digital signal including a valid symbol consisting of a first number of sample data and a second number of guard intervals (GI); A guard interval removing unit configured to remove the guard interval from the digital signal to generate sample data from which the guard interval is removed; The first number, wherein the first number is a power of two between K1 and Kn, K1 and Kn are powers of two different from each other, and Kn is a positive integer greater than K1. A fast Fourier transform unit for selectively performing a corresponding first one-point FFT operation to perform fast Fourier transform into the first number of parallel data in the frequency domain; A frequency detector for detecting a frequency error using the guard period and the first number of parallel data converted by the fast Fourier transform; And a despreader for despreading and restoring the first number of parallel data. The fast Fourier transform unit comprises: a tween factor storage unit configured to store a tween factor boundary value of m intervals (where m is a positive integer less than N / 4) within a quarter period during an N-point FFT operation; A tween factor calculator configured to calculate a remaining tween factor value required for an N-point FFT operation based on a tween factor boundary value of m sections stored in the tweed factor storage unit; A first FFT processor and a plurality of different M-point FFTs, each of which receives the first number of sample data and performs a K1-point FFT operation using a tween factor value provided by the tweed factor calculating unit, wherein M Has a power of 2 different from each other, is a positive integer less than K1, and the plurality of different M-point FFTs includes a Radix-2 FFT and a Radix-4 FFT alternately arranged. An FFT processor comprising a; A memory for storing an intermediate value of the FFT calculation result of the FFT processor; And a controller for controlling the FFT processor, the tween factor calculator, and the memory to selectively perform FFT operations on the K1-point to Kn-point.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.
L-포인트 DFT는 다음의 수학식 1로 정의된다.The L-point DFT is defined by the following equation.
여기서, 는 회전 인자(twiddle factor)이고, 은 입력 데이터이고, 는 버터플라이 연산된 출력 데이터이다. here, Is a twist factor, Is the input data, Is the butterfly computed output data.
2차원(2-Dimensional) DFT는 두개의 1차원(1-Dimensional) DFT를 이용하여 구현될 수 있음은 널리 알려져 있다. L-포인트는 M-포인트와 N-포인트로 나누어질 수 있다(L= M x N). 2D DFT는 다음의 수학식 2로 정의 될 수 있다.It is well known that two-dimensional (Dimensional) DFT can be implemented using two one-dimensional (Dimensional) DFT. L-points can be divided into M-points and N-points (L = M × N). The 2D DFT may be defined by
2D DFT는 아래의 수학식 3과 4의 두개의 1D DFT로 분해될 수 있다.The 2D DFT may be decomposed into two 1D DFTs of
2차원 FFT는 두개의 일차원 FFT를 사용하여 각각 행 방향과 열방향으로 FFT 변환을 수행하여 이루어진다. Two-dimensional FFT is achieved by using two one-dimensional FFTs to perform FFT transformation in row and column directions, respectively.
도 4는 radix-2와 radix-4가 혼합된 혼합-기수(mixed-radix) 2차원 FFT 연산 구조를 나타낸 개념도이다. 도 4를 참조하면, 입력 데이터는 radix-2 1차원 DFT 변환기(420)에 의해 변환된 후 변환 결과값은 임시로 전치 메모리(410)에 저장이되고, 저장된 중간 결과값은 radix-4 1차원 DFT 변환기(430)에 의해 변환되어 외부로 출력된다. 4 is a conceptual diagram illustrating a mixed-
도 5는 1차원 FFT와 2차원 FFT에서의 radix-2 FFT 연산과 radix-4 FFT 연산에 사용되는 곱셈기와 덧셈기의 개수를 나타낸 테이블이고, 도 6은 1차원 FFT와 2 차원 FFT에서의 radix-2 FFT 연산과 radix-4 FFT 연산 수행시 요구되는 사이클(cycle) 수를 나타낸 테이블이다. FIG. 5 is a table showing the number of multipliers and adders used in radix-2 FFT operations and radix-4 FFT operations in one-dimensional and two-dimensional FFTs. FIG. 6 shows radix- in one-dimensional and two-dimensional FFTs. 2 Table shows the number of cycles required to perform FFT operation and radix-4 FFT operation.
일반적으로 L-포인트 radix-2 1차원 FFT의 경우 요구되는 사이클수는 다음의 수학식 5로 구해진다.In general, in the case of an L-point radix-2 one-dimensional FFT, the required number of cycles is obtained by the following equation.
도 5를 참조하면, 2-포인트 radix-2 1차원 FFT의 경우 1개의 곱셈기와 2개의 덧셈기로 구성되며 2개의 사이클이 요구된다. 4-포인트 radix-4 1차원 FFT의 경우 3개의 곱셈기와 12개의 덧셈기로 구성되며 3개의 사이클이 요구된다. Referring to FIG. 5, a two-point radix-2 one-dimensional FFT consists of one multiplier and two adders, and requires two cycles. A four-point radix-4 one-dimensional FFT consists of three multipliers and twelve adders, requiring three cycles.
8-포인트 radix-2 2차원 FFT의 경우 5개의 곱셈기와 10개의 덧셈기로 구성되며, 24개의 사이클이 요구된다. An 8-point radix-2 two-dimensional FFT consists of five multipliers and ten adders, requiring 24 cycles.
도 6을 참조하면, 8-포인트 radix-2 1차원 FFT를 구현할 경우 필요한 곱셈기 개수는 12개이고, 8-포인트 radix-2 1차원 FFT를 1개의 2-포인트 radix-2 1차원 FFT와 1개의 4-포인트 radix-4 1차원 FFT를 혼합하여 혼합-기수(mixed-radix) 구조로 구현할 경우 2-포인트 radix-2 1차원 FFT에 1개의 곱셈기, 4-포인트 radix-4 1차원 FFT에 3개, 총 4개의 곱셈기가 필요하므로 결과적으로 필요한 곱셈기의 개수가 감소한다. Referring to FIG. 6, the number of multipliers required for implementing an 8-point radix-2 one-dimensional FFT is 12, and an eight-point radix-2 one-dimensional FFT is replaced with one two-point radix-2 one-dimensional FFT and one four. A mixed-radix structure with mixed-point radix-4 one-dimensional FFTs, one multiplier for a two-point radix-2 one-dimensional FFT, three for a four-point radix-4 one-dimensional FFT, A total of four multipliers are required, resulting in a reduction in the number of multipliers required.
radix-2 FFT의 1개의 버터플라이 연산당 클럭 사이클 수를 2라고 할 때, 8-포인트 radix-2 1차원 FFT를 구현할 경우 소요되는 사이클 수는 24 사이클이고, 8-포인트 radix-2 2차원 FFT를 1개의 2-포인트 radix-2 1차원 FFT와 1개의 4-포인트 radix-4 1차원 FFT를 혼합하여 혼합-기수(mixed-radix) 구조로 구현할 경우, 2-포인트 radix-2 1차원 FFT가 4번 수행되므로 2 x 4 = 8 사이클, 4-포인트 radix-4 1차원 FFT가 2번 수행되므로 3 x 2 = 6 사이클, 총 14 사이클이 소요된다. 따라서, 상기와 같이 8-포인트 FFT를 8-포인트 radix-2 1차원 FFT로 구현하는 경우보다 8-포인트 혼합 기수 2차원 FFT로 구현하는 경우가 사이클의 수가 줄어들므로 처리 속도가 빠르다. Given that the number of clock cycles per butterfly operation of a radix-2 FFT is 2, the number of cycles required to implement an 8-point radix-2 one-dimensional FFT is 24 cycles, and an eight-point radix-2 two-dimensional FFT Is implemented as a mixed-radix structure by mixing one 2-point radix-2 one-dimensional FFT and one four-point radix-4 one-dimensional FFT, the two-point radix-2 one-dimensional FFT Since it is performed 4 times, 2 x 4 = 8 cycles, and 4-point radix-4 1-dimensional FFT is performed twice, so 3 x 2 = 6 cycles and 14 cycles in total. Therefore, when the 8-point FFT is implemented as an 8-point radix-2 1-dimensional FFT as described above, the 8-point FFT is faster because the number of cycles is reduced.
마찬가지로 32-포인트 radix-2 1차원 FFT의 경우 160 사이클이 소요되나, 32-포인트 혼합 기수 2차원 FFT는 120 사이클이 소요된다. 따라서, 상기와 같이 32-포인트 FFT를 32-포인트 radix-2 1차원 FFT로 구현하는 경우보다 32-포인트 혼합 기수 2차원 FFT로 구현하는 경우가 사이클의 수가 줄어들므로 처리 속도가 빠르다.Similarly, a 32-point radix-2 one-dimensional FFT takes 160 cycles, but a 32-point mixed radix two-dimensional FFT takes 120 cycles. Therefore, the 32-point FFT is implemented as a 32-point mixed radix two-dimensional FFT as compared to the 32-point radix-2 one-dimensional FFT as described above, resulting in a faster processing speed.
즉, L-포인트 FFT를 L-포인트 radix-2 1차원 FFT로 구현하는 경우보다 L-포인트 혼합 기수 2차원 FFT로 구현하는 경우가 사이클의 수가 줄어들므로 처리 속도가 빠르다. In other words, the L-point FFT is implemented as an L-point mixed radix two-dimensional FFT rather than the L-point radix-2 one-dimensional FFT, and thus the processing speed is faster.
따라서, 64-포인트 내지 8192-포인트 FFT 연산 중의 어느 하나를 선택하여 수행하도록 혼합 기수 2차원 FFT로 구현함으로써 FFT 연산에 사용되는 곱셈기의 개수 및 사이클 수를 줄여 처리 속도를 빠르게 할 수 있다. Therefore, by implementing a mixed radix two-dimensional FFT to select any one of 64-point and 8192-point FFT operations, the number of cycles and the number of cycles of the multiplier used in the FFT operation can be reduced to increase the processing speed.
도 7은 본 발명의 바람직한 일실시예에 따른 64-포인트 내지 8K-포인트의 2n FFT 모드를 수행하는 FFT 장치를 나타낸 블록도이다. 도 8은 16개의 트위들 팩터값을 예시적으로 나타낸 개념도이고, 도 9는 본 발명의 일실시예에 따른 트위들 팩터 저장부에 저장된 트위들 팩터값을 나타낸 개념도이다. 7 is a block diagram illustrating an FFT apparatus for performing a 2 n FFT mode of 64-point to 8K-point according to an exemplary embodiment of the present invention. FIG. 8 is a conceptual diagram illustrating 16 tweet factor values, and FIG. 9 is a conceptual diagram illustrating a tweet factor value stored in a tweet factor storage unit according to an exemplary embodiment of the present invention.
도 7을 참조하면, FFT 장치는 FFT 연산부(700), 트위들 팩터 연산부(770) 및 트위들 팩터 저장부(780)을 포함한다. FFT 연산부(700)는 선택 제어부(710), FFT 연산 처리부(720), 메모리(730), 제1 선택부(740), 제2 선택부, 출력 제어부(750)으로 구성된다. 여기서, 제2 선택부는 2:1 먹스(762), 3:1 먹스(764) 및 4:1 먹스(766)을 포함한다. Referring to FIG. 7, the FFT apparatus includes an
트위들 팩터는 수학식 1에 나타난 바와 같이 sin, cos값을 가진다. 도 8은 트위들 팩터가 예시적으로 16개로 이루어진 경우를 나타낸 것이다. 예를 들어, 4096-포인트 FFT의 경우, 종래에는 1/4 주기내의 1024개의 트위들 팩터값을 ROM으로 구성된 트위들 팩터 저장부에 저장해두고 FFT 연산시 1024개의 트위들 팩터를 읽어낸다. The tweed factor has sin and cos values as shown in
그러나, 본 발명의 일실시예에서는, 4096-포인트 FFT의 경우, 1/4 주기내의 1024개 보다 훨씬 작은 개수인 k개의 트위들 팩터값을 ROM으로 구성된 트위들 팩터 저장부(780)에 저장해두고 상기 저장된 k개의 트위들 팩터를 이용하여 FFT 연산 처리부(720)에서 FFT 연산을 수행한다. 여기서, k는 4가 될 수 있다. 또는 k는 8 또는 16이 될 수도 있다. However, in one embodiment of the present invention, in the case of a 4096-point FFT, ktw factor values, which are much smaller than 1024 in a quarter period, are stored in a tweed
도 9는 k가 4인 경우를 예시적으로 나타낸 것이며, cos의 1/4 주기 구간을 4개의 구간으로 분할한 것이다. 각 구간 사이에는 종래에는 256개의 트위들 팩터가 트위들 팩터 저장부(780)에 저장되었으나, 본 발명의 실시예들에서는 각 구간의 경계값인 W2, W3, W4, W5, 4개가 트위들 팩터 저장부(780)에 저장된다. 9 exemplarily illustrates a case where k is 4, and a quarter period section of cos is divided into four sections. While the conventionally has 256 twiddle factor between the respective sections stored in a twiddle
트위들 팩터 연산부(770)는 4096-포인트 FFT의 경우 상기 4개의 트위들 팩터를 읽어들여 상기 4개 구간의 각 구간사이의 트위들 팩터 근사값을 계산한다. 예를 들어, 4096-포인트 FFT의 경우 W2, W3, W4, W5를 읽어들여, 소정의 근사 알고리즘을 사용하여 종래 W1과 W2 사이의 트위들 팩터의 근사값을 계산한다. 상기 소정의 근사 알고리즘은 예를 들어, W1과 W2 사이를 잇는 직선(L1), W2와 W3 사이를 잇는 직선(L2), W3과 W4 사이를 잇는 직선(L3), W4와 W5 사이를 잇는 직선(L4)을 이용하여 트위들 팩터값을 아래 수학식 6과 같이 선형 근사하여 구할 수 있다. 예를 들어, 종래 W1과 W2 사이에 존재하는 256개의 트위들 팩터값 중 가운데 값인 W1 ,128은 다음의 수학식 6에 의해 근사값으로 계산될 수 있다.In the case of a 4096-point FFT, the
상기와 같이 계산된 트위들 팩터 근사값은 FFT 연산 처리부(720)에서 트위들 팩터를 곱하는 연산에 사용된다. The tween factor approximation calculated as described above is used in an operation of multiplying the tween factor by the
따라서, 4096-포인트 FFT의 경우 트위들 팩터를 저장하는 ROM이 종래 4096 개의 트위들 팩터를 저장하는 대신 k개(k는 예를 들어 4, 8, 16 등)의 트위들 팩터만을 저장하면 되므로 트위들 팩터를 저장하는 ROM의 크기가 크게 감소한다. Thus, for a 4096-point FFT, the ROM storing the tween factor only needs to store k tweed factors (k is for example 4, 8, 16, etc.) instead of storing the conventional 4096 tween factors. The size of the ROM that stores these factors is greatly reduced.
또는, 4096-포인트, 2048-포인트 및 1024-포인트에 관계없이 1/4 주기내의 상기 일정한 개수인 k개의 트위들 팩터값을 ROM으로 구성된 트위들 팩터 저장부(780)에 저장해두고 상기 저장된 k개의 트위들 팩터를 읽어들여 트위들 팩터의 근사값을 계산한 후 FFT 연산 처리부(720)에서 상기 트위들 팩터 근사값을 이용하여 FFT 연산을 수행할 수도 있다. 따라서, 2048-포인트 및 1024-포인트 FFT의 경우 트위들 팩터를 저장하는 ROM이 각각 종래 2048개 및 1024 개의 트위들 팩터를 저장하는 대신 k개(k는 예를 들어 4, 8, 16 등)의 트위들 팩터만을 저장하면 되므로 트위들 팩터를 저장하는 ROM의 크기가 크게 감소한다.Alternatively, the k number factor values of the constant number within a quarter period irrespective of 4096-point, 2048-point, and 1024-point are stored in a tween
본 발명의 일실시예에 따른 FFT 장치는 무선 랜(Wireless LAN)을 위한 64-포인트 FFT 연산, ADSL을 위한 256-포인트 FFT 연산, 음성 인식을 위한 512 포인트 FFT 연산, DAB에 사용되는 사용되는 256 포인트 내지 2048 포인트 FFT 연산, 또는 DVB에 사용되는 1024-포인트 FFT 연산, 2048-포인트 FFT 연산, 4096-포인트 FFT 연산 또는 8192-포인트 FFT 연산을 수행한다. The FFT device according to an embodiment of the present invention is a 64-point FFT operation for a wireless LAN, 256-point FFT operation for ADSL, 512 point FFT operation for speech recognition, 256 used for DAB Point to 2048 point FFT operations, or 1024-point FFT operations, 2048-point FFT operations, 4096-point FFT operations, or 8192-point FFT operations used for DVB.
제어부는 선택 제어부(710), 제1 선택부(740), 제2 선택부 및 출력 제어부(750)를 모두 포함할 수 있다. 제어부는 64-포인트 내지 8192-포인트 FFT 연산 중의 어느 하나를 선택하여 수행하도록 메모리(730) 및 FFT 연산 처리부(720)를 제어한다. The controller may include a
선택 제어부(710)는 제1 선택부(740) 및 제2 선택부(760)를 제어하여 FFT 연 산 처리부(720)에서 64-포인트 내지 8192-포인트 FFT 연산 중의 어느 하나를 선택하여 수행하도록 제어한다. The
제1 선택부(740)는 복수의 디먹스(741, 743, 745, 747)로 구성되어 선택 제어부(710)으로부터의 제1 선택 제어 신호(712)에 응답하여 메모리(730)에 저장된 임시 FFT 연산 결과값을 출력 제어부(750)으로 출력하거나 FFT 연산 처리부(720)의 해당되는 2-포인트, 4-포인트, 8-포인트 및 16-포인트 FFT 중의 하나로 출력한다. 제1 선택 제어 신호는 예를 들어 3비트 이진값이 될 수 있다. The
제2 선택부(760)는 복수의 먹스(762, 764, 766)로 구성될 수 있으며, 선택 제어부(710)으로부터의 제2 선택 제어 신호(716)에 응답하여 복수의 디먹스(741, 743, 745, 747) 중의 하나의 출력을 선택하여 출력한다. 제2 선택 제어 신호는 예를 들어 2비트 이진값이 될 수 있다.The second selector 760 may include a plurality of
출력 제어부(750)는 선택 제어부(710)에 의해 선택된 제1 선택부(740)의 출력 신호, 즉 64-포인트 내지 8192-포인트 FFT 연산 값 중의 하나를 선택적으로 출력한다. The
메모리(730)는 FFT 연산 처리부(720)의 FFT 연산 결과 중간값을 저장한다. 메모리(730)는 복수의 전치 메모리(731, 733, 735, 737, 739)로 구성될 수 있다. The
FFT 연산 처리부(720)는 제1 FFT 연산 처리부와 제2 FFT 연산 처리부로 구성될 수 있다. The
제1 FFT 연산 처리부는 본 발명의 일실시예에 따른 FFT 장치에서 수행하고자하는 64-포인트 내지 8K-포인트 FFT 연산을 수행하기 위해 가장 먼저 공통적으로 수행된다. 예를 들어, 제1 FFT 연산 처리부는 64-포인트 내지 8K-포인트 중 가장 낮은 64-포인트 FFT(721)로 구성될 수 있다. The first FFT operation processor is commonly performed first to perform 64-point to 8K-point FFT operations to be performed in the FFT apparatus according to an embodiment of the present invention. For example, the first FFT computation processor may be configured with the lowest 64-
제2 FFT 연산 처리부는 2n FFT 모드를 가지는 복수의 FFT로 구성될 수 있다. 예를 들어, 제2 FFT 연산 처리부는 21, 22, 23 및 24 FFT 모드를 가지는 FFT로 구성될 수 있다. 즉, 제2 FFT 연산 처리부는 2-포인트 FFT(723), 4-포인트 FFT(725), 8-포인트 FFT(727) 및 16-포인트 FFT(729)를 포함할 수 있다. 여기서, 도 7에서는 제2 FFT 연산 처리부의 2-포인트 FFT(723), 4-포인트 FFT(725), 8-포인트 FFT(727) 및 16-포인트 FFT(729)가 순차적으로 배치되었지만, 배치 순서를 변경할 수도 있음은 물론이다. The second FFT calculation processor may be configured of a plurality of FFTs having a 2 n FFT mode. For example, the second FFT calculation processing unit may be configured as an FFT having 2 1 , 2 2 , 2 3, and 2 4 FFT modes. That is, the second FFT computation processor may include a 2-
또한, FFT 연산 처리부(720)는 radix-4 FFT와 radix-2 FFT가 교대로 혼합된 혼합 기수 구조를 가진다. 예를 들어, FFT 연산 처리부(720)는 64-포인트 radix-4 FFT(721), 2-포인트 radix-2 FFT(723), 4-포인트 radix-4 FFT(725), 8-포인트 radix-2 FFT(727) 및 16-포인트 radix-4 FFT(729)가 순차적으로 배치된 구조를 가질 수 있다. 또는, FFT 연산 처리부(720)는 64-포인트 radix-2 FFT(721), 4-포인트 radix-4 FFT(725), 2-포인트 radix-2 FFT(723), 16-포인트 radix-4 FFT(729) 및 8-포인트 radix-2 FFT(727)가 순차적으로 배치된 구조를 가질 수 있다. Also, the
예를 들어, FFT 장치가 64-포인트 FFT 연산을 수행하고자 할 경우에는 입력 데이터(612)는 64-포인트 radix-4 FFT(721)로 입력되어 64-포인트 FFT 연산된 후, 전치 메모리(731)에 그 결과값이 저장되고, 선택 제어부(710)으로부터의 제1 선택 제어신호에 응답하여 제1 디먹스(741)는 전치 메모리(731)에 저장된 64-포인트 FFT 연산 값을 출력 제어부(750)을 통하여 최종 출력 신호(742)로 출력한다. For example, when the FFT device wants to perform a 64-point FFT operation, the input data 612 is input as a 64-point radix-4
선택 제어부(710)에서는 64-포인트 radix-4 FFT(721)가 활성화되는 경우에는 트위들 팩터 연산부(770)를 제어하여 트위들 팩터 연산부(770)에서 트위들 팩터 저장부(780)으로부터 1/4 주기 구간내의 4개로 구분된 영역의 경계값인 4개의 트위들 팩터를 읽어들여 상기 근사 알고리즘을 이용하여 상기 각 구간내의 트위들 팩터 근사값을 계산하여 총 64개의 트위들 팩터를 산출하여 64-포인트 FFT(721)로 제공한다. 또한, 선택 제어부(710)에서는 2-포인트 radix-2 FFT(723)가 활성화되는 경우에는 트위들 팩터 연산부(770)를 제어하여 트위들 팩터 연산부(770)에서 2개의 트위들 팩터를 산출하여 2-포인트 radix-2 FFT(723)로 제공한다. 또한, 선택 제어부(710)에서는 4-포인트 radix-4 FFT(725)가 활성화되는 경우에는 트위들 팩터 연산부(770)를 제어하여 트위들 팩터 연산부(770)에서 4개의 트위들 팩터를 산출하여 4-포인트 radix-4 FFT(725)로 제공한다. 또한, 선택 제어부(710)에서는 8-포인트 radix-2 FFT(727)가 활성화되는 경우에는 트위들 팩터 연산부(770)를 제어하여 트위들 팩터 연산부(770)에서 트위들 팩터 저장부(780)으로부터 1/4 주기 구간내의 2개의 트위들 팩터를 읽어들여 총 8개의 트위들 팩터를 산출하여 4-포인트 radix-4 FFT(725)로 제공한다.When the 64-point radix-4
예를 들어, 256-포인트 FFT 연산을 수행하고자 할 경우에는 64-포인트 radix-4 FFT(721) 및 4-포인트 radix-4 FFT(725)가 활성화된다. 구체적으로, 256-포인트 FFT 연산을 수행하고자 할 경우에는 선택 제어부(710)로부터의 제2 선택 제 어 신호(716)에 응답하여 먹스(762)는 제1 디먹스(741)의 출력 신호를 선택하여 4-포인트 radix-4 FFT(725)로 제공하고, 4-포인트 radix-4 FFT(725)에서 FFT 연산되어 64-포인트 FFT 연산값이 전치 메모리(735), 제3 디먹스(745), 출력 제어부(750)를 거쳐 최종 출력 신호(742)로 출력된다. For example, if a 256-point FFT operation is to be performed, the 64-point radix-4
마찬가지 방식으로, 1024-포인트 FFT 연산을 수행하고자 할 경우에는 64-포인트 radix-4 FFT(721), 2-포인트 radix-2 FFT(723) 및 8-포인트 radix-2 FFT(727)가 활성화된다. 또는, 1024-포인트 FFT 연산을 수행하고자 할 경우에는 64-포인트 radix-4 FFT(721) 및 16-포인트 radix-4 FFT(729)가 활성화될 수 있다. Similarly, 64-point radix-4
마찬가지 방식으로, 2048-포인트 FFT 연산을 수행하고자 할 경우에는 64-포인트 radix-4 FFT(721), 2-포인트 radix-2 FFT(723) 및 16-포인트 radix-4 FFT(729)가 활성화된다. 또는, 2024-포인트 FFT 연산을 수행하고자 할 경우에는 64-포인트 radix-4 FFT(721), 4-포인트 radix-4 FFT(725) 및 8-포인트 radix-2 FFT(727)가 활성화될 수 있다.Similarly, 64-point radix-4
마찬가지 방식으로, 4096-포인트 FFT 연산을 수행하고자 할 경우에는 64-포인트 radix-4 FFT(721), 4-포인트 radix-4 FFT(725) 및 16-포인트 radix-4 FFT(729)가 활성화된다. 또는, 4096-포인트 FFT 연산을 수행하고자 할 경우에는 64-포인트 radix-4 FFT(721), 2-포인트 radix-2 FFT(723), 4-포인트 radix-4 FFT(725) 및 8-포인트 radix-2 FFT(727)가 활성화될 수 있다.Similarly, 64-point radix-4
마찬가지 방식으로, 8192-포인트 FFT 연산을 수행을 수행하고자 할 경우에는 64-포인트 radix-4 FFT(721), 8-포인트 radix-2 FFT(727) 및 16-포인트 radix-4 FFT(729)가 활성화된다. 또는, 8192-포인트 FFT 연산을 수행하고자 할 경우에는 64-포인트 radix-4 FFT(721), 2-포인트 radix-2 FFT(723), 4-포인트 radix-4 FFT(725) 및 16-포인트 radix-4 FFT(729)가 활성화될 수 있다. Similarly, if you wish to perform 8192-point FFT operations, 64-point radix-4 FFT (721), 8-point radix-2 FFT (727) and 16-point radix-4 FFT (729) Is activated. Or, if you want to perform 8192-point FFT operations, 64-point radix-4 FFT (721), 2-point radix-2 FFT (723), 4-point radix-4 FFT (725), and 16-point radix -4
따라서, 본 발명의 일실시예에 따른 FFT 장치는 입력 데이터의 개수에 따라 64-포인트 radix-4 FFT(721), 2-포인트 radix-2 FFT(723), 4-포인트 radix-4 FFT(725), 8-포인트 radix-2 FFT(727) 및 16-포인트 radix-4 FFT(729) 중 적어도 하나를 활성화시켜 64-포인트 내지 8192-포인트 FFT 연산을 모두 처리할 수 있다. Accordingly, the FFT apparatus according to the embodiment of the present invention has a 64-point radix-4
본 발명의 감소된 트위들 팩터를 이용한 FFT 처리는 radix-2와 radix-4 혼합 구조의 FFT에만 적용할 수 있는 것은 아니며, radix-2 구조의 FFT에도 적용할 수 있다. The FFT process using the reduced tween factor of the present invention is not only applicable to the FFT of the radix-2 and radix-4 mixed structure, but also to the FFT of the radix-2 structure.
도 10은 본 발명의 일실시예에 따른 radix-2 구조의 FFT 프로세서의 블록도이다. 10 is a block diagram of an FFT processor having a radix-2 structure according to an embodiment of the present invention.
도 10을 참조하면, FFT 입력으로 N개의 데이터가 차례대로 입력버퍼(1010)에 저장된다. FFT가 DIT(Decimation In Time)으로 동작되는 경우, 입력버퍼(1010)에 저장된 데이터는 비트열 역순으로 메모리(1030)에 저장되며, FFT 연산이 끝난후 메모리(1030)로부터 정상적인 순서로 출력된다. FFT가 DIF(Decimation In Frequency)으로 동작되는 경우, 입력버퍼(1010)에 저장된 데이터는 정상적인 순서로 메모리(1030)에 저장되며, FFT 연산이 끝난후 메모리(1030)로부터 비트열 역순으로 출력된다. 어드레스 컨트롤러(120)는 메모리(1030)와 radix-2 프로세서(1040) 사이에 입출력 주소값을 생성해준다. Referring to FIG. 10, N data are sequentially stored in the
Radix-2 프로세서(1040)는 1개의 복소수 곱셈기와 2개의 복소수 덧셈기로 구성된 radix-2 버터플라이 구조를 가지며, 트위들 팩터 연산부(1060)로부터 트위들 팩터값을 제공받아 N-포인트 FFT 연산을 수행한다. The radix-2
트위들 팩터 저장부(1050)는 N-포인트 FFT 연산시 필요한 N개의 트위들 팩터를 모두 저장하지 않고 1/4 주기내의 N/4개 보다 훨씬 작은 개수인 k개의 트위들 팩터값을 저장한다. 여기서, k는 4개가 될 수 있다. 또는 k는 8개 또는 16개가 될 수도 있다. The tweed
트위들 팩터 연산부(770)는 4096-포인트 FFT의 경우 도 7에 도시된 바와 같이 1/4 주기내의 4개의 트위들 팩터를 읽어들여 상기 4개 구간의 각 구간사이의 트위들 팩터 근사값을 계산하여 Radix-2 프로세서(1040)로 제공한다. In the case of the 4096-point FFT, the tweed
따라서, 종래의 N-포인트 FFT 연산시 필요한 N개의 트위들 팩터를 모두 저장한 ROM을 사용하는 경우보다 ROM의 액세스 횟수를 크게 줄일 수 있고, 그에 따라 FFT 연산시에 소모되는 전력을 크게 줄일 수 있다. Therefore, the number of accesses of the ROM can be significantly reduced compared to the case of using a ROM that stores all the N-tween factors necessary for the conventional N-point FFT operation, and accordingly, the power consumed during the FFT operation can be greatly reduced. .
도 11은 본 발명의 일실시예에 따른 OFDM 수신기를 나타낸 블록도이다.11 is a block diagram illustrating an OFDM receiver according to an embodiment of the present invention.
도 11을 참조하면, OFDM 수신기는 무선주파수 처리부(1110), 아날로그-디지털 변환부(1120), 보호구간 제거부(1130), FFT 처리부(1140), 주파수 검출부(1150) 및 역확산부(1160)을 포함한다. Referring to FIG. 11, an OFDM receiver includes a
RF부(10)는 수신된 입력 무선 주파수 신호(1101)와 소정의 국부 발진 주파수와 믹싱하여 중간 주파수(IF; Intermediate Frequency)로 다운 컨버팅(down converting)하여 저역 통과 필터(LPF)로 필터링하여 기저대역 신호를 출력한다. The
ADC부(1120)는 필터링된 기저대역 신호를 일정 주기로 샘플링하여 디지털 신호의 형태로 변환한 후, 보호구간 제거부(30)로 출력한다. ADC부(1120)를 통과한 디지털 형태의 신호는 K개의 샘플 데이터로 이루어진 유효 심볼과 유효 심볼 중 일부를 복사한 소정 개수의 샘플데이터로 이루어진 보호 구간(GI; Guard Interval)으로 표현된다. 즉, 시간영역에서 하나의 OFDM 심볼은 소정 개수의 보호구간과 K개의 샘플 데이터로 이루어지며, K 개의 샘플 데이터는 소정의 샘플링레이트를 갖는다. The
보호구간 제거부(30)는 수신된 데이터로부터 보호 구간을 제거한 후, 보호구간이 제거된 샘플데이터를 FFT 처리부(1140)으로 제공한다. The guard interval remover 30 removes the guard interval from the received data, and then provides the
FFT 처리부(1140)는 부반송파에 실린 데이터를 얻기 위해 FFT 연산을 수행하며, 시간 영역의 K개의 샘플 데이터를 주파수 영역의 K개의 병렬 데이터로 FFT 변환한다. FFT 처리부(1140)는 FFT 연산부(1142), 트위들 팩터 연산부(1144) 및 트위들 팩터 저장부(1146)을 포함한다. 여기서, FFT 연산부(1142)는 도 7에서 설명한 FFT 장치(700)에 대응된다. 여기서, 예를 들어 K는 1024, 2048, 4096 또는 8192가 될 수 있다. The
주파수 검출부(1150)는 미세 주파수 오프셋(offset)을 보상하여 주파수 에러를 검출한다. 즉, 주파수 검출부(1150)는 주파수 에러를 검출하기 위한 1122 경로 및 1142 경로를 통하여 주파수 에러를 검출한다. 1122 경로는 보호구간(GI)을 이용하여 검출하는 것으로, 구체적으로는 ADC부(1120)으로부터 출력되는 OFDM 프레임을 입력받아 OFDM 프레임으로부터 보호구간을 검출한다. 검출된 보호 구간을 순수 샘플 데이터 중 보호 구간을 생성하기 위해 복사된 샘플 데이터 구간과 비교하여 주 파수 에러를 검출한다. 1142 경로는, FFT 변환된 병렬데이터를 이용하는 것으로 FFT 처리부(1140)에서 출력되는 병렬데이터 중 일정 규칙에 의해 삽입되어 있는 파일럿 신호를 검출하여 주파수 검출부(1150)로 제공하고, 주파수 검출부(1150)는 미리 알고 있는 신호와 검출된 파일럿 신호를 비교하여 주파수 에러를 검출한다.The
역확산부(1160)는 FFT 처리부(1140)에서 출력된 병렬 데이터, 즉 OFDM 심볼 데이터를 입력받아 역확산하여 원래의 수신된 입력 데이터로 복원하여 출력 신호(1161)를 제공한다. The
본 발명의 실시예들에 따른 FFT 장치는 무선 랜(Wireless LAN), ADSL, 음성인식 장치, DAB 수신기 또는 DVB 수신기에 적용될 수 있다.The FFT device according to the embodiments of the present invention may be applied to a wireless LAN, an ADSL, a voice recognition device, a DAB receiver, or a DVB receiver.
상기와 같은 FFT 장치 및 이를 가지는 OFDM 수신기에 따르면, 종래의 N-포인트 FFT 연산시 필요한 N개의 트위들 팩터를 모두 저장한 ROM을 사용하는 경우보다 트위들 팩터를 저장한 ROM의 액세스 횟수를 줄일 수 있고, 그에 따라 FFT 연산시에 소모되는 전력을 줄일 수 있다. According to the FFT device and the OFDM receiver having the same, the number of accesses of the ROM storing the tweeter factor can be reduced compared to the case of using a ROM storing all the N-tweet factors required for the conventional N-point FFT operation. Therefore, the power consumed during the FFT calculation can be reduced.
특히, N-포인트 FFT 연산시 N의 크기가 커질수록 트위들 팩터를 저장한 ROM의 액세스 횟수를 더욱 크게 줄여 FFT 연산시에 소모되는 전력을 크게 줄일 수 있다. In particular, as the size of N increases during the N-point FFT operation, the number of accesses of the ROM storing the tweed factor is further reduced, thereby greatly reducing the power consumed during the FFT operation.
또한, 본 발명의 크기를 줄인 트위들 팩터 저장부를 혼합 기수 2차원 FFT 구조를 가지는 FFT 장치에 적용하여 무선 랜(Wireless LAN)을 위한 64 포인트 FFT, ADSL을 위한 256 포인트 FFT 및 음성 인식을 위한 512 포인트 FFT, 디지털 오디오 방송(DAB)에 사용되는 256 포인트 내지 2048 포인트 FFT, DVB에 사용되는 2K 내지 8K FFT와 같은 다양한 개수의 입력 데이터 모두에 대해 FFT 처리를 수행하도록 할 수 있으며, 이 경우 FFT 연산시에 소모되는 전력을 크게 줄일 수 있다. In addition, by applying the reduced-twiddle factor storage of the present invention to an FFT device having a mixed radix two-dimensional FFT structure, a 64-point FFT for a wireless LAN, a 256-point FFT for ADSL, and 512 for speech recognition FFT processing can be performed on all the various numbers of input data, such as point FFTs, 256 point to 2048 point FFTs used for digital audio broadcasting (DAB), and 2K to 8K FFTs used for DVB, in which case FFT operations The power consumed at the time can be greatly reduced.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the embodiments above, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the invention as set forth in the claims below. Could be.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060074687A KR100810490B1 (en) | 2006-08-08 | 2006-08-08 | Fast fourier transform processor, and othogonal frequency division multiplexing receiver having the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060074687A KR100810490B1 (en) | 2006-08-08 | 2006-08-08 | Fast fourier transform processor, and othogonal frequency division multiplexing receiver having the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080013315A KR20080013315A (en) | 2008-02-13 |
KR100810490B1 true KR100810490B1 (en) | 2008-03-07 |
Family
ID=39341088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060074687A KR100810490B1 (en) | 2006-08-08 | 2006-08-08 | Fast fourier transform processor, and othogonal frequency division multiplexing receiver having the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100810490B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101074112B1 (en) | 2008-12-12 | 2011-10-17 | 한국전자통신연구원 | Apparatus and method for executing fourier transform |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102505022B1 (en) * | 2015-11-25 | 2023-03-03 | 한국전자통신연구원 | Fully parallel fast fourier transform device |
CN112163187B (en) * | 2020-11-18 | 2023-07-07 | 无锡江南计算技术研究所 | Ultra-long point high-performance FFT (fast Fourier transform) computing device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490672B1 (en) | 1998-05-18 | 2002-12-03 | Globespanvirata, Inc. | Method for computing a fast fourier transform and associated circuit for addressing a data memory |
KR20040046478A (en) * | 2002-11-27 | 2004-06-05 | 한국전자통신연구원 | Fast Fourier Transform processor capable of reducing size of memory |
JP2008002008A (en) * | 2006-06-22 | 2008-01-10 | Gunze Ltd | Garment |
-
2006
- 2006-08-08 KR KR1020060074687A patent/KR100810490B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490672B1 (en) | 1998-05-18 | 2002-12-03 | Globespanvirata, Inc. | Method for computing a fast fourier transform and associated circuit for addressing a data memory |
KR20040046478A (en) * | 2002-11-27 | 2004-06-05 | 한국전자통신연구원 | Fast Fourier Transform processor capable of reducing size of memory |
JP2008002008A (en) * | 2006-06-22 | 2008-01-10 | Gunze Ltd | Garment |
Non-Patent Citations (4)
Title |
---|
IEEE 1995년 논문 "Efficient systolic arrays for FFT algorithms" |
IEEE 2005년 논문 "Mixed-scaling-rotation CORDIC (MSR-CORDIC) algorithm and architecture for high-performance vector rotational DSP applications" |
한국공개특허공보 10-2004-0046478 |
한국공개특허공보 특2002-0089560 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101074112B1 (en) | 2008-12-12 | 2011-10-17 | 한국전자통신연구원 | Apparatus and method for executing fourier transform |
Also Published As
Publication number | Publication date |
---|---|
KR20080013315A (en) | 2008-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ayinala et al. | FFT architectures for real-valued signals based on radix-$2^{3} $ and radix-$2^{4} $ algorithms | |
KR100597439B1 (en) | 2n-point and n-point fft/ifft dual mode device | |
JP2009535678A (en) | Pipeline FFT Architecture and Method | |
WO2005057423A2 (en) | Fft architecture and method | |
WO2007109764A2 (en) | Analog fourier transform channelizer and ofdm receiver | |
Garrido et al. | Hardware architectures for the fast Fourier transform | |
KR100989797B1 (en) | Fast fourier transform/inverse fast fourier transform operating core | |
US20170149589A1 (en) | Fully parallel fast fourier transformer | |
US20060200513A1 (en) | Fast Fourier transform processor and method capable of reducing size of memories | |
Kim et al. | High speed eight-parallel mixed-radix FFT processor for OFDM systems | |
KR100810490B1 (en) | Fast fourier transform processor, and othogonal frequency division multiplexing receiver having the same | |
US8166088B2 (en) | Fast fourier transform processor | |
KR100836624B1 (en) | Device of variable fast furier transform and method thereof | |
Dali et al. | Efficient FPGA implementation of high-throughput mixed radix multipath delay commutator FFT processor for MIMO-OFDM | |
Park et al. | Design of 2K/4K/8K-point FFT processor based on CORDIC algorithm in OFDM receiver | |
KR20070075946A (en) | Method and apparatus for low-power fast fourier transform and broadcasting terminal using the same | |
Lee et al. | Modified sdf architecture for mixed dif/dit fft | |
Kim et al. | Design of a mixed prime factor FFT for portable digital radio mondiale receiver | |
KR20070114447A (en) | Fast fourier transform processor having mixed-radix structure, and othogonal frequency division multiplexing receiver having the same | |
KR100890768B1 (en) | Data transforming processor and ofdm receiver having the same | |
KR100576520B1 (en) | Variable fast fourier transform processor using iteration algorithm | |
Yuan et al. | A 256-point dataflow scheduling 2× 2 MIMO FFT/IFFT processor for IEEE 802.16 WMAN | |
Xu et al. | Split-Radix FFT pruning for the reduction of computational complexity in OFDM based Cognitive Radio system | |
Heo et al. | Application-specific DSP architecture for fast Fourier transform | |
Pritha et al. | An effective design of 128 point FFT/IFFT processor UWB application utilizing radix-(16+ 8) calculation |
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: 20130221 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140203 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150129 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180129 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20200128 Year of fee payment: 13 |