KR101334494B1 - 고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법 - Google Patents

고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법 Download PDF

Info

Publication number
KR101334494B1
KR101334494B1 KR1020110112082A KR20110112082A KR101334494B1 KR 101334494 B1 KR101334494 B1 KR 101334494B1 KR 1020110112082 A KR1020110112082 A KR 1020110112082A KR 20110112082 A KR20110112082 A KR 20110112082A KR 101334494 B1 KR101334494 B1 KR 101334494B1
Authority
KR
South Korea
Prior art keywords
butterfly
fast fourier
fourier transform
butterfly operation
result
Prior art date
Application number
KR1020110112082A
Other languages
English (en)
Other versions
KR20130047202A (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 KR1020110112082A priority Critical patent/KR101334494B1/ko
Publication of KR20130047202A publication Critical patent/KR20130047202A/ko
Application granted granted Critical
Publication of KR101334494B1 publication Critical patent/KR101334494B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Landscapes

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

Abstract

고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법이 개시된다.
고속 푸리에 변환 장치는 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산하여 고속 푸리에 변환하는 복수의 고속 푸리에 변환부; 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 제1 버터플라이 연산부; 및 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 제2 버터플라이 연산부를 포함할 수 있다.

Description

고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법{HIGH-SPEED LOW-COMPLEXITY RADIX-2 TO THE FIFTH FAST FOURIER TRANSFORM APPARATUS AND METHOD}
본 발명은 Radix 2의 5승 고속 푸리에 변환 장치 및 방법에 관한 것으로, 보다 상세하게는, 고속 푸리에 변환 방법에서 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높이는 파이프라인 고속 푸리에 변환 장치 및 방법에 관한 것이다.
직교 주파수 분할 다중화 (OFDM: Orthogonal Frequency Division Multiplexing) 는 통신 시스템에서 하나의 반송파를 여러 개의 직교되는 부 반송파로 나누어 데이터 열을 실어서 변조 및 전송함으로써, 통신 시스템을 병렬 구조화 하지 않아도 단일 반송파 통신 시스템을 병렬 구조화 하는 것에 가까운 고속 데이터 전송이 가능한 방식이다.
이때, 직교 주파수 분할 다중화 방식은 이산 푸리에 변환 (Discrete Fourier Transform; DFT) 방식을 사용하여 구현한다. 그러나 이산 푸리에 변환 방식을 하드웨어로 구현하면, 입력 길이인 포인트 수의 증가에 따라 복소 덧셈, 뺄셈 및 곱셈 연산이 지수적으로 증가하여 하드웨어 비용이 늘어나므로, 고속 푸리에 변환을 사용하고 있다.
한국공개특허 제10-2008-0062003호(공개일 2008년 07월 03일)에는 파이프라인 (Pipeline) 구조를 사용한 고속 푸리에 변환 장치가 개시되어 있다. 종래의 파이프라인 구조를 사용한 고속 푸리에 변환 장치는 Radix-22 알고리즘을 사용하고 있으나, Radix-22 알고리즘은 높은 입력 길이의 고속 푸리에 변환 연산을 수행하는 경우 다수의 곱셈기가 필요하게 되어 하드웨어 설계 비용이 높아진다는 문제가 있었다.
따라서 종래의 고속 푸리에 변환 프로세서보다 저 면적으로 구현 할 수 있으면서도 고속 처리가 가능한 장치 및 방법이 요청되고 있다.
본 발명은 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높일 수 있는 파이프라인 고속 푸리에 변환 장치 및 방법을 제공한다.
또한, 본 발명은 복잡한 구조를 가지는 복소 부스(Booth) 곱셈기의 대부분을 간단한 구조를 가지는 공통 서브 익스프레션 공유(Common Sub-expression Sharing; CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복수 상수 곱셈기로 대체함으로써, 복잡도가 낮은 고속 푸리에 변환 장치 및 방법을 제공한다.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 고속 푸리에 변환하는 복수의 고속 푸리에 변환부; 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 제1 버터플라이 연산부; 및 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 제2 버터플라이 연산부를 포함할 수 있다.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치의 고속 푸리에 변환부는, 32-FIFO 메모리와 연결된 제2 버터플라이 연산부를 통해 버터플라이 연산하는 제1 단계; 16-FIFO 메모리와 연결된 제1 버터플라이 연산부를 통해 상기 제1 단계의 연산 결과를 버터플라이 연산하는 제2 단계; 8-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제2 단계의 연산 결과를 버터플라이 연산하는 제3 단계; 4-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제3 단계의 연산 결과를 버터플라이 연산하는 제4 단계; 2-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제4 단계의 연산 결과를 버터플라이 연산하는 제5 단계; 및 1-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제5 단계의 연산 결과를 버터플라이 연산하는 제6 단계를 포함하는 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산을 수행할 수 있다.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치의 고속 푸리에 변환부는 복소 상수 곱셈기를 사용하여 상기 제2 단계의 연산 결과와 상기 제3단계의 연산 결과를 회전 인자 곱셈 연산할 수 있다.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치의 복소 상수 곱셈기는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기일 수 있다.
본 발명의 일실시예에 따른 고속 푸리에 변환 방법은 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산하여 병렬로 고속 푸리에 변환하는 단계; 제1 버터플라이 연산부를 사용하여 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 단계; 및 제2 버터플라이 연산부를 사용하여 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 6차원 인덱스 분해법에 의해 유도 되는 Radix-25 알고리즘에 공통 인수 분해 알고리즘을 적용하여 수식을 재구성한 수정된 Radix-25 알고리즘에 따라 고속 푸리에 변환을 수행할 수 있다.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 6차원 인덱스 분해법에 의해 유도 되는 복수의 Radix-25 알고리즘을 기초로 병렬 구조 및 파이프라인 방식을 이용한 수정된 Radix-25 알고리즘에 따라 고속 푸리에 변환을 수행할 수 있다.
본 발명의 일실시예에 의하면, 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치에서 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높일 수 있다.
또한, 본 발명의 일실시예에 의하면, 복잡한 구조를 가지는 복소 부스(Booth) 곱셈기의 대부분을 간단한 구조를 가지는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기로 대체함으로써, 고속 푸리에 변환 장치의 복잡도를 낮출 수 있다.
도 1은 64 포인트의 Radix-25 알고리즘의 전개 방법 1을 이용한 고속 푸리에 변환 방법의 개략적인 신호 흐름도이다.
도 2는 64 포인트의 Radix-25 알고리즘의 전개 방법 2를 이용한 고속 푸리에 변환 방법의 개략적인 신호 흐름도이다.
도 3은 본 발명의 일실시예에 따른 고속 푸리에 변환 장치를 도시한 블록 다이어그램이다.
도 4는 본 발명의 일실시예에 따른 고속 푸리에 변환부를 도시한 블록 다이어그램이다.
도 5는 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 CSD 상수 곱셈기의 구성을 도시한 도면이다.
도 8은 회전 인자 W32를 위한 본 발명의 일실시예에 따른 복소 상수 곱셈기의 구성을 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 후처리부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.
도 10은 본 발명의 일실시예에 따른 후처리부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.
도 11은 본 발명의 일실시예에 따른 고속 푸리에 변환 방법을 도시한 플로우차트이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 고속 푸리에 변환 방법은 고속 푸리에 변환 장치에 의해 수행될 수 있다.
본 발명은 Radix-25 알고리즘을 사용한 고속 푸리에 변환 방법이다.
고속 푸리에 변환 방법 중에 64 포인트의 Radix-25 알고리즘은 공통 인수 분해 알고리즘의 적용 방법에 따라 도 1이나 도 2와 같은 신호 흐름도를 사용할 수 있다. 이때, 도 1을 64 포인트의 Radix-25 알고리즘의 전개 방법 1에 따른 신호 흐름도라 하고, 도 2를 64 포인트의 Radix-25 알고리즘의 전개 방법 2에 따른 신호 흐름도라 한다.
이때, 길이가 N인 이산 푸리에 변환은 수학식 1과 같이 정의할 수 있다.
Figure 112011085365867-pat00001
이때, WN은 회전 인자이고, n은 시간 인덱스이며, k는 주파수 인덱스일 수 있다.
이때, Radix-25 알고리즘을 유도하기 위하여 수학식 1과 같은 이산 푸리에 변환에 6차원 선형 인덱스 맵을 적용하면 수학식 2를 생성할 수 있다.
Figure 112011085365867-pat00002
다음으로, 수학식 2에 공통 인수 분해 알고리즘(Common Factor Algorithm; CFA)을 적용하면 수학식 3을 생성할 수 있다.
Figure 112011085365867-pat00003
이때, 수학식 3의 회전 인자를 정리하면 수학식 4를 생성할 수 있다.
Figure 112011085365867-pat00004
이때, 수학식 4는 도 1에 도시된 바와 같이 64 포인트의 Radix-25 알고리즘의 전개 방법 1에 따른 각 스테이지의 버터플라이 연산 및 회전 인자 곱셈 연산의 순서 및 구조를 나타낼 수 있다.
이때, 첫 번째 스테이지의 회전 인자 곱셈(110)와 네 번째 스테이지의 회전 인자 곱셈(120)은 곱셈기를 필요로 하지 않는 단순 곱셈으로 구성될 수 있다. 또한, W8 회전 인자 복소 곱셈(130)의 회전 인자 수는 1개이고, W32 회전 인자 복소 곱셈(140) 의 회전 인자 수는 7개로 구성될 수 있다. 이때, W8 회전 인자 복소 곱셈(130)과 W32 회전 인자 복소 곱셈(140)은 CSD 특수 상수 곱셈기를 사용하여 수행될 수 있다. 이때, 64P BU2는 64포인트 제2 버터플라이 연산이고, 32P BU1은 32포인트 제1 버터플라이 연산일 수 있다. 또한, 16P BU1은 16포인트 제1 버터플라이 연산이고, 8P BU2는 8포인트 제2 버터플라이 연산일 수 있다.
또한, 수학식 1과 수학식 2에 적용하는 공통 인수 분해 알고리즘을 수학식 3과 다른 방식으로 적용하는 경우, 수학식 5를 생성할 수 있다.
Figure 112011085365867-pat00005
이때, 수학식 5의 회전 인자를 정리하면 수학식 6을 생성할 수 있다.
Figure 112011085365867-pat00006
이때, 수학식 6은 도 2에 도시된 바와 같이 64 포인트의 Radix-25 알고리즘의 전개 방법 2에 따른 각 스테이지의 버터플라이 연산 및 회전 인자 곱셈 연산의 순서 및 구조를 나타낼 수 있다.
이때, 첫 번째 스테이지의 회전 인자 곱셈(210)과 세 번째 스테이지의 회전 인자 곱셈(220)은 곱셈기를 필요로 하지 않는 단순 곱셈으로 구성될 수 있다. 또한, 두 번째 스테이지의 W16 회전 인자 복소 곱셈(230)에서의 회전 인자 수를 3개로 구성함으로써, CSD 특수 상수 곱셈기를 사용 하여 두 번째 스테이지의 W16 회전 인자 복소 곱셈(230)을 연산할 수 있다. 그리고, 다섯 번째 스테이지의 회전 인자 곱셈(240)은 고속 푸리에 변환의 입력 길이가 512 보다 작은 경우, 회전 인자 수를 최대 7개로 구성함으로써, CSD 특수 상수 곱셈기로 다섯 번째 스테이지의 회전 인자 곱셈(240)을 연산할 수 있다.
본 발명에 따른 Radix-25 알고리즘은 복소 곱셈 연산량을 최소화 하기 위하여 첫 번째 스테이지에서 상위 다섯 번째 스테이지까지는 수학식 3과 수학식 4에 따른 전개 방법 1을 적용하여 연산하고, 여섯 번째 스테이지부터는 마지막 스테이지까지는 수학식 5와 수학식 6에 따른 전개 방법 2를 적용하여 연산할 수 있다.
또한, 본 발명에 따른 Radix-25 알고리즘은 프로그래머블 복소 곱셈기를 대신하여 CSS 기법 및 CSD 방식을 이용한 복소 상수 곱셈기로 복수 상수 곱셈을 연산함으로써, 하드웨어의 설계 비용 및 전력 소모를 감소시킬 수 있다. 이때, 본 발명에 따른 복소 상수 곱셈기는 CSD 방식을 통해 0 (Zero)이 아닌 비트의 개수를 최소화하고 CSS 기법을 통해 공통 연산부를 공유하도록 연산과정을 간소화할 수 있다.
도 3은 본 발명의 일실시예에 따른 고속 푸리에 변환 장치를 도시한 블록 다이어그램이다.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 도 3에 도시된 바와 같이 8개의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치이며, 고속 푸리에 변환부(310)와, 후처리부(320)를 포함할 수 있다.
고속 푸리에 변환부(310)는 8개의 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 64 포인트의 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 고속 푸리에 변환할 수 있다. 이때, 고속 푸리에 변환부(310)는 제1 고속 푸리에 변환부(311) 내지 제8 고속 푸리에 변환부(312)를 사용하여 병렬 데이터 경로를 통하여 입력된 입력 데이터들을 독립적으로 병렬 연산할 수 있다.
또한, 고속 푸리에 변환부(310)는 본 발명의 일실시예에 따른 고속 푸리에 변환 방법의 제1 단계 내지 제6 단계에 해당하는 상위 6개의 스테이지를 수행할 수 있다.
고속 푸리에 변환부(310)의 상세 구성과 수행하는 스테이지들은 이하 도 4를 기초로 상세히 설명한다.
후처리부(320)는 제1 버터플라이 연산부와 제2 버터플라이 연산부 및 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)로 하위 3스테이지를 수행하여 제1 고속 푸리에 변환부(311) 내지 제8 고속 푸리에 변환부(312)의 출력을 후처리할 수 있다.
이때, 후처리부(320)는 7 번째 스테이지에서 4개의 제1 버터플라이 연산부(321)를 사용하여 제1 고속 푸리에 변환부(311) 내지 제8 고속 푸리에 변환부(312)의 출력을 8 포인트 버터플라이 연산할 수 있다. 이때, 7 번째 스테이지의 회전 인자 곱셈 연산은 3 종류의 회전 인자를 필요로 하므로, 후처리부(320)는 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)를 이용하여 제1 버터플라이 연산부(321)의 출력에 회전 인자 곱셈 연산을 수행할 수 있다. 이때, W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)는 공통 서브 익스프레션 공유(Common Sub-expression Sharing: CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복수 상수 곱셈기일 수 있다.
또한, 후처리부(320)는 8번째 스테이지와 4개의 제2 버터플라이 연산부(323)를 사용하여 7 번째 스테이지의 결과를 4 포인트 버터플라이 연산할 수 있다.
그리고, 후처리부(320)는 9번째 스테이지에서 4개의 제1 버터플라이 연산부(324)를 사용하여 8 번째 스테이지 결과를 2 포인트 버터플라이 연산하여 64 클럭 동안 결과를 출력할 수 있다.
후처리부(320)의 제1 버터플라이 연산부와 제2 버터플라이 연산부의 상세 구성과 동작은 이하 도 9와 도 10을 참조로 상세히 설명한다. 또한, 복소 상수 곱셈기(322)의 구성은 도 7을 참조로 상세히 설명한다.
도 4는 본 발명의 일실시예에 따른 고속 푸리에 변환부를 도시한 블록 다이어그램이다.
본 발명의 일실시예에 따른 고속 푸리에 변환부(310)은 도 4에 도시된 바와 같이 6개의 스테이지를 수행하기 위한 6개의 버터플라이 연산부(410, 420, 430, 440, 450, 460)와 W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422), W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432) 및 각각의 버터플라이 연산부에 대응하는 FIFO 메모리(411, 421, 431, 441, 451, 461)를 포함할 수 있다. 이때, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422), W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기일 수 있다. 이때, 고속 푸리에 변환부(310)의 제1 버터플라이 연산부와 제2 버터플라이 연산부의 상세 구성과 동작은 이하 도 5와 도 6을 참조로 상세히 설명한다.
본 발명의 일실시예에 따른 고속 푸리에 변환부(310)는 8개의 파이프라인 중 하나로부터 매 클럭 당 1개의 복소수 값을 입력 데이터로 수신할 수 있다.
이때, 고속 푸리에 변환부(310)는 32-FIFO 메모리(411)와 연결된 제2 버터플라이 연산부(410)를 통해 입력 데이터를 64 포인트 버터플라이 연산하는 첫 번째 스테이지를 수행할 수 있다.
구체적으로, 제2 버터플라이 연산부(410)는 1클럭부터 32클럭까지는 입력 데이터를 32-FIFO 메모리(411)에 저장할 수 있다. 다음으로, 제2 버터플라이 연산부(410)는 32클럭부터 64클럭까지의 입력 데이터를 32-FIFO 메모리(411)에 저장 된 값과 버터플라이 연산을 수행할 수 있다. 이때, 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과는 두 번째 스테이지 연산을 위해 출력할 수 있다. 또한, 버터플라이 연산 결과 중 복소 뺄셈을 수행한 결과는 32-FIFO 메모리(411)에 저장할 수 있다. 이때, 32-FIFO 메모리(411)의 특성에 따라 버터플라이 연산 결과 중 복소 뺄셈을 수행한 결과는 32 클럭이 경과한 후에 출력될 수 있다.
다음으로, 고속 푸리에 변환부(310)는 16-FIFO 메모리(421)와 연결된 제1 버터플라이 연산부(420)를 통해 입력 데이터를 32 포인트 버터플라이 연산하는 두 번째 스테이지를 수행할 수 있다. 이때, 고속 푸리에 변환부(310)는 8-FIFO 메모리(431)와 연결된 제1 버터플라이 연산부(430)를 통해 입력 데이터를 16 포인트 버터플라이 연산하는 세 번째 스테이지를 수행할 수 있다.
그 다음으로, 고속 푸리에 변환부(310)는 4-FIFO 메모리(441)와 연결된 제2 버터플라이 연산부(440)를 통해 입력 데이터를 8 포인트 버터플라이 연산하는 네 번째 스테이지를 수행할 수 있다. 이때, 고속 푸리에 변환부(310)는 2-FIFO 메모리(451)와 연결된 제1 버터플라이 연산부(450)를 통해 입력 데이터를 4 포인트 버터플라이 연산하는 다섯 번째 스테이지를 수행할 수 있다.
마지막으로, 고속 푸리에 변환부(310)는 1-FIFO 메모리(461)와 연결된 제2 버터플라이 연산부(460)를 통해 입력 데이터를 2 포인트 버터플라이 연산하는 여섯 번째 스테이지를 수행할 수 있다.
이때, 제2 버터플라이 연산부는 제1 버터플라이 연산부와 동일한 연산 결과에 복소수 (-j)를 곱하는 단순 곱셈 연산을 추가하는 구성이다. 따라서, 제2 버터플라이 연산부를 사용하지 않은 두 번째 스테이지와 세 번째 스테이지 및 다섯 번째 스테이지는 회전 인자 곱셈을 위한 곱셈기를 필요로 할 수 있다.
이때, 두 번째 스테이지와 세 번째 스테이지는 곱셈을 위한 회전 인자의 종류가 적을 수 있다, 따라서, 고속 푸리에 변환부(310)는 W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)를 사용하여 두 번째 스테이지의 연산 결과를 회전 인자 곱셈 연산하고, W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)를 사용하여 세 번째 스테이지의 연산 결과를 회전 인자 곱셈 연산할 수 있다.
또한, 고속 푸리에 변환부(310)는 W32의 회전 인자 복소 부스(Booth) 곱셈기(452)를 사용하여 다섯 번째 스테이지의 연산 결과를 회전 인자 곱셈 연산할 수 있다. 이때, 복소 부스(Booth) 곱셈기(452)는 ROM 메모리에 기 저장된 회전 인자 값을 사용하여 회전 인자 곱셈 연산을 수행할 수 있다.
본 발명에 따른 고속 푸리에 변환부(310)는 각 병렬 데이터 경로에 도 4에 도시된 바와 같은 단일 경로 지연 피드백 구조를 사용하여 여섯 번째 스테이지까지 연산함으로써, 동일한 제어 신호로 64 포인트 고속 푸리에 변환을 연산할 수 있다.
도 5는 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.
본 발명에 따른 고속 푸리에 변환부(310)에 포함된 제1 버터플라이 연산부(420, 430, 450)는 N 포인트 버터플라이 연산을 수행하는 경우, N/2 번째 클럭을 기준으로 두 가지 연산 과정을 수행할 수 있다.
먼저, 제1 버터플라이 연산부(420, 430, 450)는 첫 번째부터 N/2 번째 클럭까지 입력되는 복소수 값을 N/2-FIFO 메모리(510)에 순차적으로 저장하고, N/2-FIFO 메모리(510)에 기 저장되었던 복소수 값을 순차적으로 다음 스테이지에 출력할 수 있다.
다음으로, 제1 버터플라이 연산부(420, 430, 450)는 N/2 번째 클럭부터 N 번째 클럭까지 입력되는 복소수 값과 N/2-FIFO 메모리(510)에서 출력되는 복소수 값을 버터플라이 연산을 할 수 있다. 이때, 제1 버터플라이 연산부(420, 430, 450)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과를 N/2-FIFO 메모리(510)에 순차적으로 입력할 수 있다(520). 이때, 입력한 순서대로 출력하는 N/2-FIFO 메모리(510)의 특성에 따라 버터플라이 연산 결과 중 복소 뺄셈을 수행한 결과는 N/2 클럭이 경과한 후에 출력될 수 있다. 예를 들어, N이 32인 경우, 16클럭에 버터플라이 연산 중 복소 뺄셈을 수행한 결과로 16-FIFO 메모리에 저장된 값은 16클럭이 경과한 후인 33클럭, 즉, 새로운 1클럭에 출력될 수 있다.
또한, 제1 버터플라이 연산부(420, 430, 450)는 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과를 다음 스테이지로 출력할 수 있다(530).
즉, 본 발명에 따라 N 포인트 버터플라이 연산을 수행하는 제1 버터플라이 연산부는 상기 과정을 반복함으로써, 첫 번째부터 N/2 번째 클럭까지는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과를 출력하고, N/2 번째 클럭부터 N 번째 클럭까지는 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과를 출력할 수 있다.
도 6은 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.
본 발명에 따른 고속 푸리에 변환부(310)에 포함된 제2 버터플라이 연산부(410, 440, 460)는 제1 버터플라이 연산부와 동일한 연산 결과에 복소수 (-j)를 곱하는 단순 곱셈 연산을 추가하는 구성이다.
따라서, 본 발명에 따른 제2 버터플라이 연산부(410, 440, 460)는 N 포인트 버터플라이 연산을 수행하는 경우, 제1 버터플라이 연산부(420, 430, 450)와 동일하게 N/2 번째 클럭을 기준으로 두 가지 연산 과정을 수행할 수 있다.
이때, 제2 버터플라이 연산부(410, 440, 460)는 입력 데이터를 수신한 클럭이 1 내지 N/2인 경우, 제1 버터플라이 연산부와 같이 첫 번째부터 N/2 번째 클럭까지 입력되는 복소수 값을 N/2-FIFO 메모리(610)에 순차적으로 저장하고, N/2-FIFO 메모리(610)에 기 저장되었던 복소수 값을 순차적으로 다음 스테이지에 출력할 수 있다.
또한, 제2 버터플라이 연산부(410, 440, 460)는 입력 데이터를 수신한 클럭이 N/2 내지 N인 경우, N/2 번째 클럭부터 N 번째 클럭까지 입력되는 복소수 값과 N/2-FIFO 메모리(610)에서 출력되는 복소수 값을 버터플라이 연산을 할 수 있다. 이때, 제2 버터플라이 연산부(410, 440, 460)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과를 N/2-FIFO 메모리(610)에 순차적으로 입력할 수 있다(620).
또한, 제2 버터플라이 연산부(410, 440, 460)는 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과를 다음 스테이지로 출력할 수 있다(630). 이때, 제2 버터플라이 연산부(410, 440, 460)는 멀피플렉서 회로(640)를 사용하여 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과에 복소수 (-j)를 곱하는 단순 곱셈 연산을 수행할 수 있다.
도 7은 본 발명의 일실시예에 따른 CSD 상수 곱셈기의 구성을 도시한 도면이다.
본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 하드웨어 면적 및 전력 소모 감소를 위하여 고속 푸리에 변환 장치에 포함된 복소 곱셈기 중 대부분을 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기로 사용할 수 있다.
고속 푸리에 변환 장치에서 복소 곱셈에 필요한 회전 인자는 표 1과 같이 10진수, 10 비트의 2진수 및 10 비트의 CSD 표현으로 나타낼 수 있다.
Figure 112011085365867-pat00007
이때, 회전인자에 해당하는 복소 곱셈 계수는 sin(
Figure 112011085365867-pat00008
/8), cos(
Figure 112011085365867-pat00009
/8), sin(
Figure 112011085365867-pat00010
/4), sin(
Figure 112011085365867-pat00011
/16), sin(3
Figure 112011085365867-pat00012
/16), sin(5
Figure 112011085365867-pat00013
/16), sin(7
Figure 112011085365867-pat00014
/16)이며 이를 CSD 표현으로 나타내면 최대 5개의 0이 아닌 비트로 표현될 수 있다.
이때, CSD 상수 곱셈기는 곱셈 계수 중 0이 아닌 비트의 위치에 따라서 입력 값을 오른쪽 시프트 하여 부분곱을 생성하고 생성 된 부분 곱을 모두 더해서 결과를 얻을 수 있다.
구체적으로 CSD 상수 곱셈기는 회전 인자 W32 , W16 , W8의 공통 비트를 연산하는 공통 연산부(710)가 회전 인자별 비트를 연산하는 회전 인자 연산부(720)를 포함할 수 있다.
이때, 회전 인자 W32 , W16 , W8는 W8 회전 인자 곱셈 연산부(721), W16 회전 인자 곱셈 연산부(722), W32 회전 인자 곱셈 연산부(723)에서 연산될 수 있다.
이때, 회전 인자 W32 W16 W8의 곱셈 계수를 모두 포함하고, 회전 인자 W16 W8 의 곱셈 계수를 포함하므로, 회전 인자 연산부(720)는 회전 인자 W32를 연산하는 구성을 생성하고, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 연산 결과에서 필요한 곱셈 계수를 사용함으로써, 하나의 CSD 상수 곱셈기로 회전 인자 W32 , W16 , W8를 모두 연산할 수 있다.
또한, W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)는 W32 회전 인자 곱셈 연산부(723)를 사용하고, W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)는 W16 회전 인자 곱셈 연산부(722)만을 사용하며, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)는 W8 회전 인자 곱셈 연산부(721)만을 사용함으로써 구조를 간략화할 수도 있다.
즉, 본 발명의 일실시예에 따른 CSD 상수 곱셈기는 2의 보수 형식으로 표현 된 곱셈 계수를 CSD 방식으로 표현함으로써, 하드웨어 면적을 감소시키는 2진 곱셈기를 설계할 수 있다. 이때, CSD 방식은 반드시 {-1, 0, 1}의 원소 중 하나의 값을 갖고. 두 개 이상의 연속적인 0이 아닌 비트로 이루어질 수 없다.
도 8은 회전 인자 W32를 위한 본 발명의 일실시예에 따른 복소 상수 곱셈기의 구성을 도시한 도면이다.
회전 인자 W32를 위한 본 발명의 일실시예에 따른 복소 상수 곱셈기는 도 8에 도시된 바와 같이 두 개의 CSD 상수 곱셈기와 멀티플렉서, 및 두 개의 덧셈기를 포함할 수 있다.
이때, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 두 개의 CSD 상수 곱셈기에 각각 실수와 허수를 입력하여 입력 데이터에 대한 계수 별 곱셈 결과를 출력시킬 수 있다.
이때, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 표 2의 스케쥴에 따라 회전 인자 곱셈을 연산할 수 있다.
Figure 112011085365867-pat00015
표 2는 회전 인자 W32에서 사용하는 64 클럭 별 회전 인자 곱셈 연산 모드를 시간 순서에 따라 정의한 것이며, 15 종류의 회전 인자 곱셈 연산 모드가 정의되어 있을 수 있다.
또한, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 표 2를 사용하여 표 3과 같은 멀티플렉서의 제어 신호를 생성할 수 있다.
Figure 112011085365867-pat00016
본 발명의 일실시예에 따른 복소 상수 곱셈기는 표 3과 같이 전체 4개의 멀티플렉서 제어 신호에 의해 곱셈기의 동작을 제어할 수 있다. 이때, 회전 인자 W8 및 W16을 위한 복소 상수 곱셈기도 회전 인자 W32로 구성한 경우와 같은 제어 신호를 통해 간략히 구성될 수 있다.
이때, W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)는 상수 곱셈기(W32)를 W16 회전 인자 곱셈 연산부(722)로 대체하고, W16 회전 인자 곱셈 연산부(722)의 출력은 3개 이므로, mux-sel2의 멀티플렉서를 3-to-1 MUX로 대체하여 구성할 수 있다.
또한, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)는 상수 곱셈기(W32)를 W8 회전 인자 곱셈 연산부(721)로 대체하고, W8 회전 인자 곱셈 연산부(721)의 출력은 1개 이므로, mux-sel2의 멀티플렉서를 생략하여 구성할 수 있다.
도 9는 본 발명의 일실시예에 따른 후처리부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.
본 발명에 따른 후처리부(320)에 포함된 제1 버터플라이 연산부(321, 324)는 입력받은 복소수 값을 버터플라이 연산을 할 수 있다. 이때, 제1 버터플라이 연산부(321)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과(910)와 복소 덧셈을 수행한 결과(920)를 각각 다른 출력 단자를 사용하여 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322) 또는 제2 버터플라이 연산부(323)로 출력할 수 있다.
또한, 제1 버터플라이 연산부(324)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과(910)와 복소 덧셈을 수행한 결과(920)를 각각 다른 출력 단자를 사용하여 64 클럭 동안 출력할 수 있다.
도 10은 본 발명의 일실시예에 따른 후처리부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.
본 발명에 따른 후처리부(320)에 포함된 제2 버터플라이 연산부(323)는 제1 버터플라이 연산부(321), 또는 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)로부터 입력받은 복소수 값을 버터플라이 연산할 수 있다. 이때, 제2 버터플라이 연산부(323)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과(1010)와 복소 덧셈을 수행한 결과(1020)에 각각 복소수 (-j)를 곱하는 단순 곱셈 연산(1030)을 수행하여 제1 버터플라이 연산부(324)로 출력할 수 있다.
도 11은 본 발명의 일실시예에 따른 고속 푸리에 변환 방법을 도시한 플로우차트이다.
단계(S1110)에서 8개의 제2 버터플라이 연산부(410)는 병렬 데이터 경로 각각에 대하여 32-FIFO 메모리(411)를 사용하여 64 포인트 버터플라이 연산을 병렬로 수행할 수 있다.
단계(S1120)에서 8개의 제1 버터플라이 연산부(420)는 16-FIFO 메모리(421)를 사용하여 단계(S1110)의 연산 결과에 32포인트 버터플라이 연산을 수행할 수 있다. 이때, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)는 제1 버터플라이 연산부(420)의 연산 결과를 회전 인자 곱셈 연산하여 제1 버터플라이 연산부(430)에 제공할 수 있다.
단계(S1130)에서 8개의 제1 버터 플라이 연산부(430)는 8-FIFO 메모리(431)를 사용하여 단계(S1130)의 연산 결과에 16포인트 버터플라이 연산을 수행할 수 있다. 이때, W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)는 제1 버터플라이 연산부(430)의 연산 결과를 회전 인자 곱셈 연산하여 제2 버터플라이 연산부(440)에 제공할 수 있다.
단계(S1140)에서 8개의 제2 버터 플라이 연산부(440)는 4-FIFO 메모리(441)를 사용하여 단계(S1130)의 연산 결과에 8포인트 버터플라이 연산을 수행할 수 있다.
단계(S1150)에서 8개의 제1 버터 플라이 연산부(450)는 2-FIFO 메모리(451)를 사용하여 단계(S1140)의 연산 결과에 4포인트 버터플라이 연산을 수행할 수 있다. 이때, W512의 회전 인자 복소 부스(Booth) 곱셈기(452)는 제1 버터플라이 연산부(450)의 연산 결과를 회전 인자 곱셈 연산하여 제1 버터플라이 연산부(460)에 제공할 수 있다.
단계(S1160)에서 8개의 제2 버터 플라이 연산부(460)는 1-FIFO 메모리(461)를 사용하여 단계(S1150)의 연산 결과에 2포인트 버터플라이 연산을 수행할 수 있다.
이때, 단계(S1110) 내지 단계(S1160)는 8개의 병렬 데이터 경로에 따라 독립적으로 동작하는 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산일 수 있다.
단계(S1170)에서 제1 버터플라이 연산부(321)는 단계(S1160)의 연산 결과들에 8포인트 버터플라이 연산을 수행할 수 있다. 이때, 복소 상수 곱셈기(322)는 제1 버터플라이 연산부(321)의 연산 결과에 회전 인자 곱셈 연산을 수행하여 제2 버터플라이 연산부(323)에 제공할 수 있다.
단계(S1180)에서 제2 버터플라이 연산부(323)는 단계(S1170)의 연산 결과에 4포인트 버터플라이 연산을 수행할 수 있다.
단계(S1190)에서 제1 버터플라이 연산부(324)는 단계(S1180)의 연산 결과에 2포인트 버터플라이 연산을 수행함으로써 64 클럭 동안 고속 푸리에 변환 결과를 출력할 수 있다.
본 발명은 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치에서 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높일 수 있다. 또한, 복잡한 구조를 가지는 복소 부스(Booth) 곱셈기의 대부분을 간단한 구조를 가지는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기로 대체함으로써, 고속 푸리에 변환 장치의 복잡도를 낮출 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
310: 고속 푸리에 변환부
321: 제1 버터플라이 연산부
323: 제2 버터플라이 연산부

Claims (14)

  1. 삭제
  2. 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치에 있어서,
    복수의 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 병렬적으로 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 고속 푸리에 변환하는 복수의 고속 푸리에 변환부; 및
    상기 복수의 고속 푸리에 변환부에서 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 제1 버터플라이 연산부와, 상기 제1 버터플라이 연산부의 연산 결과를 회전 인자 곱셈 연산하는 복소 상수 곱셈기와, 상기 제1 버터플라이 연산부 또는 상기 복소 상수 곱셈기의 연산 결과를 버터플라이 연산하는 제2 버터플라이 연산부로 구성된 후처리부
    를 포함하고,
    상기 고속 푸리에 변환부는,
    32-FIFO 메모리와 연결된 제2 버터플라이 연산부를 통해 버터플라이 연산하는 제1 단계;
    16-FIFO 메모리와 연결된 제1 버터플라이 연산부를 통해 상기 제1 단계의 연산 결과를 버터플라이 연산하는 제2 단계;
    8-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제2 단계의 연산 결과를 버터플라이 연산하는 제3 단계;
    4-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제3 단계의 연산 결과를 버터플라이 연산하는 제4 단계;
    2-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제4 단계의 연산 결과를 버터플라이 연산하는 제5 단계; 및
    1-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제5 단계의 연산 결과를 버터플라이 연산하는 제6 단계
    를 포함하는 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산을 병렬로 각각 수행하는 것이고,
    상기 복소 상수 곱셈기는 공통 서브 익스프레션 공유(Common Sub-expression Sharing; CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복소 상수 곱셈기이며,
    상기 복소 상수 곱셈기를 사용하여 상기 제2 단계의 연산 결과와 상기 제3단계의 연산 결과를 회전 인자 곱셈 연산하고,
    상기 후처리부는,
    상기 제1 버터플라이 연산부를 통해 상기 복수의 고속 푸리에 변환부에서 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 과정과, 상기 복소 상수 곱셈기를 통해 상기 제1 버터플라이 연산부의 버터플라이 연산 결과를 회전 인자 곱셈 연산하는 과정으로 이루어진 제7 단계;
    상기 제2 버터플라이 연산부를 통해 상기 제7 단계의 버터플라이 연산 결과 또는 회전 인자 곱셈 연산 결과를 버터플라이 연산하는 제8 단계; 및
    상기 제1 버터플라이 연산부를 통해 상기 제8 단계의 버터플라이 연산 결과를 버터플라이 연산하는 제9 단계
    를 포함하는 후처리 연산을 수행하는 것이며,
    상기 제1 단계부터 상기 제5 단계까지는 6차원 인덱스 분해법에 의해 유도 되는 Radix-25 알고리즘에 공통 인수 분해 알고리즘을 적용하여 수식을 재구성한 수정된 Radix-25 알고리즘에 따라 동작하고,
    상기 제6 단계부터 상기 제9 단계까지는 6차원 인덱스 분해법에 의해 유도 되는 복수의 Radix-25 알고리즘을 기초로 병렬 구조 및 파이프라인 방식을 이용한 수정된 Radix-25 알고리즘에 따라 동작하는 것
    을 특징으로 하는 고속 푸리에 변환 장치.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치가 수행하는 고속 푸리에 변환 방법에 있어서,
    복수의 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 병렬적으로 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 병렬로 고속 푸리에 변환하는 푸리에 변환 단계; 및
    제1 버터플라이 연산부를 사용하여 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하고, 복소 상수 곱셈기를 사용하여 상기 제1 버터플라이 연산부의 연산 결과를 회전 인자 곱셈 연산하며, 제2 버터플라이 연산부를 사용하여 상기 제1 버터플라이 연산부 또는 상기 복소 상수 곱셈기의 연산 결과를 버터플라이 연산하는 후처리 단계
    를 포함하고,
    상기 푸리에 변환 단계는
    32-FIFO 메모리와 연결된 제2 버터플라이 연산부를 통해 입력 데이터를 버터플라이 연산하는 제1 단계;
    16-FIFO 메모리와 연결된 제1 버터플라이 연산부를 통해 상기 제1 단계의 연산 결과를 버터플라이 연산하는 제2 단계;
    8-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제2 단계의 연산 결과를 버터플라이 연산하는 제3 단계;
    4-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제3 단계의 연산 결과를 버터플라이 연산하는 제4 단계;
    2-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제4 단계의 연산 결과를 버터플라이 연산하는 제5 단계; 및
    1-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제5 단계의 연산 결과를 버터플라이 연산하는 제6 단계
    를 포함하는 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산을 병렬로 각각 수행하고,
    상기 복소 상수 곱셈기는 공통 서브 익스프레션 공유(Common Sub-expression Sharing; CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복소 상수 곱셈기이며,
    상기 복소 상수 곱셈기를 사용하여 상기 제2 단계의 연산 결과와 상기 제3단계의 연산 결과를 회전 인자 곱셈 연산하고,
    상기 후처리 단계는,
    상기 제1 버터플라이 연산부를 통해 상기 푸리에 변환 단계에서 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 과정과, 상기 복소 상수 곱셈기를 통해 상기 제1 버터플라이 연산부의 버터플라이 연산 결과를 회전 인자 곱셈 연산하는 과정으로 이루어진 제7 단계;
    상기 제2 버터플라이 연산부를 통해 상기 제7 단계의 버터플라이 연산 결과 또는 회전 인자 곱셈 연산 결과를 버터플라이 연산하는 제8 단계; 및
    상기 제1 버터플라이 연산부를 통해 상기 제8 단계의 버터플라이 연산 결과를 버터플라이 연산하는 제9 단계
    를 포함하며,
    상기 제1 단계부터 상기 제5 단계까지는 6차원 인덱스 분해법에 의해 유도 되는 Radix-25 알고리즘에 공통 인수 분해 알고리즘을 적용하여 수식을 재구성한 수정된 Radix-25 알고리즘에 따라 동작하고,
    상기 제6 단계부터 상기 제9 단계까지는 6차원 인덱스 분해법에 의해 유도 되는 복수의 Radix-25 알고리즘을 기초로 병렬 구조 및 파이프라인 방식을 이용한 수정된 Radix-25 알고리즘에 따라 동작하는 것
    을 특징으로 하는 고속 푸리에 변환 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020110112082A 2011-10-31 2011-10-31 고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법 KR101334494B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110112082A KR101334494B1 (ko) 2011-10-31 2011-10-31 고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110112082A KR101334494B1 (ko) 2011-10-31 2011-10-31 고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130047202A KR20130047202A (ko) 2013-05-08
KR101334494B1 true KR101334494B1 (ko) 2013-11-29

Family

ID=48658744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110112082A KR101334494B1 (ko) 2011-10-31 2011-10-31 고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101334494B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376492B1 (ko) * 2020-08-05 2022-03-21 아스텔 주식회사 실수값을 입력으로 하는 고속푸리에 변환장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087683A (ko) * 2004-02-26 2005-08-31 임명섭 저전력 및 면적효율적인 알고리즘을 적용한 고속 푸리에변환 프로세서

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087683A (ko) * 2004-02-26 2005-08-31 임명섭 저전력 및 면적효율적인 알고리즘을 적용한 고속 푸리에변환 프로세서

Also Published As

Publication number Publication date
KR20130047202A (ko) 2013-05-08

Similar Documents

Publication Publication Date Title
Cortés et al. Radix $ r^{k} $ FFTs: Matricial representation and SDC/SDF pipeline implementation
US7856465B2 (en) Combined fast fourier transforms and matrix operations
US5717620A (en) Improved-accuracy fast-Fourier-transform butterfly circuit
KR100597439B1 (ko) 2n-포인트 및 n-포인트 fft/ifft 듀얼모드 장치
KR20060061796A (ko) 리코드 radix-2 파이프라인 FFT 프로세서
CN109117188B (zh) 一种多路混合基fft可重构蝶形运算器
Saenz et al. FPGA design and implementation of radix-2 fast Fourier transform algorithm with 16 and 32 points
Garrido et al. The constant multiplier FFT
Prakash et al. Performance evaluation of FFT processor using conventional and Vedic algorithm
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
KR101334494B1 (ko) 고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법
KR20060039599A (ko) Ifft/fft 프로세서에 있어서 룩업테이블을 이용한데이터변환 방법
JP3668356B2 (ja) 高速フーリエ変換演算回路
US8010588B2 (en) Optimized multi-mode DFT implementation
KR100892292B1 (ko) 병렬 구조 및 파이프라인 방식을 이용한 Radix 2의4승 고속 푸리에 변환 프로세서
KR102301144B1 (ko) 저 복잡도의 단시간 푸리에 변환 처리 장치 및 그 방법
Adiono et al. Low latency parallel-pipelined configurable FFT-IFFT 128/256/512/1024/2048 for LTE
KR100576520B1 (ko) 반복 연산 기법을 이용한 가변 고속 푸리에 변환프로세서
KR100617248B1 (ko) 고속 푸리에 변환 장치 및 방법
Mamatha et al. Triple-matrix product-based 2D systolic implementation of discrete Fourier transform
KR101652899B1 (ko) 8-병렬 엠디씨 구조를 적용한 고속 푸리에 변환 장치
JP3355319B2 (ja) 周期的シフティングのための効率的アーキテクチャを有するディジタル・チャネライザおよびそのオペレーション方法
Pritha et al. An effective design of 128 point FFT/IFFT processor UWB application utilizing radix-(16+ 8) calculation
Chen et al. New algorithm for design of low complexity twiddle factor multipliers in radix-2 FFT
Park et al. Twiddle factor transformation for pipelined FFT processing

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: 20170829

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 6