KR20010036860A - 고속 퓨리에 변환 장치 - Google Patents

고속 퓨리에 변환 장치 Download PDF

Info

Publication number
KR20010036860A
KR20010036860A KR1019990044047A KR19990044047A KR20010036860A KR 20010036860 A KR20010036860 A KR 20010036860A KR 1019990044047 A KR1019990044047 A KR 1019990044047A KR 19990044047 A KR19990044047 A KR 19990044047A KR 20010036860 A KR20010036860 A KR 20010036860A
Authority
KR
South Korea
Prior art keywords
data
imaginary
real
memory unit
register
Prior art date
Application number
KR1019990044047A
Other languages
English (en)
Other versions
KR100308929B1 (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 KR1019990044047A priority Critical patent/KR100308929B1/ko
Publication of KR20010036860A publication Critical patent/KR20010036860A/ko
Application granted granted Critical
Publication of KR100308929B1 publication Critical patent/KR100308929B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

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

Abstract

본 발명은 고속의 데이터 전송 장치에 관한 것으로, 병렬화 및 파이프 라인화 하므로써, 고속으로 퓨리에(Fourier) 변환하여 데이터를 전송하는 고속 퓨리에 변환(FFT) 장치에 관한 것이며, 고속 퓨리에 변환 장치 전체를 제어하는 중앙제어부와, 상기 중앙제어부의 제어 신호에 의하여 메모리에 데이터를 기록 및 읽기 하는 주소신호를 출력하는 주소 제어부와, 상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 데이터를 읽어 출력함과 동시에, 인가 받은 주소 신호에 의하여 데이터 기록하는 듀얼 포트 메모리부와, 상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 복소수의 계수 값을 읽어 출력하는 계수 메모리부와, 상기 중앙제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 처리하도록 제어 신호를 출력하는 버터프라이 제어부와, 상기 듀얼포트 메모리부의 하측 영역 실수 데이터와 상측 영역의 실수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제1 산술논리 처리부와, 상기 듀얼포트 메모리부의 하측 영역 허수 데이터와 상측 영역의 허수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제2 산술논리 처리부와, 상기 제1 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제1 레지스터와, 상기 제2 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제2 레지스터와, 상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제1 곱셈기와, 상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제2 곱셈기와, 상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제3 곱셈기와, 상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제4 곱셈기와, 상기 제1 및 제2 곱셈기로부터 각각 실수를 인가 받고 복소수 덧셈하는 제1 덧셈기와, 상기 제3 및 제4 곱셈기로부터 각각 허수를 인가 받고 복소수 덧셈하는 제2 덧셈기로 이루어져 구성되는 고속 퓨리에 변환 장치를 특징으로 하므로써, 고속 퓨리에 변환을 병렬화 구성으로 처리하고, 파이프라인 방식으로 처리하여 스텝수가 많은 데이터 처리 일수록 더욱 고속으로 처리하는 효과 및 복소수를 한 주기에 처리할 수 있도록 구성하여 고속 여파기 또는 이퀄라이저 등에 즉시 적용 할 수 있는 효과가 있다.

Description

고속 퓨리에 변환 장치{A DEVICE OF FAST FOURIER TRANSFORM}
본 발명은 고속의 데이터 전송 장치에 관한 것으로, 병렬화 및 파이프 라인화 하므로써, 고속으로 퓨리에(Fourier) 변환하여 데이터를 전송하는 고속 퓨리에 변환(FFT: Fast Fourier Transform) 장치에 관한 것이다.
퓨리에 변환을 하는 목적은 일반적으로 시간영역(Time Domain)에서 주파수 영역(Frequency Domain)으로 변환시켜, 데이터 또는 신호의 처리에 있어서, 많은 신호를 용이하게 처리하고자 하는 것으로, 상기의 기술이 적용되는 제품으로서 대표적인 것이 스펙트럼 아날라이저(Spectrum Analyzer)와 같은 것이 있으며, 본 발명에서는 고속으로 데이터를 전송하는 통신 장비 중에 하나인 비동기 신호 전송 방식인 DMT ADSL(Discreet Multi tone Asynchronous Digital Subscriber Line)에 적용되는 것이다.
이하, 첨부된 도면을 참조하여 종래의 기술에 의한 고속 퓨리에 변환 장치를 설명한다.
도1 은 종래 기술의 일 실시예에 의한 고속 퓨리에 변환장치의 기능블록도 이다.
상기의 첨부된 도면을 참조하면, 종래 기술의 일 실시예에 의한 고속 퓨리에 변환(FFT: Fast Fourier Transform) 장치는, 고속 퓨리에 변환장치의 각 기능부를 제어하는 제어부(10)와,
고속 퓨리에 변환 처리될 데이터 및 처리된 데이터를 기록 및 저장하는 메모리부(20)와,
상기 메모리부(20)로부터 실수(Real)부와 허수(Imaginary)부의 데이터를 인가 받아, 덧셈 뺄셈 등의 산술 연산 및 논리 연산을 하는 산술논리부(ALU: Arithmetic Logic Unit)(30)와,
상기 ALU(30)로부터 연산 처리된 실수부 및 허수부의 데이터를 곱셈 처리하는 멀티플라이어(Multiplier)(40)와,
상기 멀티플라이어(40)의 데이터를 잠시 축적하여 보관한 후, 상기 메모리부(20)에 인가하는 어큐뮤레이터(Accumulator)(50)로 구성된다.
이하, 상기와 같은 구성의 종래 기술에 의한 고속 퓨리에 변환(FFT) 장치를 첨부된 도면을 참조하여 상세히 설명한다.
상기 제어부(10)의 제어신호에 의하여, 제1 스텝으로, 상기 메모리부(20)에 저장되고 퓨리에 변환할 데이터의 복소수 A 값 및 B 값의 실수(Real) 데이터를 상기 ALU(30)에 인가하고, 제2 스텝으로, 상기 ALU(30)에서 연산 처리하고, 제3 스텝으로, 상기 ALU(30)에 의하여 연산 처리된 데이터가 멀티플라이어(40)에 의하여 곱해지고, 상기 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장된다.
이번에는, 상기 메모리(20)에 저장된 복소수 A 값 및 B 값의 허수(Imaginary) 데이터를 상기 ALU(30)에 인가하는 제4 스텝과, 상기 ALU(30)에서 연산 처리하는 제5 스텝과, 상기 ALU(30)에 의하여 연산 처리된 데이터가 멀티플라이어(40)에 의하여 곱해지고, 상기 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되는 제6 스텝이 필요하다.
상기 제어부(10)의 제어신호에 의하여, 제7 스텝으로는, 상기 메모리(20)에 저장된 계수(Coefficient)의 실수(Real) 데이터와, 상기 제6 스텝의 결과에 의한 실수(Real) 데이터를 읽고,
제8 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되고,
제9 스텝으로는, 상기 메모리(20)에 저장된 계수(Coefficient)의 실수(Real) 데이터와, 상기 제6 스텝의 결과에 의한 허수(Imaginary) 데이터를 읽고,
제10 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되고,
제11 스텝으로는, 상기 메모리(20)에 저장된 계수(Coefficient)의 허수(Imaginary) 데이터와, 상기 제6 스텝의 결과에 의한 실수(Real) 데이터를 읽고,
제12 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되고,
제13 스텝으로는, 상기 메모리(20)에 저장된 계수(Coefficient)의 허수(Imaginary) 데이터와, 상기 제6 스텝의 결과에 의한 허수(Imaginary) 데이터를 읽고,
제14 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되고,
상기 제어부(10)의 제어에 의하여, 제15 스텝으로는, 상기 메모리(20)에 저장된 상기 제8 스텝과 제14 스텝의 결과 데이터를 읽고,
제16 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후,
제17 스텝으로, 상기 메모리(20)의 다른 영역에 다시 저장하고,
상기 제어부(10)의 제어에 의하여, 제18 스텝으로는, 상기 메모리(20)에 상기 제10 스텝과 제12 스텝의 결과 데이터를 읽고,
제19 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후,
제20 스텝으로, 상기 메모리(20)의 다른 영역에 다시 저장되므로써, 고속 퓨리에 변환(FFT)의 버터플라이(Butterfly) 연산을 수행한다.
상기와 같이 하나의 데이터를 처리하기 위하여 20 스텝 또는 20 클럭(Clock)이 필요하다.
따라서, 상기와 같은 종래 기술의 구성에 의한 고속 퓨리에 변환(FFT) 장치는 상기 ALU(30)를 고속으로 동작하도록 집적회로(IC)로 구성하고, 클럭 속도를 높이고 있으며, 또한 데이터를 동시에 다발적으로 연산 처리하도록 하는 파이프라인(Pipe Line) 방식을 적용하고 있으나, 역시 최대 동작 속도가 IC 칩(Chip)의 동작 속도에 제한을 받는 문제가 있었다.
또한, 상기와 같은 구조는, 복소수 연산 시에, 각 스텝 또는 단계별 연산 결과를 저장 및 재연산하는 과정이 반복되므로, 상기 FFT 장치가 고속으로 동작하는 클럭의 상당 부분이 상기 메모리부(20)에 데이터를 기록 및 읽어내는 데에 활용하게 되는 문제가 있었다.
본 발명은 고속 퓨리에 변환하는 각 기능 블록들을 병렬 배치하고, 파이프라인 방식으로 데이터를 처리하게 하여, 실시간으로 고속의 전송 데이터를 처리하게 하는 장치를 제공하는 것이 그 목적이다.
상기와 같은 목적을 달성하기 위하여 안출한 본 발명은, 고속 퓨리에 변환 장치 전체를 제어하는 중앙제어부와, 상기 중앙제어부의 제어 신호에 의하여 메모리에 데이터를 기록 및 읽기 하는 주소신호를 출력하는 주소 제어부와, 상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 데이터를 읽어 출력함과 동시에, 인가 받은 주소 신호에 의하여 데이터 기록하는 듀얼 포트 메모리부와, 상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 복소수의 계수 값을 읽어 출력하는 계수 메모리부와, 상기 중앙제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 처리하도록 제어 신호를 출력하는 버터프라이 제어부와, 상기 듀얼포트 메모리부의 하측 영역 실수 데이터와 상측 영역의 실수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제1 산술논리 처리부와, 상기 듀얼포트 메모리부의 하측 영역 허수 데이터와 상측 영역의 허수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제2 산술논리 처리부와, 상기 제1 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제1 레지스터와, 상기 제2 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제2 레지스터와, 상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제1 곱셈기와, 상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제2 곱셈기와, 상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제3 곱셈기와, 상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제4 곱셈기와, 상기 제1 및 제2 곱셈기로부터 각각 실수를 인가 받고 복소수 덧셈하는 제1 덧셈기와, 상기 제3 및 제4 곱셈기로부터 각각 허수를 인가 받고 복소수 덧셈하는 제2 덧셈기로 이루어져 구성되는 고속 퓨리에 변환 장치를 특징으로 한다.
도1 은 종래 기술의 일 실시예에 의한 고속 퓨리에 변환장치의 기능블록도 이고,
도2 는 본 발명에 의한 고속 퓨리에 변환장치의 버터플라이 연산 구조도 이고,
도3 은 본 발명의 일 실시예에 의한 고속 퓨리에 변환 장치의 기능 블록도 이고,
도4 는 본 발명의 일 실시예에 의한 고속 퓨리에 변환 장치의 동작 타이밍도 이다.
* 도면의 주요 부분에 대한 부호 설명 *
10,105 : 제어부 20 : 메모리부
30,140,145 : 산술논리 처리부 40,162,164,166,168 : 곱셈기
50 : 어큐뮤레이터 100 : 주소 제어부
110 : 버터프라이 제어부 120 : 계수 메모리부
130 : 듀얼포트 메모리부 150,155 : 레지스터
170,175 : 덧셈기
이하, 첨부된 도면을 참조하여 본 발명에 의한 고속 퓨리에 변환 장치를 설명한다.
도2 는 본 발명에 의한 고속 퓨리에 변환장치의 버터플라이 연산 구조도 이고, 도3 은 본 발명의 일 실시예에 의한 고속 퓨리에 변환 장치의 기능 블록도 이고, 도4 는 본 발명의 일 실시예에 의한 고속 퓨리에 변환 장치의 동작 타이밍도 이다.
상기의 첨부된 도면을 참조하면, 본 발명에 의한 고속 퓨리에 변환(FFT: Fast Fourier Transform) 장치는, 고속 퓨리에 변환(FFT) 장치 전체를 제어하는 중앙제어부(105)와,
상기 중앙제어부(105)의 제어 신호(Control Signal)에 의하여 메모리(Memory)에 데이터(Data)를 기록(Write) 및 읽기(Read) 하는 주소(Address) 신호를 출력하는 주소 제어부(100)와,
상기 주소 제어부(100)로부터 인가 받은 주소(Address) 신호에 의하여 데이터를 읽어(Read) 출력함과 동시에, 상기 주소 제어부(100)로부터 인가 받은 주소 신호에 의하여 데이터 기록(Write)하는 듀얼 포트(Dual Port) 메모리부(130)와,
상기 주소 제어부(100)로부터 인가 받은 주소 신호에 의하여 복소수의 계수(Coefficient) 값을 읽어(Read) 출력하는 계수(Coefficient) 메모리부(120)와,
상기 중앙제어부(105)의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 처리하도록 제어 신호를 출력하는 버터프라이(Butterfly) 제어부(110)와,
상기 듀얼포트 메모리부(130)의 하측(Lower) 영역 실수(Real) 데이터와 상측(Upper) 영역의 실수(Real) 데이터를 인가 받고, 상기 버터프라이(Butterfly) 제어부(110)의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제1 산술논리 처리부(ALU: Arithmetic Logic Unit)(140)와,
상기 듀얼포트(Dual Port) 메모리부(130)의 하측(Lower) 영역 허수(Imaginary) 데이터와 상측(upper) 영역의 허수(Imaginary) 데이터를 인가 받고, 상기 버터프라이(Butterfly) 제어부(110)의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제2 산술논리 처리부(ALU)(145)와,
상기 제1 산술논리 처리부(ALU)(140)로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제1 레지스터(Resistor)(150)와,
상기 제2 산술논리 처리부(ALU)(145)로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제2 레지스터(Resistor)(155)와,
상기 제1 레지스터(150)로부터 실수(Real) 값을 인가 받고, 상기 계수 메모리부(120)로부터 실수(Real) 값 계수를 인가 받아 복소수 곱셈처리 후, 복소수 실수(Real)를 출력하는 제1 곱셈기(162)와,
상기 제2 레지스터(155)로부터 허수(Imaginary)를 인가 받고, 상기 계수 메모리부(Coefficient Memory)(120)로부터 허수(Imaginary)를 인가 받아 복소수 곱셈처리 후, 복소수 실수(Real)를 출력하는 제2 곱셈기(164)와,
상기 제1 레지스터(150)로부터 실수(Real)를 인가 받고, 상기 계수 메모리부(120)로부터 허수(Imaginary) 값 계수를 인가 받아 복소수 곱셈처리 후, 복소수 허수(Imaginary)를 출력하는 제3 곱셈기(166)와,
상기 제2 레지스터(155)로부터 허수(Imaginary)를 인가 받고, 상기 계수 메모리부(120)로부터 실수(Real)를 인가 받아 복소수 곱셈처리 후, 복소수 허수(Imaginary)를 출력하는 제4 곱셈기(168)와,
상기 제1 및 제2 곱셈기(162,164)로부터 각각 복소수 실수(Real)를 인가 받고, 복소수 덧셈하여 상기 듀얼포트 메모리부(130)에 연결된 제1 데이터 버스를 통해 상기 듀얼포트 메모리부(130)에 상기 주소 제어부(100)에 의하여 지정된 주소에 상측 실수(Real)를 기록(Write) 하는 제1 덧셈기(170)와,
상기 제3 및 제4 곱셈기(166,168)로부터 각각 복소수 허수(Imaginary)를 인가 받고, 복소수 덧셈하여 상기 듀얼포트 메모리부(130)에 연결된 제1 데이터 버스를 통해 상기 듀얼포트 메모리부(130)에 상측 허수(Imaginary)를 상기 주소 제어부(100)에 의하여 지정된 주소에 기록(Write) 하는 제2 덧셈기(175)로 이루어져 구성된다.
또한, 상기 제1 및 제2 산술논리부(140,145)로부터 출력된 하측(Lower) 실수(Real) 및 허수(Imaginary)는 상기 듀얼포트 메모리부(130)에 연결되는 제1 데이터 버스를 통하여 상기 듀얼포트 메모리부(130)의 지정된 주소에 기록(Write)한다.
이하, 상기와 같은 구성의 본 발명에 의한 고속 퓨리에 장치를 첨부된 도면을 참조하여 상세히 설명한다.
상기의 첨부된 도2 는 본 발명에 의한 고속 퓨리에 변환 장치의 연산 구조도 로서, 하부(Lower) 실수(Real) 및 허수(Imaginary)가 인가되고, 또한, 상부(Upper) 실수(Real) 및 허수(Imaginary)가 인가된 상태를 볼 수 있으며, 하부 실수와 허수는 상부 실수와 허수에 의하여 복소수 덧셈이 된 후, 하부 실수 및 허수가 되어 출력됨을 볼 수 있다.
또한, 상부 실수 및 허수는 하부 실수 및 허수 의하여 복소수 뺄셈이 되고, 다시 계수 실수와 허수에 의하여 복소수 곱셈이 된 후, 상부 실수 및 허수가 되어 출력됨을 볼 수 있다.
상기 도2 와 같은 구조를 기능블록으로 구체화하여 도시한 것이 도3의 내용과 같다.
제1 단계(Phase 1)로서, 듀얼포트 메모리(130)로부터 제2 데이터 버스를 통하여 상측(Upper) 실수(real) 및 허수(Imaginary) 그리고 하측(Lower) 실수(Real) 및 허수(Imaginary)를 인가 받은 제1 및 제2 산술논리 처리부(140,145)는 제1 산술논리 처리부(140)에 의하여 상측 및 하측 실수가 덧셈 처리된 후, 출력되고, 제2 산술논리 처리부(145)에 의하여 상측 및 하측 허수가 덧셈 처리된 후, 출력된다.
상기 제1 산술논리 처리부(140)로부터 출력된 하측 실수 및 제2 산술논리 처리부(145)로부터 출력된 하측 허수는 상기 듀얼포트 메모리(130)에 연결된 제1 데이터 버스를 통하여 상기 듀얼포트 메모리(130)에 지정된 주소로 기록되고, 동시에 제1 및 제2 레지스터(150,155)에 각각 저장된다.
제2 단계(Phase 2)로서, 상기 듀얼포트 메모리(130)로부터 제2 데이터 버스를 통하여 상측(Upper) 실수(real) 및 허수(Imaginary) 그리고 하측(Lower) 실수(Real) 및 허수(Imaginary)를 인가 받은 제1 및 제2 산술논리 처리부(140,145)는 제1 산술논리 처리부(140)에 의하여 상측 및 하측 실수가 복소수 뺄셈 처리된 후, 출력되고, 제2 산술논리 처리부(145)에 의하여 상측 및 하측 허수가 복소수 뺄셈 처리된 후, 출력된다.
제3 단계(Phase 3)로서, 상기 제1 단계(Phase 1)에 의하여 출력된 신호와 상기 제2 단계(Phase 2)에 의하여 출력된 신호는 상기 제1 및 제2 레지스터(150,155)에 잠시 기록되었다가, 제1 레지스터의 상측 실수는 제1 곱셈기(162)에 인가되고, 하측 실수는 제3 곱셈기(166)에 인가된다.
또한, 제2 레지스터의 상측 허수는 제2 곱셈기(164)에 인가되고, 하측 허수는 제4 곱셈기(168)에 인가된다.
이때, 상기 계수 메모리부(120)로부터 인가된 계수(Coefficient) 값의 실수는 제1 곱셈기(162) 및 제4 곱셈기(168)에 각각 인가되고, 또한, 상기 계수(Coefficient) 값의 허수는 제2 곱셈기(164) 및 제3 곱셈기(166)에 각각 인가된다.
상기 제1 곱셈기(162)는 상측 실수와 계수 실수가 복소수 곱셈 처리되어 상측 복소수 실수를 출력하고, 제2 곱셈기(164)는 하측 허수와 계수 허수가 복소수 곱셈 처리되어 하측 복소수 실수를 출력한다.
제4 단계(Phase)로서, 상기 제1 곱셈기(162) 및 제2 곱셈기(164)로부터 출력된 복소수의 실수는 상기 제1 덛셈기(170)에 인가되고 복소수 덧셈이 되어 상측 실수가 된 후, 상기 제1 데이터 버스를 통하여 상기 듀얼 포트 메모리부(130)에 인가되며 지정된 주소에 기록(Write) 된다.
또한, 상기 제3 단계(Phase 3)의 상기 제3 곱셈기(166)는 하측 실수와 계수 허수가 복소수 곱셈 처리되어 하측 복소수 허수를 출력하고, 제4 곱셈기(168)는 하측 허수와 계수 실수가 복소수 곱셈 처리되어 상측 복소수 허수를 출력한다.
또한, 상기 제4 단계(Phase 4)로서, 상기 제3 곱셈기(166) 및 제4 곱셈기(168)로부터 출력된 복소수의 허수는 상기 제2 덛셈기(175)에 인가되고 복소수 덧셈이 되어 하측 허수가 된 후, 상기 제1 데이터 버스를 통하여 상기 듀얼 포트 메모리부(130)에 인가되며 지정된 주소에 기록(Write) 된다.
상기와 같은 단계(Phase)별 진행 상태를 간단히 표시하면 다음과 같고, 본 발명에 의한 파이프 라인 방식의 타이밍 도는 도4에 도시되어 있다.
(단계1) (단계2) (단계3) (단계4)
(데이터 읽기) N+1 N+2 N+3 N+4
(하측+상측) N N+1 N+2 N+3
(하측-상측) N N+1 N+2
((상-하)*계수) N N+1
(데이터 기록) N
상기의 단계4(Phase 4) 이후에는 모든 기능이 비지(Busy) 상태가 되므로 최소 5 주기(Cycle) 이상의 경우부터는 상기 5개의 과정이 동시에 수행되므로, 본 발명의 병렬화 및 파이프라인 처리 방식에 의한 고속 프리에 변환 장치의 작업 감소 효과를 나타내게 된다.
본 발명을 적용하는 DMT ADSL(Discreet Multi Tone Asynchronous Digital Subscriber Line)는 512 포인트(Point)의 퓨리에 변환이 필요하므로, 파이프라인의 효과는 더욱 커진다.
즉, 본 발명의 병렬화 및 파이프라인 처리된 고속 퓨리에 변환(FFT) 장치는 스텝 수 또는 포인트 수 또는 단계의 수가 많을수록 그 효과를 볼 수 있다.
또한 처리속도가 향상됨으로 인하여, 응답 속도가 늦은 PLD(Programmable Logic Device) 또는 PGA(Programmable Gate Array) 등에 사용하여도, 고속의 빠른 처리 결과를 얻을 수 있으며, 응답 속도가 빠른 ASIC(Application Specific IC)에 적용하는 경우는, 데이터의 전송속도가 증가하여, 오디오 아날라이저, 스펙트럼 아날라이저 등의 계측기와 분석기에 적용하는 경우, 처리 가능한 주파수 대역폭을 더욱 높일 수 있다.
또한, 회로 자체가 복소수 연산을 한 주기(Cycle)에 수행 할 수 있는 데이터 경로(Data Path)로 설계되어 있어 복소수 연산을 전제로 하는 이퀄라이저(Equalizer) 또는 여파기(Filter)에 적용할 수 있다.
상기의 구성에 의한 본 발명은 고속 퓨리에 변환을 병렬화 구성으로 처리하고, 파이프라인 방식으로 처리하여 스텝수가 많은 데이터 처리 일수록 더욱 고속으로 처리하는 효과가 있다.
또한, 복소수를 한 주기에 처리할 수 있도록 구성하므로써, 고속 여파기 또는 이퀄라이저 등에 즉시 적용 할 수 있는 효과가 있다.

Claims (2)

  1. 고속 퓨리에 변환 장치 전체를 제어하는 중앙제어부와,
    상기 중앙제어부의 제어 신호에 의하여 메모리에 데이터를 기록 및 읽기 하는 주소신호를 출력하는 주소 제어부와,
    상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 데이터를 읽어 출력함과 동시에, 인가 받은 주소 신호에 의하여 데이터 기록하는 듀얼 포트 메모리부와,
    상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 복소수의 계수 값을 읽어 출력하는 계수 메모리부와,
    상기 중앙제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 처리하도록 제어 신호를 출력하는 버터프라이 제어부와,
    상기 듀얼포트 메모리부의 하측 영역 실수 데이터와 상측 영역의 실수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제1 산술논리 처리부와,
    상기 듀얼포트 메모리부의 하측 영역 허수 데이터와 상측 영역의 허수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제2 산술논리 처리부와,
    상기 제1 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제1 레지스터와,
    상기 제2 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제2 레지스터와,
    상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제1 곱셈기와,
    상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제2 곱셈기와,
    상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제3 곱셈기와,
    상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제4 곱셈기와,
    상기 제1 및 제2 곱셈기로부터 각각 실수를 인가 받고 복소수 덧셈하는 제1 덧셈기와,
    상기 제3 및 제4 곱셈기로부터 각각 허수를 인가 받고 복소수 덧셈하는 제2 덧셈기로 이루어져 구성되는 것을 특징으로 하는 고속 퓨리에 변환 장치
  2. 제1항에 있어서,
    상기 제1 및 제2 산술논리부로부터 출력된 하측 실수 및 허수는 제1 데이터 버스를 통하여 상기 듀얼포트 메모리부의 지정된 주소에 기록되고,
    상기 제1 및 제2 덧셈기로부터 출력된 상측 실수 및 허수는 제1 데이터 버스를 통하여 상기 듀얼포트 메모리부의 지정된 주소에 기록되는 것을 특징으로 하는 고속 퓨리에 변환 장치
KR1019990044047A 1999-10-12 1999-10-12 고속 퓨리에 변환 장치 KR100308929B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990044047A KR100308929B1 (ko) 1999-10-12 1999-10-12 고속 퓨리에 변환 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990044047A KR100308929B1 (ko) 1999-10-12 1999-10-12 고속 퓨리에 변환 장치

Publications (2)

Publication Number Publication Date
KR20010036860A true KR20010036860A (ko) 2001-05-07
KR100308929B1 KR100308929B1 (ko) 2001-11-02

Family

ID=19614978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990044047A KR100308929B1 (ko) 1999-10-12 1999-10-12 고속 퓨리에 변환 장치

Country Status (1)

Country Link
KR (1) KR100308929B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100416641B1 (ko) * 2001-07-20 2004-02-05 학교법인대우학원 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로
KR100518797B1 (ko) * 2004-01-07 2005-10-05 삼성전자주식회사 처리속도가 향상된 고속 퓨리에 변환 장치 및 그의 처리방법
KR100836050B1 (ko) * 2001-05-23 2008-06-09 엘지전자 주식회사 고속 푸리에 변환 연산 장치
US7433976B2 (en) 2005-02-07 2008-10-07 Samsung Electronics Co., Ltd. Data copy method and application processor for the same
US7464127B2 (en) 2002-07-22 2008-12-09 Samsung Electronics Co., Ltd. Fast fourier transform apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100836050B1 (ko) * 2001-05-23 2008-06-09 엘지전자 주식회사 고속 푸리에 변환 연산 장치
KR100416641B1 (ko) * 2001-07-20 2004-02-05 학교법인대우학원 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로
US7464127B2 (en) 2002-07-22 2008-12-09 Samsung Electronics Co., Ltd. Fast fourier transform apparatus
KR100518797B1 (ko) * 2004-01-07 2005-10-05 삼성전자주식회사 처리속도가 향상된 고속 퓨리에 변환 장치 및 그의 처리방법
US7433976B2 (en) 2005-02-07 2008-10-07 Samsung Electronics Co., Ltd. Data copy method and application processor for the same

Also Published As

Publication number Publication date
KR100308929B1 (ko) 2001-11-02

Similar Documents

Publication Publication Date Title
US6367003B1 (en) Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
US6366936B1 (en) Pipelined fast fourier transform (FFT) processor having convergent block floating point (CBFP) algorithm
JPH08321745A (ja) オーディオデータ処理装置
US3872290A (en) Finite impulse response digital filter with reduced storage
US6018754A (en) Apparatus for filtering a signal utilizing recursion and decimation
KR100308929B1 (ko) 고속 퓨리에 변환 장치
US5841681A (en) Apparatus and method of filtering a signal utilizing recursion and decimation
JP2000261291A (ja) リサンプラ方法およびリサンプラ回路
CN115033293A (zh) 零知识证明硬件加速器及生成方法、电子设备和存储介质
US5343501A (en) Orthogonal transform apparatus for video signal processing
Vesterbacka et al. Implementation of fast bit-serial lattice wave digital filters
US5442125A (en) Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner
JP4161481B2 (ja) フェイルメモリ回路及びそのインタリーブコピー方法
Ruiz et al. Memory efficient programmable processor chip for inverse Haar transform
JPH07109973B2 (ja) デジタル信号処理回路
US6363406B1 (en) Audio data compression/expansion apparatus and digital filter
Vesterbacka et al. Implementation of fast dsp algorithms using bit-serial arithmetic
JP3850150B2 (ja) デジタル信号処理動作を実行する方法およびデジタル信号プロセッサ
JPS60205671A (ja) たたみ込み演算回路
KR910005791B1 (ko) 영상신호 처리용 멀티플라이어리스 fir 디지탈 필터
US6959222B1 (en) Accelerator engine for processing functions used in audio algorithms
JP2622962B2 (ja) Fftアナライザのズーミング装置
Slump et al. Design and implementation of a linear-phase equalizer in digital audio signal processing
JP3178036B2 (ja) 信号処理装置
JPS6220590B2 (ko)

Legal Events

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

Payment date: 20120814

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130816

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee