KR101002771B1 - 푸리에 변환 장치 및 방법 - Google Patents
푸리에 변환 장치 및 방법 Download PDFInfo
- Publication number
- KR101002771B1 KR101002771B1 KR1020080101275A KR20080101275A KR101002771B1 KR 101002771 B1 KR101002771 B1 KR 101002771B1 KR 1020080101275 A KR1020080101275 A KR 1020080101275A KR 20080101275 A KR20080101275 A KR 20080101275A KR 101002771 B1 KR101002771 B1 KR 101002771B1
- Authority
- KR
- South Korea
- Prior art keywords
- complex
- sequence
- output
- value
- values
- 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/2626—Arrangements specific to the transmitter only
- H04L27/2627—Modulators
- H04L27/2628—Inverse Fourier transform modulators, e.g. inverse fast Fourier transform [IFFT] or inverse discrete Fourier transform [IDFT] modulators
-
- 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)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Discrete Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (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
Description
본 발명은 푸리에 변환 장치 및 방법에 관한 것이다. 특히 본 발명은 고속 푸리에 변환(Fast Fourier Transform, FFT)를 이용한 푸리에 변환 장치 및 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-071-03, 과제명: 초고속 멀티미디어 전송 UWB 솔루션 개발].
직교 주파수 분할 다중(Orthogonal Frequency Division Multiplexing, 이하에서는 'OFDM'이라고도 함) 방식은 고속 전송률을 가지는 데이터를 낮은 전송률을 가지는 많은 수의 데이터열로 나누고, 이를 다수의 부반송파를 사용하여 동시에 전송하는 방식이다. 이때 부반송파를 만들어 데이터를 싣는 과정에 필요한 블록이 고속 푸리에 변환 프로세서(Fast Fourier Transform Processor, 이하에서는 'FFT 프로세서'라고도 함)이다.
이와 같은 OFDM 방식을 따르는 시스템에서 FFT 프로세서는 하드웨어가 가장 많이 필요한 블록중의 하나이기 때문에 하드웨어용량, 전력소모, 동작속도 측면에서 효율적인 구현이 필요하다.
하지만 다중대역 직교 주파수 분할 다중(Multi-Band Orthogonal Frequency Division Multiplexing, MB-OFDM) 방식을 따르는 초광대역(Ultra WideBand, UWB) 시스템에서 FFT 프로세서가 시스템에서 요구되는 전송속도를 만족하기 위해서는 병렬 구조로 구현되어야 하기 때문에 많은 하드웨어가 요구되며, 이에 따라 전력소모가 많은 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 데이터열에 대한 푸리에 변환을 위해 필요한 하드웨어 용량을 줄인 푸리에 변환 장치 및 푸리에 변환에 따른 전력소모를 줄일 수 있는 푸리에 변환 방법을 제공하는 것이다.
본 발명의 특징에 따른 푸리에 변환 방법은 2n개의 복소수값을 포함하는 입력 시퀀스를 푸리에 변환하는 방법으로써, 미리 저장된 검색 테이블을 바탕으로 입력 시퀀스에 포함된 2n개의 복소수값에 따라 2n개의 복소수값을 포함하는 제1 시퀀스를 생성하는 단계, 그리고 제1 시퀀스를 바탕으로 (n-m)번의 버터플라이 연산을 수행하여 2n개의 복소수값을 포함하는 출력 시퀀스를 생성하는 단계를 포함하고, 이때 m은 n보다 작고, 1보다 큰 양의 정수이다.
이때 제1 시퀀스를 생성하는 단계는 제1 시퀀스에 포함된 2n개의 복소수값을 복수 개의 복소수값 그룹으로 분할하는 단계, 그리고 복수 개의 복소수값 그룹에 따라 검색 테이블에서 제1 시퀀스에 포함된 2n개의 복소수값의 각각을 검색하는 단계를 포함한다.
또한 복수 개의 복소수값 그룹은 제1 그룹, 제2 그룹, 제3 그룹 및 제4 그룹을 포함하고, 검색하는 단계는 검색 테이블에서 제1 그룹에 포함된 제1 복소수값, 제2 그룹에 포함된 제2 복소수값, 제3 그룹에 포함된 제3 복소수값 및 제4 그룹에 포함된 제4 복소수값에 대응하는 제5 복소수값을 검색한다.
본 발명의 다른 특징에 따른 푸리에 변환 장치는 2n개의 복소수값을 포함하는 입력 시퀀스를 푸리에 변환하는 장치로써, 제1 스테이지부 및 복수 개의 스테이지부를 포함한다. 제1 스테이지부는 미리 저장된 검색 테이블을 바탕으로 입력 시퀀스로부터 입력 시퀀스를 m번 버터플라이 연산한 결과에 대응하는 제1 시퀀스를 출력한다. 복수 개의 스테이지부는 제1 시퀀스를 바탕으로 (n-m)번 버터플라이 연산을 수행하여 출력 시퀀스를 출력한다. 이때 n 및 m은 양의 정수이다.
이때 제1 시퀀스는 복수 개의 복소수값을 포함하고, 제1 스테이지부는 테이블 저장부, 시퀀스 분배부 및 시퀀스 출력부를 포함한다. 테이블 저장부는 복수 개의 입력 복소수값에 대응하는 출력 복소수값에 대한 정보를 포함하는 검색 테이블을 저장한다. 시퀀스 분배부는 입력 시퀀스에 포함된 2n개의 복소수값을 미리 정해진 순서에 따라 복수 개의 복소수값 그룹으로 분할한다. 시퀀스 출력부는 복수 개의 복소수값 그룹을 바탕으로 검색 테이블에서 제1 시퀀스에 포함된 복수 개의 복소수값의 각각을 검색하여 제1 시퀀스를 출력한다.
또한 복수 개의 복소수값 그룹의 각각은 적어도 하나 이상의 복소수값을 포함하고, 제1 스테이지부는 복수 개의 복소수값 그룹에 각각 대응하는 복수 개의 출력 제어부를 더 포함한다.
또한 복수 개의 출력 제어부 중 어느 하나의 출력 제어부는 시퀀스 분배부로 부터 복수 개의 복소수값 그룹 중 어느 하나의 복소수값 그룹을 수신하고, 복소수값 그룹에 포함된 복소수값을 미리 정해진 클럭에 하나씩 출력한다.
또한 복수 개의 스테이지부 중 어느 하나에 해당하는 제2 스테이지부는 저장부 및 연산부를 포함한다. 저장부는 제2 스테이지부에 입력되는 복수 개의 복소수값 중 적어도 하나 이상의 복소수값을 저장한다. 연산부는 저장부에 저장된 복소수값 및 제2 스테이지부에 입력되는 복수 개의 복소수값을 바탕으로 미리 정해진 버터플라이 연산을 수행한다.
본 발명의 특징에 따르면, 미리 저장된 검색 테이블을 이용하여 일부의 버터플라이 연산을 대신함으로써 푸리에 변환 장치의 하드웨어 용량을 줄일 수 있고, 푸리에 변환 장치의 전력 소모를 줄일 수 있다.
또한 본 발명의 특징에 따르면, 검색 테이블을 이용하면 실제 계산이 이루어지지 않기 때문에 푸리에 변환 장치의 동작 속도가 빨라지고, 버터플라이 연산 전에 수행하는 양자화를 생략할 수 있기 때문에 양자화 에러나 반올림 에러가 줄어들어 푸리에 변환 장치의 성능을 향상시킬 수 있습니다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설 명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이제 도면을 참고하여 본 발명의 실시예에 따른 푸리에 변환 장치 및 방법에 대해 설명한다.
먼저 도 1을 참고하여 종래의 푸리에 변환 장치에 대해 설명한다.
도 1은 종래의 푸리에 변환 장치를 도시한 도면이다.
도 1에 도시된 바와 같이, 종래의 푸리에 변환 장치(100)는 시간 영역의 입력 시퀀스(Input Sequence)를 고속 푸리에 변환(Fast Fourier Transform, 이하에서는 'FFT'라고도 함)하여 주파수 영역의 출력 시퀀스(Output Sequence)를 출력하고, 제1 스테이지부(110), 제2 스테이지부(120), 제1 회전인자 적용부(130), 제3 스테이지부(140), 제4 스테이지부(150), 제2 회전인자 적용부(160) 및 제5 스테이지부(170)를 포함한다. 이때 입력 시퀀스는 32개의 복소수값을 포함하고, 푸리에 변환 장치(100)는 32개의 복소수값을 FFT하여 32개의 복소수값을 포함하는 출력 시퀀스를 출력한다.
제1 스테이지부(110)는 입력 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제1 연산 시퀀스를 출력하고, 제1 저장부(111) 및 제1 연산부(113)를 포함한다. 이때 제1 저장부(111)는 16개의 복소수값을 저장할 수 있다.
제2 스테이지부(120)는 제1 연산 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제2 연산 시퀀스를 출력하고, 제2 저장부(121) 및 제2 연산부(123)를 포함한다. 이때 제2 저장부(121)는 8개의 복소수값을 저장할 수 있다.
제1 회전인자 적용부(130)는 제2 연산 시퀀스에 포함된 32개의 복소수값에 대해 제1 회전인자를 적용하여 32개의 복소수값을 포함하는 제1 회전인자 적용 시퀀스를 출력한다.
제3 스테이지부(140)는 제1 회전인자 적용 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제3 연산 시퀀스를 출력하고, 제3 저장부(141) 및 제3 연산부(143)를 포함한다. 이때 제3 저장부(141)는 4개의 복소수값을 저장할 수 있다.
제4 스테이지부(150)는 제3 연산 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제4 연산 시퀀스를 출력하고, 제4 저장부(151) 및 제4 연산부(153)를 포함한다. 이때 제4 저장부(151)는 2개의 복소수값을 저장할 수 있다.
제2 회전인자 적용부(160)는 제4 연산 시퀀스에 포함된 32개의 복소수값에 대해 제2 회전인자를 적용하여 32개의 복소수값을 포함하는 제2 회전인자 적용 시퀀스를 출력한다.
제5 스테이지부(170)는 제2 회전인자 적용 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 출력 시퀀스를 출력하고, 제5 저장부(171) 및 제5 연산부(173)를 포함한다. 이때 제5 저장부(171)는 1개의 복소수값을 저장할 수 있다.
다음은 도 2를 참고하여 종래의 푸리에 변환 장치 중 제1 스테이지부 및 제2 스테이지부의 버터플라이 연산 방법에 대해 설명한다.
도 2는 종래의 푸리에 변환 장치의 버터플라이 연산 방법을 도시한 도면이다.
도 2에 도시된 바와 같이, 먼저, 푸리에 변환 장치(100)가 32개의 복소수값을 포함하는 입력 시퀀스를 수신한다. 이때 입력 시퀀스에 포함된 32개의 복소수값의 각각은 수학식 1을 따른다.
이때 제1 스테이지부(110)에 입력된 입력 시퀀스에 포함된 32개의 복소수값의 각각은 수학식 2를 따를 수 있다.
입력 시퀀스에 포함된 32개의 복소수값이 수학식 2를 따르는 경우, A(n), B(n), C(n) 및 D(n)의 각각은 수학식 3을 따른다.
다음, 제1 스테이지부(110)는 입력 시퀀스에 포함된 32개의 복소수값을 바탕으로 수학식 4에 따라 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제1 연산 시퀀스를 출력한다.
이때 A(n)′, B(n)′, C(n)′ 및 D(n)′의 각각은 수학식 3을 바탕으로 수학식 5와 같이 나타낼 수 있다.
이후, 제2 스테이지부(120)는 제1 연산 시퀀스에 포함된 32개의 복소수값을 바탕으로 수학식 6에 따라 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제2 연산 시퀀스를 출력한다.
이때 A(n)″, B(n)″, C(n)″ 및 D(n)″의 각각은 수학식 5 및 수학식 6을 바탕으로 수학식 7과 같이 나타낼 수 있다.
다음은 도 3 내지 도 5를 참고하여 종래의 푸리에 변환 장치에 입력되는 입력 시퀀스, 제1 스테이지부가 출력하는 제1 연산 시퀀스 및 제2 스테이지부가 출력하는 제2 연산 시퀀스에 대해 설명한다.
도 3은 종래의 푸리에 변환 장치에 입력되는 입력 시퀀스의 성상도를 도시한 도면이다.
푸리에 변환 장치(100)에 입력된 입력 시퀀스가 수학식 3을 따르고, a(n)r, a(n)i, b(n)r, b(n)i, c(n)r, c(n)i, d(n)r 및 d(n)i의 각각이 -3, -1, 1 또는 1 중 어느 하나의 값을 가지는 경우, 입력 시퀀스의 성상도는 도 3과 같이 도시된다.
도 4는 종래의 푸리에 변환 장치의 제1 스테이지부가 출력하는 제1 연산 시퀀스의 성상도를 도시한 도면이다.
입력 시퀀스가 도 3에 도시된 성상도를 따르고, 제1 스테이지부(110)가 수학식 4 및 수학식 5에 따라 제1 연산 시퀀스를 출력하는 경우, 제1 연산 시퀀스의 성상도는 도 4와 같이 도시된다.
도 4에 도시된 바와 같이, a(n)r′, a(n)i′, b(n)r′, b(n)i′, c(n)r′, c(n)i′, d(n)r′ 및 d(n)i′의 각각은 -6, -4, -3, -2, -1, 0, 1, 2, 3, 4 또는 6 중 어느 하나의 값을 가질 수 있다.
도 5는 종래의 푸리에 변환 장치의 제2 스테이지부가 출력하는 제2 연산 시퀀스의 성상도를 도시한 도면이다.
제1 연산 시퀀스가 도 4에 도시된 성상도를 따르고, 제2 스테이지부(120)가 수학식 6 및 수학식 7에 따라 제2 연산 시퀀스를 출력하는 경우, 제2 연산 시퀀스의 성상도는 도 5와 같이 도시된다.
도 5에 도시된 바와 같이, a(n)r″, a(n)i″, b(n)r″, b(n)i″, c(n)r″, c(n)i″, d(n)r″ 및 d(n)i″의 각각은 -12, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 또는 12 중 어느 하나의 값을 가질 수 있다.
다음은 도 6을 참고하여 본 발명의 실시예에 따른 푸리에 변환 장치에 대해 설명한다.
도 6은 본 발명의 실시예에 따른 푸리에 변환 장치의 구성을 도시한 도면이다.
도 6에 도시된 바와 같이, 본 발명의 실시예에 따른 푸리에 변환 장치(300)는 시간 영역의 입력 시퀀스(Input Sequence)를 고속 푸리에 변환(Fast Fourier Transform, 이하에서는 'FFT'라고도 함)하여 주파수 영역의 출력 시퀀스(Output Sequence)를 출력하고, 제1 스테이지부(310), 제1 회전인자 적용부(320), 제2 스테이지부(330), 제3 스테이지부(340), 제2 회전인자 적용부(350) 및 제4 스테이지부(360)를 포함한다. 이때 입력 시퀀스는 32개의 복소수값을 포함하고, 푸리에 변환 장치(300)는 32개의 복소수값을 FFT하여 32개의 복소수값을 포함하는 출력 시퀀스를 출력한다.
제1 스테이지부(310)는 미리 저장된 검색 테이블(Lookup Table)에 따라 입력 시퀀스에 포함된 32개의 복소수값으로부터 32개의 복소수값을 포함하는 제1 시퀀스를 출력한다. 이때 제1 스테이지부(310)가 출력하는 제1 시퀀스는 종래의 푸리에 변환 장치(100)의 제2 스테이지부(120)가 출력하는 제2 연산 시퀀스에 대응한다.
제1 회전인자 적용부(320)는 제1 스테이지부(310)가 출력한 제1 시퀀스에 포함된 32개의 복소수값에 대해 제1 회전인자를 적용하여 32개의 복소수값을 포함하는 제2 시퀀스를 출력한다. 이때 제1 회전인자 적용부(320)가 출력하는 제2 시퀀스는 종래의 푸리에 변환 장치(100)의 제1 회전인자 적용부(130)가 출력하는 제1 회전인자 적용 시퀀스에 대응한다.
제2 스테이지부(330)는 제1 회전인자 적용부(320)가 출력한 제2 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제3 시퀀스를 출력하고, 제1 저장부(331) 및 제1 연산부(333)를 포함한다. 이때 제1 저장부(331)는 4개의 복소수값을 저장할 수 있다. 또한 제2 스테이지부(330)가 출력하는 제3 시퀀스는 종래의 푸리에 변환 장치(100)의 제3 스테이지부(140)가 출력하는 제3 연산 시퀀스에 대응한다.
제3 스테이지부(340)는 제2 스테이지부(330)가 출력한 제3 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제4 시퀀스를 출력하고, 제2 저장부(341) 및 제2 연산부(343)를 포함한다. 이때 제2 저장부(341)는 2개의 복소수값을 저장할 수 있다. 또한 제3 스테이지부(340)가 출력하는 제4 시퀀스는 종래의 푸리에 변환 장치(100)의 제4 스테이지부(150)가 출력하는 제4 연산 시퀀스에 대응한다.
제2 회전인자 적용부(350)는 제3 스테이지부(340)가 출력한 제4 시퀀스에 포함된 32개의 복소수값에 대해 제2 회전인자를 적용하여 32개의 복소수값을 포함하 는 제5 시퀀스를 출력한다. 이때 제2 회전인자 적용부(350)가 출력하는 제5 시퀀스는 종래의 푸리에 변환 장치(100)의 제2 회전인자 적용부(160)가 출력하는 제2 회전인자 적용 시퀀스에 대응한다.
제4 스테이지부(360)는 제2 회전인자 적용부(350)가 출력한 제5 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제6 시퀀스를 출력하고, 제3 저장부(361) 및 제3 연산부(363)를 포함한다. 이때 제3 저장부(361)는 1개의 복소수값을 저장할 수 있다. 또한 제4 스테이지부(360)가 출력하는 제6 시퀀스는 종래의 푸리에 변환 장치(100)의 제5 스테이지부(170)가 출력하는 제5 연산 시퀀스에 대응한다.
다음은 도 7을 참고하여 본 발명의 실시예에 따른 푸리에 변환 장치의 제1 스테이지부에 대해 설명한다.
도 7은 본 발명의 실시예에 따른 푸리에 변환 장치의 제1 스테이지부의 구성을 도시한 도면이다.
도 7에 도시된 바와 같이, 본 발명의 실시예에 따른 푸리에 변환 장치(300)의 제1 스테이지부(310)는 입력 시퀀스에 포함된 32개의 복소수값을 입력된 순서에 따라 4개의 복소수값 그룹으로 분할하고, 검색 테이블을 바탕으로 4개의 복소수값 그룹으로부터 제1 시퀀스를 출력하며, 시퀀스 분배부(311), 제1 출력 제어부(312), 제2 출력 제어부(313), 제3 출력 제어부(314), 제4 출력 제어부(315), 시퀀스 출력부(316) 및 테이블 저장부(317)를 포함한다.
시퀀스 분배부(311)는 입력 시퀀스에 포함된 32개의 복소수값을 입력된 순서 에 따라 4개의 복소수값 그룹으로 분할하고, 4개의 복소수값 그룹의 각각을 제1 출력 제어부(312), 제2 출력 제어부(313), 제3 출력 제어부(314) 또는 제4 출력 제어부(315)로 전달한다.
만약 입력 시퀀스가 수학식 1을 따르는 경우, 시퀀스 분배부(311)는 입력 시퀀스에 포함된 32개의 복소수값을 수학식 2에 따라 4개의 복소수값 그룹(A(n), B(n), C(n) 및 D(n))으로 분할할 수 있고, 제1 복소수값 그룹(A(n)), 제2 복소수값 그룹(B(n)), 제3 복소수값 그룹(C(n)) 및 제4 복소수값 그룹(D(n))을 각각 제1 출력 제어부(312), 제2 출력 제어부(313), 제3 출력 제어부(314) 및 제4 출력 제어부(315)로 전달할 수 있다.
이때 4개의 복소수값 그룹의 각각에 포함된 복소수값은 수학식 3을 따를 수 있고, a(n)r, a(n)i, b(n)r, b(n)i, c(n)r, c(n)i, d(n)r 및 d(n)i의 각각이 k1, k2, k3 또는 k4 중 어느 하나의 값을 가질 수 있다.
제1 출력 제어부(312)는 전달된 제1 복소수값 그룹(A(n))에 포함된 8개의 복소수값을 입력된 순서에 따라 하나씩 시퀀스 출력부(316)로 전달한다.
제2 출력 제어부(313)는 전달된 제2 복소수값 그룹(B(n))에 포함된 8개의 복소수값을 입력된 순서에 따라 하나씩 시퀀스 출력부(316)로 전달한다.
제3 출력 제어부(314)는 전달된 제3 복소수값 그룹(C(n))에 포함된 8개의 복소수값을 입력된 순서에 따라 하나씩 시퀀스 출력부(316)로 전달한다.
제4 출력 제어부(315)는 전달된 제4 복소수값 그룹(D(n))에 포함된 8개의 복 소수값을 입력된 순서에 따라 하나씩 시퀀스 출력부(316)로 전달한다.
시퀀스 출력부(316)는 테이블 저장부(317)에 저장된 검색 테이블을 바탕으로 제1 출력 제어부(312), 제2 출력 제어부(313), 제3 출력 제어부(314) 및 제4 출력 제어부(315)의 각각으로부터 입력된 복소수값에 따라 제1 시퀀스를 출력한다. 이때 시퀀스 출력부(316)가 출력하는 제1 시퀀스는 수학식 7을 따를 수 있다.
테이블 저장부(311)는 복수 개의 검색 테이블을 저장한다. 이때 테이블 저장부(311)는 4개의 복소수갑 그룹별로 출력하는 복소수값의 실수값 및 허수값에 따른 제1 주소값(1~65536)을 포함하는 제1 검색 테이블을 저장할 수 있고, 제1 검색 테이블은 표 1을 따를 수 있다.
또한 테이블 저장부(311)는 제1 주소값에 대응하는 제2 주소값(6~65536) 및 제2 주소값에 대응하는 복소수값의 출력값에 대한 제3 주소값(K1,1~K8,65536)을 포함하는 제2 검색 테이블을 저장할 수 있고, 제2 검색 테이블은 표 2를 따를 수 있다.
또한 테이블 저장부(311)는 제3 주소값에 대응하는 출력값을 포함하는 제3 검색 테이블을 저장할 수 있다. 이때 제1 테이블에 포함된 k1, k2, k3 및 k4의 각각이 -3, -1, 1 또는 1 중 어느 하나의 값을 가지는 경우, 제3 검색 테이블은 표 3을 따를 수 있다.
이때 제3 검색 테이블이 표 3을 따르는 경우, 표 2를 따르는 제2 검색 테이블의 제3 주소값(K1,1~K8,65536)은 1~23 중 어느 하나의 값을 가질 수 있다.
다음은 도 8을 참고하여 본 발명의 실시예에 따른 푸리에 변환 장치가 입력 시퀀스를 푸리에 변환하는 방법에 대해 설명한다.
도 8은 본 발명의 실시예에 따른 푸리에 변환 방법을 도시한 도면이다.
도 8에 도시된 바와 같이, 먼저, 푸리에 변환 장치(300)가 32개의 복소수값을 포함하는 입력 시퀀스를 수신한다(S100).
다음, 제1 스테이지부(310)가 미리 저장된 검색 테이블을 바탕으로 수신된 입력 시퀀스에 포함된 32개의 복소수값으로부터 32개의 복소수값을 포함하는 제1 시퀀스를 생성한다(S200).
이하에서는 도 9를 참고하여 본 발명의 실시예에 따른 푸리에 변환 장치(300)의 제1 스테이지부(310)가 제1 시퀀스를 생성하는 방법에 대해 설명한다.
도 9는 본 발명의 실시예에 따른 제1 시퀀스 생성 방법을 도시한 도면이다.
도 9에 도시된 바와 같이, 먼저, 시퀀스 분배부(311)가 입력 시퀀스에 포함된 32개의 복소수값을 입력된 순서에 따라 4개의 복소수값 그룹으로 분할하여 4개의 복소수값 그룹을 4개의 출력 제어부(312, 313, 314, 315)로 각각 전달한다(S210).
이때 입력 시퀀스가 수학식 1을 따르고, 4개의 복소수값 그룹은 수학식 2에 따라 제1 복소수값 그룹(A(n)), 제2 복소수값 그룹(B(n)), 제3 복소수값 그룹(C(n)) 및 제4 복소수값 그룹(D(n))에 해당하며, 각 복소수값 그룹은 8개의 복소수값을 포함한다.
다음, 제1 출력 제어부(312)가 전달된 제1 복소수값 그룹(A(n))에 포함된 8개의 복소수값을 입력된 순서에 따라 하나씩 출력한다(S231).
이때, 제2 출력 제어부(313)가 전달된 제2 복소수값 그룹(B(n))에 포함된 8개의 복소수값을 입력된 순서에 따라 하나씩 출력한다(S233).
또한, 제3 출력 제어부(314)가 전달된 제3 복소수값 그룹(C(n))에 포함된 8개의 복소수값을 입력된 순서에 따라 하나씩 출력한다(S235).
또한, 제4 출력 제어부(315)가 전달된 제4 복소수값 그룹(D(n))에 포함된 8개의 복소수값을 입력된 순서에 따라 하나씩 출력한다(S237).
이후, 시퀀스 출력부(316)는 제1 복소수값 그룹(A(n))의 복소수값, 제2 복소수값 그룹(B(n))의 복소수값, 제3 복소수값 그룹(C(n))의 복소수값 및 제4 복소수값 그룹(D(n))의 복소수값을 바탕으로 표 1을 따르는 제1 검색 테이블 및 표 2를 따르는 제2 검색 테이블을 검색하여 제1 시퀀스에 포함된 32개의 복소수값의 각각에 대한 주소값 정보를 생성한다(S250).
다음, 시퀀스 출력부(316)는 표 3을 따르는 제3 검색 테이블을 바탕으로 생성된 주소값 정보에 대응하는 출력값을 검색하여 제1 시퀀스에 포함된 32개의 복소수값을 출력한다(S270).
다시 도 8을 참고하여 본 발명의 실시예에 따른 푸리에 변환 장치가 입력 시퀀스를 푸리에 변환하는 방법에 대해 설명한다.
이후, 제1 회전인자 적용부(320)가 제1 시퀀스에 포함된 32개의 복소수값에 대해 제1 회전인자를 적용하여 32개의 복소수값을 포함하는 제2 시퀀스를 생성한다(S300).
다음, 제2 스테이지부(330)가 제2 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제3 시퀀스를 생성한다(S400).
이후, 제3 스테이지부(340)가 제3 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제4 시퀀스를 생성한다(S500).
다음, 제2 회전인자 적용부(350)가 제4 시퀀스에 포함된 32개의 복소수값에 대해 제2 회전인자를 적용하여 32개의 복소수값을 포함하는 제5 시퀀스를 생성한다(S600).
이후, 제4 스테이지부(360)가 제5 시퀀스에 포함된 32개의 복소수값에 대해 버터플라이 연산을 수행하여 32개의 복소수값을 포함하는 제6 시퀀스를 생성한다(S700).
다음은 도 10을 참고하여 본 발명의 실시예에 따른 푸리에 변환 장치의 제1스테이지부가 입력 시퀀스를 바탕으로 제1 시퀀스를 생성하는 방법에 대해 설명한다.
도 10은 본 발명의 실시예에 따른 제1 스테이지부가 입력 시퀀스를 바탕으로 제1 시퀀스를 생성하는 방법을 도시한 도면이다.
도 10에 도시된 바와 같이, 본 발명의 실시예에 따른 제1 스테이지부(310)의 시퀀스 분배부(311)가 수신된 입력 시퀀스(x(m))를 4개의 복소수값 그룹 즉, 제1 복소수값 그룹(A(n)), 제2 복소수값 그룹(B(n)), 제3 복소수값 그룹(C(n)) 및 제4 복소수값 그룹(D(n))으로 분할한다. 이때 4개의 복소수값 그룹의 각각은 8개의 복소수값을 포함한다.
다음, 제1 스테이지부(310)의 제1 출력 제어부(312), 제2 출력 제어부(313), 제3 출력 제어부(314) 및 제4 출력 제어부(315)의 각각이 제1 복소수값 그룹(A(n)), 제2 복소수값 그룹(B(n)), 제3 복소수값 그룹(C(n)) 및 제4 복소수값 그룹(D(n))의 출력을 제어하여 0~7 클럭(Clock) 사이에 A(n), B(n), C(n) 및 D(n)을 출력하면, 제1 스테이지부(310)의 시퀀스 출력부(316)가 테이블 저장부(317)에 저장된 검색 테이블을 바탕으로 각 클럭에 출력되는 A(n), B(n), C(n) 및 D(n)에 따라 A(0)″, A(1)″, … , A(7)″를 출력한다.
이후, 제1 스테이지부(310)의 제1 출력 제어부(312), 제2 출력 제어부(313), 제3 출력 제어부(314) 및 제4 출력 제어부(315)의 각각이 8~15 클럭(Clock) 사이에 A(n), B(n), C(n) 및 D(n)을 출력하면, 제1 스테이지부(310)의 시퀀스 출력부(316)가 테이블 저장부(317)에 저장된 검색 테이블을 바탕으로 각 클럭에 출력되는 A(n), B(n), C(n) 및 D(n)에 따라 B(0)″, B(1)″, … , B(7)″를 출력한다.
다음, 제1 스테이지부(310)의 제1 출력 제어부(312), 제2 출력 제어부(313), 제3 출력 제어부(314) 및 제4 출력 제어부(315)의 각각이 16~23 클럭(Clock) 사이에 A(n), B(n), C(n) 및 D(n)을 출력하면, 제1 스테이지부(310)의 시퀀스 출력부(316)가 테이블 저장부(317)에 저장된 검색 테이블을 바탕으로 각 클럭에 출력되는 A(n), B(n), C(n) 및 D(n)에 따라 C(0)″, C(1)″, … , C(7)″를 출력한다.
이후, 제1 스테이지부(310)의 제1 출력 제어부(312), 제2 출력 제어부(313), 제3 출력 제어부(314) 및 제4 출력 제어부(315)의 각각이 24~31 클럭(Clock) 사이에 A(n), B(n), C(n) 및 D(n)을 출력하면, 제1 스테이지부(310)의 시퀀스 출력부(316)가 테이블 저장부(317)에 저장된 검색 테이블을 바탕으로 각 클럭에 출력되는 A(n), B(n), C(n) 및 D(n)에 따라 D(0)″, D(1)″, … , D(7)″를 출력한다.
이와 같이, 제1 스테이지부(310)는 검색 테이블을 바탕으로 입력 시퀀스(x(m))로부터 제1 시퀀스(x(m)″)를 출력한다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 종래의 푸리에 변환 장치를 도시한 도면이다.
도 2는 종래의 푸리에 변환 장치의 버터플라이 연산 방법을 도시한 도면이다.
도 3은 종래의 푸리에 변환 장치에 입력되는 입력 시퀀스의 성상도를 도시한 도면이다.
도 4는 종래의 푸리에 변환 장치의 제1 스테이지부가 출력하는 제1 연산 시퀀스의 성상도를 도시한 도면이다.
도 5는 종래의 푸리에 변환 장치의 제2 스테이지부가 출력하는 제2 연산 시퀀스의 성상도를 도시한 도면이다.
도 6은 본 발명의 실시예에 따른 푸리에 변환 장치의 구성을 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 푸리에 변환 장치의 제1 스테이지부의 구성을 도시한 도면이다.
도 8은 본 발명의 실시예에 따른 푸리에 변환 방법을 도시한 도면이다.
도 9는 본 발명의 실시예에 따른 제1 시퀀스 생성 방법을 도시한 도면이다.
도 10은 본 발명의 실시예에 따른 제1 스테이지부가 입력 시퀀스를 바탕으로 제1 시퀀스를 생성하는 방법을 도시한 도면이다.
Claims (8)
- 2n개의 복소수값을 포함하는 입력 시퀀스를 푸리에 변환하는 방법에 있어서,상기 입력 시퀀스로부터 출력되는 2n개의 복소수 값에 기초하여 상기 2n개의 복소수 값에 각각 대응하는 복수의 주소 값 정보를 검색하는 단계,주소 값에 해당하는 출력 값을 저장하고 있는 검색 테이블로부터 상기 복수의 주소 값 정보에 각각 대응하는 복수의 출력 값을 검색하는 단계,상기 복수의 출력 값에 의해 결정되는 2n개의 복소수 값을 포함하는 제1 시퀀스를 출력하는 단계, 그리고상기 제1 시퀀스를 바탕으로 (n-m)번의 버터플라이 연산을 수행하여 2n개의 복소수값을 포함하는 출력 시퀀스를 생성하는 단계를 포함하고,상기 m은 상기 n보다 작고, 1보다 큰 양의 정수인 푸리에 변환 방법.
- 제1항에 있어서,상기 주소 값 정보를 검색하는 단계는상기 입력 시퀀스를 복수의 복소수 값 그룹으로 분할하는 단계,상기 복수의 복소수 값 그룹에서 상기 2n개의 복소수 값을 출력하는 단계, 그리고각 복소수 값 그룹에서 출력되는 복소수 값에 대응하는 주소 값 정보를 검색하는 단계를 포함하는 푸리에 변환 방법.
- 제1항 또는 제2항에 있어서,상기 주소 값 정보를 검색하는 단계는, 각 복소수 값의 실수 값과 허수 값에 각각 대응하는 상기 주소 값 정보를 검색하는 단계를 포함하는 푸리에 변환 방법.
- 2n개의 복소수값을 포함하는 입력 시퀀스를 푸리에 변환하는 장치에 있어서,상기 입력 시퀀스로부터 출력되는 2n개의 복소수 값에 기초하여 상기 2n개의 복소수 값에 각각 대응하는 복수의 주소 값 정보를 검색하고, 주소 값에 해당하는 출력 값을 저장하고 있는 검색 테이블로부터 상기 복수의 주소 값 정보에 각각 대응하는 복수의 출력 값을 검색하며, 상기 복수의 출력 값에 의해 결정되는 2n개의 복소수 값을 포함하는 제1 시퀀스를 출력하는 제1 스테이지부, 그리고상기 제1 시퀀스를 바탕으로 (n-m)번 버터플라이 연산을 수행하여 출력 시퀀스를 출력하는 복수의 제2 스테이지부를 포함하고,상기 n 및 상기 m은 양의 정수인 푸리에 변환 장치.
- 제4항에 있어서,상기 제1 스테이지부는상기 검색 테이블을 저장하고 있는 테이블 저장부,상기 입력 시퀀스에 포함된 2n개의 복소수 값을 미리 정해진 순서에 따라 복수의 복소수 값 그룹으로 분할하는 시퀀스 분배부, 그리고상기 복수의 복소수 값 그룹에서 출력되는 복소수 값에 대응하는 주소 값 정보를 검색하고, 상기 검색 테이블에서 상기 주소 값 정보에 대응하는 복수의 출력 값을 각각 검색하여 상기 제1 시퀀스를 출력하는 시퀀스 출력부를 포함하는 푸리에 변환 장치.
- 제5항에 있어서,상기 제1 스테이지부는상기 복수의 복소수 값 그룹에 각각 대응하는 복수의 출력 제어부를 더 포함하는 푸리에 변환 장치.
- 제6항에 있어서,각 출력 제어부는상기 시퀀스 분배부로부터 상기 복수의 복소수 값 그룹 중 어느 하나의 복소수 값 그룹을 수신하고, 상기 복소수 값 그룹에 포함된 복소수 값을 클럭에 응답하여서 하나씩 출력하는 푸리에 변환 장치.
- 제4항에 있어서,각 제2 스테이지부는상기 각 제2 스테이지부에 입력되는 복수의 복소수 값 중 적어도 하나의 복소수 값을 저장하는 저장부, 그리고상기 저장부에 저장된 복소수 값 및 상기 각 제2 스테이지부에 입력되는 복수의 복소수 값을 바탕으로 버터플라이 연산을 수행하는 연산부를 포함하는 푸리에 변환 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080101275A KR101002771B1 (ko) | 2008-10-15 | 2008-10-15 | 푸리에 변환 장치 및 방법 |
US12/536,240 US20100094920A1 (en) | 2008-10-15 | 2009-08-05 | Device and method for executing fourier transform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080101275A KR101002771B1 (ko) | 2008-10-15 | 2008-10-15 | 푸리에 변환 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100042133A KR20100042133A (ko) | 2010-04-23 |
KR101002771B1 true KR101002771B1 (ko) | 2010-12-21 |
Family
ID=42099868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080101275A KR101002771B1 (ko) | 2008-10-15 | 2008-10-15 | 푸리에 변환 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100094920A1 (ko) |
KR (1) | KR101002771B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569190B (zh) * | 2021-07-02 | 2024-06-04 | 星思连接(上海)半导体有限公司 | 一种快速傅立叶变换旋转因子计算系统和方法 |
CN114090948A (zh) * | 2021-10-12 | 2022-02-25 | 哲库科技(北京)有限公司 | 旋转因子确定方法及装置、电子设备、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288542A1 (en) | 2006-04-28 | 2007-12-13 | Qualcomm Incorporated | Multi-port mixed-radix fft |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6334219B1 (en) * | 1994-09-26 | 2001-12-25 | Adc Telecommunications Inc. | Channel selection for a hybrid fiber coax network |
KR100598075B1 (ko) * | 2004-11-03 | 2006-07-10 | 한국전자통신연구원 | Ifft/fft 프로세서에 있어서 룩업테이블을 이용한데이터변환 방법 |
JP4295777B2 (ja) * | 2006-09-26 | 2009-07-15 | Okiセミコンダクタ株式会社 | 高速フーリエ変換回路及び高速フーリエ変換方法 |
-
2008
- 2008-10-15 KR KR1020080101275A patent/KR101002771B1/ko not_active IP Right Cessation
-
2009
- 2009-08-05 US US12/536,240 patent/US20100094920A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288542A1 (en) | 2006-04-28 | 2007-12-13 | Qualcomm Incorporated | Multi-port mixed-radix fft |
Also Published As
Publication number | Publication date |
---|---|
US20100094920A1 (en) | 2010-04-15 |
KR20100042133A (ko) | 2010-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Efficient multi-keyword ranked query over encrypted data in cloud computing | |
Chen et al. | An indexed-scaling pipelined FFT processor for OFDM-based WPAN applications | |
KR20060131864A (ko) | 인-플레이스 계산 동안 최소 대기시간을 위해 분할된메모리를 구비하는 고속 퓨리에 변환 회로 | |
Singh et al. | Partial transmit sequence optimization using improved harmony search algorithm for PAPR reduction in OFDM | |
CN103425933A (zh) | 一种多数据源的数据同态加密转存方法 | |
Li et al. | Low-complexity tone reservation scheme using pre-generated peak-canceling signals | |
KR101002771B1 (ko) | 푸리에 변환 장치 및 방법 | |
Hou et al. | Multi-objective quantum inspired evolutionary SLM scheme for PAPR reduction in multi-carrier modulation | |
Cheng et al. | An artificial bee colony-based SLM scheme for PAPR reduction in OFDM systems | |
Park et al. | Low-complexity tone reservation for PAPR reduction in OFDM communication systems | |
KR100598075B1 (ko) | Ifft/fft 프로세서에 있어서 룩업테이블을 이용한데이터변환 방법 | |
Hung | Application firefly algorithm for peak-to-average power ratio reduction in OFDM systems | |
CN114422315B (zh) | 一种超高吞吐量ifft/fft调制解调方法 | |
Tuli et al. | Whale optimization‐based PTS scheme for PAPR reduction in UFMC systems | |
Wu et al. | A novel PTS architecture for PAPR reduction of OFDM signals | |
Erdogan | A low complexity multicarrier PAR reduction approach based on subgradient optimization | |
CN111245526B (zh) | 一种基于多载波的水声通信峰均比抑制方法 | |
Qian et al. | Dynamic selected mapping for OFDM | |
Chen et al. | A low-complexity scheme to reduce the PAPR of an OFDM signal using sign-selection algorithms | |
KR20180081201A (ko) | 필터뱅크 기반 다중 반송파 시스템에서 시간 영역의 지역성을 고려한 필터 디자인 | |
Sun et al. | Generalized orthogonal discrete w transform and its fast algorithm | |
Deepa et al. | Performance evaluation of a low complexity row-column transform approach for SLM based OFDM transmission system | |
JP6377663B2 (ja) | 信号生成装置、信号生成方法及び信号生成プログラム | |
Pandey et al. | Computational complexity reduction of OFDM signals by PTS with alternate optimised grouping phase weighting method | |
Tiwari et al. | FPGA implementation of FFT blocks for OFDM |
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: 20131128 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |