KR100416641B1 - 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로 - Google Patents

프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로 Download PDF

Info

Publication number
KR100416641B1
KR100416641B1 KR10-2001-0043713A KR20010043713A KR100416641B1 KR 100416641 B1 KR100416641 B1 KR 100416641B1 KR 20010043713 A KR20010043713 A KR 20010043713A KR 100416641 B1 KR100416641 B1 KR 100416641B1
Authority
KR
South Korea
Prior art keywords
fft
addition
data
multiplier
dsp
Prior art date
Application number
KR10-2001-0043713A
Other languages
English (en)
Other versions
KR20030008795A (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 KR10-2001-0043713A priority Critical patent/KR100416641B1/ko
Publication of KR20030008795A publication Critical patent/KR20030008795A/ko
Application granted granted Critical
Publication of KR100416641B1 publication Critical patent/KR100416641B1/ko

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
    • 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

Landscapes

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

Abstract

본 발명은 고속 유무선 통신용 표준들에서 많이 사용되고 있는 알고리즘 중 하나인 FFT(Fast Fourier Transform)에 관한 것으로, 특히 좁은 주파수 대역에서 고속의 데이터 전송을 위해 사용되고 있는 DMT(Discrete Multi-Tone), OFDM(Orthogonal Frequency Division Multiplexing) 등의 통신방식의 통신표준에 대한 유연성(flexibility) 부재, 하드웨어 비용 및 개발비용 상승, 개발기간 장기화, 고전력 소모 등의 문제점을 해결하기 위해 고속 유무선 통신기술의 핵심 알고리즘인 큰 연산점을 갖는 고속의 FFT 연산을 프로그래머블 프로세서 칩에서 수행 가능하도록 하는 FFT 연산방법 및 그 방법을 실행하기 위한 FFT 연산회로를 제공하는 것이다

Description

프로그래머블 프로세서에서 고속 에프에프티 연산을 위한 에프에프티 연산방법 및 그 연산을 실행하기 위한 에프에프티 연산회로{The Calculation Methods and Cricuits for High-Speed FFT on Programmable Processors}
본 발명은 고속 유무선 통신용 표준들에서 많이 사용되고 있는 알고리즘 중 하나인 FFT에 관한 것이다. 특히 좁은 주파수 대역에서 고속의 데이터 전송을 위해 사용되고 있는 DMT, OFDM 등의 통신방식은 연산점(포인트 수)이 큰 FFT의 고속 수행을 필요로 함에 따라 통신용 표준의 알고리즘 중 하나인 FFT를 프로그래머블 DSP나 마이크로 프로세서에서 고속으로 처리할 수 있는 새로운 연산방법과 그 방법을 시행하기 위한 연산회로를 제공하여 고속 FFT를 구현하기 위한 것이다.
일반적으로 DFT(Discrete Fourier Transform) 알고리즘은 수학식1과 같이 표현된다.
상기 수학식1은 radix-2 방식의 FFT로 분리된다. 수학식 2는 radix-2로 분리되는 과정을 나타낸 것이다.
여기서, radix는 DFT를 분리하는 방법에 따른 명칭이며, 짝수부와 홀수부로 나누는 radix-2와 네 부분으로 나누는 radix-4 등이 실제 구현하는데 적합한 알고리즘으로 가장 널리 사용되고 있다.
상기 두 가지 방식의 알고리즘 중, radix-2 방식은 버터플라이(butterfly) 구조가 간단하여 면적을 적게 차지하는 반면에 스테이지(stage) 수가 늘어나는 단점이 있다. 또한, radix-4는 버터플라이 구조가 복잡하여 연산부를 구현하는데 있어 어려움과 큰 면적을 요구하는 반면에 스테이지 수가 줄고 한꺼번에 처리하는 데이터 량이 많다는 장점이 있다.
표1은 radix 수와 FFT 연산점 수(N)에 따라 요구되는 곱셈 수와 덧셈 수를비교한 것으로, radix 수가 높아질수록 곱셈 수와 덧셈 수가 줄어드는 것을 알 수 있다. 그러나 radix 수가 높아지면 하나의 버터플라이 연산을 위해서 radix 수만큼의 데이터들이 한번에 처리되어야 하므로 연산 집중 현상이 발생한다. 따라서 원활한 연산 흐름을 유지하기 위해서는 radix-2의 경우에 필요한 하드웨어 크기보다 배가 필요하여 그만큼 하드웨어의 부담은 늘어날 수밖에 없다. 실제로 radix-4용 하드웨어가 radix-2의 경우보다 약 2배 크다. 또한, 연산점 수 N이 radix 수로 나누어 떨어지는 수가 아니면 FFT 연산의 마지막 스테이지에 다른 radix에 기반한 FFT 연산을 추가하여야 한다.
N-포인트에 따른 radix-2와 radix-4의 곱셈 수와 덧셈 수의 비교
N FFT radix 필요한 실수 곱셈 수 필요한 실수 덧셈 수
256 2 4,096 6,144
256 4 3,072 5,632
4096 2 98,304 147,456
4096 4 73,728 135,168
따라서, 전용 FFT 프로세서가 아닌 DSP에서는 실제 곱셈 수가 2개 정도로 제한되어 있기 때문에 실제 FFT 구현 성능은 연산점이 증가할수록 radix-2가 오히려 우수한 성능을 보이고 있다. 실제로도 DSP의 구조는 radix-2 FFT 연산에 적합한 구조를 가지고 있다.
상술한 알고리즘을 이용한 종래의 FFT 전용프로세서나 DSP 칩들에 대해 설명하면 다음과 같다.
도1은 종래의 FFT 전용 프로세서나 DSP 칩들이 DIF(Decimation-in-Frequency) FFT 연산 수행시 사용하고 있는 radix-2 버터플라이 연산구조를 나타낸것이다.
도1과 같이 radix-2 복소수 FFT는 버터플라이 연산 형태를 취하며, 이러한 구조의 연속적 반복으로 모든 2n포인트 FFT 연산이 가능하다. 도1의 m-1은 이전 스테이지를 나타내고 m은 현재 스테이지를 나타낸다. 즉 이전 스테이지의 두 값들의 감산과 가산을 수행한 후 가중치과 곱함으로써 현재 스테이지의 값을 나타내게 된다.
종래의 FFT 전용 프로세서들은 버터플라이 연산부에 있어 서로 유사한 구조를 사용하고 있으며 반도체 공정 기술이 발달하기 이전에는 여러 개의 칩을 사용하여 병렬 수행함으로써 수행 속도를 높였으나 공정기술이 발달하여 집적도가 증가함에 따라 단일 칩 안에 여러 개의 연산부를 두어 병렬적으로 처리함으로써 수행속도를 높이고 있다. 또한, 데이터 흐름을 제어하는 방법의 차이에 따라 그 성능이 크게 차이가 나기도 한다. 대개의 경우 수행시간 측면에서는 통신용 알고리즘의 요구사항을 만족하나 전력소모 면에서는 휴대용 장비에서 여러 개의 다른 알고리즘 처리용 칩들과 함게 사용하기에는 부적절하다. 이러한 종래의 FFT 프로세서 중 최근에 스탠포드 대학에서 개발한 spiffee는 저전력이면서도 고성능을 보이고 있다. 그러나 이 프로세서는 1024 포인트 전용이고 완전 주문형으로만 구현 가능한 저전력 구조이므로 유연성과 개발비용 및 시간 면에서 불리하다는 문제점이 있다.
또한, 상용 DSP 칩들은 보유하고 있는 곱셈기 수가 대개 2개로 제한되어 있어 도1의 radix-2 알고리즘으로 FFT를 구현하고 있다. 연산은 모두 복소수 연산으로 도2는 그러한 복소수 연산을 이중 MAC 구조를 갖는 DSP 칩에서 수행하고 있는 순서를 나타낸 것이다.
90년대 후반 이후의 DSP 칩들은 일반적으로 이중 MAC(Multiply and Add) 연산 지원을 위한 하드웨어를 보유하고 있으며, ALU(Arithmetic Logic Unit)도 4개 이상 보유하고 있는 DSP 칩들도 있다. 그리고 MAC 구조는 곱셈기와 덧셈기 사이를 파이프라이닝하여 사용하고 있다. 따라서 도2와 같은 연산 흐름이 가능한 것이다.
도2에서 A, B, C 블럭은 첫 번째, 두 번째 그리고 세 번째 연산 사이클(각각 1클럭 사이클 소모)을 나타낸다. 연산 유닛의 파이프라인 깊이가 서로 다른 DSP 칩들인 경우라도 동작 주파수만 다를 뿐 연산 결과가 출력되는 측면에서 보면 한 개의 버터플라이 연산을 하는데 걸리는 싸이클 수는 3 이상으로 항상 같다.
연산 순서를 설명하면, 먼저 A의 싸이클에서 4개의 ALU들을 이용한 복소수 감가산 연산을 수행하면(1클럭 싸이클 소모), B의 싸이클에서 두 개의 곱셈을 처리하고(1클럭 싸이클 소모), 그 결과와 C의 MAC 연산을 취하기 위한 준비 싸이클로 1싸이클이 소모되며, 최종적으로 C의 연산을 수행함(A와 동시에 동작하므로 싸이클 소모가 없음)으로써 모두 3싸이클이 소요된다. 즉, 새로운 출력 데이터가 나오는데 걸리는 잠복(Latency) 싸이클이 3인 것이다. 상기 A, B, C의 싸이클 연산이 연속적으로 이루어져 출력단에서는 1 싸이클 당 하나의 버터플라이 연산 결과가 나오는 것은 아니다. 왜냐하면 곱셈기는 2개로 한정되어 B, C를 동시에 수행할 수 없고, MAC 기반의 연산은 누산기가 곱셈기와 ALU 밑에 있어 C 싸이클의 연산을 준비하기 위해 1싸이클 이상 소모되는데 이는 상기 곱셈기를 동시에 사용할 수 없기 때문이다. 따라서, 항상 3클럭 싸이클 마다 한번씩만 버터플라이 데이터들이 입력되는 것이다. 도2의 C 싸이클에 도시된 바와 같이 상용 DSP 칩들은 곱셈기와 감가산기를 연속적으로 배치하여 한 싸이클에 이중 MAC 연산을 수행할 수 있도록 하고 있다.
상술한 방법들을 사용한 종래의 전용 ASIC 칩에서 FFT 연산기의 구조는 버터플라이형 연산구조의 하드웨어 구현을 위한 다양한 형태를 가질 수 있으나 기본 구조는 도3에 도시된 바와 같다. 도3은 상술한 바와 같이 radix-2 버터플라이 연산구조에서 전단의 두 입력값을 덧셈기(11)를 통해 더한 값과, 뺄셈기(12)를 통해 뺀 후 실수부와 허수부 각각에 계수를 곱셈기(13, 14)를 통해 곱한 값을 다시 덧셈기(15)로 더한 다음 동시에 출력하는 구조이다. 상기 FFT 연산기는 한 개의 버터플라이 연산을 수행하는데 2 싸이클이 걸린다.
다음에 도4a 및 도4b는 DSP 그룹의 차세대 통신용 DSP 코어인 팜디에스피코어(PalmDSPCoreTM)의 데이터 연산부를 나타낸 것이다.
팜디에스피코어는 두 개의 곱셈기 외에 ALU(23), ASU(24, Adder/Subtracter Unit), 3IALU(27, three input ALU) 등을 포함하여 7개의 산술 연산 유닛을 보유하고 있는 VLIW(Very Long Instruction Word) 아키텍쳐를 가지고 있다. 도4a는 복소수 FFT 연산 모드 시 이중 MAC 기반의 복소수 연산을 위한 구조이며, 도4b는 FIR(Finite Impulse Response) 필터 알고리즘 연산 모드 시 두 개의 곱셈 단까지 한번에 MAC 연산을 취할 수 있도록 하는 구조이다. 두 구조는 적용 알고리즘에 따라 모드가 변경되어 구성된다.
또한, R.E.A.L(Reconfigurable Embedded DSP Architecture Low power/Low cost) 코어는 필립스 반도체사(Philips Semiconductors)의 차세대 통신용 DSP이고, DSP1600 코어는 루슨트 테크놀로지스사(Lucent Technologies)의 통신용 DSP 코어로서, DSP16410B, DSP16210 등의 고성능 통신용 DSP의 핵심 코어로 사용되고 있다. 상기 두 코어는 도4a와 같은 형태의 이중 MAC 구조를 가지며, 1싸이클 안에 이중 MAC을 처리할 수 있고, 이러한 고속 연산 처리를 위하여 데이터의 흐름을 원활하게 하는 이중 하버드 아키텍쳐(dual Harvard architecture)를 가지고 있다. 상기 이중 하버드 아키텍쳐는 메모리를 여러 개로 분할하여 각 메모리당 AGU(Address Generation Unit)들을 보유하여 다중 버스를 통해 데이터를 송수신하는 구조이다. 두 코어는 각각 125MHz, 100MHz 까지 동작할 수 있다.
또한, 인피니언 테크놀로지스사(Infineon Technologies)의 카멜(CARMEL) DSP 코어는 CLIWTM구조를 갖는 최근의 DSP 코어이다. 상기 CLIW(Configurable Long Instruction Word)는 인피니언 테크놀로지 사에서 자체 개발한 명령어 세트로서, 고도의 병렬 수행능력을 보유하고 있어 동시에 4개의 어드레스와 4개의 산술연산 및 2개의 데이터 이동을 수행할 수 있다. 그러나, CARMEL DSP도 이중 MAC에 기반한 2 싸이클 복소수 연산 방식을 수행하기 위한 구조를 가지고 있다.
또한, TMS320C6x는 곱셈기 2개(.M 유닛)와 ALU 6개(.L, .S, .D 유닛)를 병렬로 배열하여 동시 연산이 가능하도록 하였으며, 동시에 레지스터 파일에 억세스 가능한 구조로 되어 있다. 상기 TMS320C6x 역시 2개의 곱셈기와 ALU들을 사용하여 이중 MAC의 구조를 지원하며, 1 싸이클 수행이 가능하다.
또한, 모토롤라 반도체사(Motorola Semiconductors)와 루슨트 테크놀로지사 등 두 회사가 1999년 6월 공동 설립한 스타코어 기술센터(StarCore Technology Center)에서 개발한 스타코어(STARCORE)는 3000 MIPS 또는 초당 12억 MAC의 처리성능을 갖는 세계 최초의 SC140 계열의 DSP 코어이다.
상기 SC140의 DALU는 4개의 ALU와 8개의 쉬프터/리미터(shifter/limiter)로 이루어지며, 각 ALU는 MAC과 BFU(Bit-Field Unit)라는 연산 유닛을 가짐으로써 총 8개의 연산 유닛을 가지고 있다. 따라서 총 16개의 연산 유닛을 보유한다.
이처럼 최근 반도체 공정기술의 발달과 더불어 1싸이클 복소수 연산을 실현하기 위하여 4개의 곱셈기가 하나의 코어에 집적될 수 있게 된 것이다. 상기 4개의 ALU에 각각 곱셈기와 누산기가 있어 도2의 radix-2 버터플라이 연산 순서도상 B, C의 부분을 한 싸이클에 처리할 수 있다. 상기 SC140 코어는 무선통신 단말기나 개인 휴대단말기(PDA) 등 차세대 절전형 메모리 절약형 애플리케이션 설계에 폭 넓게 활용할 목적으로 개발되었으며, 이미 모토로라의 MSC8101과 같은 고성능 DSP 칩에 핵심 코어로 사용되고 있다.
그러나, 상기 SC140 코어는 하드웨어 크기만 확대되었을 뿐 다량 연산 유닛간의 데이터 패스 구조는 종래의 DSP에서와 크게 다를 바 없다.
상술한 바와 같은 종래의 DSP 칩들은 FFT 연산시 복소수 연산을 빠르게 하기 위하여 이중 MAC을 지원하는 구조를 모두 갖추고 있다. 따라서 거의 대부분의 DSP 칩들이 도2의 연산 흐름에 따라 FFT 연산을 수행하고 있으며, 하드웨어 구조도 SC140 코어의 경우처럼 그 연산 흐름에만 맞추어 확대되고 있다. 즉, FFT 알고리즘 연산의 흐름 자체를 분석하여 DSP 칩의 구조에 적용한 것은 아직까지 실현되지 않고 있다.
따라서, 상술한 종래의 DSP 코어들은 복소수 연산을 이중 MAC 연산을 사용하여 처리하는 방식을 사용해 왔기 때문에 본 발명에서 제안하는 FFT 연산 처리방식을 위해서는 그 구조를 개조해야만 한다는 문제점이 있다.
그리고 종래의 유무선 통신 시스템 설계에 있어 ASIC의 사용은 다양한 통신 표준에 대한 유연성 부재, 하드웨어 비용 및 개발비용 상승, 개발 기간의 장기화, 고 전력 소모 등이 문제점으로 나타나고 있다.
이러한 문제점들로 인하여 여러 면에서 이점을 가질 수 있는 DSP 기반의 통신용 시스템 개발로 그 구현 방식이 전환되고 있다. 그러나 DSP 역시 초고속 광대역 통신 알고리즘이 요구하는 방대한 연산량에 비해 아직까지 그 성능이 부족한 실정이다, 특히 좁은 주파수 대역을 활용하여 고속 데이터 전송을 하기 위해 사용되는 OFDM(Orthogonal Frequency Division Multiplexing), DMT(Discrete Multi-Tone) 등의 통신 방식은 연산점이 큰 복소수 FFT의 고속 수행을 필요로 하는데, 지금까지의 DSP 기술로는 어려운 실정이다.
따라서 본 발명에서는 차세대 고속 유무선 통신 기술의 핵심 알고리즘인 고속 FFT 연산을 프로그래머블 프로세서 칩에서도 수행 가능하도록 하는 연산방법 및 그 방법을 실행하기 위한 회로를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여 본 발명은 프로그래머블 프로세서 칩에서 FFT 연산을 실행하기 위한 방법에 있어서, 6개의 입력데이터를 각각 3개씩 두 개의 그룹으로 분류하는 단계와; 상기 두 개의 그룹 중 각각 두 개의 입력 데이터를 선택하여 각각의 덧셈기에서 덧셈을 수행하도록 하는 단계와; 상기 각각의 덧셈기에서 상기 두 개의 입력 데이터의 덧셈 결과값을 각각의 곱셈기와 하나의 덧셈기로 출력하는 단계와; 상기 덧셈 결과값을 입력받은 각각의 곱셈기에서 최초 분류되어 선택되지 않은 입력값과 곱셈을 수행하여 출력하는 단계와; 상기 덧셈 결과값을 입력받은 하나의 덧셈기에서 상기 최초 입력된 두 개의 입력 데이터의 덧셈 결과값을 다시 더하여 출력하는 단계와; 상기 결과값들을 레지스터 파일이나 메모리에 저장하는 단계를 포함하며, AM(Add and Multiply) 연산명령이라 칭하는 FFT 연산방법과 이 연산방법을 실행하기 위한 FFT 연산회로를 특징으로 한다.
또한, 프로그래머블 프로세서 칩에서 FFT 연산을 실행하기 위한 방법에 있어서, 6개의 입력 데이터중 두 개의 입력 데이터를 선택하여 덧셈을 수행하는 단계와; 상기 덧셈이 수행된 결과값을 두 개의 곱셈기로 전송하여 각 곱셈기에서 입력 데이터 중 각각 하나씩을 입력받아 곱셈을 수행하는 단계와; 상기 각각의 곱셈기에서 수행된 곱셈의 결과값을 각각 다른 덧셈기로 전송하고, 상기 곱셈 결과값과 다른 경로를 통하여 얻어진 데이터를 하나씩 입력받아 덧셈을 수행하는 단계와; 상기 최종적으로 덧셈이 수행된 데이터를 레지스터 파일이나 메모리에 저장하는 단계를 포함하며, AMAC(Add and MAC) 연산명령이라 칭하는 FFT 연산방법과 연산방법을 실행하기 위한 FFT 연산회로를 또 다른 특징으로 한다.
도1은 일반적인 radix-2 복소수 FFT 버터플라이 연산 구조를 나타낸 도면.
도2는 일반적인 DSP 칩에서의 radix-2 버터플라이 연산을 나타낸 순서도.
도3은 종래의 전용 radix-2 FFT 프로세서의 버터플라이 연산부를 나타낸 블록도.
도4a는 종래의 PalmDSPCoreTM의 데이터 연산 유닛에서 FFT 모드를 나타낸 도면.
도4b는 종래의 PalmDSPCoreTM의 데이터 연산 유닛에서 FIR 모드를 나타낸 도면.
도5는 본 발명에 따른 복소수의 곱셈 구조를 나타낸 도면.
도6은 본 발명에 따른 FFT 곱셈의 순서를 나타낸 도면.
도7은 본 발명에 따른 AMAC 명령어를 사용한 곱셈의 순서도.
도8은 본 발명에 따른 FFT 연산을 위한 DPU 구조를 나타낸 도면.
<도면의 주요부분에 대한 부호의 설명>
11, 15, 32, 33, 34, 35, 36 : 덧셈기
12 : 뺄셈기 13, 14, 37, 38, : 곱셈기
21, 22 : 파이프라인 레지스터 23 : ALU
24 : ALU/ASU 25, 26 : 누산기
27 : 3IALU 31, 39 : 스위칭 네트워크
A, B, C, D, E, F, G, H : 연산 사이클
: 멀티플렉서
본 발명은 종래의 DSP에서 구현하던 FFT 연산의 이중 MAC 기반의 복소수 연산방식을 탈피하여 새로운 FFT 연산 방식으로 처리하기 위한 연산방법 및 그 방법을 실행하기 위한 회로로 구성된다. 상기 본 발명의 연산방법은 AM와 AMAC이라 칭하며(일반적으로 'AM 명령어', 'AMAC 명령어'라 칭함), FFT의 핵심인 radix-2 버터플라이 연산을 새로운 방법으로 연산 가능하도록 한다. 또한 본 발명에 따른 상기 명령어를 수행하기 위한 하드웨어는 종래의 DSP에서 MAC 명령어를 위한 하드웨어 구조만 지원하던 것에 덧붙여 상기 AM 명령어도 수행 가능하도록 한 것이다.
이하, 첨부된 도면을 참조로 하여 본 발명을 상세히 설명하기로 한다.
종래의 상용화된 고성능 DSP 칩들은 일반적으로 두 개의 곱셈기와 여러 개의 ALU를 보유하고 있어, 한번에 2개의 MAC 연산을 수행할 수 있다. 그러나, FFT 알고리즘은 복소수 데이터를 대상으로 하는 반면에 연산기가 두 개로 제한되어 있으므로 radix-4보다는 radix-2 알고리즘으로 FFT를 구현하는 것이 일반적이다. 또한,종래의 DSP 칩들의 FFT 벤치마크 프로그램에서도 radix-2를 주로 사용하고 있다. 상기 radix-2 버터플라이 연산구조는 두 개의 복소수를 한번은 더하고, 한번은 차(-)에 복소수 계수를 곱하는 구조이다.
그러나 이는 실수 연산인 경우는 간단할 것이나, 복소수 연산이므로 다소 복잡하다. 즉, 복소수 연산을 하는 부분을 2개의 곱셈기로는 한번에 처리할 수 없기 때문에 두 번에 나누어 처리를 해왔다. 한번은 곱셈을 하고 두 번째에는 MAC 연산을 취하여 앞서 계산된 결과와의 합을 한 싸이클에 계산하는 구조이다.
본 발명에 따른 FFT 연산 순서에서는 복소수 곱셈 부분에서 도5에 도시된 바와 같은 연산순서를 따라 복소수 곱셈 연산 부분을 처리하면 전체 FFT 연산을 2배 빠르게 수행할 수 있다. 즉, 종래의 MAC 연산이 아니라 덧셈을 먼저 하는 AM 연산이 필요하게 된다.
다음에 도6은 AM 연산을 이용하여 2개의 버터플라이 연산을 3 싸이클 만에 처리함으로써 새로운 연산 유닛의 추가 없이도 2배의 속도 향상을 가져올 수 있음을 나타내고 있다.
도5는 데이터의 실수부
로 허수부는로 표현될 수 있다는 점에 착안한 것이다.
이러한 연산구조는 종래 연산구조에서 4번의 곱셈이 필요하던 것을 3개의 곱셈으로 줄여준다.
도6은 도5의 새로운 복소수 곱셈 연산 구조를 사용하여 radix-2 FFT를 수행하는 순서를 나타내고 있다. 즉, radix-2 FFT 버터플라이 연산구조 두 개를 3싸이클 안에 수행하는 구조이며, 필요한 연산 유닛수는 종래 DSP가 보유하고 있는 2개의 곱셈기와 5개의 ALU로 충분히 구현 가능하다. 도6의 D, E, F는 각각 1, 2, 3 번째 연산 싸이클(1클럭 싸이클)을 나타낸다. 그 처리순서를 보면, 먼저 D의 싸이클에서 AM 명령어와 종래의 감가산 명령어를 병렬로 수행하고(1클럭 싸이클 소모), E의 싸이클 역시 똑같은 연산을 수행한다(1클럭 싸이클 소모). 다음에 F의 싸이클에서 2개의 버터플라이 출력을 한번에 계산하여 출력한다(1 클럭 싸이클 소모). 즉 수많은 버터플라이들을 연속적으로 처리할 때에 2개의 버터플라이 연산결과의 출력을 위한 잠복 싸이클이 3인 셈이다. 이때, D, E의 과정에서 필요한 AM 명령어는 MAC 명령어를 구현하는 방식의 역으로 단지 간단한 멀티플렉서(Multiplexer)만을 사용하여 덧셈 후 곱셈을 수행하도록 데이터 경로를 스위칭하여 구현된다. 즉, 종래의 DSP 구조에서는 데이터들이 곱셈기를 거쳐 ALU를 통해 시스템 버스로 전달될 수 있었으나 AM 명령어가 요구하는 연산 유닛 구조는 반드시 감가산 후에 곱셈을 수행하고 바로 시스템 버스로 데이터를 전달할 수 있는 구조이어야 한다. 또한, FFT의 계수 값은 삼각함수 값으로서, 내장 메모리나 롬 테이블 형식으로 저장되어 있으며, 대게 1 ~ -1 값을 가지므로 cos 값과 sin 값의 합은사이의 값이 되어 1비트의 데이터 폭만 추가하여 가지면 되기 때문에 데이터 포맷 설정 시 문제가 되지 않는다.
도5의 곱셈 연산 구조는 반드시 FFT의 계수인 승수가 확정적이어야 미리 감가산 연산을 취하여 준비될 수 있으며, 만약 승수가 불확실한 랜덤 값을 가지면 미리 감가산 연산을 취할 수 없으므로 연산 싸이클이 한 싸이클 더 필요하고 ALU도 2개가 더 필요해 오히려 기존 복소수 연산 방식보다 못한 성능을 보인다. 이러한 이유로 도5의 복소수 연산 구조는 프로그래머블 칩에서 잘 사용하지 않았던 것이다. 그러나, FFT의 계수(cos/sin 값)는 결정적이기 때문에 도5의 복소수 연산 구조를 도입할 수 있는 것이다. 실제 FFT의 계수는 상술한 바와 같이 내장 메모리나 롬 테이블 형태로 미리 저장되어 사용된다.
반도체 공정 기술의 발달에 의한 집적도 증가에 따라 곱셈기를 2개 이상 활용하여 병렬처리하는 구조로 변경하더라도 본 발명의 구조는 종래 방법보다 속도를 2배 향상시킬 수 있다. 즉, 두 개의 버터플라이 연산을 3클럭 싸이클에 수행하므로 한 개의 버터플라이 연산 당 평균 1.5 싸이클이 걸리는 것이다.
본 발명에서는 FFT용 명령어로 덧셈을 수행한 뒤 바로 곱셈을 수행하는 구조가 반드시 필요한데 상술한 종래의 DSP 코어들은 이런 구조를 갖추지 못했으며, 곱셈 연산 후 데이터가 바로 시스템 버스로 전송될 수 없는 단점을 가지고 있었다. 종래의 TMS320C62x 경우는 다량의 데이터를 저장시키는 캐쉬 메모리(내부 메모리)로의 데이터 통로가 두 개의 산술 연산 유닛을 경유해서만 접근할 수 있기 때문에 MAC 연산을 통해서는 원활히 데이터가 이동, 저장되었으나, AM 명령어와 같은 연산을 수행하기 위해서는 곱셈을 수행한 후 불필요하게 ALU를 거쳐 데이터가 이동, 저장되어야만 한다. 또한, 메모리의 데이터 패스가 2개뿐이어서 연산점이 큰 FFT 연산의 경우에는 병목 현상도 발생하였다.
종래의 STARCORETM의 경우 집적된 곱셈기 수가 4개이고 연산유닛이 16개나 되므로 이러한 유닛들을 AM 명령어에 적합한 구조로 배치만 한다면 STARCORETM성능을 2배가량 높일 수 있다.
또한, 본 발명은 AMAC(Add and MAC)이라는 연산방법(명령어)을 구현하여 도7에 도시된 바와 같은 순서로 복소수 연산을 효율적으로 처리할 수 있다. 그러나, 이 구조는 연산점이 많은 경우와 내부 메모리나 레지스터 파일의 크기가 클때만 효율적이다. 왜냐하면 도7의 G 연산 후 바로 H의 연산을 수행한다면 실제 수행 싸이클은 곱셈기와 덧셈기 사이에 파이프라인 레지스터들이 있는 경우 3클럭 싸이클로 종래 방식인 도2의 경우와 같은 싸이클이 걸린다.
따라서, 2048 포인트인 경우 1단의 버터플라이 수는 1024개이므로 각각 1024개의 버터플라이들의 G 연산들만 먼저 계산하여 중간 데이터들을 레지스터나 메모리에 저장시켜 놓고, 나머지 1024개의 H 연산들을 수행하면 평균 2 싸이클당 하나의 버터플라이 연산 결과가 출력되는 셈이다. 즉, 큰 연산점을 가지는 FFT 연산에서 한 스테이지의 G 연산들만을 미리 연산하여 중간 값들을 메모리에 저장한 뒤 연산 유닛들의 데이터 패스를 AMAC 연산을 위한 모드로 전환한 뒤 연속적으로 H 연산을 취하여야 평균적으로 버터플라이 연산 한 개당 2 싸이클 내에 처리가 가능한 것이다. 상기 연산 유닛들의 파이프라인 깊이는 새로운 출력 데이터들이 각각 나오는데 걸리는 잠복 싸이클과 무관하다. 따라서 상기 명령어 구조는 하드웨어 구현시 2싸이클마다 하나의 버터플라이를 처리하는 도3의 전용 radix-2 FFT 연산기 구조와 성능이 거의 동일할 수도 있다.
다음으로, 상술한 바와 같은 AM 연산방법과 AMAC 연산방법을 위한 하드웨어에 대해 설명하기로 한다.
도8은 본 발명에 따른 AM, AMAC 연산을 이용해 이러한 FFT 연산을 처리하기 위한 회로를 나타낸 것으로, 데이터를 입력하고 연산된 결과값을 출력하는 스위칭 네트워크(Switching Network)와, 상기 스위칭 네트워크로부터 입력되는 데이터들의 덧셈을 수행하기 위하기 위한 다섯 개의 덧셈기와, 상기 덧셈기를 통해 덧셈된 결과값과 입력되는 데이터들의 곱셈을 수행하기 위한 두 개의 곱셈기로 구성된다.
또한, 상기 AMAC 명령어는 덧셈을 실행한 후 곱셈을 실행하고 다시 덧셈을 수행하라는 연산방법으로 상기 회로에서의 연산방법은 입력 데이터 중 두 개의 입력 데이터를 선택하여 덧셈을 수행하고, 상기 덧셈이 수행된 결과값을 두 개의 곱셈기로 전송하여 각 곱셈기에서 입력 데이터 중 각각 하나씩을 입력받아 곱셈을 수행한다. 다음에 상기 각각의 곱셈기에서 수행된 곱셈의 결과값을 각각 다른 덧셈기로 전송하고, 상기 곱셈 결과값과 다른 경로를 통하여 얻어진 데이터를 하나씩 입력받아 덧셈을 수행한다. 다음에 상기 최종적으로 덧셈이 수행된 데이터를 스위칭 네트워크를 통해 레지스터 파일이나 메모리에 저장함으로써 AMAC 연산을 실시하게 된다.
상술한 바와 같이 본 발명의 연산방법에 따른 FFT 연산회로는 FFT 명령어 및연산을 처리하기 위한 연산 유닛의 배치 구조를 유지하면서 고속 FFT 연산을 수행할 수 있는 구조로써 사용되는 감가산기 및 곱셈기는 종래 연산유닛으로도 구현 가능한다.
도8에서 가는 실선은 도6의 D,E 연산시 데이터 흐름이고, 굵은 점선은 F의 연산시 데이터 흐름이다. 즉 가는 실선의 데이터 흐름으로 2클럭 싸이클에 D,E의 AM 연산을 수행하고, 다른 싸이클 지연 없이 굵은 점선의 데이터 흐름으로 MAC 연산을 수행한다. 도시된 바와 같이 종래 DSP가 보유하고 있는 연산 유닛의 수와 같으면서 두배 이상의 연산 속도를 증가시킬 수 있다. 본 발명의 하드웨어에서는 곱셈기를 3단 파이프라이닝 하였으나 상술한 바와 같이 파이프라인 깊이가 더 깊거나 얕더라도 감가산기와 스테이지 보조를 맞추어 파이프라이닝 한다면 파이프라인 깊이에 상관없이 출력 데이터의 잠복 싸이클은 같은 결과(1.5 싸이클)를 나타낸다.
본 발명에 따른 하드웨어의 구조는 도3의 출력단에서 2싸이클의 잠복 싸이클을 가지는 전용 radix-2 FFT 프로세서 보다 2-1.5=0.5 싸이클을 절약할 수 있어 전용 FFT 프로세서에 본 발명의 하드웨어를 사용할 경우에도 2/1.5=1.33배 향상된 결과를 가져올 수 있다. 또한, 가는 점선의 데이터 패스로 종래 DSP에서 수행하던 일반 신호 처리 알고리즘 연산도 동일 수행 싸이클로 처리가능하며, 데이터 입력부와 출력부가 레지스터 파일과 같은 대규모 저장장치에 연결되어 있으면, 스위칭 네트워크 등을 구성하여 데이터의 흐름을 원활히 할 수 있다.
또한, 도8에 도시된 하드웨어는 도7에서 설명한 AMAC 명령어를 처리할 수 있다. 즉, 도8에서 도7의 G의 AM 연산은 굵은 실선의 데이터 처리 패스로 처리하고,H의 AMAC 연산은 굵은 실선과 굵은 점선으로 표시된 데이터 패스를 따라 처리 가능하다. 따라서 출력 데이터의 잠복 싸이클은 2 싸이클이 되어 전용 radix-2의 잠복 싸이클과 같게 된다.
상술한 데이터 패스의 흐름은 도8에 나타난 멀티플렉서를 사용하여 제어하며, 2x1 멀티플렉서를 사용하므로 종래 DSP의 연산 유닛들에 추가되는 데이터 패스 회로의 크기는 매우 작고 간단하다.
도8의 하드웨어는 상술한 본 발명의 2가지 연산 방식을 구현하기 위한 최적의 DPU 구조이며, FFT 계수인 삼각함수가 어떤 형태로 생성 또는 저장되는 가에 따라 롬 테이블, 내부 램, 삼각 계수 생성기의 형태를 취할 수 있으며, 처리되는 피승수 값들은 내부램, 레지스터 파일 등의 형태로 저장된다. 종래의 DSP에는 원활한 데이터 흐름을 위해서 AGU가 존재하며, 본 발명의 하드웨어는 상기 AGU가 지원되는 환경에서 설계된 것이다.
결과적으로 본 발명의 하드웨어는 기존 DSP 칩 구조보다 2배의 FFT 연산 성능을 높일 수 있으며, 종래 DSP의 연산 유닛 종류와 그 구조를 최대한 보존하고, 최소의 데이터 패스 회로만을 추가하여 구현할 수 있으므로 종래 연산 모듈들의 재사용도 용이하게 할 수 있고, 칩 구현 시 오버 헤드도 최소화하여 하드웨어 부담을 줄일 수 있다.
표2는 종래 DSP 구조에서 FFT 실행시간과 본 발명에 따른 하드웨어의 FFT 연산 수행 싸이클을 비교한 것이다.
DSP 상에서의 복소수 FFT 구현 성능 비교(단위 : 1클럭 싸이클)
포인트 수(N)DSP 구조 256 1024
루슨트 테크놀로지스사의DSP1620 16065 ·
모토롤라 반도체사의DSP56002 9600 49680
텍사스 인스트루먼트사의TMS320C54x 8542 42098
모토롤라 반도체사의DSP56303 9096 ·
필립스 반도체사의R.E.A.L Core 8355 41777
아날로그 디바이스사의ADSP-21062 SHARC 4045 19245
텍사스 인스트루먼트사의TMS320C62x 5140 20780
인피니언 테크놀로지스사의CARMEL DSP Core 2448 11628
DSP 그룹사의PlamDSP Core 2074(추정치) 10240(추정치)
모토롤라, 루슨트사의STARCORE(SC140) 2040(추정치) 10239(추정치)
본 발명의 회로 1536 7680
즉, 본 발명의 회로에서는 N=256인 경우 256/2xlog2256 개의 버터플라이 연산을 수행해야 하며, 1개의 버터플라이 연산에서 1.5 싸이클이 걸리므로 256/2xlog2256x1.5 = 1536의 수행 싸이클이 필요하다. 또한, N=1024인 경우 1024/2xlog21024x1.5 = 7680의 수행 싸이클이 걸린다.
인피니언 테크놀로지스사의 CARMELDSP 코어와 DSP 그룹사의 PlamDSPCore 경우는 두 개의 MAC 연산기를 가지는 것은 다른 DSP 칩들과 같은 사양이나 산술 연산기(ALU)가 무려 7개이므로 도2에서 A의 연산을 이전 스테이지의 C 연산과 동시에 수행할 수 있어 1개의 버터플라이 연산 수행 싸이클을 2싸이클로 줄일 수 있다. 따라서 표2에 기재된 바와 같이 적은 싸이클 내에 FFT 연산 수행이 가능하다.
또한, 상기 STARCPRE(SC140)는 4개의 MAC 연산기가 있기 때문에 복소수 연산을 1 싸이클 안에 수행할 수 있다. 즉, 복소수 연산 준비를 위한 도2의 A 연산을 1싸이클 동안 준비하고 B, C 연산을 한 클럭 싸이클에 처리할 수 있으므로, 1개의 버터플라이 연산을 2싸이클안에 수행함으로써 전용 FFT 프로세서와 같은 연산 수행 능력을 가진다.
본 발명에 따른 FFT 전용 연산 명령어 및 하드웨어는 종래 DSP 칩에 포함되어 있는 유연성 있는 AGU가 지원되었다고 가정한 것이며, 실제로 종래 DSP 칩들은 AGU 안에 어드레스 연산 전용 ALU를 두 개씩 보유하고 있다.
결론적으로 본 발명의 FFT 전용 연산방법 및 회로는 radix-2 FFT 버터플라이 연산을 수행하는데 있어 종래의 이중 MAC 기반 DSP들에 비해 수행 싸이클 면에서 최소 2배이상, 전용 FFT 프로세서의 radix-2 버터플라이 연산부보다 약 1.33배 가량 빠르며, 스타코어(SC140)와같은 4개의 MAC을 지원하는 고성능 DSP 칩들의 연산 유닛수의 절반 수준인 2개의 곱셈기와 5개의 덧셈기 연산 유닛들을 가지고도 약 1.33배의 빠른 연산을 수행할 수 있다.
본 발명은 상술한 바와 같이 FFT 전용 연산방법 및 그 연산방법을 구현하기 위한 회로를 제공함으로써 종래 프로그래머블 프로세서로는 실시간 구현이 어려웠던 고속 유뮤선 통신용 시스템의 FFT 연산 요구 성능을 만족시키므로, 단일 DSP 기반의 통신 시스템 개발에 매우 유용하게 사용될 수 있다. 또한, 종래 DSP의 연산유닛 종류와 그 구조를 최대한 보존하고 최소의 데이터 패스 회로만을 추가하여 구현함으로써 종래 연산 모듈들의 재사용도 용이하게 할 수 있고, 칩 구현시 오버 헤드도 최소화하여 하드웨어 부담을 줄일 수 있도록 하였다.
또한 본 발명의 명령어 및 하드웨어는 칩 설계 초기 단계에서 HDL(Hardware Description Language)로 시뮬레이션 및 합성 가능한(Synthesizable) 모델링을 할 수 있기 때문에 표준 셀들을 이용한 DSP 칩 개발이 가능하여 시장선점 속도가 빠를 수 있다.
또한, 본 발명의 명령어 및 하드웨어를 통해 종래의 여러 전용의 통신용 ASIC 칩 셋들이 주류를 이룬 통신용 시스템을 단일의 DSP 기반으로 개발 가능케 함으로써 원가 절감과 휴대용 단말기의 저전력화 및 소형화를 이룰 수 있다.

Claims (3)

  1. 프로그래머블 프로세서 칩에서 FFT 연산을 실행하기 위한 방법에 있어서,
    6개의 입력데이터를 각각 3개씩 두 개의 그룹으로 분류하는 단계와;
    상기 두 개의 그룹 중 각각 두 개의 입력 데이터를 선택하여 각각의 덧셈기에서 덧셈을 수행하도록 하는 단계와;
    상기 각각의 덧셈기에서 상기 두 개의 입력 데이터의 덧셈 결과값을 각각의 곱셈기와 하나의 덧셈기로 출력하는 단계와;
    상기 덧셈 결과값을 입력받은 각각의 곱셈기에서 최초 분류되어 선택되지 않은 입력값과 곱셈을 수행하여 출력하는 단계와;
    상기 덧셈 결과값을 입력받은 하나의 덧셈기에서 상기 최초 입력된 두 개의 입력 데이터의 덧셈 결과값을 다시 더하여 출력하는 단계와;
    상기 결과값들을 레지스터 파일이나 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 FFT 연산방법.
  2. 프로그래머블 프로세서 칩에서 FFT 연산을 실행하기 위한 방법에 있어서,
    입력 데이터중 두 개의 입력 데이터를 선택하여 덧셈을 수행하는 단계와;
    상기 덧셈이 수행된 결과값을 두 개의 곱셈기로 전송하여 각 곱셈기에서 입력 데이터 중 각각 하나씩을 입력받아 곱셈을 수행하는 단계와;
    상기 각각의 곱셈기에서 수행된 곱셈의 결과값을 각각 다른 덧셈기로 전송하고, 상기 곱셈 결과값과 다른 경로를 통하여 얻어진 데이터를 하나씩 입력받아 덧셈을 수행하는 단계와,
    상기 최종적으로 덧셈이 수행된 데이터를 레지스터 파일이나 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 FFT 연산방법.
  3. 상기 제1항 또는 제2항의 FFT 연산을 수행하기 위하여,
    스위칭 네트워크로부터 전송되는 데이터 또는 덧셈이나 곱셈이 수행된 결과값의 덧셈을 수행하기 위한 5개의 덧셈기와;
    상기 입력되는 데이터 또는 덧셈이 수행된 결과값의 곱셈을 수행하기 위한 두 개의 곱셈기와;
    상기 덧셈기와 곱셈기 간의 데이터 패스의 흐름을 제어하는 멀티플렉서를 포함하는 것을 특징으로 하는 FFT 연산회로.
KR10-2001-0043713A 2001-07-20 2001-07-20 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로 KR100416641B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0043713A KR100416641B1 (ko) 2001-07-20 2001-07-20 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0043713A KR100416641B1 (ko) 2001-07-20 2001-07-20 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로

Publications (2)

Publication Number Publication Date
KR20030008795A KR20030008795A (ko) 2003-01-29
KR100416641B1 true KR100416641B1 (ko) 2004-02-05

Family

ID=27715881

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0043713A KR100416641B1 (ko) 2001-07-20 2001-07-20 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로

Country Status (1)

Country Link
KR (1) KR100416641B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941940A (en) * 1997-06-30 1999-08-24 Lucent Technologies Inc. Digital signal processor architecture optimized for performing fast Fourier Transforms
KR19990079171A (ko) * 1998-04-02 1999-11-05 구자홍 패스트 퓨리에 변환(fft) 장치와 제어방법
KR20010036860A (ko) * 1999-10-12 2001-05-07 서평원 고속 퓨리에 변환 장치
EP1162545A2 (en) * 2000-06-05 2001-12-12 DSP Group Ltd. Fast fourier transform (FFT) architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941940A (en) * 1997-06-30 1999-08-24 Lucent Technologies Inc. Digital signal processor architecture optimized for performing fast Fourier Transforms
KR19990079171A (ko) * 1998-04-02 1999-11-05 구자홍 패스트 퓨리에 변환(fft) 장치와 제어방법
KR20010036860A (ko) * 1999-10-12 2001-05-07 서평원 고속 퓨리에 변환 장치
EP1162545A2 (en) * 2000-06-05 2001-12-12 DSP Group Ltd. Fast fourier transform (FFT) architecture

Also Published As

Publication number Publication date
KR20030008795A (ko) 2003-01-29

Similar Documents

Publication Publication Date Title
CN110765709B (zh) 一种基于fpga的基2-2快速傅里叶变换硬件设计方法
US9977676B2 (en) Vector processing engines (VPEs) employing reordering circuitry in data flow paths between execution units and vector data memory to provide in-flight reordering of output vector data stored to vector data memory, and related vector processor systems and methods
US7870176B2 (en) Method of and apparatus for implementing fast orthogonal transforms of variable size
US6061705A (en) Power and area efficient fast fourier transform processor
US6366936B1 (en) Pipelined fast fourier transform (FFT) processor having convergent block floating point (CBFP) algorithm
Cheng et al. High-throughput VLSI architecture for FFT computation
KR101162649B1 (ko) 가변적 크기의 고속 직교 변환을 구현하기 위한 방법 및장치
EP0329023A2 (en) Apparatus for performing digital signal processing including fast fourier transform radix-4 butterfly computations
Zhong et al. A power-scalable reconfigurable FFT/IFFT IC based on a multi-processor ring
JP2016537724A (ja) ベクトル処理動作のために実行ユニットに入力ベクトルデータのインフライトフォーマット変換を提供するためにベクトルデータメモリと実行ユニットとの間でデータフローパスにおいてフォーマット変換回路を利用するベクトル処理エンジン(vpe)および関連するベクトル処理システムと方法
KR100989797B1 (ko) Fft/ifft 연산코어
Wang et al. Design of pipelined FFT processor based on FPGA
KR100492091B1 (ko) 프로그래머블 프로세서에서의 고속 푸리에 변환 연산회로및 연산방법
Revanna et al. A scalable FFT processor architecture for OFDM based communication systems
WO2008132510A2 (en) Fft processor
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
KR100416641B1 (ko) 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로
Hazarika et al. Low-complexity continuous-flow memory-based FFT architectures for real-valued signals
Mohan et al. Implementation of N-Point FFT/IFFT processor based on Radix-2 Using FPGA
More et al. FPGA implementation of FFT processor using vedic algorithm
Yang et al. A High-Throughput and Flexible Architecture Based on a Reconfigurable Mixed-Radix FFT With Twiddle Factor Compression and Conflict-Free Access
Dawwd et al. Reduced Area and Low Power Implementation of FFT/IFFT Processor.
Antonescu et al. Multi-Function Scan Circuit for Assisting the Parallel Computational Map Pattern
Efnusheva et al. Efficiency comparison of DFT/IDFT algorithms by evaluating diverse hardware implementations, parallelization prospects and possible improvements
Kallapu et al. DRRA-based Reconfigurable Architecture for Mixed-Radix FFT

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101227

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee