KR101908699B1 - 제로 패드된 고속 푸리에 변환 장치 및 방법 - Google Patents

제로 패드된 고속 푸리에 변환 장치 및 방법 Download PDF

Info

Publication number
KR101908699B1
KR101908699B1 KR1020170073979A KR20170073979A KR101908699B1 KR 101908699 B1 KR101908699 B1 KR 101908699B1 KR 1020170073979 A KR1020170073979 A KR 1020170073979A KR 20170073979 A KR20170073979 A KR 20170073979A KR 101908699 B1 KR101908699 B1 KR 101908699B1
Authority
KR
South Korea
Prior art keywords
stage
unit
delay
input
result
Prior art date
Application number
KR1020170073979A
Other languages
English (en)
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 KR1020170073979A priority Critical patent/KR101908699B1/ko
Application granted granted Critical
Publication of KR101908699B1 publication Critical patent/KR101908699B1/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

Landscapes

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

Abstract

본 발명은 파이프라인 구조의 FFT에서 지연부의 회로 면적을 감소시킴으로써 복잡도를 낮춘 제로 패드된(Zero padded) 고속 푸리에 변환(FFT: Fast Fourier Transform) 장치 및 방법에 관한 것으로, 제로 패드된 입력 데이터의 특성과 radix-22 SDF나 radix-23 SDF 파이프라인 구조의 첫 번째 트위들 팩터(twiddle factor)의 연산이 -j를 곱하는 단순 승산이라는 특징을 활용하여 지연 소자의 수를 크게 줄임으로서 복잡도와 전력 소모를 줄이는 효과가 있다. 특히, 제 2 스테이지의 쉬프트 레지스터와 동일한 길이를 가지는 쉬프트 레지스터를 제 1 스테이지에 사용함으로써 제 1 스테이지의 쉬프트 레지스터를 50% 감소시킬 수 있도록 함으로써 전체 쉬프트 레지스터의 길이를 25% 감소시킬 수 있어 생산성과 수율을 높일 수 있는 효과가 있다.

Description

제로 패드된 고속 푸리에 변환 장치 및 방법{Zero padded fast Fourier transform apparatus and method}
본 발명은 제로 패드된(Zero padded) 고속 푸리에 변환(FFT: Fast Fourier Transform) 장치 및 방법에 관한 것으로, 특히 파이프라인 구조의 FFT에서 지연부의 회로 면적을 감소시킴으로써 복잡도를 낮춘 제로 패드된 고속 푸리에 변환 장치 및 방법에 관한 것이다.
무선 통신, 센싱, 레이다 응용, 영상 처리 등에 대한 다양한 서비스가 폭발적으로 증가함에 따라 다양한 종류의 데이터들이 사용되고 있다. 이러한 데이터의 주파수 도메인 처리나 분해능 개선을 위해 데이터의 크기가 2의 지수가 되지 않을 경우 데이터에 0을 삽입하여 2의 지수 크기가 되도록 제로 패드된(Zero Padded) 데이터를 만든 후 이를 고속 푸리에 변환(FFT)으로 처리하는 방식이 활용되고 있다. 특히, 모바일 단말 사용을 위한 사용자의 동작을 식별하기 위한 목적으로 레이다를 이용하거나 로봇의 환경 분석을 위한 목적으로 레이다가 이용되기도 하는데, 이러한 다양한 레이다 응용에서 주파수 분해능을 높이기 위해 제로 패드된 FFT가 핵심적으로 사용되기도 한다.
하지만, 통상 FFT 장치는 구현을 위한 회로 면적이 크고, 많은 전력을 소모한다는 문제가 있다. 따라서 FFT 장치의 복잡도를 낮추기 위한 많은 연구들이 진행되었으나 대부분의 경우 곱셈기의 숫자를 줄이거나 단순한 종류로 대체함으로써 복잡도를 낮추는 연구에 치중하고 있으며, 물리적인 면적을 많이 차지하는 지연부의 크기를 줄이기 위한 연구는 상대적으로 이루어지지 않고 있다.
현재 일반적으로 사용되는 FFT 장치는 크게 단일 버터플라이 구조, 파이프라인 구조, 병렬 구조가 있다. 이 중에서 하드웨어 복잡도와 수율 간의 트레이드-오프 관계를 가장 잘 만족하는 파이프라인 구조가 다양한 분야에서 일반적으로 사용된다. 이러한 파이프라인 구조로는 SDF(single-path delay feedback), MDC (multi-path delay commutator)와 SDC(single-path delay commutator) 등이 있는데, 이 중에서도 단일 데이터 경로를 가지는 radix-22 SDF나 radix-23 SDF 파이프라인 구조가 복잡한 비단순 승산을 최소로 하는 특징으로 인해 가장 많이 사용된다.
이러한 SDF 구조는 버터플라이 연산을 위해 2개의 데이터가 필요하지만, 단일 경로라는 특성으로 인해 데이터 정렬을 위한 쉬프트레지스터와 같은 지연소자를 필요로 한다.
즉, N 포인트 SDF FFT에서, 첫번째 버터플라이 연산을 위해 x(n)과 x(n+N/2)가 동시에 필요하기 때문에 먼저 인가되는 x(n)을 N/2만큼 지연시키는 지연소자가 필요하며, 이는 스테이지를 지나면서 2의 지수적으로 줄어들기는 하지만 전체적으로 2(N-1)개의 상당히 많은 지연소자가 필요하게 된다. 예를 들어 2048 포인트 SDF FFT를 구성할 경우 지연소자로 사용되는 쉬프트레지스터는 4094개가 필요하므로 상당히 많은 면적을 차지하며 그에 따른 전력소모도 많아지게 된다.
따라서, FFT 포인트 수와 데이터 경로가 증가할 수록 FFT 장치의 구현을 위해 많은 면적을 차지하는 지연소자의 수를 줄임으로써 회로 복잡도 및 소모 전력을 낮출 수 있는 새로운 구조가 필요한 실정이다.
한국 등록 특허 제10-0892292호 [병렬 구조 및 파이프라인 방식을 이용한 Radis2의 4승 고속 퓨리에 변환 프로세서]
전술한 문제점을 개선하기 위한 본 발명 실시예들의 목적은 제로 패딩된 입력 데이터의 특성과 radix-22 SDF나 radix-23 SDF 파이프라인 구조의 첫 번째 트위들 팩터(twiddle factor)의 연산이 -j를 곱하는 단순 승산이라는 특징을 활용하여 지연 소자의 수를 줄일 수 있도록 한 제로 패드된 고속 푸리에 변환 장치 및 방법을 제공하는 것이다.
본 발명 실시예들의 다른 목적은 제 2 스테이지의 쉬프트 레지스터와 동일한 길이를 가지는 쉬프트 레지스터를 제 1 스테이지에 사용함으로써 제 1 스테이지의 쉬프트 레지스터를 50% 감소시킬 수 있도록 함으로써 전체 쉬프트 레지스터의 길이를 25% 감소시킬 수 있도록 한 제로 패드된 고속 푸리에 변환 장치 및 방법을 제공하는 것이다.
본 발명 실시예들의 또 다른 목적은 제 1 스테이지에서 버터플라이 연산기 대신 실수 가산기 2개를 사용함으로써 실수 가산기 4개가 필요한 기존 버터플라이 연산기와 비교하여 실수 가산기를 절반으로 줄일 수 있도록 한 제로 패드된 고속 푸리에 변환 장치 및 방법을 제공하는 것이다.
제 1 및 제 2 스테이지 구성부를 포함하는 복수 스테이지 구성부로 구성된 N 포인트 SDF(single-path delay feedback) 고속 푸리에 변환 장치로서, 상기 제 2 스테이지 구성부는 버터플라이 연산기, 제 2 지연부 및 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 포함하고; 상기 제 1 스테이지 구성부는 상기 제 2 스테이지 구성부의 제 2 지연부에서 지연된 제 1 지연 신호를 수신하여 N/4 길이로 지연시킨 제 2 지연 신호를 생성하는 제 1 지연부와 상기 제 1 지연 신호와 제 2 지연 신호를 가산하여 가산된 신호를 생성하는 가산기와, 제로 패드된 입력 신호와 상기 제 1 지연 신호 및 상기 가산된 신호 중 하나를 선택하여 제 2 스테이지 구성부에 입력으로 제공하는 멀티플렉서를 포함한다.
일례로서, 상기 제 1 스테이지 구성부의 제 1 지연부와 상기 제 2 스테이지 구성부의 제 2 지연부는 모두 N/4 길이 지연부일 수 있다.
일례로서, 상기 제 1 스테이지 구성부를 제외한 모든 스테이지 구성부는 버터플라이 연산기를 구비할 수 있다.
일례로서, 상기 제 1 스테이지 구성부의 가산기는 2개일 수 있으며, 제 1 지연부의 출력에 -j를 곱하여 상기 제 1 지연부의 입력에 더하는 실수 가산기일 수 있다.
일례로서, 상기 제 1 지연부 및 제 2 지연부를 포함하는 모든 지연부는 쉬프트 레지스터일 수 있다.
일례로서, 상기 고속 푸리에 변환 장치는 radix-22 SDF나 radix-23 SDF 파이프라인 구조를 기반할 수 있다.
일례로서, 상기 제 1 스테이지 구성부는 제 2 스테이지 구성부의 제 2 지연부와 제 1 스테이지 구성부의 제 1 지연부를 통해 제 1 스테이지 구성부 연산에 필요한 뺄셈 결과를 N/2 길이로 지연시킬 수 있다.
일례로서, 지연의 길이는 클럭을 기준으로 할 수 있다.
일례로서, 상기 복수 스테이지 구성부 중 상기 제 2 스테이지 구성부 이후의 스테이지들에 구성되는 지연부는 N/2k 길이의 지연부를 포함하되, k는 스테이지 구성부의 순서이며 마지막 스테이지 구성부의 지연부 길이는 1일 수 있다.
일례로서, 상기 제 1 스테이지 구성부와 제 2 스테이지 구성부를 포함하는 모든 스테이지 구성부의 구성 요소는 2개 경로에 대하여 각각 하나씩, 쌍으로 구성될 수 있다.
일례로서, 상기 제 2 스테이지 구성부는 상기 제 1 스테이지 구성부의 출력을 입력으로 받아 해당 입력이나 버터플라이 연산기를 통해 연산한 결과 중 하나를 제 2 지연부를 통해 지연시키고, 상기 버터플라이 연산기는 상기 제 1 스테이지 구성부의 출력 및 상기 제 2 지연부를 통해 지연된 신호를 입력으로 할 수 있다.
본 발명의 일 실시예에 따른 제로 패드된 고속 푸리에 변환 장치는 단일 데이터 경로를 가지며 복수의 스테이지 구성부를 가지는 N 포인트 SDF 고속 푸리에 변환 장치로서, N/4 길이의 제 1 지연부와, 제 1 지연부의 입력과 출력을 가산하는 가산기와, 제 1 지연부의 출력, 상기 가산기의 출력 및 제로 패드된 외부 입력 중 하나를 스테이지 출력으로 선택하여 다음 스테이지 구성부의 입력으로 제공하는 멀티플렉서를 구비한 제 1 스테이지 구성부를 포함한다.
일례로서, 상기 제 1 스테이지 구성부를 제외한 모든 스테이지 구성부는 버터플라이 연산기를 구비할 수 있다.
일례로서, 상기 제 1 스테이지 구성부의 가산기는 2개일 수 있으며, 제 1 지연부의 출력에 -j를 곱하여 상기 제 1 지연부의 입력에 더하는 실수 가산기일 수 있다.
일례로서, 지연의 길이는 클럭을 기준으로 할 수 있다.
일례로서, 상기 제 1 스테이지 구성부의 스테이지 출력을 입력의 하나로 수신하는 버터플라이 연산기, N/4 길이의 제 2 지연부, 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 포함하는 제 2 스테이지 구성부를 포함할 수 있다.
일례로서, 상기 제 1 지연부 및 제 2 지연부를 포함하는 모든 지연부는 쉬프트 레지스터일 수 있다.
일례로서, 상기 고속 푸리에 변환 장치는 radix-22 SDF나 radix-23 SDF 파이프라인 구조를 기반으로 할 수 있다.
일례로서, 상기 제 1 스테이지 구성부는 제 2 스테이지 구성부의 제 2 지연부와 제 1 스테이지 구성부의 제 1 지연부를 통해 제 1 스테이지 구성부 연산에 필요한 뺄셈 결과를 N/2 길이로 지연시킬 수 있다.
일례로서, 상기 복수 스테이지 구성부 중 상기 제 2 스테이지 구성부 이후의 스테이지들에 구성되는 지연부는 N/2k 길이의 지연부를 포함하되, k는 스테이지 구성부의 순서이며 마지막 스테이지 구성부의 지연부 길이는 1일 수 있다.
일례로서, 상기 제 1 스테이지 구성부와 제 2 스테이지 구성부를 포함하는 모든 스테이지 구성부의 구성 요소는 2개 경로에 대하여 각각 하나씩, 쌍으로 구성될 수 있다.
일례로서, 상기 제 2 스테이지 구성부는 상기 제 1 스테이지 구성부의 출력을 입력으로 받아 해당 입력이나 버터플라이 연산기를 통해 연산한 결과 중 하나를 제 2 지연부를 통해 지연시키고, 상기 버터플라이 연산기는 상기 제 1 스테이지 구성부의 출력 및 상기 제 2 지연부를 통해 지연된 신호를 입력으로 할 수 있다.
본 발명의 또 다른 실시예에 따른 제로 패드된 고속 푸리에 변환 장치는 단일 데이터 경로를 가지며 복수의 스테이지 구성부를 가지는 radix-22 SDF나 radix-23 N 포인트 SDF 파이프라인 구조의 고속 프리에 변환 장치로서, N/4 클럭 길이의 제 1 지연부와, 제 1 지연부의 입력과 출력을 가산하는 가산기와, 제 1 지연부의 출력, 상기 가산기의 출력 및 제로 패드된 외부 입력 중 하나를 스테이지 출력으로 선택하여 다음 스테이지 구성부의 입력으로 제공하는 멀티플렉서를 구비한 제 1 스테이지 구성부와; 상기 제 1 스테이지 구성부의 스테이지 출력을 입력의 하나로 수신하는 버터플라이 연산기, N/4 클럭 길이의 제 2 지연부, 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 포함하는 제 2 스테이지 구성부를 포함하되, 상기 제 1 스테이지 구성부는 제 2 스테이지 구성부의 제 2 지연부와 제 1 스테이지 구성부의 제 1 지연부를 통해 제 1 스테이지 구성부 연산에 필요한 뺄셈 결과를 N/2 클럭 길이로 지연시킬 수 있다.
일례로서, 상기 제 1 스테이지 구성부를 제외한 모든 스테이지 구성부는 버터플라이 연산기를 구비할 수 있다.
본 발명의 또 다른 실시예에 따른 제로 패드된 고속 푸리에 변환 방법은 단일 데이터 경로를 가지며 복수의 스테이지 구성부를 가지는 radix-22 SDF나 radix-23 N 포인트 SDF 구조를 이용한 고속 푸리에 변환 장치를 이용한 고속 푸리에 변환 방법으로서, 제 1 스테이지 구성부가 제로 패드된 입력 신호의 덧셈 결과를 제 2 스테이지 구성부에 제공하는 제 1 단계; 제 2 스테이지 구성부가 상기 제 1 스테이지 구성부의 덧셈 결과를 수신하여 이를 N/4 클럭만큼 지연시키는 제 2 단계; 상기 제 2 스테이지 구성부에 의해 N/4 클럭 지연된 덧셈 결과를 다시 제 1 스테이지 구성부에 제공하고, 제 1 스테이지 구성부는 해당 N/4 클럭 지연된 덧셈 결과를 N/4 클럭 지연하여 총 N/2 클럭 지연된 상태의 덧셈 결과를 제 1 스테이지 구성부의 연산 결과 산출을 위해 이용하는 제 3 단계를 포함한다.
일례로서, 상기 제 3 단계에서, 상기 제 1 스테이지 구성부는 N/2 클럭 지연된 덧셈 결과에 단순 승산을 통해 -j를 곱하여 N/4 클럭 지연된 덧셈 결과와 가산하는 단계를 더 포함할 수 있다.
일례로서, 상기 제 1 스테이지 구성부는 제로 패드된 입력 신호, 상기 N/2 클럭 지연된 덧셈 결과, 상기 N/2 클럭 지연된 덧셈 결과에 -j를 곱하여 N/4 클럭 지연된 덧셈 결과와 가산한 결과 중 하나를 처리 단계에 맞추어 제 2 스테이지 구성부의 입력으로 제공할 수 있다.
본 발명의 일 실시예에 따른 제로 패드된 고속 푸리에 변환 방법은 단일 데이터 경로를 가지는 N 포인트 SDF 구조로서 제 1 및 제 2 스테이지 구성부를 포함하는 복수 스테이지 구성부로 구성된 고속 푸리에 변환 장치의 고속 푸리에 변환 방법으로서, 제 2 스테이지 구성부로서 버터플라이 연산기, 제 2 지연부 및 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 구성하는 단계; 상기 제 2 스테이지 구성부로서 상기 제 2 스테이지 구성부의 제 2 지연부에서 지연된 제 1 지연 신호를 수신하여 N/4 길이로 지연시킨 제 2 지연 신호를 생성하는 제 1 지연부와 상기 제 1 지연 신호와 제 2 지연 신호를 가산하여 가산된 신호를 생성하는 가산기와, 제로 패드된 입력 신호와 상기 제 1 지연 신호 및 상기 가산된 신호 중 하나를 선택하여 제 2 스테이지 구성부에 입력으로 제공하는 멀티플렉서를 구성하는 단계를 포함한다.
일례로서, 상기 제 1 스테이지 구성부의 제 1 지연부와 상기 제 2 스테이지 구성부의 제 2 지연부는 모두 N/4 길이 지연부일 수 있다.
일례로서, 상기 제 1 스테이지 구성부를 제외한 모든 스테이지 구성부는 버터플라이 연산기를 구비할 수 있다.
일례로서, 상기 제 1 스테이지 구성부의 가산기는 2개일 수 있으며, 제 1 지연부의 출력에 -j를 곱하여 상기 제 1 지연부의 입력에 더하는 실수 가산기일 수 있다.
일례로서, 상기 제 1 지연부 및 제 2 지연부를 포함하는 모든 지연부는 쉬프트 레지스터일 수 있다.
일례로서, 상기 제 1 스테이지 구성부는 제 2 스테이지 구성부의 제 2 지연부와 제 1 스테이지 구성부의 제 1 지연부를 통해 제 1 스테이지 구성부 연산에 필요한 뺄셈 결과를 N/2 길이로 지연시킬 수 있다.
일례로서, 지연의 길이는 클럭을 기준으로 할 수 있다.
일례로서, 상기 복수 스테이지 구성부 중 상기 제 2 스테이지 구성부 이후의 스테이지들에 구성되는 지연부는 N/2k 길이의 지연부를 포함하되, k는 스테이지 구성부의 순서이며 마지막 스테이지 구성부의 지연부 길이는 1일 수 있다.
일례로서, 상기 제 1 스테이지 구성부와 제 2 스테이지 구성부를 포함하는 모든 스테이지 구성부의 구성 요소는 2개 경로에 대하여 각각 하나씩, 쌍으로 구성될 수 있다.
일례로서, 상기 제 2 스테이지 구성부는 상기 제 1 스테이지 구성부의 출력을 입력으로 받아 해당 입력이나 버터플라이 연산기를 통해 연산한 결과 중 하나를 제 2 지연부를 통해 지연시키고, 상기 버터플라이 연산기는 상기 제 1 스테이지 구성부의 출력 및 상기 제 2 지연부를 통해 지연된 신호를 입력으로 할 수 있다.
본 발명의 또 다른 실시예에 따른 제로 패드된 고속 푸리에 변환 방법은 단일 데이터 경로를 가지며 복수의 스테이지 구성부를 가지는 radix-22 SDF나 radix-23 N 포인트 SDF(single-path delay feedback) 구조를 이용한 고속 푸리에 변환 장치를 이용한 고속 푸리에 변환 방법으로서, N/4 클럭 길이의 제 1 지연부와, 제 1 지연부의 입력과 출력을 가산하는 가산기와, 제 1 지연부의 출력, 상기 가산기의 출력 및 제로 패드된 외부 입력 중 하나를 스테이지 출력으로 선택하여 다음 스테이지 구성부의 입력으로 제공하는 멀티플렉서를 제 1 스테이지 구성부로 구성하는 단계를 포함한다.
일례로서, 상기 제 1 스테이지 구성부의 가산기는 2개로 구성할 수 있다.
일례로서, 상기 제 1 스테이지 구성부의 스테이지 출력을 입력의 하나로 수신하는 버터플라이 연산기, N/4 길이의 제 2 지연부, 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 포함하는 제 2 스테이지 구성부를 구성하는 단계를 포함할 수 있다.
일례로서, 상기 제 1 스테이지 구성부는 제 2 스테이지 구성부의 제 2 지연부와 제 1 스테이지 구성부의 제 1 지연부를 통해 제 1 스테이지 구성부 연산에 필요한 뺄셈 결과를 N/2 길이로 지연시킬 수 있다.
일례로서, 상기 제 2 스테이지 구성부를 구성하는 단계는 상기 제 1 스테이지 구성부의 출력을 입력으로 받아 해당 입력이나 버터플라이 연산기를 통해 연산한 결과 중 하나를 제 2 지연부를 통해 지연시키고, 상기 버터플라이 연산기는 상기 제 1 스테이지 구성부의 출력 및 상기 제 2 지연부를 통해 지연된 신호를 입력으로 구성하는 단계를 더 포함할 수 있다.
본 발명 실시예에 따른 제로 패드된 고속 푸리에 변환 장치 및 방법은 제로 패딩된 입력 데이터의 특성과 radix-22 SDF나 radix-23 SDF 파이프라인 구조의 첫 번째 트위들 팩터(twiddle factor)의 연산이 -j를 곱하는 단순 승산이라는 특징을 활용하여 지연 소자를 크게 줄임으로서 복잡도와 전력 소모를 줄이는 효과가 있다.
제로 패드된 고속 푸리에 변환 장치 및 방법 제 2 스테이지의 쉬프트 레지스터와 동일한 길이를 가지는 쉬프트 레지스터를 제 1 스테이지에 사용함으로써 제 1 스테이지의 쉬프트 레지스터를 50% 감소시킬 수 있도록 함으로써 전체 쉬프트 레지스터의 길이를 25% 감소시킬 수 있어 생산성과 수율을 높일 수 있는 효과가 있다.
제로 패드된 고속 푸리에 변환 장치 및 방법은 제 1 스테이지에서 버터플라이 연산 구성 대신 실수 가산기 2개를 사용함으로써 실수 가산기 4개가 필요한 기존 버터플라이 연산 구조와 비교하여 실수 가산기를 절반으로 줄일 수 있는 효과가 있다.
도 1은 일반적인 SDF 고속 푸리에 변환 장치의 구성도.
도 2는 제로 패드된 입력에 대한 일반적인 SDF 고속 푸리에 변환 장치의 신호 흐름 그래프(Signal Flow Graph:SFG).
도 3은 본 발명의 실시예에 따른 고속 푸리에 변환 장치의 구성도.
도 4는 본 발명의 실시예에 따른 고속 푸리에 변환 장치의 타이밍도.
도 5는 본 발명의 실시예와 종래 기술의 쉬프트 레지스터 길이를 적용 포인트 증가에 따라 비교한 그래프.
도 6은 본 발명의 실시예와 종래 기술을 적용한 경우의 하드웨어 감소율 비교표.
상기한 바와 같은 본 발명을 첨부된 도면들과 실시예들을 통해 상세히 설명하도록 한다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서, "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
이하, 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.
도 1은 종래 radix-22 SDF나 radix-23 SDF 구조의 FFT 장치(1) 구성도를 보인 것이다. 도시된 바와 같이 이러한 radix-2기반 구조의 경우 복수의 스테이지로 구성되어 있는데, 제 1 스테이지 구성부(10)는 N/2 크기의 지연부(11)와 버터플라이 연산부(15)로 구성되고, 제 2 스테이지 구성부(20)는 N/4 크기의 지연부(21)와 버터플라이 연산부(25)로 구성되며 최종 스테이지 구성부(30)는 1개의 지연부(31)와 버터플라이 연산부(35)로 구성된다.
한편, 버터플라이 연산부(15)는 내부적으로 버터플라이 연산기(12)와 복수의 멀티플렉서(13)를 포함한다.
즉, 스테이지를 지나면서 지연부는 N/2k 길이의 지연부를 포함(k는 스테이지 순서)하며 마지막 스테이지 구성부의 지연부 길이는 1일 수 있다. 예를 들어, 2048 포인트 FFT의 경우 제 1 스테이지의 지연부는 1024개 쉬프트레지스터로 구성될 수 있고, 제 2 스테이지의 지연부는 512개 쉬프트레지스터로 구성될 수 있다. 이렇게 2048 포인트 FFT를 구성하기 위해서는 총 11개 스테이지를 구성하면서 1024 + 512 + 256 + 128 + 64 + 32+ 16 + 8 + 4 + 2 + 1 = 2047개의 쉬프트레지스터를 이용해야 한다. 특히, SDF 구조의 경우 단일 경로로 2개의 경로를 이용하기 때문에 도시된 바와 같이 모든 구성요소들이 2개씩 쌍으로 구성된다. 따라서, 실제 필요한 지연부의 쉬프트레지스터는 2(N-1)개가 필요하며, 예시한 2048포인트 FFT의 경우 4094개의 쉬프트레지스터가 필요하게 되므로 많은 공간을 필요로 하며, 그에 따른 전력 소모 역시 높아지게 된다. 특히, FFT 포인트 수와 데이터 경로 수가 증가하는 기술 발전의 추세에 따라 이러한 지연부 면적 증가에 의한 문제는 심각해 질 수 있다.
한편, radix-2 기반 SDF FFT의 경우 2의 지수에 해당하는 데이터 크기를 필요로 하므로 대부분의 경우 제로 패드된(Zero Padded) 입력을 사용하게 된다. 이렇게 제로 패드된 입력을 사용하게 될 경우 입력 데이터의 일부는 복소수이고 나머지는 0으로 설정된다. 특히, 제 1 스테이지의 경우 트위들 팩터(twiddle factor)인 -j를 곱하는 단순 승산만 필요하기 때문에 이러한 제로 패드된 입력을 처리하기 위해 버터플라이 연산부를 구성하지 않아도 된다.
따라서, 본 발명에서는 제로 패드된 입력 데이터의 특성과 radix-22 SDF나 radix-23 SDF 파이프라인 구조의 첫 번째 트위들 팩터(twiddle factor)의 연산이 -j를 곱하는 단순 승산이라는 특징을 활용하여 제 1 스테이지의 지연부 크기를 절반으로 줄일 수 있도록 구성한다.
이를 위해서, 우선적으로 제로 패드된 입력을 이용할 경우의 스테이지별 처리 상태를 확인해 보도록 한다.
도 2는 제로 패드된 입력에 대한 일반적인 SDF 고속 푸리에 변환 장치의 신호 흐름 그래프(Signal Flow Graph:SFG)를 보인 것으로, 설명의 편의를 위해 8포인트 Radix-22 FFT의 경우를 보인 것이다.
먼저 입력을 보면, 제로 패드된 데이터이므로 총 8개의 입력 데이터 중 x[0]부터 x[3]까지 총 4개의 입력 데이터는 복소수이며, x[4]부터 x[7]까지 총 4개의 입력 데이터는 0으로 설정 되어있다.
기존의 SDF 구조에서 제 1 스테이지의 버터플라이 연산을 위해서는 x(n)과 x(n+N/2)가 동시에 필요하다. SDF는 단일 경로이므로 먼저 들어오는 x(n)을 N/2만큼 지연시켜야 하므로 N/2 길이(쉬프트레지스터의 길이, 실질적으로는 클럭 길이)만큼의 지연부가 필요하게 된다.
도시된 구성을 보면, 제 1 스테이지에서 R[0]+jI[0]와 I[2]-jR[2]의 버터플라이 연산이 필요한데, 이를 위해서는 R[0]+jI[0]은 N/2 길이만큼 지연되어야 한다.
하지만, 도시된 바와 같이 제로 패드된 8개의 입력 데이터를 제 1 스테이지의 버터플라이 연산과 제 1 스테이지의 트위들 팩터인 -j를 곱하는 단순 승산의 결과는 도시된 바와 같이 1번째부터 4번째 데이터와 5번째부터 8번째가 비슷한 형태로 출력된다.
따라서, 데이터 정렬을 위해 R[0]+jI[0]을 제 2 스테이지에서 2개의 쉬프트레지스터 만큼(도시된 경우 8/4= 2, 2클럭) 지연시키므로, 추가적으로 2개의 쉬프트레지스터 만큼만 더 지연시킨다면 R[0]+jI[0]와 I[2]-jR[2]의 버터플라이 연산에 필요한 R[0]+jI[0]를 N/2 길이만큼 지연된 시점에 얻을 수 있다. 또한, 제 1 스테이지의 연산 결과인 I[2]-jR[2]는 제 2 스테이지의 버터플라이 연산 결과인 (R[0]-R[2])+j(I[0]-I[2])와 제 1 스테이지의 연산 결과인 R[0]+jI[0]을 이용해서 생성할 수 있으며, 비슷하게 I[3]-jR[3]도 생성할 수 있다.
결국, 제 1 스테이지의 연산 결과인 R[0]+jI[0]가 제 2 스테이지에서 버터플라이 연산을 위해 N/4 길이의 지연부를 통해 지연되기 때문에, 그 결과를 제 1 스테이지에서 받아 이를 추가로 N/4 길이 만큼만 지연시키면 제 1 스테이지에서는 실질적으로 제 1 스테이지의 연산 결과인 R[0]+jI[0]를 N/2 길이의 지연 후 이용할 수 있게 된다.
따라서, 제 1 스테이지의 지연부 길이를 절반으로 줄일 수 있게 된다. 특히, 제 1 스테이지의 뺄셈 결과인 I[2]-jR[2]는 제 2 스테이지의 버터플라이 연산 결과인 (R[0]-R[2])+j(I[0]-I[2])와 제 1 스테이지의 연산 결과인 R[0]+jI[0]을 가산하는 것 만으로 얻을 수 있기 때문에 제 1 스테이지는 4개의 실수 가산기가 필요한 버터플라이 연산기 대신 2개의 실수 가산기만으로 구성할 수 있어 필요한 가산기의 숫자도 줄일 수 있다.
도 3은 본 발명의 실시예에 따른 고속 푸리에 변환 장치(200)의 구성도를 보인 것이다. 도시된 바와 같이 radix-22 SDF나 radix-23 SDF 파이프라인 구조를 기반으로 하며, 복수의 스테이지를 구성하는 스테이지 구성부(210 내지 230)로 이루어져 있는데, 제 2 스테이지 구성부(220) 이후 최종 스테이지 구성부(230)까지의 구성은 기존 도 1에 도시된 구성과 동일하다. 하지만, 제 1 스테이지 구성부(210)의 경우 제 1 지연부(211)의 길이(쉬프트 레지스터의 수, 실질적으로는 지연 클럭 수)가 기존 N/2에서 N/4로 절반 크기가 되었고, 버터플라이 연산부 대신 2개의 가산기(212)와 제 1 지연부(211)의 출력, 상기 가산기(212)의 출력 및 제로 패드된 외부 입력(x(n): iDATA) 중 하나를 스테이지 출력으로 선택하여 다음의 제 2 스테이지 구성부(220)의 입력으로 제공하는2개의 멀티플렉서(213)만을 이용한다.
여기서, 상기 가산기(212)는 제 1 지연부(211)의 출력에 단순 승산을 통해 -j를 곱한 후 제 1 지연부(211)의 입력과 가산하는 실수 가산기로 구성된다. 즉, N/2 클럭 지연된 덧셈 결과를 단순 승산을 통해 -j를 곱하여 N/4 클럭 지연된 덧셈 결과에 가산한다.
한편, 제 2 스테이지 구성부(220)는 기존과 같이 버터플라이 연산부(225), 제 2 지연부(221)를 포함하는데, 버터플라이 연산부(225)는 버터플라이 연산기(222)와 상기 버터플라이 연산기(222)의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부(221)나 스테이지 출력으로 제공하는 복수의 멀티플렉서(223)를 포함한다. 또한, 도시된 바와 같이 제 2 스테이지 구성부(220)의 제 2 지연부(221) 출력은 제 1 스테이지 구성부(210)의 제 1 지연부(211) 입력으로 제공된다.
따라서, 제 1 스테이지 구성부(210)는 제 2 스테이지 구성부(220)의 제 2 지연부(221)와 제 1 스테이지 구성부(210)의 제 1 지연부(211)를 통해 제 1 스테이지 구성부(210)에서 연산될 신호를 N/2 길이로 지연시킬 수 있다. 이를 통해 뺄셈 결과를 N/2 길이로 지연시킬 수도 있다.
결국, 제 2 스테이지 이하의 지연부는 N/2k 길이의 지연부를 포함(k는 스테이지 순서)하며 마지막 스테이지 구성부의 지연부 길이는 1이며, 제 1 스테이지의 지연부는 N/4 가 되므로 기존에 필요한 2(N-1)개 쉬프트 레지스터의 수를 (3N-4)/2개로 줄일 수 있어, 전체 쉬프트 레지스터의 수를 기존 대비 25% 정도 줄일 수 있게 된다.
도 4는 본 발명의 실시예에 따른 고속 푸리에 변환 장치의 타이밍도로서, 앞서 도 2로 예시한 8포인트 제로 패드된 FFT에 대한 것이다. 도시된 바와 같이 제 1 스테이지 구성부(210)의 쉬프트레지스터(Shift_Reg0) 입출력, 가산기 입력(Adder_In0, Adder_In1), 제 2 스테이지 구성부(220)의 쉬프트레지스터(Shift_Reg1) 입출력, 버터플라이 연산기의 상부 및 하부 입출력(BF1_In(Out)_High(Low)), 제 2 스테이지 구성부(220)의 출력(Stage2_Out)에 대한 타이밍도를 보인 것이다.
도시된 바와 같이 제 1 스테이지 구성부가 제로 패드된 입력 신호의 덧셈 결과를 제 2 스테이지 구성부에 제공하면 제 2 스테이지 구성부에 의해 N/4 클럭(도시된 경우 2 클럭) 지연된 덧셈 결과를 다시 제 1 스테이지 구성부의 제 1 지연부에 에 제공한다. 제 1 스테이지 구성부는 해당 N/4 클럭 지연된 덧셈 결과를 N/4 클럭 지연하여 총 N/2 클럭 지연된 상태의 덧셈 결과를 제 1 스테이지 구성부의 연산 결과 산출을 위해 이용하게 되는데, 상기 제 1 스테이지 구성부는 N/2 클럭 지연된 덧셈 결과에 단순 승산을 통해 -j를 곱한 후 이를 N/4 클럭 지연된 덧셈 결과와 가산한다.
이러한 타이밍도를 통해 확인할 수 있는 바와 같이 제 2 스테이지의 출력은 앞서 도 2에 도시된 신호 흐름 그래프(SFG)와 동일한 결과를 제공한다. 따라서, 도 3과 같은 본 발명의 구성을 통해서 기존 도 1의 구성을 대체할 수 있음을 확인할 수 있다.
도 5는 본 발명의 실시예와 종래 기술의 쉬프트 레지스터 길이를 적용 포인트 증가에 따라 비교한 그래프로서, FFT 포인트 수가 N이며 FFT 프로세서의 입력이 복소수라면, 기존 SDF 구조에서의 총 쉬프트 레지스터의 길이(2(N-1))에 비해 반면, 본 발명의 실시예에 따른 SDF 구조에서의 총 쉬프트 레지스터의 길이((3N-4)/2)로 줄어든다. FFT 포인트 수가 증가 할수록 쉬프트 레지스터의 길이가 증가하는 것을 볼 수 있으며, 감소하는 쉬프트 레지스터의 길이도 증가하는 것을 볼 수 있다. 따라서, 본 발명의 실시예에 따른 SDF 구조는 전체 쉬프트 레지스터의 길이가 기존 구조 대비 약 25 %를 감소된다.
도 6은 본 발명의 실시예와 종래 기술을 적용한 경우의 하드웨어 감소율 비교표로서, 베릴로그(Verilog-HDL)를 이용하여 설계 후, 자일링스(Xilinx) 기반 Virtex6 FPGA에서 구현 및 검증한 것이다. 도시된 표는 512 포인트 FFT 프로세서의 기존 SDF 구조와 본 발명의 실시예에 따른 SDF 구조의 FPGA 기반 논리합성 결과를 보여준다. 본 발명의 실시예에 따른 SDF 구조는 3024 슬라이스 LUT(룩업 테이블)와 10195 슬라이스 레지스터를 사용되었다. 이는 기존 SDF 구조의 합성 결과인 3050 슬라이스 LUT와 13667 슬라이스 레지스터와 비교해보면, 슬라이스 LUT는 26개가 감소하였고, 슬라이스 레지스터가 3472 만큼 감소했음을 알 수 있다.
이상에서는 본 발명에 따른 바람직한 실시예들에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.
200: 고속 푸리에 변환 장치 210~230: 스테이지 구성부
211, 221, 231: 지연부 212: 가산기
213: 멀티플렉서 225, 235: 버터플라이 연산부
222: 버터플라이 연산기 223: 멀티플렉서

Claims (46)

  1. 제 1 및 제 2 스테이지 구성부를 포함하는 복수 스테이지 구성부로 구성된 N 포인트 SDF(single-path delay feedback) 고속 푸리에 변환 장치로서,
    상기 제 2 스테이지 구성부는 버터플라이 연산기, 입력을 N/4 클럭 길이로 지연시키는 제 2 지연부 및 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 포함하고;
    상기 제 1 스테이지 구성부는 상기 제 2 스테이지 구성부의 제 2 지연부에서 지연된 제 1 지연 신호를 수신하여 N/4 클럭 길이로 지연시킨 제 2 지연 신호를 생성하는 제 1 지연부와 상기 제 1 지연 신호와 제 2 지연 신호를 가산하여 가산된 신호를 생성하는 가산기와, 제로 패드된 입력 신호와 상기 제 1 지연 신호 및 상기 가산된 신호 중 하나를 선택하여 제 2 스테이지 구성부에 입력으로 제공하는 멀티플렉서를 포함하되,
    상기 제 2 스테이지 구성부의 제 2 지연부에 의해 N/4 클럭 지연된 제 1 스테이지 구성부의 연산 결과가 다시 제 1 스테이지 구성부에 제공되고, 제 1 스테이지 구성부는 해당 N/4 클럭 지연된 연산 결과를 제 1 지연부를 통해 N/4 클럭 지연하여 총 N/2 클럭 지연된 상태의 덧셈 결과를 제 1 스테이지 구성부의 연산 결과 산출을 위해 이용하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  2. 청구항 1에 있어서, 상기 제 1 스테이지 구성부의 제 1 지연부와 상기 제 2 스테이지 구성부의 제 2 지연부는 모두 N/4 길이 지연부인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  3. 청구항 1에 있어서, 상기 제 1 스테이지 구성부를 제외한 모든 스테이지 구성부는 버터플라이 연산기를 구비한 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  4. 청구항 1에 있어서, 상기 제 1 스테이지 구성부의 가산기는 2개인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  5. 청구항 1에 있어서, 상기 가산기는 제 1 지연부의 출력에 트위들 팩터인 -j를 곱하여 상기 제 1 지연부의 입력에 더하는 실수 가산기인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  6. 청구항 1에 있어서, 상기 제 1 지연부 및 제 2 지연부를 포함하는 모든 지연부는 쉬프트 레지스터인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  7. 청구항 1에 있어서, 상기 고속 푸리에 변환 장치는 radix-22 SDF나 radix-23 SDF 파이프라인 구조를 기반으로 하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  8. 청구항 1에 있어서, 상기 제 1 스테이지 구성부는 제 2 스테이지 구성부의 제 2 지연부와 제 1 스테이지 구성부의 제 1 지연부를 통해 제 1 스테이지 구성부 연산에 필요한 뺄셈 결과를 N/2 길이로 지연시키는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  9. 청구항 1에 있어서, 지연의 길이는 클럭을 기준으로 하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  10. 청구항 1에 있어서, 상기 복수 스테이지 구성부 중 상기 제 2 스테이지 구성부 이후의 스테이지들에 구성되는 지연부는 N/2k 길이의 지연부를 포함하되, k는 스테이지 구성부의 순서이며 마지막 스테이지 구성부의 지연부 길이는 1인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  11. 청구항 1에 있어서, 상기 제 1 스테이지 구성부와 제 2 스테이지 구성부를 포함하는 모든 스테이지 구성부의 구성 요소는 2개 경로에 대하여 각각 하나씩, 쌍으로 구성되는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  12. 청구항 1에 있어서, 상기 제 2 스테이지 구성부는 상기 제 1 스테이지 구성부의 출력을 입력으로 받아 해당 입력이나 버터플라이 연산기를 통해 연산한 결과 중 하나를 제 2 지연부를 통해 지연시키고, 상기 버터플라이 연산기는 상기 제 1 스테이지 구성부의 출력 및 상기 제 2 지연부를 통해 지연된 신호를 입력으로 하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  13. 단일 데이터 경로를 가지며 적어도 제 1 및 제 2 스테이지 구성부를 가지는 N 포인트 SDF 고속 푸리에 변환 장치로서,
    상기 제 1 스테이지 구성부는 N/4 클럭 길이의 제 1 지연부와, 제 1 지연부의 입력과 출력을 가산하는 가산기와, 제 1 지연부의 출력, 상기 가산기의 출력 및 제로 패드된 외부 입력 중 하나를 스테이지 출력으로 선택하여 다음 스테이지 구성부의 입력으로 제공하는 멀티플렉서를 구비하고;
    상기 제 2 스테이지 구성부는 적어도 제 1 스테이지 구성부의 덧셈 결과를 N/4 클럭 길이로 지연시켜 제 1 스테이지 구성부에 제공하는 지연부를 포함하되,
    상기 제 2 스테이지 구성부의 지연부에 의해 N/4 클럭 지연된 제 1 스테이지 구성부의 연산 결과가 다시 제 1 스테이지 구성부에 제공되고, 제 1 스테이지 구성부는 해당 N/4 클럭 지연된 연산 결과를 제 1 지연부를 통해 N/4 클럭 지연하여 총 N/2 클럭 지연된 상태의 덧셈 결과를 제 1 스테이지 구성부의 연산 결과 산출을 위해 이용하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  14. 청구항 13에 있어서, 상기 제 1 스테이지 구성부를 제외한 모든 스테이지 구성부는 버터플라이 연산기를 구비한 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  15. 청구항 13에 있어서, 상기 제 1 스테이지 구성부의 가산기는 2개인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  16. 청구항 13에 있어서, 상기 가산기는 제 1 지연부의 출력에 트위들 팩터인 -j를 곱하여 상기 제 1 지연부의 입력에 더하는 실수 가산기인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  17. 청구항 13에 있어서, 지연의 길이는 클럭을 기준으로 하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  18. 청구항 13에 있어서, 상기 제 1 스테이지 구성부의 스테이지 출력을 입력의 하나로 수신하는 버터플라이 연산기, N/4 길이의 제 2 지연부, 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 포함하는 제 2 스테이지 구성부를 포함하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  19. 청구항 18에 있어서, 상기 제 1 지연부 및 제 2 지연부를 포함하는 모든 지연부는 쉬프트 레지스터인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  20. 청구항 18에 있어서, 상기 고속 푸리에 변환 장치는 radix-22 SDF나 radix-23 SDF 파이프라인 구조를 기반으로 하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  21. 청구항 18에 있어서, 상기 제 1 스테이지 구성부는 제 2 스테이지 구성부의 제 2 지연부와 제 1 스테이지 구성부의 제 1 지연부를 통해 제 1 스테이지 구성부 연산에 필요한 뺄셈 결과를 N/2 길이로 지연시키는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  22. 청구항 18에 있어서, 상기 복수의 스테이지 구성부 중 상기 제 2 스테이지 구성부 이후의 스테이지들에 구성되는 지연부는 N/2k 길이의 지연부를 포함하되, k는 스테이지 구성부의 순서이며 마지막 스테이지 구성부의 지연부 길이는 1인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  23. 청구항 18에 있어서, 상기 제 1 스테이지 구성부와 제 2 스테이지 구성부를 포함하는 모든 스테이지 구성부의 구성 요소는 2개 경로에 대하여 각각 하나씩, 쌍으로 구성되는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  24. 청구항 18에 있어서, 상기 제 2 스테이지 구성부는 상기 제 1 스테이지 구성부의 출력을 입력으로 받아 해당 입력이나 버터플라이 연산기를 통해 연산한 결과 중 하나를 제 2 지연부를 통해 지연시키고, 상기 버터플라이 연산기는 상기 제 1 스테이지 구성부의 출력 및 상기 제 2 지연부를 통해 지연된 신호를 입력으로 하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  25. 단일 데이터 경로를 가지며 복수의 스테이지 구성부를 가지는 radix-22 SDF나 radix-23 N 포인트 SDF 파이프라인 구조의 고속 프리에 변환 장치로서,
    N/4 클럭 길이의 제 1 지연부와, 제 1 지연부의 입력과 출력을 가산하는 가산기와, 제 1 지연부의 출력, 상기 가산기의 출력 및 제로 패드된 외부 입력 중 하나를 스테이지 출력으로 선택하여 다음 스테이지 구성부의 입력으로 제공하는 멀티플렉서를 구비한 제 1 스테이지 구성부와;
    상기 제 1 스테이지 구성부의 스테이지 출력을 입력의 하나로 수신하는 버터플라이 연산기, N/4 클럭 길이의 제 2 지연부, 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 포함하는 제 2 스테이지 구성부를 포함하되,
    상기 제 2 스테이지 구성부의 제 2 지연부에 의해 N/4 클럭 지연된 제 1 스테이지의 연산 결과가 다시 제 1 스테이지 구성부에 제공되고, 제 1 스테이지 구성부는 해당 N/4 클럭 지연된 연산 결과를 제 1 지연부를 통해 N/4 클럭 지연하여 총 N/2 클럭 지연된 상태의 덧셈 결과를 제 1 스테이지 구성부의 연산 결과 산출을 위해 이용하도록 구성된 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  26. 청구항 25에 있어서, 상기 제 1 스테이지 구성부를 제외한 모든 스테이지 구성부는 버터플라이 연산기를 구비한 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 장치.
  27. 단일 데이터 경로를 가지며 복수의 스테이지 구성부를 가지는 radix-22 SDF나 radix-23 N 포인트 SDF 구조를 이용한 고속 푸리에 변환 장치를 이용한 고속 푸리에 변환 방법으로서,
    제 1 스테이지 구성부가 제로 패드된 입력 신호의 덧셈 결과를 제 2 스테이지 구성부에 제공하는 제 1 단계;
    제 2 스테이지 구성부가 상기 제 1 스테이지 구성부의 덧셈 결과를 수신하여 이를 N/4 클럭만큼 지연시키는 제 2 단계;
    상기 제 2 스테이지 구성부에 의해 N/4 클럭 지연된 덧셈 결과를 다시 제 1 스테이지 구성부에 제공하고, 제 1 스테이지 구성부는 해당 N/4 클럭 지연된 덧셈 결과를 N/4 클럭 지연하여 총 N/2 클럭 지연된 상태의 덧셈 결과를 제 1 스테이지 구성부의 연산 결과 산출을 위해 이용하는 제 3 단계를 포함하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  28. 청구항 27에 있어서, 상기 제 3 단계에서, 상기 제 1 스테이지 구성부는 N/2 클럭 지연된 덧셈 결과에 단순 승산을 통해 트위들 팩터인 -j를 곱하여 N/4 클럭 지연된 덧셈 결과와 가산하는 단계를 더 포함하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  29. 청구항 28에 있어서, 상기 제 1 스테이지 구성부는 제로 패드된 입력 신호, 상기 N/2 클럭 지연된 덧셈 결과, 상기 N/2 클럭 지연된 덧셈 결과에 트위들 팩터인 -j를 곱하여 N/4 클럭 지연된 덧셈 결과와 가산한 결과 중 하나를 처리 단계에 맞추어 제 2 스테이지 구성부의 입력으로 제공하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  30. 단일 데이터 경로를 가지는 N 포인트 SDF(single-path delay feedback) 구조로서 제 1 및 제 2 스테이지 구성부를 포함하는 복수 스테이지 구성부로 구성된 고속 푸리에 변환 장치의 고속 푸리에 변환 방법으로서,
    제 2 스테이지 구성부로서 버터플라이 연산기, 입력을 N/4 클럭 길이로 지연시키는 제 2 지연부 및 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 구성하는 단계;
    상기 제 1 스테이지 구성부로서 상기 제 2 스테이지 구성부의 제 2 지연부에서 지연된 제 1 지연 신호를 수신하여 N/4 클럭 길이로 지연시킨 제 2 지연 신호를 생성하는 제 1 지연부와 상기 제 1 지연 신호와 제 2 지연 신호를 가산하여 가산된 신호를 생성하는 가산기와, 제로 패드된 입력 신호와 상기 제 1 지연 신호 및 상기 가산된 신호 중 하나를 선택하여 제 2 스테이지 구성부에 입력으로 제공하는 멀티플렉서를 구성하는 단계;
    상기 제 2 스테이지 구성부의 제 2 지연부에 의해 N/4 클럭 지연된 제 1 스테이지의 연산 결과를 다시 제 1 스테이지 구성부에 제공하고, 제 1 스테이지 구성부는 해당 N/4 클럭 지연된 연산 결과를 제 1 지연부를 통해 N/4 클럭 지연하여 총 N/2 클럭 지연된 상태의 덧셈 결과를 제 1 스테이지 구성부의 연산 결과 산출을 위해 이용하는 단계를 포함하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  31. 청구항 30에 있어서, 상기 제 1 스테이지 구성부의 제 1 지연부와 상기 제 2 스테이지 구성부의 제 2 지연부는 모두 N/4 길이 지연부인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  32. 청구항 30에 있어서, 상기 제 1 스테이지 구성부를 제외한 모든 스테이지 구성부는 버터플라이 연산기를 구비한 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  33. 청구항 30에 있어서, 상기 제 1 스테이지 구성부의 가산기는 2개인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  34. 청구항 30에 있어서, 상기 가산기는 제 1 지연부의 출력에 트위들 팩터인 -j를 곱하여 상기 제 1 지연부의 입력에 더하는 실수 가산기인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  35. 청구항 30에 있어서, 상기 제 1 지연부 및 제 2 지연부를 포함하는 모든 지연부는 쉬프트 레지스터인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  36. 청구항 30에 있어서, 상기 고속 푸리에 변환 장치는 radix-22 SDF나 radix-23 SDF 파이프라인 구조를 기반으로 하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  37. 청구항 30에 있어서, 상기 제 1 스테이지 구성부는 제 2 스테이지 구성부의 제 2 지연부와 제 1 스테이지 구성부의 제 1 지연부를 통해 제 1 스테이지 구성부 연산에 필요한 뺄셈 결과를 N/2 길이로 지연시키는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  38. 청구항 30에 있어서, 지연의 길이는 클럭을 기준으로 하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  39. 청구항 30에 있어서, 상기 복수 스테이지 구성부 중 상기 제 2 스테이지 구성부 이후의 스테이지들에 구성되는 지연부는 N/2k 길이의 지연부를 포함하되, k는 스테이지 구성부의 순서이며 마지막 스테이지 구성부의 지연부 길이는 1인 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  40. 청구항 30에 있어서, 상기 제 1 스테이지 구성부와 제 2 스테이지 구성부를 포함하는 모든 스테이지 구성부의 구성 요소는 2개 경로에 대하여 각각 하나씩, 쌍으로 구성되는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  41. 청구항 30에 있어서, 상기 제 2 스테이지 구성부는 상기 제 1 스테이지 구성부의 출력을 입력으로 받아 해당 입력이나 버터플라이 연산기를 통해 연산한 결과 중 하나를 제 2 지연부를 통해 지연시키고, 상기 버터플라이 연산기는 상기 제 1 스테이지 구성부의 출력 및 상기 제 2 지연부를 통해 지연된 신호를 입력으로 하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  42. 단일 데이터 경로를 가지며 적어도 제 1 및 제 2 복수의 스테이지 구성부를 가지는 radix-22 SDF나 radix-23 N 포인트 SDF(single-path delay feedback) 구조를 이용한 고속 푸리에 변환 장치를 이용한 고속 푸리에 변환 방법으로서,
    상기 제 1 스테이지 구성부를 N/4 클럭 길이의 제 1 지연부와, 제 1 지연부의 입력과 출력을 가산하는 가산기와, 제 1 지연부의 출력, 상기 가산기의 출력 및 제로 패드된 외부 입력 중 하나를 스테이지 출력으로 선택하여 다음 스테이지 구성부의 입력으로 제공하는 멀티플렉서로 구성하는 단계;
    상기 제 2 스테이지 구성부를 적어도 제 1 스테이지 구성부의 덧셈 결과를 N/4 클럭 길이로 지연시켜 제 1 스테이지 구성부에 제공하는 지연부를 포함하여 구성하는 단계;
    상기 제 2 스테이지 구성부의 지연부에 의해 N/4 클럭 지연된 제 1 스테이지 구성부의 연산 결과를 다시 제 1 스테이지 구성부에 제공하고, 제 1 스테이지 구성부는 해당 N/4 클럭 지연된 연산 결과를 제 1 지연부를 통해 N/4 클럭 지연하여 총 N/2 클럭 지연된 상태의 덧셈 결과를 제 1 스테이지 구성부의 연산 결과 산출을 위해 이용하는 단계를 포함하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  43. 청구항 42에 있어서, 상기 제 1 스테이지 구성부의 가산기는 2개로 구성하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  44. 청구항 42에 있어서, 상기 제 1 스테이지 구성부의 스테이지 출력을 입력의 하나로 수신하는 버터플라이 연산기, N/4 길이의 제 2 지연부, 상기 버터플라이 연산기의 입력과 연산 결과 중 하나를 선택하여 상기 제 2 지연부나 스테이지 출력으로 제공하는 복수의 멀티플렉서를 포함하는 제 2 스테이지 구성부를 구성하는 단계를 포함하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  45. 청구항 44에 있어서, 상기 제 1 스테이지 구성부는 제 2 스테이지 구성부의 제 2 지연부와 제 1 스테이지 구성부의 제 1 지연부를 통해 제 1 스테이지 구성부 연산에 필요한 뺄셈 결과를 N/2 길이로 지연시키는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
  46. 청구항 45에 있어서, 상기 제 2 스테이지 구성부를 구성하는 단계는 상기 제 1 스테이지 구성부의 출력을 입력으로 받아 해당 입력이나 버터플라이 연산기를 통해 연산한 결과 중 하나를 제 2 지연부를 통해 지연시키고, 상기 버터플라이 연산기는 상기 제 1 스테이지 구성부의 출력 및 상기 제 2 지연부를 통해 지연된 신호를 입력으로 구성하는 단계를 더 포함하는 것을 특징으로 하는 제로 패드된 고속 푸리에 변환 방법.
KR1020170073979A 2017-06-13 2017-06-13 제로 패드된 고속 푸리에 변환 장치 및 방법 KR101908699B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170073979A KR101908699B1 (ko) 2017-06-13 2017-06-13 제로 패드된 고속 푸리에 변환 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170073979A KR101908699B1 (ko) 2017-06-13 2017-06-13 제로 패드된 고속 푸리에 변환 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101908699B1 true KR101908699B1 (ko) 2018-10-16

Family

ID=64132687

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170073979A KR101908699B1 (ko) 2017-06-13 2017-06-13 제로 패드된 고속 푸리에 변환 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101908699B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990073984A (ko) * 1998-03-05 1999-10-05 김영환 콤 필터의 미분기
KR100892292B1 (ko) 2006-11-06 2009-04-08 인하대학교 산학협력단 병렬 구조 및 파이프라인 방식을 이용한 Radix 2의4승 고속 푸리에 변환 프로세서
KR20100077304A (ko) * 2008-12-29 2010-07-08 전자부품연구원 재귀 이산 푸리에 변환 기반 다중 해상도 주파수 검출 장치및 방법
KR20120070746A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 고속 푸리에 변환 수행 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990073984A (ko) * 1998-03-05 1999-10-05 김영환 콤 필터의 미분기
KR100892292B1 (ko) 2006-11-06 2009-04-08 인하대학교 산학협력단 병렬 구조 및 파이프라인 방식을 이용한 Radix 2의4승 고속 푸리에 변환 프로세서
KR20100077304A (ko) * 2008-12-29 2010-07-08 전자부품연구원 재귀 이산 푸리에 변환 기반 다중 해상도 주파수 검출 장치및 방법
KR20120070746A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 고속 푸리에 변환 수행 방법 및 장치

Similar Documents

Publication Publication Date Title
Khan et al. High-Speed and Low-Latency ECC Processor Implementation Over GF ($2^{m}) $ on FPGA
Garrido et al. Feedforward FFT hardware architectures based on rotator allocation
Ingemarsson et al. Efficient FPGA mapping of pipeline SDF FFT cores
Tomar et al. Modified binary multiplier architecture to achieve reduced latency and hardware utilization
Prakash et al. Performance evaluation of FFT processor using conventional and Vedic algorithm
Yang et al. Design of a configurable fixed-point FFT processor
KR101908699B1 (ko) 제로 패드된 고속 푸리에 변환 장치 및 방법
KR101860531B1 (ko) 레이다 시스템을 위한 다채널 고속 푸리에 변환 장치 및 방법
Mukherjee et al. A novel architecture of area efficient FFT algorithm for FPGA implementation
Chahardahcherik et al. Implementing FFT algorithms on FPGA
Kaur et al. Design of 32-point mixed radix FFT processor using CSD multiplier
Singhal et al. Design and implementation of fast fourier transform (FFT) using VHDL code
Chiper A structured fast algorithm for the VLSI pipeline implementation of inverse discrete cosine transform
KR102301144B1 (ko) 저 복잡도의 단시간 푸리에 변환 처리 장치 및 그 방법
Yang et al. Approximate computing based low power image processing architecture for intelligent satellites
Gupta et al. A high-speed single-path delay feedback pipeline FFT processor using vedic-multiplier
Hazarika et al. Energy efficient VLSI architecture of real‐valued serial pipelined FFT
KR100668674B1 (ko) 고속 푸리에 변환 장치 및 고속 푸리에 변환 방법
Biswas et al. Analysis of Area Efficient Parallel FIR Filters using FPGA
López-Martínez et al. Iterative-gradient based complex divider FPGA core with dynamic configurability of accuracy and throughput
Žarić et al. Hardware realization of the robust time–frequency distributions
Nazmy et al. A Novel Generic Low Latency Hybrid Architecture for Parallel Pipelined Radix-2 k Feed Forward FFT
Shokry et al. A dynamically configurable-radix pipelined FFT algorithm for real time applications
Manimaran et al. Design of “32” Point Split Radix based Multipath Delay Commutator FFT Architecture for Low Power Applications
Mangaiyarkarasi et al. Area Efficient 64-Point Split Radix FFT using Single-Path Delay Feedback And Multi-Path Delay Commutator (SDF-MDC) Architecture

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant