KR20050017065A - Apparatus for power saving of fft and ifft operation with sparse elements and method thereof - Google Patents

Apparatus for power saving of fft and ifft operation with sparse elements and method thereof

Info

Publication number
KR20050017065A
KR20050017065A KR1020030055889A KR20030055889A KR20050017065A KR 20050017065 A KR20050017065 A KR 20050017065A KR 1020030055889 A KR1020030055889 A KR 1020030055889A KR 20030055889 A KR20030055889 A KR 20030055889A KR 20050017065 A KR20050017065 A KR 20050017065A
Authority
KR
South Korea
Prior art keywords
input
state information
stage
information index
fft
Prior art date
Application number
KR1020030055889A
Other languages
Korean (ko)
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 삼성전자주식회사
Priority to KR1020030055889A priority Critical patent/KR20050017065A/en
Publication of KR20050017065A publication Critical patent/KR20050017065A/en

Links

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

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE: A device and a method for reducing operational power on the FFT(Fast Fourier Transform)/IFFT(Inverse FFT) using sparseness of input elements are provided to reduce the operational power by shorting an operation time with reduction of an operation frequency, as an unnecessary operation process is omitted from the FFT/IFFT having the input elements of the large sparseness. CONSTITUTION: A flag bit file(705) sets/stores a state information index according to effectiveness for the operation of each input data inputted through multiple input points(701). An operation controller(707) controls operation performance of the corresponding point according to the state information index stored in the flag bit file for each operation stage of the FFT operation. A multiplexer(703) selects/outputs the input data stored in the point from the respective input data stored in the input points for a specified stage depending on control of the operation controller.

Description

희소 원소를 갖는 고속 푸리에 변환 및 역고속 푸리에 변환에서의 동작 전력 감소 장치 및 방법{APPARATUS FOR POWER SAVING OF FFT AND IFFT OPERATION WITH SPARSE ELEMENTS AND METHOD THEREOF}Apparatus and method for reducing operating power in high speed Fourier transform and inverse fast Fourier transform with sparse elements {APPARATUS FOR POWER SAVING OF FFT AND IFFT OPERATION WITH SPARSE ELEMENTS AND METHOD THEREOF}

본 발명은 고속 푸리에 변환(Fast Fourier Transform; 이하 'FFT'라 한다.) 및 고속 역 푸리에 변환(Inverse Fourier Transform; 이하 'IFFT'라 한다.)의 연산 처리 방법에 관한 것으로서, 특히 상기 FFT/IFFT의 연산 횟수를 감소시키기 위한 방법에 관한 것이다.The present invention relates to a method of processing a fast Fourier transform (hereinafter referred to as 'FFT') and a fast inverse Fourier transform (hereinafter referred to as 'IFFT'), in particular the FFT / IFFT. A method for reducing the number of operations of a.

상기 FFT란 단순히 푸리에 변환을 이산화하여 계산을 수행하는 이산 푸리에 변환(Discrete Fourier Transform)의 계산에 있어 삼각함수의 주기성을 이용하여 계산 속도의 효율을 높이는 알고리즘이다. 즉, 상기 이산 푸리에 변환을 할 때, 나타나는 항의 계산을 모두 수행하는 것이 아니라, 주기성을 이용하여 미리 계산한 항과 동일한 값을 갖는 항의 계산을 생략하는 기법으로 계산량을 줄이는 것이다. 상기 FFT/IFFT는 1962년 Cooley와 Turkey에 의하여 제안되었으며, N 개의 데이터 처리에 Nlog2N번의 연산이 필요하다.The FFT is an algorithm that increases the efficiency of the calculation speed by using the periodicity of the trigonometric function in the calculation of the Discrete Fourier Transform, which simply discretizes the Fourier transform. That is, when the Discrete Fourier Transform, Rather than performing all the calculations of terms, the technique reduces the computation by omitting the calculation of terms that have the same values as the precomputed terms using periodicity. The FFT / IFFT was proposed by Cooley and Turkey in 1962 and requires Nlog 2 N operations to process N data.

상기 FFT/IFFT는 다양한 학문 분야에 널리 사용되고 있으나, 특히 최근 들어서 멀티 캐리어를 이용하는 광대역 이동 통신 분야의 발전과 더불어 그 중요성이 높아지고 있다.The FFT / IFFT is widely used in various academic fields, but the importance of the FFT / IFFT has recently increased with the development of the broadband mobile communication field using multi-carriers.

상기 멀티 케리어 모뎀 기술은 주파수 선택적인 채널의 등화를 용이하게 하기 위해 고안된 고급 변조 기술로서, 무선 LAN(IEEE802.11a), HIPER LAN/2, 디지털 음성 방송(Digital Audio Broadcasting), 디지털 영상 방송(Digital Video Broadcasting) 및 ADSL/VDSL 등의 고속 모뎀에 채용되고 있다.The multi-carrier modem technology is an advanced modulation technology designed to facilitate equalization of frequency-selective channels, and includes wireless LAN (IEEE802.11a), HIPER LAN / 2, digital audio broadcasting, and digital video broadcasting. Video broadcasting) and ADSL / VDSL.

한편, 상기 고속 모뎀에 공통적으로 필요한 기술로서 IFFT/FFT 설계 기술, 등화 기술, 동기 기술, 채널 특성 분석 및 전송 속도 조정 기술 등이 중요하며, 특히 연산량이 많은 상기 IFFT/FFT 설계 기술이 가장 중요한 기술 중 하나로서 인식된다.Meanwhile, IFFT / FFT design technology, equalization technology, synchronization technology, channel characteristic analysis, and transmission rate adjustment technology are important as technologies commonly required for the high speed modem, and especially, the IFFT / FFT design technology with a large amount of computation is the most important technology. Is recognized as one of.

이하, 상기 IFFT/FFT 연산이 적용되는 대표적인 예로서 상기 직교 주파수 다중(Orthogonal Frequency Division Multiplexing; 이하 'OFDM'이라 한다) 방식/직교 주파수 다중 접속(Orthogonal Frequency Division Multiple Access; 이하 'OFDMA'이라 한다) 방식을 사용하는 광대역 무선 통신 시스템을 설명한다.Hereinafter, the Orthogonal Frequency Division Multiplexing (OFDM) scheme / Orthogonal Frequency Division Multiple Access (hereinafter referred to as 'OFDMA') is a representative example to which the IFFT / FFT operation is applied. A broadband wireless communication system using the scheme is described.

한편, 상기 OFDM 통신 시스템은 IFFT/FFT를 적용될 수 있는 예를 보여주는 것이며, 본 발명의 적용분야가 상기 OFDM 통신 시스템으로 한정되는 것은 아니다.Meanwhile, the OFDM communication system shows an example in which IFFT / FFT can be applied, and the application field of the present invention is not limited to the OFDM communication system.

도 1은 상기 FFT/IFFT 연산 과정이 수행되는 OFDM 통신 시스템을 개략적으로 도시한 도면이다.1 is a diagram schematically illustrating an OFDM communication system in which the FFT / IFFT calculation process is performed.

상기 도 1을 참조하면, 먼저 상기 OFDM 통신 시스템은 송신기 장치, 즉 기지국 장치(100)와 수신기 장치, 즉 단말기 장치(150)로 구성된다. 첫 번째로, 상기 기지국 장치(100)에 대해서 설명하기로 한다. Referring to FIG. 1, first, the OFDM communication system includes a transmitter device, that is, a base station device 100 and a receiver device, that is, a terminal device 150. First, the base station apparatus 100 will be described.

상기 기지국 장치(100)는 심볼 매핑기(symbol mapper)(111)와, 직렬/병렬 변환기(serial to parallel converter)(113)와, IFFT기(115)와, 병렬/직렬 변환기(parallel to serial converter)(117)와, 보호 구간 삽입기(guard interval inserter)(119)와, 디지털/아날로그 변환기(digital to analog converter)(121)와, 무선 주파수(Radio Frequency; 이하 'RF'라 칭하기로 한다) 처리기(processor; 123)로 구성된다.The base station apparatus 100 includes a symbol mapper 111, a serial to parallel converter 113, an IFFT 115, and a parallel to serial converter. 117, a guard interval inserter 119, a digital to analog converter 121, and a radio frequency (hereinafter referred to as RF). It consists of a processor 123.

먼저, 전송하고자 하는 정보 데이터 비트들(information data bits)이 발생하면, 상기 정보 데이터 비트는 상기 심볼 매핑기(111)로 입력된다. 상기 심볼 매핑기(111)는 상기 입력되는 정보 데이터 비트들을 미리 설정되어 있는 변조 방식으로 변조하여 심볼 변환한 뒤 상기 직렬/병렬 변환기(113)로 출력한다. 여기서, 상기 변조 방식으로는 QPSK(Quadrature Phase Shift Keying) 방식 혹은 16QAM(Quadrature Amplitude Modulation) 방식 등이 사용될 수 있다. 상기 직렬/병렬 변환기(113)는 상기 심볼 매핑기(111)로부터 출력되는 직렬 변조 심볼들을 입력받아 병렬 변환한 후 상기 IFFT기(115)로 출력한다.First, when information data bits to be transmitted are generated, the information data bits are input to the symbol mapper 111. The symbol mapper 111 modulates the input information data bits using a predetermined modulation method, converts the symbols, and outputs the converted symbols to the serial / parallel converter 113. Here, the modulation scheme may be a quadrature phase shift keying (QPSK) scheme or a quadrature amplitude modulation (16QAM) scheme. The serial / parallel converter 113 receives serial modulation symbols output from the symbol mapper 111 and converts them in parallel and outputs them to the IFFT unit 115.

여기서, 상기 직렬/병렬 변환기(113)에서 출력되는 신호, 즉 상기 변조된 변조 심볼들을 Xl(k)라고 칭하기로 한다.Here, the signal output from the serial / parallel converter 113, that is, the modulated modulation symbols will be referred to as X 1 (k).

상기 IFFT기(115)는 직력/병렬 변환기(113)로부터 출력된 신호 Xl(k)를 입력하여 N-포인트(N-point) IFFT를 수행한 후 상기 병렬/직렬 변환기(117)로 출력한다. 상기 병렬/직렬 변환기(117)는 상기 IFFT기(115)로부터 출력된 신호를 입력받아 직렬 변환한 후 상기 보호 구간 삽입기(119)로 출력한다.The IFFT unit 115 inputs the signal X l (k) output from the serial / parallel converter 113 to perform an N-point IFFT and outputs the N-point IFFT to the parallel / serial converter 117. . The parallel / serial converter 117 receives the signal output from the IFFT unit 115, converts it in series, and outputs it to the guard interval inserter 119.

여기서, 상기 병렬/직렬 변환기(117)로부터 출력된 신호를 xl(n)이라고 칭하기로 한다. 상기 보호 구간 삽입기(119)는 상기 병렬/직렬 변환기(117)로부터 출력된 신호를 입력하여 보호 구간 신호를 삽입한 후 상기 디지털/아날로그 변환기(121)로 출력한다. 여기서, 상기 보호 구간은 상기 OFDM 통신시스템에서 OFDM 심볼을 송신할 때 이전 OFDM 심볼 시간에 송신한 OFDM 심볼과 현재 OFDM 심볼 시간에 송신할 현재 OFDM 심볼간에 간섭(interference)을 간섭을 제거하기 위해서 삽입된다.Here, the signal output from the parallel / serial converter 117 will be referred to as x l (n). The guard interval inserter 119 inputs a signal output from the parallel / serial converter 117 to insert a guard interval signal and outputs the guard interval signal to the digital / analog converter 121. Here, the guard interval is inserted to remove interference between the OFDM symbol transmitted at the previous OFDM symbol time and the current OFDM symbol transmitted at the current OFDM symbol time when the OFDM symbol is transmitted in the OFDM communication system. .

또한, 상기 보호 구간은 일정 구간의 널(null) 데이터를 삽입하는 형태로 제안되었으나, 상기 보호 구간에 널 데이터를 전송하는 형태는 수신기에서 OFDM 심볼의 시작점을 잘못 추정하는 경우 서브 캐리어들간에 간섭이 발생하여 수신 OFDM 심볼의 오판정 확률이 높아지는 단점이 존재하여 시간 영역의 OFDM 심볼의 마지막 일정 비트들을 복사하여 유효 OFDM 심볼에 삽입하는 형태의 'Cyclic Prefix' 방식이나 혹은 시간 영역의 OFDM 심볼의 처음 일정 비트들을 복사하여 유효 OFDM 심볼에 삽입하는 'Cyclic Postfix' 방식으로 사용하고 있다. 그리고, 상기 보호 구간 삽입기(821)에서 출력하는 신호를 이라고 칭하기로 하며, 결국 상기 보호 구간 삽입기(821)에서 출력하는 신호 이 1개의 OFDM 심볼이 되는 것이다.In addition, the guard interval has been proposed in the form of inserting null data of a predetermined interval, but in the form of transmitting null data in the guard interval is the interference between subcarriers when the receiver incorrectly estimates the start point of the OFDM symbol There is a disadvantage in that the probability of misjudgment of the received OFDM symbol increases, so the 'cyclic prefix' method of copying and inserting the last predetermined bits of the OFDM symbol in the time domain into a valid OFDM symbol or the first constant of the OFDM symbol in the time domain It is used as a 'Cyclic Postfix' method in which bits are copied and inserted into a valid OFDM symbol. The signal output from the guard interval inserter 821 The signal output from the guard interval inserter 821 is eventually referred to as. This is one OFDM symbol.

상기 디지털/아날로그 변환기(121)는 상기 보호 구간 삽입기(119)로부터 출력된 신호를 입력받아 아날로그 변환한 후 상기 무선 주파수 처리기(123)로 출력한다. 여기서, 상기 RF 처리기(123)는 필터(filter)와 전처리기(front end unit) 등의 구성들을 포함하며, 상기 디지털/아날로그 변환기(121)에서 출력한 신호를 실제 에어(air)상에서 전송 가능하도록 RF 처리한 후 안테나(antenna)를 통해 에어(air)상으로 전송한다.The digital-to-analog converter 121 receives the signal output from the guard interval inserter 119 and converts the analog signal to the radio frequency processor 123. Here, the RF processor 123 includes components such as a filter and a front end unit, so that the signal output from the digital-to-analog converter 121 can be transmitted on actual air. After RF processing, the antenna transmits the air through an antenna.

상기에서는 기지국 장치(100)에 대해서 설명하였으며, 두 번째로, 상기 단말기 장치(150)에 대해서 설명하기로 한다.The base station apparatus 100 has been described above, and second, the terminal apparatus 150 will be described.

상기 단말기 장치(150)는 RF 처리기(151)와, 아날로그/디지털 변환기(analog/digital converter)(153)와, 보호 구간 제거기(guard interval remover)(155)와, 직렬/병렬 변환기(157)와, FFT기(159)와, 등화기(equalizer)(161)와, 병렬/직렬 변환기(163)와, 심볼 디매핑기(symbol demapper)(165)로 구성된다.The terminal device 150 includes an RF processor 151, an analog / digital converter 153, a guard interval remover 155, and a serial / parallel converter 157. And an FFT 159, an equalizer 161, a parallel / serial converter 163, and a symbol demapper 165.

먼저, 상기 기지국 장치(100)에서 송신한 신호는 다중 경로 채널(multipath channel) 을 겪고 잡음(noise) 성분 이 가산된 형태로 상기 단말기 장치(150)의 안테나를 통해 수신된다. 상기 안테나를 통해 수신된 신호는 상기 RF 처리기(151)로 입력되고, 상기 RF 처리기(151)는 상기 안테나를 통해 수신된 신호를 중간 주파수(IF; Intermediate Frequency) 대역으로 다운 컨버팅(down coverting)한 후 상기 아날로그/디지털 변환기(153)로 출력한다. 상기 아날로그/디지털 변환기(153)는 상기 RF 처리기(151)로부터 출력된 아날로그 신호를 디지털 변환한 후 상기 보호 구간 제거기(155)로 출력한다. 여기서, 상기 아날로그/디지털 변환기(153)에서 출력되는 디지털 신호를 이라 칭하기로 한다.First, the signal transmitted from the base station apparatus 100 is a multipath channel. Noise components It is received through the antenna of the terminal device 150 in this added form. The signal received through the antenna is input to the RF processor 151, and the RF processor 151 down-converts the signal received through the antenna to an intermediate frequency (IF) band. After the output to the analog-to-digital converter 153. The analog / digital converter 153 digitally converts the analog signal output from the RF processor 151 and outputs the digital signal to the guard interval remover 155. Here, the digital signal output from the analog-to-digital converter 153 is This will be called.

상기 보호 구간 제거기(155)는 상기 아날로그/디지털 변환기(153)로부터 출력된 신호 를 입력하여 보호 구간 신호를 제거한 후 상기 직렬/병렬 변환기(157)로 출력한다. 여기서, 상기 보호 구간 제거기(155)에서 출력하는 신호를 y1(n)이라고 칭하기로 한다. 상기 직렬/병렬 변환기(157)는 상기 보호 구간 제거기(155)에서 출력한 직렬 신호 y1(n)를 입력하여 병렬 변환한 후 상기 FFT기(159)로 출력한다. 상기 FFT기(159)는 상기 직렬/병렬 변환기(157)로부터 출력된 신호를 N-포인트 FFT를 수행한 후 상기 등화기(161)로 출력한다.The guard period remover 155 outputs a signal output from the analog-digital converter 153. Input to remove the guard period signal and outputs the serial / parallel converter 157. Here, the signal output from the guard period remover 155 will be referred to as y 1 (n). The serial / parallel converter 157 inputs the serial signal y 1 (n) output from the guard interval eliminator 155 to perform parallel conversion and outputs the parallel signal to the FFT unit 159. The FFT unit 159 outputs the signal output from the serial / parallel converter 157 to the equalizer 161 after performing an N-point FFT.

여기서, 상기 FFT기(159)로부터 출력되는 신호를 Y1(k)라 칭하기로 한다. 상기 등화기(161)는 상기 FFT기(159)에서 출력한 신호 Y1(k)를 입력하여 채널 등화(channel equalization)한 후 상기 병렬/직렬 변환기(167)로 출력한다. 여기서, 상기 등화기(161)에서 출력하는 신호를 라고 칭하기로 한다. 상기 병렬/직렬 변환기(163)는 상기 등화기(161)에서 출력한 병렬 신호 를 입력하여 직렬 변환한 후 상기 심볼 디매핑기(165)로 출력한다. 상기 심볼 디매핑기(165)는 상기 병렬/직렬 변환기(163)에서 출력한 신호를 입력하여 기지국 장치(100)에서 적용한 변조 방식에 상응하는 복조 방식으로 복조하여 수신 정보 데이터 비트로 출력한다.Here, the signal output from the FFT unit 159 will be referred to as Y 1 (k). The equalizer 161 inputs the signal Y 1 (k) output from the FFT 159 to channel equalize and outputs the same to the parallel / serial converter 167. Here, the signal output from the equalizer 161 It will be called. The parallel / serial converter 163 outputs a parallel signal output from the equalizer 161. After inputting serial conversion, the signal is output to the symbol demapper 165. The symbol demapper 165 inputs a signal output from the parallel / serial converter 163, demodulates the demodulation method corresponding to the modulation scheme applied by the base station apparatus 100, and outputs the received information data bits.

상기 도 1에서와 같이 일반적인 OFDM/OFDMA 시스템에서는 상기 FFT/IFFT 변환이 필수적으로 요구된다. 한편, 상기 FFT/IFFT 변환은 연산 원소의 개수(즉, FFT/IFFT 입력 포인트 크기)에 따라 많은 연산량을 필요로 하며, 특히 복소 곱셈(complex number multiplication) 과정을 디지털 회로로 구현할 경우 많은 동작 전력이 소모된다.In the general OFDM / OFDMA system as shown in FIG. 1, the FFT / IFFT conversion is required. Meanwhile, the FFT / IFFT conversion requires a large amount of calculation according to the number of operation elements (that is, the size of the FFT / IFFT input point), and especially when the complex number multiplication process is implemented in a digital circuit, a large amount of operating power is required. Consumed.

한편, 상기 FFT/IFFT 연산 방식으로 알려진 2진(Radix-2) 또는 4진(Radix-4) FFT/IFFT 연산은 원소의 개수(즉, 입력 포인트) N에 대해 각각 N×log2N 또는 N×log4N에 해당하는 연산량이 필요하다. 상기 2진 또는 4진 FFT/IFFT는 연산 과정에 사용되는 삼각함수의 대칭성을 사용하여 N개의 입력 원소를 각각 2개 또는 4개씩 묶어 log2N 또는 log4N 단계에 걸쳐 연산을 수행한다.Meanwhile, a binary (Radix-2) or quadratic (Radix-4) FFT / IFFT operation known as the FFT / IFFT operation method is N × log 2 N or N, respectively, for the number of elements (ie, input points) N. The amount of computation equivalent to xlog 4 N is required. The binary or quaternary FFT / IFFT performs operations in log 2 N or log 4 N steps by binding two or four N input elements, respectively, using symmetry of a trigonometric function used in the calculation process.

이하, 도 2 내지 도 5를 참조하여 상기 2진 또는 4진 FFT/IFFT 연산 방법을 보다 구체적으로 설명한다.Hereinafter, the binary or quaternary FFT / IFFT calculation method will be described in more detail with reference to FIGS. 2 to 5.

도 2는 2진(radix-2) FFT/IFFT에서의 연산 흐름을 나타낸 도면이다.FIG. 2 is a diagram illustrating a calculation flow in a binary-2 FFT / IFFT.

상기 도 2를 참조하면, x[0] 내지 x[15]까지 16개의 입력 값에 대해 FFT/IFFT 연산이 수행되며, 4 스테이지(4 stage)의 연산을 통해 y[0] 내지 y[15]까지 16개의 출력값이 생성된다.Referring to FIG. 2, FFT / IFFT operations are performed on 16 input values from x [0] to x [15], and y [0] to y [15] through four stages of operations. Up to 16 outputs are generated.

상기 도 2에서 원으로 표시된 부분은 각 화살표로 들어오는 2개의 입력값들의 복소 연산을 의미한다. 상기 복소 연산 방법은 도 3에서 후술하기로 한다. 따라서, 매 스테이지마다 16번의 상기 복소 연산이 수행된다. 예컨대, 첫번째 스테이지에서는 x[0]과 x[1], x[2]와 x[3], x[4]와 x[5]....x[14]와 x[15]의 복소 연산이 각각 2회씩 수행된다. 또한, 두번째 스테이지에서는 x[0] 내지 x[3], x[4] 내지 x[7], x[8] 내지 x[11], x[12] 내지 x[15]의 복소 연산이 각각 4회씩 수행된다. 세번째 스테이지에서는 x[0] 내지 x[7], x[8] 내지 x[15]의 복수 연산이 각각 8회씩 수행된다. 마지막으로 4번째 스테이지에서는 x[0] 내지 x[15]들간의 복소 연산이 상기 도 2에 도시된 바와 같이 16회 수행된다.The circled portion in FIG. 2 denotes a complex operation of two input values coming into each arrow. The complex calculation method will be described later with reference to FIG. 3. Thus, the complex operation is performed 16 times per stage. For example, in the first stage, complex operations of x [0] and x [1], x [2] and x [3], x [4] and x [5] .... x [14] and x [15] This is done twice each. Further, in the second stage, complex operations of x [0] to x [3], x [4] to x [7], x [8] to x [11], and x [12] to x [15] are respectively 4 Is performed once. In the third stage, multiple operations of x [0] to x [7] and x [8] to x [15] are performed eight times, respectively. Finally, in the fourth stage, a complex operation between x [0] and x [15] is performed 16 times as shown in FIG.

한편, 상기 도 2의 원으로 표시된 각 복소 연산들은 도 3과 같은 규칙에 의하여 연산된다.Meanwhile, each of the complex operations indicated by the circle in FIG. 2 is calculated by the same rule as in FIG. 3.

도 3은 2진(radix-2) FFT/IFFT에서 각 원소에 대한 복소 연산을 나타낸 도면이다.3 is a diagram illustrating a complex operation for each element in a binary-2 FFT / IFFT.

상기 도 3을 참조하면, 상기 2진 FFT/IFFT에서 각 원소 X0 및 X1을 입력 받아 W0 및 W1과 복소 연산된 후, Y0 및 Y1을 출력한다. 상기 복소 연산의 흐름은 하기 <수학식 1>과 같이 나타낼 수 있다.Referring to FIG. 3, after receiving each element X 0 and X 1 from the binary FFT / IFFT and performing a complex operation with W 0 and W 1 , Y 0 and Y 1 are output. The flow of the complex operation may be represented by Equation 1 below.

여기서, 상기 WN=e-j2π/N이다.Where W N = e −j 2π / N.

상기 <수학식 1>을 참조하면, Y0 및 Y1을 구할 때, (X0 ×W0 ) 및 (X1 ×W1)은 공통적으로 사용되므로 결국 하나의 단위 연산을 위해서는 2번의 곱셈과 2번의 덧셈이 필요하게 된다.Referring to Equation 1, when Y 0 and Y 1 are obtained, (X 0 × W 0 ) and (X 1 × W 1 ) are commonly used, so two multiplications and one multiplication are required for one unit operation. Two additions are required.

상기와 같은 연산은 상기 도 2에서의 각 스테이지마다 동일하게 수행된다.The above operation is performed the same for each stage in FIG.

이하, 도 4 및 도 5를 참조하여, 4진(radix-4) FFT/IFFT 연산을 설명한다.4 and 5, a radix-4 FFT / IFFT operation will be described.

도 4는 4진(radix-4) FFT/IFFT에서의 연산 흐름을 나타낸 도면이다.4 is a diagram illustrating the operation flow in a radix-4 FFT / IFFT.

상기 도 4를 참조하면, x[0] 내지 x[15]까지 16개의 입력 값에 대해 FFT/IFFT 연산이 수행되며, 2 스테이지(2 stage)의 연산을 통해 y[0] 내지 y[15]까지 16개의 출력값이 생성된다.Referring to FIG. 4, FFT / IFFT operations are performed on 16 input values from x [0] to x [15], and y [0] to y [15] through two stages of operations. Up to 16 outputs are generated.

상기 도 4에서 원으로 표시된 부분은 각 화살표로 들어오는 4개의 입력값들의 복소 연산을 의미한다. 따라서, 매 스테이지마다 16번의 복소 연산이 수행된다. 예컨대, 첫번째 스테이지에서는 x[0] 내지 x[3], x[4] 내지 x[7], x[8] 내지 x[11], x[12] 내지 x[15]의 복소 연산이 각각 4회씩 수행된다. 두번째 스테이지에서는 x[0] 내지 x[15]들간의 복소 연산이 상기 도 4에 도시된 바와 같이 16회 수행된다.A circled portion in FIG. 4 denotes a complex operation of four input values coming from each arrow. Therefore, 16 complex operations are performed for each stage. For example, in the first stage, complex operations of x [0] to x [3], x [4] to x [7], x [8] to x [11] and x [12] to x [15] are each 4 Is performed once. In the second stage, a complex operation between x [0] and x [15] is performed 16 times as shown in FIG.

한편, 상기 도 4의 원으로 표시된 각 복소 연산들은 도 5와 같은 규칙에 의하여 연산된다.Meanwhile, each of the complex operations indicated by the circle in FIG. 4 is calculated by the same rule as in FIG. 5.

도 5는 4진(radix-4) FFT/IFFT에서 각 원소에 대한 복소 연산을 나타낸 도면이다.FIG. 5 is a diagram illustrating a complex operation for each element in a radix-4 FFT / IFFT.

상기 도 5를 참조하면, 상기 4진 FFT/IFFT에서 각 원소 X0, X1, X2 및 X 3을 입력 받아 W0, W1, W2 및 W3과 복소 연산된 후, Y0, Y1, Y2 및 Y3을 출력한다. 상기 복소 연산의 흐름은 하기 <수학식 2>와 같이 나타낼 수 있다.5, the 4 binary FFT / from the IFFT receives the respective elements X 0, X 1, X 2 and X 3 W 0, W 1, W 2 and W 3 and after the complex operation, Y 0, Outputs Y 1 , Y 2 and Y 3 . The flow of the complex operation may be represented by Equation 2 below.

여기서, 상기 WN=e-j2π/N이다.Where W N = e −j 2π / N.

상기 <수학식 2>를 참조하면, Y0 내지 Y3을 구할 때, (X0 ×W0 ), (X1 ×W1) (X2 ×W2) 및 (X3 ×W3)은 공통적으로 사용되므로 결국 하나의 단위 연산을 위해서는 4번의 곱셈과 12번(3×4)의 덧셈이 필요하게 된다. 한편, 상기 j를 곱하는 과정은 실수부와 허수부에 저장된 값들을 교한하면 되므로 실제 구현상에서의 곱셈 연산은 필요없게 된다.Referring to <Equation 2>, when obtaining Y 0 to Y 3 , (X 0 × W 0 ), (X 1 × W 1 ) (X 2 × W 2 ) and (X 3 × W 3 ) Since it is commonly used, one unit operation requires four multiplications and 12 additions (3 × 4). On the other hand, the multiplication of j j is required to replace the values stored in the real part and the imaginary part, the multiplication operation in the actual implementation is not necessary.

상기와 같은 연산은 상기 도 4에서의 각 스테이지마다 동일하게 수행된다.The above operation is performed the same for each stage in FIG.

즉, FFT/IFFT 연산은 상기 도 2 및 도 3에서와 같이 2진 FFT/IFFT 연산을 통해 구현될 수도 있으며, 도 4 및 도 5에서와 같이 4진 FFT/IFFT 연산을 통해 구현될 수도 있다. 상기 4진 FFT/IFFT 연산은 상기 2진 FFT/IFFT 연산에 비해 연산 스테이지가 짧은 장점이 있는 반면, 한번의 복소 연산과정에서 4개의 입력값을 연산하여야 하므로 한번의 스테이지에서 연산해야하는 횟수가 더 많다는 단점이 있다.That is, the FFT / IFFT operation may be implemented through a binary FFT / IFFT operation as shown in FIGS. 2 and 3, or may be implemented through a binary FFT / IFFT operation as shown in FIGS. 4 and 5. The quadratic FFT / IFFT operation has an advantage that the operation stage is shorter than the binary FFT / IFFT operation. However, since the four input values must be calculated in one complex operation, more operations are required in one stage. There are disadvantages.

한편, 상기 도 2 내지 도 5에서 상술한 2진 또는 4진 FFT/IFFT 연산 과정은 도 6과 같이 구현될 수 있다.Meanwhile, the binary or quaternary FFT / IFFT calculation process described above with reference to FIGS. 2 to 5 may be implemented as shown in FIG. 6.

도 6은 종래 기술에 따른 FFT/IFFT 연산 회로의 구성을 나타낸 블록도이다.6 is a block diagram showing the configuration of a conventional FFT / IFFT arithmetic circuit.

상기 도 6을 참조하면, 상기 FFT/IFFT 연산 회로는 입력 버퍼 메모리(601), 데이터 독출기(603), 삼각함수 발생기(605), 복소 곱셈 및 덧셈 연산기(607) 및 스테이지 갱신 메모리(609)로 구성된다.Referring to FIG. 6, the FFT / IFFT arithmetic circuit includes an input buffer memory 601, a data reader 603, a trigonometric function 605, a complex multiplication and addition operator 607, and a stage update memory 609. It consists of.

상기 입력 버퍼 메모리(601)는 다수의(예컨대, N 개의) FFT/IFFT 입력 값을 저장하고, 매 스테이지마다 수행되는 복소 연산의 결과 값을 갱신하여 저장한다.The input buffer memory 601 stores a plurality of (e.g., N) FFT / IFFT input values, and updates and stores the result values of complex operations performed at every stage.

상기 데이터 독출기(603)는 상기 입력 버퍼 메모리(601)에 저장된 입력 값들을 각 스테이지별 연산 순서에 따라 2진 FFT/IFFT에서는 2개의 입력값들이, 4진 FFT/IFFT에서는 4개의 입력값들이 선택하여 독출한다. 상기 삼각함수 발생기(605)는 상기 도 3 및 도 5에서 상술한 WN 값을 생성하는 부분으로서, 상기 WN 인 e-j2π/N을 생성한다. 따라서, 상기 데이터 독출기(603)에서 독출된 2개 또는 4개의 입력값들과 상기 삼각함수 발생기(605)로부터 출력되는 WN 값들은 상기 <수학식 1> 또는 <수학식 2>의 규칙에 따라 상기 복소 곱셈 및 덧셈 연산기에서 복소 연산된다.The data reader 603 stores two input values in binary FFT / IFFT and four input values in binary FFT / IFFT according to the operation order for each stage. Select to read. The trigonometric function generator 605 generates the W N value described above with reference to FIGS. 3 and 5 and generates e -j2π / N which is W N. Accordingly, the two or four input values read out from the data reader 603 and the W N values output from the trigonometric function generator 605 may be in accordance with the rules of Equation 1 or 2 below. According to the complex multiplication and addition operation.

상기 복소 곱셈 및 덧셈 연산기(607)로부터 복소 연산된 값들은 스테이지 갱신 메모리(609)에 임시 저장되며, 소정의 스테이지에 대한 연산이 종료되면, 상기 복소 연산된 결과 값들이 상기 입력 버퍼 메모리(601)에 갱신된다.The complex values calculated from the complex multiplication and addition operator 607 are temporarily stored in the stage update memory 609. When the calculation for the predetermined stage is completed, the complex calculated result values are input to the input buffer memory 601. Is updated on.

보다 구체적으로 설명하면, 상기 입력 버퍼 메모리(601)에 N 개의 입력 값이 저장된다고 가정할 경우, 상기 데이터 독출기(603)는 상기 2진/4진 FFT/IFFT 연산에 따라 각각의 연산에 필요한 입력 원소를 독출한다. 즉, 상기 <수학식 1> 또는 <수학식 2>에서의 X0 내지 X3에 해당되는 값을 제공한다.More specifically, assuming that N input values are stored in the input buffer memory 601, the data reader 603 is required for each operation according to the binary / four binary FFT / IFFT operation. Read the input element. That is, a value corresponding to X 0 to X 3 in Equation 1 or Equation 2 is provided.

n 번째 스테이지에서의 i번째 연산을 위한 독출 어드레스(read address)는 하기와 같이 표현될 수 있다.The read address for the i th operation in the n th stage may be expressed as follows.

2진(Radix-2)일 경우에는 read_addr_1 = i 및 read_addr_2 = i + 2n 과 같이 표현되며, 4진(Radix-4)일 경우에는 read_addr_1 = i, read_addr_2 = i + 4n, read_addr_3 = i + 2×4n 및 read_addr_4 = i + 3×4n 와 같이 표현될 수 있다.In the case of binary (Radix-2), read_addr_1 = i and read_addr_2 = i + 2 n, and in the case of ternary (Radix-4) read_addr_1 = i, read_addr_2 = i + 4 n , read_addr_3 = i + 2 × 4 n and read_addr_4 = i + 3 × 4 n .

한편, 상기 삼각함수 발생기(605)는 상기 입력 버퍼 메모리(601)에서 읽은 원소와 곱해질 삼각함수 값을 생성한다. 즉, 상술한 바와 같이 상기 <수학식 1> 및 <수학식 2>에서의 W0 내지 W3에 해당하는 값을 제공한다.On the other hand, the trigonometric function generator 605 generates a trigonometric value to be multiplied by the element read from the input buffer memory 601. That is, as described above, values corresponding to W 0 to W 3 in Equations 1 and 2 are provided.

따라서, n 번째 스테이지의 i번째 연산을 위한 삼각함수의 값은 하기 <수학식 3> 및 <수학식 4>와 같이 생성된다.Therefore, the value of the trigonometric function for the i th operation of the n th stage is generated as shown in Equations 3 and 4 below.

상기 <수학식 3>은 2진 FFT/IFFT일 경우 생성되는 삼각함수의 값이며, 상기 <수학식 4>는 4진 FFT/IFFT일 경우 생성되는 삼각함수의 값이다.Equation 3 is a value of the trigonometric function generated when the binary FFT / IFFT, Equation 4 is a value of the trigonometric function generated when the binary FFT / IFFT.

상기 복소 곱셈 및 덧셈 연산기(607)에서는 상술한 바와 같이 상기 데이터 독출기(603)의 값과 상기 삼각함수 발생기(605)의 출력값에 대해 복소 곱셈과 상기 곱셈 결과의 합을 구한다. 즉, 상기 <수학식 1> 또는 <수학식 2>에 나타난 곱셈과 덧셈 연산을 수행한다.The complex multiplication and addition operator 607 calculates the sum of the complex multiplication and the multiplication result with respect to the value of the data reader 603 and the output value of the trigonometric function generator 605 as described above. That is, the multiplication and addition operations shown in Equation 1 or Equation 2 are performed.

또한, 상기 스테이지 갱신 메모리(609)는 상기 복소 곱셈 및 덧셈 연산기(607)에서 산출된 결과를 다시 입력 버퍼 메모리(601)에 저장하기 위해 임시 저장하며, 상기 저장을 위한 기록 어드레스(write address)는 상기 독출 어드레스(read address)와 동일하다.In addition, the stage update memory 609 temporarily stores the result calculated by the complex multiplication and addition operator 607 in order to store the result again in the input buffer memory 601, and the write address for the storage is It is the same as the read address.

한편, 상술한 바에 따른 상기 2진/4진 FFT/IFFT 연산에서 각 단계는 하나의 복소 곱셈기를 사용하여 N 클럭(clock) 동안 순차적으로 처리를 하거나, N개의 복소 곱셈기를 사용하여 1 클럭(clock) 동안 처리를 할 수 있다. 상기 두가지 경우 모두 각각의 복소 곱셈은 입력 원소의 인덱스(index)만 다를 뿐 상기 2진/4진 FFT/IFFT의 단위 연산을 반복적으로 수행하게 된다.Meanwhile, in the binary / four binary FFT / IFFT operation as described above, each step may be sequentially processed for one N clock using one complex multiplier, or one clock using N complex multipliers. ) Can be processed. In both cases, each complex multiplication only repeats the binary / FFT / IFFT unit operation except for an index of an input element.

상기 FFT/IFFT 크기가 크고 상대적으로 유효한 원소(즉, 0이 아닌 입력 데이터)의 개수가 적을 경우 반복적인 곱셈 과정에서 많은 양의 연산 결과가 0으로 나타나게 된다. 즉, 의미없는 입력에 대해 곱셈 회로가 동작을 함으로써 불필요한 전력 소모가 커지게 된다.When the FFT / IFFT size is large and the number of relatively valid elements (ie, non-zero input data) is small, a large amount of arithmetic results are displayed as 0 during an iterative multiplication process. In other words, the multiplication circuit operates on a meaningless input, thereby increasing unnecessary power consumption.

한편, 상술한 OFDMA 방식등을 사용하는 통신 시스템에서는 1024 포인트 이상의 큰 FFT/IFFT 크기를 갖는 경우도 있으며, 최근에는 데이터 전송 속도의 증가로 인해 보다 큰 입력 포인트를 갖는 FFT/IFFT 연산 장치를 필요로 하게 된다. 그러나, 상기와 같이 실제 적용되는 시스템들에 있어 상기와 같은 FFT/IFFT 입력 값들 중 실제 사용되는 원소는 일부(일반적으로, 10개의 포인트 이하)에 불과하며, 현재 사용되는 일반적인 2진/4진 FFT/IFFT 방식을 사용할 경우 의미없는 입력에 대한 불필요한 연산 동작의 많아지게 되며, 상기와 같은 연산 동작에 대한 소모 전력은 배터리 수명의 제한 요인이 되는 문제가 있다.On the other hand, a communication system using the above-described OFDMA scheme may have a large FFT / IFFT size of 1024 points or more. Recently, due to an increase in data transmission rate, an FFT / IFFT arithmetic apparatus having a larger input point is required. Done. However, in the above practical systems, only a few (generally, 10 points or less) of the FFT / IFFT input values are actually used, and the general binary / four binary FFTs currently used. In the case of using the / IFFT method, unnecessary computational operations for a meaningless input are increased, and power consumption for the computational operations as described above has a problem of limiting battery life.

따라서, 본 발명의 목적은 고속 푸리에 변환(FFT)/역고속 푸리에 변환(IFFT) 연산을 구현함에 있어, 입력 원소의 희소성을 이용하여 동작 전력을 줄이기 위한 방법 및 장치에 관한 것이다.Accordingly, an object of the present invention is to provide a method and apparatus for reducing operating power by utilizing the sparsity of input elements in implementing fast Fourier transform (FFT) / inverse fast Fourier transform (IFFT) operations.

상기한 목적을 달성하기 위한 본 발명의 방법은, 복수의 입력 포인트를 통해 데이터들을 입력받아 복수의 출력 포인트를 통해 푸리에 변환 연산된 데이터들을 출력하는 고속 푸리에 변환/고속 역 푸리에 변환에 있어서, 상기 복수의 입력 포인트를 통해 입력된 각각의 입력 데이터들의 상기 연산에 미치는 유효성 여부에 따라 상태 정보 인덱스를 설정하여 저장하는 과정과, 상기 고속 푸리에 변환/고속 역 푸리에 변환 연산의 매 연산 스테이지마다 상기 저장된 상태 정보 인덱스에 따라 해당 포인트의 연산 여부를 제어하는 과정과, 상기 상태 정보 인덱스를 상기 매 연산 스테이지마다 새로운 상태 정보 인덱스로 갱신하는 과정을 포함함을 특징으로 한다.In the method of the present invention for achieving the above object, in the fast Fourier transform / fast inverse Fourier transform for receiving data through a plurality of input points and outputs Fourier transformed data through a plurality of output points, Setting and storing a state information index according to the validity of each of the input data input through an input point of, and the stored state information for every operation stage of the fast Fourier transform / fast inverse Fourier transform operation. Controlling whether a corresponding point is calculated according to an index, and updating the state information index with a new state information index for each operation stage.

상기한 목적을 달성하기 위한 본 발명의 장치는, 복수의 입력 포인트를 통해 데이터들을 입력받아 복수의 출력 포인트를 통해 푸리에 변환 연산된 데이터들을 출력하는 고속 푸리에 변환/고속 역 푸리에 변환에 있어서, 상기 복수의 입력 포인트를 통해 입력된 각각의 입력 데이터들의 상기 연산에 미치는 유효성 여부에 따라 상태 정보 인덱스를 설정하여 저장하는 플래그 비트 파일과, 상기 고속 푸리에 변환/고속 역 푸리에 변환 연산의 매 연산 스테이지마다 상기 플래그 비트 파일에 저장된 상태 정보 인덱스에 따라 해당 포인트의 연산 여부를 제어하는 연산 제어기를 포함함을 특징으로 한다.The apparatus of the present invention for achieving the above object, in the fast Fourier transform / fast inverse Fourier transform for receiving data through a plurality of input points and outputs Fourier transformed data through a plurality of output points, A flag bit file for setting and storing a state information index according to the validity of each of the input data input through the input point of and the flag for every operation stage of the fast Fourier transform / fast inverse Fourier transform operation And an operation controller for controlling whether or not the corresponding point is calculated according to the state information index stored in the bit file.

이하, 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않는 범위에서 생략될 것이라는 것을 유의하여야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that in the following description, only parts necessary for understanding the operation according to the present invention will be described, and descriptions of other parts will be omitted without departing from the scope of the present invention.

본 발명은 일반적인 FFT/IFFT 연산 과정에 있어서, 상기 FFT/IFFT 연산의 입력 값들 중에서 유효 입력 값이 아닌 값들과 관련된 연산을 수행하지 않도록 함으로써 불필요한 연산을 줄일 수 있게 된다. In the general FFT / IFFT operation process, unnecessary operations can be reduced by not performing operations related to values that are not valid input values among the input values of the FFT / IFFT operation.

도 7은 본 발명에 따른 FFT/IFFT 연산 장치의 구성을 나타낸 블록도이다.7 is a block diagram showing the configuration of an FFT / IFFT computing device according to the present invention.

상기 도 7을 참조하면, 종래의 FFT/IFFT 연산 장치에 연산 제어기(707) 및 플래그 비트 파일(705)을 더 구비함으로써 불필요한 연산 과정을 수행하지 않도록 제어할 수 있다.Referring to FIG. 7, a conventional FFT / IFFT computing device may further include an operation controller 707 and a flag bit file 705 to prevent unnecessary computation.

본 발명에 따른 FFT/IFFT 연산 장치는 입력 버퍼 메모리(701), 다중화기(703), 플래그 비트 파일(705), 연산 제어기(707), 삼각함수 발생기(709), 복소 곱셈 및 덧셈 연산기(711) 및 스테이지 갱신 메모리(713)로 구성된다.The FFT / IFFT computing device according to the present invention includes an input buffer memory 701, a multiplexer 703, a flag bit file 705, an operation controller 707, a trigonometric function generator 709, a complex multiplication and addition operator 711. ) And a stage update memory 713.

N 개의 입력 값들은 상기 입력 버퍼 메모리(701)에 저장되며, 상기 각 입력 값들 간 복소 연산된 결과 값이 매 스테이지 마다 갱신되어 저장된다.N input values are stored in the input buffer memory 701, and the result value of the complex operation between the respective input values is updated and stored every stage.

한편, 본 발명에 따라 상기 입력 버퍼 메모리(701)에 저장된 각 입력 값들이 유효 입력 값들인지의 유무를 표시하는 상태 정보 인덱스 값들이 상기 플래그 비트 파일(705)에 저장된다. 상기 플래그 비트 파일(705)에 저장되는 상태 정보 인덱스 값들은 매 스테이지 마다 갱신되며, 상기 플래그 비트 파일(705)에 저장된 상태 정보 인덱스 값들에 따라 상기 각 입력 포인트들간의 복소 연산 수행 여부가 결정된다.Meanwhile, according to the present invention, state information index values indicating whether each of the input values stored in the input buffer memory 701 are valid input values are stored in the flag bit file 705. The state information index values stored in the flag bit file 705 are updated at every stage, and it is determined whether to perform a complex operation between the respective input points according to the state information index values stored in the flag bit file 705.

즉, 소정의 스테이지에서 복소 연산을 위해 독출된 2개 또는 4개의 입력 데이터들은 다중화기(703)로부터 선택되어지며, 상기 연산 제어기(707)는 플래그 비트 파일(705)에 저장된 상태 정보 인덱스 값들로부터 상기 독출된 입력 데이터들의 유효 입력값 여부를 판단하여, 상기 독출된 값들의 복소 연산 여부를 판단한다. 따라서, 상기 연산 제어기(707)는 상기 플래그 비트 파일에 저장된 해당 플래그 비트 값들, 즉 상태 정보 인덱스 값들을 참조하여 상기 복소 곱셈 및 덧셈 연산기(711)에서의 복소 연산 수행을 제어한다.That is, two or four input data read out for complex operation at a given stage are selected from the multiplexer 703, and the operation controller 707 uses the state information index values stored in the flag bit file 705. The method determines whether a valid input value of the read input data is complex and determines whether the read values are complex. Accordingly, the operation controller 707 controls the complex arithmetic operation performed by the complex multiplication and addition operator 711 with reference to the corresponding flag bit values stored in the flag bit file, that is, state information index values.

예컨대, 2진 FFT/IFFT 연산에서 최초 스테이지 연산 대상인 두개의 입력값 x[0] 및 x[1]이 모두 0의 값을 가진다면, 상기 두 입력 값들의 복소 연산 결과는 0이 된다. 따라서, 상기와 같이 유효 원소가 아닌 입력 값들에 대한 복소 연산은 불필요하게 된다. 따라서, 상기 x[0] 및 x[1]에 대한 플래그 비트(즉, 상태 정보 인덱스)는 모두 0으로써 플래그 비트 파일(705)에 저장됨이 바람직하며, 상기 x[0] 및 x[1]을 연산할 때, 상기 연산 제어기(707)가 상기 해당 플래그 비트(즉, 상태 정보 인덱스)가 모두 0임을 확인하여 상기 복소 연산을 수행하지 않게 된다. 결국, 상기 복소 연산에 대한 연산 결과가 없으므로, 상기 입력 버퍼 메모리의 해당 저장 값에 대한 데이터 갱신도 이루어지지 않게 된다.For example, in a binary FFT / IFFT operation, if two input values x [0] and x [1], which are the first stage operation targets, both have a value of 0, the complex operation result of the two input values becomes zero. Therefore, the complex operation on input values that are not valid elements as described above is unnecessary. Accordingly, it is preferable that the flag bits (ie, the state information index) for the x [0] and x [1] are all stored in the flag bit file 705 as 0, and the x [0] and x [1]. When calculating the, the operation controller 707 confirms that the corresponding flag bits (ie, the state information index) are all zeros and does not perform the complex operation. As a result, since there is no operation result for the complex operation, the data update for the corresponding stored value of the input buffer memory is not performed.

즉, 상기 연산 제어기(707)는 상기 플래그 비트 파일(705), 다중화기(703), 복소 곱셈 및 덧셈 연산기(711) 및 삼각함수 발생기(709)를 제어하여 유효 입력 값이 아닌 값들의 복소 연산을 수행하지 않도록 제어한다. 또한, 상기 연산 수행 여부는 입력 값들이 유효 입력 값인지 여부를 나타내는 상태 정보 인덱스 값들이 저장된 플래그 비트 파일(705)을 참조하여 결정한다.That is, the operation controller 707 controls the flag bit file 705, the multiplexer 703, the complex multiplication and addition operator 711, and the trigonometric function generator 709 to perform complex operation on values that are not valid input values. Control not to do it. In addition, whether to perform the operation is determined by referring to a flag bit file 705 in which state information index values indicating whether input values are valid input values.

이하, 도 8을 참조하여, 상기 상태 정보 인덱스들이 저장된 플래그 비트 파일 생성 방법을 설명한다.Hereinafter, a method of generating a flag bit file in which the state information indexes are stored will be described with reference to FIG. 8.

도 8은 본 발명의 실시예에 따른 상태 정보 인덱스의 플래그 비트 삽입 방법을 나타낸 도면이다.8 is a diagram illustrating a flag bit insertion method of a state information index according to an embodiment of the present invention.

상기 도 8을 참조하면, 입력 데이터 비트들(820)의 각 저장 영역의 앞부분(예컨대, MSB(Most Significant Bit))에 상태 정보 인덱스를 나타내는 플래그 비트들(810)을 삽입한다. 즉, N 비트의 입력 데이터 비트들(820)이 외부로부터 입력되면, 상기 각 입력 데이터 비트들의 유효 입력 유무를 판단하여, 상기 플래그 비트들을 삽입한다.Referring to FIG. 8, flag bits 810 indicating a state information index are inserted in the front of each storage area of the input data bits 820 (eg, a Most Significant Bit (MSB)). That is, when the N bit input data bits 820 are input from the outside, it is determined whether each of the input data bits is valid input, and the flag bits are inserted.

만약, FFT/IFFT 입력 데이터 포인트가 8(즉, N=8)이고 각 포인트로 입력되는 값을 헥사(hex) 코드로 3F, 0, 0, 0, 0, 7A, 0 및 0으로 구성된다면, 상기 입력 포인트들 중에서 첫번째 포인트 및 6번째 포인트만이 유효 입력 값이고 나머지 포인트는 유효하지 않은 입력 값이다. 따라서, 상기 유효 입력 값인 3F 및 7A에 플래그 비트를 1로 설정하고, 나머지 포인트들에는 상기 플래그 비트들을 0으로 설정한다.If the FFT / IFFT input data points are 8 (i.e., N = 8) and the value entered for each point consists of 3F, 0, 0, 0, 0, 7A, 0 and 0 with hex code, Of the input points, only the first point and the sixth point are valid input values, and the remaining points are invalid input values. Accordingly, the flag bits are set to 1 for the valid input values 3F and 7A, and the flag bits are set to 0 for the remaining points.

상술한 바와 같이 상기 입력 데이터 비트들의 상위 1 비트를 늘여 MSB 1 비트를 생성하고, 상기 생성된 비트에 상기 설정된 플래그 비트들을 저장하면, 최종적으로 저장되는 데이터는 13F, 0, 0, 0, 0, 17A, 0 및 0 이 된다. 상기 저장된 데이터 중 상기 상태 정보 인덱스를 나타내는 플래그 비트들인 MSB는 상술한 플래그 비트 파일(705)에 저장된다. As described above, when the upper 1 bit of the input data bits is extended to generate the MSB 1 bit, and the set flag bits are stored in the generated bit, the finally stored data is 13F, 0, 0, 0, 0, 17A, 0, and 0. MSBs, which are flag bits representing the state information index, among the stored data, are stored in the flag bit file 705 described above.

이하, 도 9 내지 도 12를 참조하여, 상기 설정된 상태 정보 인덱스들을 매 연산 스테이지마다 갱신하는 방법을 설명한다. 먼저, 도 9 및 도 10을 참조하여 상기 상태 정보 인덱스들을 설정하는 방법에 대한 개념을 설명하며, 도 11 및 도 12를 참조하여 상기 상태 정보 인덱스들을 설정하는 실질적인 구현 방법을 설명한다.Hereinafter, a method of updating the set state information indexes for each operation stage will be described with reference to FIGS. 9 to 12. First, a concept of a method of setting the state information indexes will be described with reference to FIGS. 9 and 10, and a practical implementation method of setting the state information indexes will be described with reference to FIGS. 11 and 12.

도 9는 본 발명의 실시예에 따른 2진(radix-2) FFT/IFFT에서의 플래그 비트 갱신 방법의 개념을 나타낸 도면이다.FIG. 9 is a diagram illustrating a concept of a flag bit update method in a binary-2 FFT / IFFT according to an embodiment of the present invention.

상기 도 9를 참조하면, 상술한 플래그 비트 파일(705)은 N 개의 FFT/IFFT 입력에 대해 실제 유효 입력의 유무를 표시하는 상태 정보 인덱스를 나타내는 플래그 비트들(910)과 각 연산 스테이지마다 상기 플래그 비트들을 갱신하는 다수의 논리합 연산기들(920)로 구성된다.Referring to FIG. 9, the above-described flag bit file 705 includes flag bits 910 indicating a state information index indicating presence or absence of an actual valid input for N FFT / IFFT inputs, and the flag for each operation stage. It consists of a number of OR operators 920 that update the bits.

상기 입력 데이터들의 유효 데이터 유무는 1 비트의 이진 데이터, 즉 1(유)/0(무)의 값으로 표시할 수 있으며, 상기 FFT/IFFT의 입력 포인트가 N일 경우 상기 상태 정보 인덱스를 위하여 N 비트의 저장 공간이 필요하다. 따라서, 상기 도 9를 참조하면, 최초 스테이지에서 상기 플래그 비트 파일의 저장 공간은 N 비트의 메모리로 구성된다. 2진 FFT/IFFT일 경우, 최초 스테이지에서는 x[0]과 x[1], x[2]와 x[3], x[4]와 x[5]....x[N-2]와 x[N-1]와 같이 복소 연산이 수행되므로, 상기 플래그 비트들도 x[0]과 x[1], x[2]와 x[3], x[4]와 x[5],....x[N-2]와 x[N-1]를 각각 논리합 연산기(920)에 의해 논리합 연산한다. 상기 논리합 연산된 값들은 제2 스테이지의 플래그 비트 저장 영역(930)에 저장된다. 한편, 상기 제2 스테이지의 플래그 비트들은 상기 N 개의 제1 스테이지의 플래그 비트들을 두 개의 입력 포인트씩 논리합 연산한 값들이므로 N/2 개가 된다.The presence or absence of valid data of the input data may be represented by one bit of binary data, that is, a value of 1 (free) / 0 (no). When the input point of the FFT / IFFT is N, N for the state information index Bit storage space is required. Therefore, referring to FIG. 9, the storage space of the flag bit file is configured with N bits of memory in an initial stage. In the case of binary FFT / IFFT, x [0] and x [1], x [2] and x [3], x [4] and x [5] .... x [N-2] And complex operations are performed as in x [N-1], so the flag bits are also x [0] and x [1], x [2] and x [3], x [4] and x [5], .... [x-2] and x [N-1] are ORed by the OR operator 920, respectively. The OR operations are stored in the flag bit storage area 930 of the second stage. Meanwhile, since the flag bits of the second stage are values obtained by performing an OR operation on the flag bits of the N first stages by two input points, the flag bits of the second stage are N / 2.

즉, 상기와 같이 2진 FFT/IFFT 연산의 경우 i번째 플래그 비트는 이전 단계의 2×i번째 플래그와 (2×i)+1번째 플래그의 논리합 결과이다. 따라서, N 번째 단계에서 사용되는 플래그 비트 파일의 저장 공간 크기는 N-1 단계에서 사용된 크기의 1/2이 된다.That is, in the case of the binary FFT / IFFT operation as described above, the i-th flag bit is the result of the OR of the 2 × i flag and the (2 × i) + 1st flag of the previous step. Therefore, the storage space size of the flag bit file used in the Nth step is 1/2 of the size used in the N-1 step.

상기와 같이 상태 정보 플래그 비트들을 논리합 연산하는 이유는 소정의 스테이지에서의 연산되는 두개의 입력값이 모두 유효 입력이 아닐 경우에 상기 연산이 수행되지 않게 되며, 이에 따라 다음 스테이지의 입력값이 유효 입력이 아닌 값으로 설정되기 때문이다.The reason for performing the OR operation on the state information flag bits as described above is that the operation is not performed when the two input values calculated in the predetermined stage are not valid inputs, and thus the input value of the next stage is valid input. This is because it is set to a value other than.

도 10은 본 발명의 실시예에 따른 4진(radix-4) FFT/IFFT에서의 플래그 비트 갱신 방법의 개념을 나타낸 도면이다.FIG. 10 is a diagram illustrating a concept of a flag bit update method in a radix-4 FFT / IFFT according to an embodiment of the present invention.

상기 도 10을 참조하면, 상술한 플래그 비트 파일(705)은 N 개의 FFT/IFFT 입력에 대해 실제 유효 입력의 유무를 표시하는 상태 정보 인덱스를 나타내는 플래그 비트들(1010)과 각 연산 스테이지마다 상기 플래그 비트들을 갱신하는 다수의 논리합 연산기들(1020)로 구성된다.Referring to FIG. 10, the above-described flag bit file 705 includes flag bits 1010 indicating a state information index indicating presence or absence of an actual valid input for N FFT / IFFT inputs, and the flag for each operation stage. It consists of a number of OR operators 1020 that update the bits.

상술한 바와 같이 상기 입력 데이터들의 유효 데이터 유무는 1 비트의 이진 데이터, 즉 1(유)/0(무)의 값으로 표시할 수 있으며, 상기 FFT/IFFT의 입력 포인트가 N일 경우 상기 플래그 비트들을 위하여 N 비트의 저장 공간이 필요하다. 따라서, 상기 도 10을 참조하면, 최초 스테이지에서 상기 플래그 비트 파일 저장 공간은 N 비트의 메모리로 구성된다. 4진 FFT/IFFT일 경우, 최초 스테이지에서는 x[0] 내지 x[3], x[4] 내지 x[7], x[8] 내지 x[11],... x[N-4] 내지 x[N-1]의 복소 연산이 각각 4회씩 수행되므로, 상기 플래그 비트들도 x[0] 내지 x[3], x[4] 내지 x[7], x[8] 내지 x[11],... x[N-4] 내지 x[N-1]를 각각 논리합 연산기(1020)에 의해 논리합 연산한다. 상기 논리합 연산된 값들은 제2 스테이지의 플래그 비트 저장 영역(1030)에 저장된다. 한편, 상기 제2 스테이지의 플래그 비트들은 상기 N 개의 제1 스테이지의 플래그 비트들을 4개의 입력 포인트씩 논리합 연산한 값들이므로 N/4 개가 된다.As described above, the presence or absence of valid data of the input data may be represented by one bit of binary data, that is, a value of 1 (free) / 0 (no), and the flag bit when the input point of the FFT / IFFT is N. N bits of storage are required for this purpose. Therefore, referring to FIG. 10, the flag bit file storage space is configured with N bits of memory in an initial stage. In the case of quaternary FFT / IFFT, in the first stage x [0] to x [3], x [4] to x [7], x [8] to x [11], ... x [N-4] Since the complex operations of x to x [N-1] are each performed four times, the flag bits are also x [0] to x [3], x [4] to x [7], x [8] to x [11. ], ... The logical sum arithmetic operators 1020 perform logical sum arithmetic operations on x [N-4] to x [N-1]. The OR operations are stored in the flag bit storage area 1030 of the second stage. Meanwhile, since the flag bits of the second stage are values obtained by performing an OR operation on the flag bits of the N first stages by four input points, the flag bits of the second stage are N / 4.

즉, 상기와 같이 4진 FFT/IFFT 연산의 경우 i번째 플래그 비트는 이전 단계의 4×i, (4×i)+1, (4×i)+2 및 (4×i)+3번째 플래그의 논리합 결과이다. 따라서, N 번째 단계에서 사용되는 플래그 비트 파일의 저장 공간 크기는 N-1 단계에서 사용된 크기의 1/4이 된다.That is, in the case of the quadruple FFT / IFFT operation as described above, the i-th flag bit is 4 × i, (4 × i) +1, (4 × i) +2, and (4 × i) + 3rd flag of the previous step. Is the result of the OR. Therefore, the storage space size of the flag bit file used in the Nth step is 1/4 of the size used in the N-1 step.

상기 2진 FFT/IFFT 연산에서와 마찬가지로 상기와 같이 상태 정보 플래그 비트들을 논리합 연산하는 이유는 소정의 스테이지에서의 연산되는 네개의 입력값이 모두 유효 입력이 아닐 경우에 상기 연산이 수행되지 않게 되며, 이에 따라 다음 스테이지의 입력값이 유효 입력이 아닌 값으로 설정되기 때문이다.As in the binary FFT / IFFT operation, the reason for performing the OR operation on the state information flag bits as described above is that the operation is not performed when all four input values calculated in a predetermined stage are not valid inputs. This is because the input value of the next stage is set to a value that is not a valid input.

이하, 도 11 및 도 12를 참조하여 상기 도 9 및 도 10에서 상술한 플래그 비트 갱신 과정에 대한 구현 방법을 설명한다.Hereinafter, an implementation method for the flag bit update process described above with reference to FIGS. 9 and 10 will be described with reference to FIGS. 11 and 12.

도 11은 본 발명의 실시예에 따른 2진(radix-2) FFT/IFFT에서의 플래그 비트 갱신 과정에 대한 구현 방법을 나타낸 도면이다.11 is a diagram illustrating an implementation method for a flag bit update process in a binary-2 FFT / IFFT according to an embodiment of the present invention.

상기 도 11을 참조하면, 상기 도 9에서 상술한 2진 FFT/IFFT에서의 플래그 비트 갱신은 매 스테이지마다 클럭을 발생시켜 상기 플래그 비트들을 갱신하도록 구현할 수 있다. 즉, 소정의 스테이지에서 플래그 비트들이 저장된 메모리(1110)에 스테이지 클럭이 입력되면, 상기 메모리(1110)에 저장된 상태 정보 플래그 비트들 중에서 해당 스테이지의 연산에 관여하는 포인트들을 2개씩 선택하여 논리합 연산한다. 상기 논리합 연산들은 다수의 논리합 연산기들(1120)에 의해 수행되며, 상기 논리합 연산된 결과들은 다시 상기 플래그 비트들이 저장된 메모리(1110)의 해당 포인트들에 저장된다.Referring to FIG. 11, the flag bit update in the binary FFT / IFFT described above in FIG. 9 may be implemented to generate a clock every stage to update the flag bits. That is, when the stage clock is input to the memory 1110 in which the flag bits are stored in a predetermined stage, two points are selected from the state information flag bits stored in the memory 1110 to perform OR operation. . The OR operations are performed by a plurality of OR operators 1120, and the result of the OR operation is stored at corresponding points of the memory 1110 in which the flag bits are stored.

한편, 상기 상태 정보 인덱스 값들을 나타내는 플래그 비트들을 저장하는 메모리(1110)에는 매 스테이지의 연산이 진행될 때마다 저장되는 상기 플래그 비트들이 1/2씩 줄어들게 된다. 즉, N개의 입력 포인트에 대한 상태 정보를 저장하는 상기 플래그 비트들의 길이는 N, (1/2)N, (1/4)N,..., 2와 같이 줄어든다.Meanwhile, in the memory 1110 storing the flag bits representing the state information index values, the flag bits stored are reduced by 1/2 for each stage operation. That is, the length of the flag bits for storing state information for N input points is reduced to N, (1/2) N, (1/4) N, ..., 2.

도 12는 본 발명의 실시예에 따른 4진(radix-4) FFT/IFFT에서의 플래그 비트 갱신 과정에 대한 구현 방법을 나타낸 도면이다.12 is a diagram illustrating an implementation method for a flag bit update process in a radix-4 FFT / IFFT according to an embodiment of the present invention.

상기 도 12를 참조하면, 상기 도 10에서 상술한 4진 FFT/IFFT에서의 플래그 비트 갱신은 매 스테이지마다 클럭을 발생시켜 상기 플래그 비트들을 갱신하도록 구현할 수 있다. 즉, 소정의 스테이지에서 플래그 비트들이 저장된 메모리(1210)에 스테이지 클럭이 입력되면, 상기 메모리(1210)에 저장된 상기 플래그 비트들 중에서 해당 스테이지의 연산에 관여하는 포인트들을 4개씩 선택하여 논리합 연산한다. 상기 논리합 연산들은 다수의 논리합 연산기들(2120)에 의해 수행되며, 상기 논리합 연산된 결과들은 다시 상기 플래그 비트들이 저장된 메모리(1210)의 해당 포인트들에 저장된다.Referring to FIG. 12, the flag bit update in the quadrature FFT / IFFT described above with reference to FIG. 10 may be implemented to generate a clock every stage to update the flag bits. That is, when a stage clock is input to the memory 1210 in which flag bits are stored in a predetermined stage, four points of the flag bits stored in the memory 1210 that are involved in the operation of the stage are selected and logically operated. The OR operations are performed by a plurality of OR operators 2120, and the result of the OR operation is again stored at corresponding points of the memory 1210 in which the flag bits are stored.

한편, 상기 상태 정보 인덱스를 나타내는 플래그 비트들을 저장하는 메모리(1210)에는 매 스테이지의 연산이 진행될 때마다 저장되는 상기 플래그 비트들이 1/4씩 줄어들게 된다. 즉, N개의 입력 포인트에 대한 상태 정보를 저장하는 상기 플래그 비트들의 길이는 N, (1/4)N, (1/8)N,..., 4와 같이 줄어든다.Meanwhile, in the memory 1210 that stores the flag bits indicating the state information index, the flag bits to be stored are reduced by one quarter every operation of the stage. That is, the length of the flag bits for storing state information for N input points is reduced to N, (1/4) N, (1/8) N, ..., 4.

이하, 도 13 및 도 14를 참조하여 도 9 내지 도 12에서와 같은 방법에 의해 생성된 상기 상태 정보 인덱스들을 이용하여 2진/4진 FFT/IFFT 연산을 제어하는 방법을 설명한다.Hereinafter, a method of controlling a binary / binary FFT / IFFT operation using the state information indexes generated by the same method as in FIGS. 9 to 12 will be described with reference to FIGS. 13 and 14.

도 13은 본 발명에 따른 2진(radix-2) FFT/IFFT 연산을 제어하는 방법을 나타낸 도면이다.13 is a diagram illustrating a method for controlling a binary-2 FFT / IFFT operation according to the present invention.

상기 도 13을 참조하면, 제1 스테이지에서 상술한 방법에 의해 생성된 상태 정보 인덱스들을 나타내는 상기 플래그 비트들은 상태 정보 플래그 저장 파일(1310)에 저장된다. 상기 플래그 비트들은 N 포인트 입력 데이터들에 대해 각각 2비트씩 논리합 연산된 결과이므로 N/2개의 값이 된다. 제1 스테이지에서 상기 값들은 각각 두 개씩의 복소 연산을 제어한다.Referring to FIG. 13, the flag bits indicating the state information indexes generated by the method described above in the first stage are stored in the state information flag storage file 1310. Since the flag bits are the result of performing an OR operation on each of the N point input data by 2 bits, the flag bits have N / 2 values. In the first stage, the values each control two complex operations.

예컨대, 첫번째 생성된 플래그 비트인 S #1은 입력값 x[0] 및 x[1]의 상태 값을 논리합 연산한 결과이므로, 상기 입력값 x[0] 및 x[1]의 복소 연산을 수행하는 제1 복소 연산(MULT #0) 및 제2 복소 연산(MULT #1)을 제어한다. 따라서, 상기 입력값 x[0] 및 x[1]이 모두 유효한 입력값이 아닐 경우(예컨대, 두 입력값의 상태값이 모두 0일 경우), 상기 x[0] 및 x[1]을 가지고 연산을 수행하는 상기 제1 복소 연산 및 제2 복소 연산에 대한 결과는 모두 0이 되므로 상기 연산을 수행할 필요가 없다. 따라서, 상기 연산 제어기(609)는 상기 제1 복소 연산 및 제2 복소 연산을 수행하지 않도록 제어한다.For example, the first generated flag bit S # 1 is a result of performing an OR operation on the state values of the input values x [0] and x [1], and thus performs a complex operation on the input values x [0] and x [1]. The first complex operation MULT # 0 and the second complex operation MULT # 1 are controlled. Thus, if both of the input values x [0] and x [1] are not valid input values (e.g., if the state values of both input values are 0), then x [0] and x [1] Since the results of the first complex operation and the second complex operation that perform the operation are both zero, there is no need to perform the operation. Accordingly, the operation controller 609 controls not to perform the first complex operation and the second complex operation.

즉, 상기 <수학식 1>에서 X0 및 X1을 각각 x[0] 및 x[1]이라고 하면, 상기 제1 스테이지에서 제1 복소 연산 및 제2 복소 연산의 결과값인 y[0] 및 y[1]은 각각 하기 <수학식 5>와 같이 계산된다.That is, if X 0 and X 1 are respectively [x [0] and x [1] in Equation 1, y [0] which is a result value of the first complex operation and the second complex operation in the first stage. And y [1] are respectively calculated as in Equation 5 below.

상기 <수학식 5>에서 상기 x[0] 및 x[1]이 모두 0일 경우, 상기 WN 값에 관계없이, y[0] 및 y[1]은 모두 0이 된다. 따라서, 상기 S #1이 0으로 설정되므로, 상기 두 연산(즉, 제1 복소 연산 및 제2 복소 연산)은 수행되지 않도록 제어된다. 그러나, 상기 x[0]와 x[1] 중에서 하나라도 0이 되지 않는다면, 상기 두 연산(즉, 제1 복소 연산 및 제2 복소 연산)은 모두 수행되어야 한다.When x [0] and x [1] are both 0 in Equation 5, y [0] and y [1] are all 0 regardless of the W N value. Therefore, since S # 1 is set to 0, the two operations (that is, the first complex operation and the second complex operation) are controlled not to be performed. However, if any one of x [0] and x [1] is not 0, both of the two operations (ie, the first complex operation and the second complex operation) must be performed.

마찬가지 방법으로, 두번째 플래그 비트인 S #2는 제3 복소 연산(즉, MULT #2) 및 제4 복소 연산(즉, MULT #3)을 제어하며, 마지막 플래그 비트인 S #(N/2)는 제(N-1) 복소 연산(즉, MULT #(N-2)) 및 제N 복소 연산(즉, MULT #(N-1))을 제어한다.In the same way, the second flag bit, S # 2, controls the third complex operation (ie, MULT # 2) and the fourth complex operation (ie, MULT # 3), and the last flag bit, S # (N / 2). Controls the (N-1) th complex operation (ie, MULT # (N-2)) and the Nth complex operation (ie, MULT # (N-1)).

동일한 방법으로 제2 스테이지에서 마지막 스테이지까지 수행된다. 예컨대, 제n 스테이지에서는 총 N/2n개의 플래그 비트가 생성되며, 상기 제n 스테이지의 갱신된 첫번째 플래그 비트인 새로운 S #1은 제1 복소 연산(즉, MULT #0) 내지 제2n 복소 연산(즉, MULT #(2n-1))의 연산 실행 여부를 제어하며, 마지막 플래그 비트(즉, S #(N/2n))는 제(N-2n+1) 복소 연산(즉, MULT #(N-2n)) 내지 제N 복소 연산(즉, MULT #(N-1))의 연산 실행 여부를 제어한다.In the same way, it is performed from the second stage to the last stage. For example, a total of N / 2 n flag bits are generated in the nth stage, and a new S # 1, which is the updated first flag bit of the nth stage, is a first complex operation (ie, MULT # 0) to a second n complex. Controls whether the operation (i.e. MULT # (2 n -1)) is performed, and the last flag bit (i.e. S # (N / 2 n )) is the (N-2 n +1) complex operation , MULT # (N-2 n )) to N- th complex operation (ie, MULT # (N-1)).

도 14는 본 발명에 따른 4진(radix-4) FFT/IFFT 연산을 제어하는 방법을 나타낸 도면이다.14 illustrates a method of controlling a radix-4 FFT / IFFT operation according to the present invention.

상기 도 14를 참조하면, 제1 스테이지에서 상술한 방법에 의해 생성된 상태 정보 인덱스를 나타내는 플래그 비트들은 상태 정보 플래그 파일(1410)에 저장된다. 상기 플래그 비트들은 N 포인트 입력 데이터들에 대해 각각 4비트씩 논리합 연산된 결과이므로 N/4개의 값이 된다. 제1 스테이지에서 상기 값들은 각각 4개씩의 복소 연산을 제어한다.Referring to FIG. 14, flag bits indicating the state information index generated by the method described above in the first stage are stored in the state information flag file 1410. Since the flag bits are the result of performing an OR operation on the N point input data by 4 bits each, the flag bits have N / 4 values. In the first stage, the values control four complex operations each.

예컨대, 첫번째 생성된 플래그 비트인 S #1은 입력값 x[0], x[1], x[2] 및 x[3]의 상태 값을 논리합 연산한 결과이므로, 상기 입력값 x[0], x[1], x[2] 및 x[3]의 복소 연산을 수행하는 제1 복소 연산(MULT #0), 제2 복소 연산(MULT #1), 제3 복소 연산(MULT #2) 및 제4 복소 연산(MULT #3)을 제어한다. 따라서, 상기 입력값 x[0], x[1], x[2] 및 x[3]이 모두 유효한 입력값이 아닐 경우(예컨대, 4개의 입력값의 상태값이 모두 0일 경우), 상기 x[0], x[1], x[2] 및 x[3]을 가지고 연산을 수행하는 상기 제1 복소 연산 내지 제4 복소 연산에 대한 결과는 모두 0이 되므로 상기 연산을 수행할 필요가 없다. 따라서, 상기 연산 제어기(609)는 상기 제1 복소 연산 내지 제4 복소 연산을 수행하지 않도록 제어한다.For example, the first generated flag bit S # 1 is a result of performing an OR operation on the state values of the input values x [0], x [1], x [2], and x [3], and thus the input value x [0]. the first complex operation (MULT # 0), the second complex operation (MULT # 1), and the third complex operation (MULT # 2), which perform a complex operation of x, x [1], x [2], and x [3]. And a fourth complex operation (MULT # 3). Therefore, when the input values x [0], x [1], x [2] and x [3] are not all valid input values (for example, when the state values of the four input values are all 0), The results of the first to fourth complex operations, which perform the operation with x [0], x [1], x [2], and x [3], are all zeros, so it is not necessary to perform the operation. none. Accordingly, the operation controller 609 controls not to perform the first to fourth complex operations.

즉, 상기 <수학식 2>에서 X0, X1, X2 및 X3이 각각 x[0], x[1], x[2] 및 x[3]이라고 하면, 상기 제1 스테이지에서 제1 복소 연산 내지 제4 복소 연산의 결과값인 y[0], y[1], y[2], y[3]은 각각 하기 <수학식 6>와 같이 계산된다.That is, if X 0 , X 1 , X 2 and X 3 in Equation 2 are x [0], x [1], x [2] and x [3], respectively, Y [0], y [1], y [2], and y [3], which are the result of the first to fourth complex operations, are calculated as shown in Equation 6 below.

상기 <수학식 6>에서 상기 x[0], x[1], x[2] 및 x[3]이 모두 0일 경우, 상기 WN 값에 관계없이, y[0], y[1], y[2] 및 y[3]은 모두 0이 된다. 따라서, 상기 S #1이 0으로 설정되므로, 상기 4개의 연산(즉, 제1 복소 연산 내지 제4 복소 연산)은 수행되지 않도록 제어된다. 그러나, 상기 x[0] 내지 x[3] 중에서 하나라도 0이 되지 않는다면, 상기 4개의 연산(즉, 제1 복소 연산 내지 제4 복소 연산)은 모두 수행되어야 한다.In the above Equation 6, when x [0], x [1], x [2] and x [3] are all 0, regardless of the value of W N , y [0], y [1] , y [2] and y [3] are all zeros. Therefore, since S # 1 is set to 0, the four operations (that is, the first to fourth complex operations) are controlled not to be performed. However, if any one of x [0] to x [3] does not become zero, all four operations (ie, first to fourth complex operations) must be performed.

마찬가지 방법으로, 두번째 플래그 비트인 S #2는 제5 복소 연산(즉, MULT #4) 내지 제8 복소 연산(즉, MULT #7)을 제어하며, 마지막 플래그 비트인 S #(N/4)는 제(N-3) 복소 연산(즉, MULT #(N-4)) 및 제N 복소 연산(즉, MULT #(N-1))을 제어한다.Similarly, the second flag bit, S # 2, controls the fifth complex operation (ie, MULT # 4) to eighth complex operation (ie, MULT # 7), and the last flag bit, S # (N / 4). Controls the (N-3) th complex operation (ie, MULT # (N-4)) and the Nth complex operation (ie, MULT # (N-1)).

동일한 방법으로 제2 스테이지에서 마지막 스테이지까지 수행된다. 예컨대, 제n 스테이지에서는 총 N/4n개의 상태 플래그 비트가 생성되며, 상기 제n 스테이지의 갱신된 첫번째 플래그 비트인 새로운 S #1은 제1 복소 연산(즉, MULT #0) 내지 제4n 복소 연산(즉, MULT #(4n-1))의 연산 실행 여부를 제어하며, 마지막 상태 플래그 비트(즉, S #(N/4n))는 제(N-4n+1) 복소 연산(즉, MULT #(N-4n)) 내지 제N 복소 연산(즉, MULT #(N-1))의 연산 실행 여부를 제어한다.In the same way, it is performed from the second stage to the last stage. For example, a total of N / 4 n status flag bits are generated in the nth stage, and a new S # 1, which is the updated first flag bit of the nth stage, is a first complex operation (ie, MULT # 0) to 4th n. Controls whether a complex operation (i.e. MULT # (4 n -1)) is performed, and the last state flag bit (i.e. S # (N / 4 n )) is a (N-4 n +1) complex operation (I.e., MULT # (N-4n)) to N- th complex operation (i.e., MULT # (N-1)).

이하, 상술한 방법에 의해 FFT/IFFT 연산이 처리되는 과정을 도 15를 참조하여 설명한다.Hereinafter, a process of processing an FFT / IFFT operation by the above-described method will be described with reference to FIG. 15.

도 15는 본 발명에 따른 FFT/IFFT 연산 절차를 나타낸 흐름도이다.15 is a flowchart illustrating an FFT / IFFT calculation procedure according to the present invention.

상기 도 15를 참조하면, 먼저 1501 단계에서 FFT/IFFT의 N 포인트로 입력 데이터들이 입력된다. 1503 단계에서 스테이지 값을 의미하는 n을 1로 설정하고, 매 스테이지의 연산이 수행될 때마다 상기 n값을 1씩 증가시킨다. 즉, 상기 n 값은 스테이지를 구분하는 인덱스이다.Referring to FIG. 15, first, input data are input to N points of the FFT / IFFT in operation 1501. In step 1503, n, which means a stage value, is set to 1, and the n value is increased by 1 every time an operation of each stage is performed. That is, the n value is an index for distinguishing stages.

1505단계의 제1 스테이지에서, 상기 입력된 N 개의 입력 데이터들은 본 발명에 따라 유효 원소 여부를 판단하여 상기 도 7에서와 같이 상태 정보 인덱스를 플래그 비트 파일에 저장하게 된다. 예컨대, 상기 N개의 입력 데이터들 중 소정의 포인트에서의 입력 데이터가 유효 원소일 경우에는 상기 상태 정보 인덱스를 1로 저장하고, 유효 원소가 아닐 경우에는 상기 상태 정보 인덱스를 0으로 저장한다. 즉, 상기 상태 정보 인덱스들은 1비트의 플래그 비트 형태로서 상기 N개의 입력 데이터에 따른 N비트의 플래그 비트들이 상기 플래그 비트 파일에 저장된다. 또한, 상기 도 9 내지 도 11에서와 같이 상태 정보 인덱스들을 논리합 연산하여 N/2 또는 N/4개의 새로운 상태 정보 인덱스들로 갱신한다.In the first stage of step 1505, the input N pieces of input data determine whether an element is valid and store the state information index in the flag bit file as shown in FIG. For example, when the input data at a predetermined point among the N input data is an effective element, the state information index is stored as 1, and when the input data is not an effective element, the state information index is stored as 0. That is, the state information indexes are in the form of flag bits of 1 bit, and N bits of flag bits according to the N input data are stored in the flag bit file. In addition, as shown in FIGS. 9 to 11, the OR is updated to N / 2 or N / 4 new state information indexes.

1507 단계에서 상기 저장된 인덱스 상태 정보에 따라 제1 스테이지 연산이 수행된다. 이때, 종래와 같이 모든 포인트에 대한 연산을 수행하는 것이 아니라 본 발명에 따른 방법에 의해 상기 상태 정보 인덱스에 따라 연산을 제어한다. 즉, 유효 원소가 포함된 포인트들에 대해서만 연산을 수행하므로 연산 횟수를 줄이게 되며, 결과적으로 연산 속도가 빨라진다.In operation 1507, a first stage operation is performed according to the stored index state information. In this case, the operation is controlled according to the state information index by the method according to the present invention rather than performing operations on all points as in the prior art. That is, since the operation is performed only on the points including the effective element, the number of operations is reduced, and as a result, the operation speed is increased.

1509 단계에서는 입력 인덱스를 상술한 바와 같이 논리합 연산하여 다음 스테이지의 연산을 제어하기 위한 새로운 상태 인덱스 값으로 갱신된다.In operation 1509, the input index is ORed as described above to be updated with a new state index value for controlling the operation of the next stage.

1511 단계에서는 상기 n 값(즉, 스테이지 인덱스)을 확인하여 모든 스테이지에 대한 연산이 끝났는 지 판단한다. 만약, 최종 스테이지(즉, log2N 또는 log4N)의 연산이 끝나지 않았을 경우, 상기 스테이지 인덱스 값 n을 1만큼 증가시켜, 상기 1507 및 1509의 절차를 반복하여 수행한다.In step 1511, the value n (that is, the stage index) is checked to determine whether the operation for all the stages is completed. If the operation of the last stage (ie, log 2 N or log 4 N) is not finished, the stage index value n is increased by 1, and the procedures of 1507 and 1509 are repeated.

상기 1511 단계의 판단결과, 모든 스테이지에 대한 연산이 종료되었을 경우, 1515단계에서 상기 FFT/IFFT의 최종 결과를 출력한다.As a result of the determination in step 1511, when the calculation for all stages is finished, the final result of the FFT / IFFT is output in step 1515.

한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by the equivalents of the claims.

상술한 바와 같은 본 발명은, 희소성이 큰 입력 원소를 갖는 FFT/IFFT 연산에서 불필요한 연산 과정을 생략함으로써 연산 횟수를 줄여 연산 시간을 단축하며, 그에 따라 동작 전력을 줄일 수 있게 되는 장점이 있다. 또한, 상기 FFT/IFFT의 크기가 크며, 입력 원소의 희소성이 클 수록 동작 전력 감소 효과가 더욱 크게 나타난다.As described above, the present invention has the advantage of reducing the operation time by reducing the number of operations by omitting unnecessary calculation processes in the FFT / IFFT operation having a high sparse input element, thereby reducing the operating power. In addition, the larger the size of the FFT / IFFT, the greater the scarcity of the input element, the greater the power reduction effect.

도 1은 OFDM/OFDMA 통신 시스템을 개략적으로 도시한 도면. 1 schematically illustrates an OFDM / OFDMA communication system.

도 2는 2진(radix-2) FFT/IFFT에서의 연산 흐름을 나타낸 도면.FIG. 2 shows arithmetic flow in binary-2 FFT / IFFT. FIG.

도 3은 2진(radix-2) FFT/IFFT에서 각 원소에 대한 복소 연산을 나타낸 도면.3 illustrates a complex operation for each element in a binary-2 FFT / IFFT.

도 4는 4진(radix-4) FFT/IFFT에서의 연산 흐름을 나타낸 도면.FIG. 4 shows the flow of computation in radix-4 FFT / IFFT. FIG.

도 5는 4진(radix-4) FFT/IFFT에서 각 원소에 대한 복소 연산을 나타낸 도면.5 illustrates a complex operation for each element in radix-4 FFT / IFFT.

도 6은 종래 기술에 따른 FFT/IFFT 연산 장치의 구성을 나타낸 블록도.6 is a block diagram showing a configuration of a FFT / IFFT computing device according to the prior art.

도 7은 본 발명에 따른 FFT/IFFT 연산 장치의 구성을 나타낸 블록도.7 is a block diagram showing a configuration of an FFT / IFFT computing device according to the present invention.

도 8은 본 발명의 실시예에 따른 상태 정보 인덱스의 플래그 비트 삽입 방법을 나타낸 도면.8 illustrates a method for inserting flag bits of a state information index according to an embodiment of the present invention.

도 9는 본 발명의 실시예에 따른 2진(radix-2) FFT/IFFT에서의 플래그 비트 갱신 방법의 개념을 나타낸 도면.FIG. 9 illustrates a concept of a flag bit update method in a binary-2 FFT / IFFT according to an embodiment of the present invention. FIG.

도 10은 본 발명의 실시예에 따른 4진(radix-4) FFT/IFFT에서의 플래그 비트 갱신 방법의 개념을 나타낸 도면.10 illustrates a concept of a flag bit update method in a radix-4 FFT / IFFT according to an embodiment of the present invention.

도 11은 본 발명의 실시예에 따른 2진(radix-2) FFT/IFFT에서의 플래그 비트 갱신 방법의 실제 구현을 나타낸 도면.FIG. 11 illustrates an actual implementation of a flag bit update method in a binary-2 FFT / IFFT according to an embodiment of the present invention. FIG.

도 12는 본 발명의 실시예에 따른 4진(radix-4) FFT/IFFT에서의 플래그 비트 갱신 방법의 실제 구현을 나타낸 도면.12 illustrates an actual implementation of a flag bit update method in a radix-4 FFT / IFFT according to an embodiment of the present invention.

도 13은 본 발명에 따른 2진(radix-2) FFT/IFFT 연산을 제어하는 방법을 나타낸 도면.13 illustrates a method of controlling a radix-2 FFT / IFFT operation in accordance with the present invention.

도 14는 본 발명에 따른 4진(radix-4) FFT/IFFT 연산을 제어하는 방법을 나타낸 도면.14 illustrates a method of controlling a radix-4 FFT / IFFT operation in accordance with the present invention.

도 15는 본 발명에 따른 FFT/IFFT 연산 절차를 나타낸 흐름도.15 is a flowchart illustrating an FFT / IFFT calculation procedure in accordance with the present invention.

Claims (20)

복수의 입력 포인트를 통해 데이터들을 입력받아 복수의 출력 포인트를 통해 푸리에 변환 연산된 데이터들을 출력하는 고속 푸리에 변환에 있어서,In the fast Fourier transform that receives data through a plurality of input points and outputs Fourier transformed data through a plurality of output points, 상기 복수의 입력 포인트를 통해 입력된 각각의 입력 데이터들의 상기 연산에 미치는 유효성 여부에 따라 상태 정보 인덱스를 설정하여 저장하는 과정과,Setting and storing a state information index according to whether validity of each input data input through the plurality of input points affects the operation; 상기 고속 푸리에 변환 연산의 매 연산 스테이지마다 상기 저장된 상태 정보 인덱스에 따라 해당 포인트의 연산 여부를 제어하는 과정과,Controlling whether or not a corresponding point is calculated according to the stored state information index at every operation stage of the fast Fourier transform operation; 상기 상태 정보 인덱스를 상기 매 연산 스테이지마다 새로운 상태 정보 인덱스로 갱신하는 과정을 포함하는 고속 푸리에 변환 연산 방법.And updating the state information index with a new state information index for each operation stage. 제1항에 있어서,The method of claim 1, 상기 상태 정보 인덱스는 상기 복수의 입력 포인트로 입력되는 각각의 입력 데이터들의 최우선 비트에 추가하여 구성함을 특징으로 하는 고속 푸리에 변환 연산 방법.And the state information index is configured in addition to the most significant bit of each input data input to the plurality of input points. 제1항에 있어서,The method of claim 1, 상기 상태 정보 인덱스는 1 비트의 이진 데이터로 표현함을 특징으로 하는 고속 푸리에 변환 연산 방법.And the state information index is represented by one bit of binary data. 제3항에 있어서,The method of claim 3, 상기 상태 정보 인덱스는 상기 상태 정보 인덱스와 매칭되는 입력 데이터의 값이 0일 경우, 0으로 설정하고, 상기 입력 데이터의 값이 0이 아닐 경우, 1로 설정함을 특징으로 하는 고속 푸리에 변환 연산 방법.The state information index is set to 0 when the value of the input data matched with the state information index is 0, and is set to 1 when the value of the input data is not 0. . 제1항에 있어서,The method of claim 1, 상기 고속 푸리에 연산은 2진(radix-2) 연산 및 4진(radix-4) 연산 중에서 선택된 어느 하나로 연산함을 특징으로 하는 고속 푸리에 변환 연산 방법.The fast Fourier operation is a fast Fourier transform operation method characterized in that for performing any one selected from a binary (radix-2) operation and a radix-4 operation (radix-4) operation. 복수의 입력 포인트를 통해 데이터들을 입력받아 복수의 출력 포인트를 통해 역푸리에 변환 연산된 데이터들을 출력하는 고속 역 푸리에 변환에 있어서,In the fast inverse Fourier transform that receives the data through a plurality of input points and outputs the inverse Fourier transform operation through a plurality of output points, 상기 복수의 입력 포인트를 통해 입력된 각각의 입력 데이터들의 상기 연산에 미치는 유효성 여부에 따라 상태 정보 인덱스를 설정하여 저장하는 과정과,Setting and storing a state information index according to whether validity of each input data input through the plurality of input points affects the operation; 상기 고속 역 푸리에 변환 연산의 매 연산 스테이지마다 상기 저장된 상태 정보 인덱스에 따라 해당 포인트의 연산 여부를 제어하는 과정과,Controlling whether or not a corresponding point is calculated according to the stored state information index at every operation stage of the fast inverse Fourier transform operation; 상기 상태 정보 인덱스를 상기 매 연산 스테이지마다 새로운 상태 정보 인덱스로 갱신하는 과정을 포함하는 고속 역 푸리에 변환 연산 방법.And updating the state information index with a new state information index for each operation stage. 제6항에 있어서,The method of claim 6, 상기 상태 정보 인덱스는 상기 복수의 입력 포인트로 입력되는 각각의 입력 데이터들의 최우선 비트에 추가하여 구성함을 특징으로 하는 고속 역 푸리에 변환 연산 방법.And the state information index is configured in addition to the most significant bit of each input data input to the plurality of input points. 제6항에 있어서,The method of claim 6, 상기 상태 정보 인덱스는 1 비트의 이진 데이터로 표현함을 특징으로 하는 고속 역 푸리에 변환 연산 방법.And the state information index is represented by one bit of binary data. 제8항에 있어서,The method of claim 8, 상기 상태 정보 인덱스는 상기 상태 정보 인덱스와 매칭되는 입력 데이터의 값이 0일 경우, 0으로 설정하고, 상기 입력 데이터의 값이 0이 아닐 경우, 1로 설정함을 특징으로 하는 고속 역 푸리에 변환 연산 방법.The state information index is set to 0 when the value of the input data matching the state information index is 0, and is set to 1 when the value of the input data is not 0. The fast inverse Fourier transform operation Way. 제6항에 있어서,The method of claim 6, 상기 고속 역 푸리에 변환 연산은 2진(radix-2) 연산 및 4진(radix-4) 연산 중에서 선택된 어느 하나로 연산함을 특징으로 하는 고속 역 푸리에 변환 연산 방법.The fast inverse Fourier transform operation is performed by any one selected from a binary (radix-2) operation and a radix-4 operation. 복수의 입력 포인트를 통해 데이터들을 입력받아 복수의 출력 포인트를 통해 푸리에 변환 연산된 데이터들을 출력하는 고속 푸리에 변환에 있어서,In the fast Fourier transform that receives data through a plurality of input points and outputs Fourier transformed data through a plurality of output points, 상기 복수의 입력 포인트를 통해 입력된 각각의 입력 데이터들의 상기 연산에 미치는 유효성 여부에 따라 상태 정보 인덱스를 설정하여 저장하는 플래그 비트 파일과,A flag bit file for setting and storing a state information index according to whether validity of each input data input through the plurality of input points affects the operation; 상기 고속 푸리에 변환 연산의 매 연산 스테이지마다 상기 플래그 비트 파일에 저장된 상태 정보 인덱스에 따라 해당 포인트의 연산 여부를 제어하는 연산 제어기를 포함하는 고속 푸리에 변환 연산 장치.And a calculation controller for controlling whether or not a corresponding point is calculated according to the state information index stored in the flag bit file at every operation stage of the fast Fourier transform operation. 제11항에 있어서,The method of claim 11, 상기 연산 제어기의 제어에 따라 소정의 스테이지에서 상기 복수의 입력 포인트에 저장된 각각의 입력 데이터들로부터 소정의 포인트에 저장된 입력 데이터들을 선택하여 출력시키는 다중화기를 더 포함함을 특징으로 하는 고속 푸리에 변환 연산 장치.And a multiplexer for selecting and outputting input data stored at a predetermined point from respective input data stored at the plurality of input points at a predetermined stage under the control of the operation controller. . 제12항에 있어서,The method of claim 12, 상기 선택된 입력 데이터들을 복소 연산하여 출력시키는 복소 곱셈 및 덧셈 연산기를 더 포함함을 특징으로 하는 고속 푸리에 변환 연산 장치.And a complex multiplication and addition operator configured to complex-operate and output the selected input data. 제13항에 있어서,The method of claim 13, 상기 복소 연산된 소정의 스테이지에서의 출력값을 다음 스테이지의 입력 데이터로 사용하기 위하여 임시 저장하는 스테이지 갱신 메모리를 더 포함함을 특징으로 하는 고속 푸리에 변환 연산 장치.And a stage update memory for temporarily storing the output value of the complex stage in order to use it as input data of the next stage. 제11항에 있어서,The method of claim 11, 상기 고속 푸리에 변환 연산은 2진(radix-2) 연산 및 4진(radix-4) 연산 중에서 선택된 어느 하나로 연산함을 특징으로 하는 고속 역 푸리에 변환 연산 장치.The fast Fourier transform operation is performed by any one selected from a binary (radix-2) operation and a radix-4 operation. 복수의 입력 포인트를 통해 데이터들을 입력받아 복수의 출력 포인트를 통해 푸리에 변환 연산된 데이터들을 출력하는 고속 푸리에 변환에 있어서,In the fast Fourier transform that receives data through a plurality of input points and outputs Fourier transformed data through a plurality of output points, 상기 복수의 입력 포인트를 통해 입력된 각각의 입력 데이터들의 상기 연산에 미치는 유효성 여부에 따라 상태 정보 인덱스를 설정하여 저장하는 플래그 비트 파일과,A flag bit file for setting and storing a state information index according to whether validity of each input data input through the plurality of input points affects the operation; 상기 고속 푸리에 변환 연산의 매 연산 스테이지마다 상기 플래그 비트 파일에 저장된 상태 정보 인덱스에 따라 해당 포인트의 연산 여부를 제어하는 연산 제어기를 포함하는 고속 푸리에 변환 연산 장치.And a calculation controller for controlling whether or not a corresponding point is calculated according to the state information index stored in the flag bit file at every operation stage of the fast Fourier transform operation. 제16항에 있어서,The method of claim 16, 상기 연산 제어기의 제어에 따라 소정의 스테이지에서 상기 복수의 입력 포인트에 저장된 각각의 입력 데이터들로부터 소정의 포인트에 저장된 입력 데이터들을 선택하여 출력시키는 다중화기를 더 포함함을 특징으로 하는 고속 푸리에 변환 연산 장치.And a multiplexer for selecting and outputting input data stored at a predetermined point from respective input data stored at the plurality of input points at a predetermined stage under the control of the operation controller. . 제17항에 있어서,The method of claim 17, 상기 선택된 입력 데이터들을 복소 연산하여 출력시키는 복소 곱셈 및 덧셈 연산기를 더 포함함을 특징으로 하는 고속 푸리에 변환 연산 장치.And a complex multiplication and addition operator configured to complex-operate and output the selected input data. 제18항에 있어서,The method of claim 18, 상기 복소 연산된 소정의 스테이지에서의 출력값을 다음 스테이지의 입력 데이터로 사용하기 위하여 임시 저장하는 스테이지 갱신 메모리를 더 포함함을 특징으로 하는 고속 푸리에 변환 연산 장치.And a stage update memory for temporarily storing the output value of the complex stage in order to use it as input data of the next stage. 제16항에 있어서,The method of claim 16, 상기 고속 푸리에 변환 연산은 2진(radix-2) 연산 및 4진(radix-4) 연산 중에서 선택된 어느 하나로 연산함을 특징으로 하는 고속 역 푸리에 변환 연산 장치.The fast Fourier transform operation is performed by any one selected from a binary (radix-2) operation and a radix-4 operation.
KR1020030055889A 2003-08-12 2003-08-12 Apparatus for power saving of fft and ifft operation with sparse elements and method thereof KR20050017065A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030055889A KR20050017065A (en) 2003-08-12 2003-08-12 Apparatus for power saving of fft and ifft operation with sparse elements and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030055889A KR20050017065A (en) 2003-08-12 2003-08-12 Apparatus for power saving of fft and ifft operation with sparse elements and method thereof

Publications (1)

Publication Number Publication Date
KR20050017065A true KR20050017065A (en) 2005-02-21

Family

ID=37226849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030055889A KR20050017065A (en) 2003-08-12 2003-08-12 Apparatus for power saving of fft and ifft operation with sparse elements and method thereof

Country Status (1)

Country Link
KR (1) KR20050017065A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009149654A1 (en) * 2008-06-09 2009-12-17 慧帝科技(深圳)有限公司 Fast fourier transform/inverse fast fourier transform operation core

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009149654A1 (en) * 2008-06-09 2009-12-17 慧帝科技(深圳)有限公司 Fast fourier transform/inverse fast fourier transform operation core
US8917588B2 (en) 2008-06-09 2014-12-23 Silicon Motion, Inc. Fast Fourier transform and inverse fast Fourier transform (FFT/IFFT) operating core

Similar Documents

Publication Publication Date Title
Kwon et al. Multi-carrier PAP reduction method using sub-optimal PTS with threshold
US7583755B2 (en) Systems, methods, and apparatus for mitigation of nonlinear distortion
US7609616B2 (en) Sparse channel estimation for orthogonal frequency division multiplexed signals
KR100715914B1 (en) Apparatus and method for reducing peak to average power ratio in ofdm communication system
Redfern Receiver window design for multicarrier communication systems
EP2299625A1 (en) Signaling method in an OFDM multiple access system
CN101374125B (en) Method and apparatus for reducing PAR
US9014284B2 (en) Peak-to-average power ratio (PAR) reduction based on active-set tone reservation
JP5168584B2 (en) Signal generating apparatus and method in wireless transmission system and program thereof
US20020094049A1 (en) Frame synchronization in multicarrier transmission systems
Ryu et al. A new PAPR reduction scheme: SPW (subblock phase weighting)
WO2008036727A1 (en) Calculating peak-to-average power ratio reduction symbols for multi-carrier modulated signals using a gradient-descent approach
WO2005099145A1 (en) Transmitter and receiver for fast frequency hopping based on a cyclic frequency hopping pattern in an orthogonal frequency division multiplexing system
US11876661B2 (en) Systems and methods for shaped single carrier orthogonal frequency division multiplexing with low peak to average power ratio
WO2021090716A1 (en) Hybrid reference signal with low papr for dft-s-ofdm
US20020159550A1 (en) DMT peak reduction without affecting transmission signal
US6414936B1 (en) Method of estimating carrier frequency offset in an orthogonal frequency division multiplexing system
KR20050017065A (en) Apparatus for power saving of fft and ifft operation with sparse elements and method thereof
CN109067691B (en) OFDM data processing method and device
US20020167894A1 (en) Technique for continuous OFDM modulation
CN112887251B (en) Low-complexity PAPR (Peak to average Power ratio) suppression method in OFDM (orthogonal frequency division multiplexing) transmission system
Yu et al. An enhanced TKM-TR method for PAPR reduction of OFDM signals with peak regrowth and peak residual reduced
CN114666190B (en) Channel estimation method based on improved time domain interpolation
US20240097956A1 (en) Projected signals using discrete prolate spheroidal sequences
Wu et al. Low Complexity Time Domain Interleaved Partitioning Partial Transmit Sequence Scheme for Peak-to-Average Power Ratio Reduction of Orthogonal Frequency Division Multiplexing Systems

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination