KR100308929B1 - A device of fast fourier transform - Google Patents

A device of fast fourier transform

Info

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

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 덧셈기로 이루어져 구성되는 고속 퓨리에 변환 장치를 특징으로 하므로써, 고속 퓨리에 변환을 병렬화 구성으로 처리하고, 파이프라인 방식으로 처리하여 스텝수가 많은 데이터 처리 일수록 더욱 고속으로 처리하는 효과 및 복소수를 한 주기에 처리할 수 있도록 구성하여 고속 여파기 또는 이퀄라이저 등에 즉시 적용 할 수 있는 효과가 있다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high speed data transmission apparatus, and to a fast Fourier transform (FFT) apparatus that transmits data by performing Fourier transform at high speed by parallelizing and pipelined, and controlling the entire fast Fourier transform apparatus. A central control unit, an address control unit for outputting an address signal for recording and reading data into a memory according to a control signal of the central control unit, and reading and outputting data by an address signal received from the address control unit A dual port memory unit for recording data by a signal, a coefficient memory unit for reading and outputting a complex coefficient value according to an address signal received from the address control unit, and a multiplication process for addition and subtraction by a control signal of the central control unit A butterfly control unit for outputting a control signal to A first arithmetic logic unit configured to receive real data of the lower region of the dual port memory unit and real data of the upper region of the dual port memory unit and to simultaneously perform multi-add operation on addition and subtraction according to a control signal of the butterfly control unit, and a lower region of the dual port memory unit; A second arithmetic logic processing unit that receives imaginary data and imaginary data of an upper region, and simultaneously performs multi-addition and subtraction operation on a control signal of the butterfly controller, and adds and subtracts the first arithmetic logic processing unit to output A first register for temporarily storing the data to be stored, a second register for temporarily storing the data which is added and subtracted from the second arithmetic logic processing unit, and outputted from the first register, and receiving a real number from the first register, First multiplication for receiving real and outputting real after complex multiplication A second multiplier that receives an imaginary number from the second register, receives a imaginary number from the coefficient memory unit, and outputs a real number after a complex multiplication process, and receives a real number from the first register and an imaginary number from the coefficient memory unit. A third multiplier that outputs an imaginary number after complex multiplication processing, a fourth multiplier that receives an imaginary number from the second register, receives a real number from the coefficient memory unit, and outputs an imaginary number after complex multiplication processing; A fast Fourier transform device comprising a first adder that receives real numbers from a first and a second multiplier, respectively, and adds complex numbers, and a second adder that receives imaginary numbers from the third and fourth multipliers, respectively, and adds complex numbers. Process Fast Fourier transforms in a parallelized configuration and in a pipelined manner The more number of data processing it is immediately effective to apply the effect to more complex and high-speed processing as configured to handle at a high speed cycle such as filter or equalizer.

Description

고속 퓨리에 변환 장치{A DEVICE OF FAST FOURIER TRANSFORM}High Speed Fourier Transforms {A DEVICE OF FAST FOURIER TRANSFORM}

본 발명은 고속의 데이터 전송 장치에 관한 것으로, 병렬화 및 파이프 라인화 하므로써, 고속으로 퓨리에(Fourier) 변환하여 데이터를 전송하는 고속 퓨리에 변환(FFT: Fast Fourier Transform) 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high speed data transmission apparatus, and to a Fast Fourier Transform (FFT) apparatus that transmits data by Fourier transform at high speed by parallelizing and pipelined.

퓨리에 변환을 하는 목적은 일반적으로 시간영역(Time Domain)에서 주파수 영역(Frequency Domain)으로 변환시켜, 데이터 또는 신호의 처리에 있어서, 많은 신호를 용이하게 처리하고자 하는 것으로, 상기의 기술이 적용되는 제품으로서 대표적인 것이 스펙트럼 아날라이저(Spectrum Analyzer)와 같은 것이 있으며, 본 발명에서는 고속으로 데이터를 전송하는 통신 장비 중에 하나인 비동기 신호 전송 방식인 DMT ADSL(Discreet Multi tone Asynchronous Digital Subscriber Line)에 적용되는 것이다.The purpose of the Fourier transform is to convert the time domain from the frequency domain to the frequency domain, and to easily process many signals in the processing of data or signals. A typical example is a spectrum analyzer, and the present invention is applied to a DMT Discrete Multi tone Asynchronous Digital Subscriber Line (ADSL), which is an asynchronous signal transmission method, which is one of high speed data transmission equipments.

이하, 첨부된 도면을 참조하여 종래의 기술에 의한 고속 퓨리에 변환 장치를 설명한다.Hereinafter, a fast Fourier transform apparatus according to the related art will be described with reference to the accompanying drawings.

도1 은 종래 기술의 일 실시예에 의한 고속 퓨리에 변환장치의 기능블록도 이다.1 is a functional block diagram of a fast Fourier transform apparatus according to an embodiment of the prior art.

상기의 첨부된 도면을 참조하면, 종래 기술의 일 실시예에 의한 고속 퓨리에 변환(FFT: Fast Fourier Transform) 장치는, 고속 퓨리에 변환장치의 각 기능부를 제어하는 제어부(10)와,Referring to the accompanying drawings, a fast Fourier transform (FFT) device according to an embodiment of the prior art, the control unit 10 for controlling each functional unit of the fast Fourier transform device,

고속 퓨리에 변환 처리될 데이터 및 처리된 데이터를 기록 및 저장하는 메모리부(20)와,A memory unit 20 for recording and storing data to be subjected to fast Fourier transform processing and processed data;

상기 메모리부(20)로부터 실수(Real)부와 허수(Imaginary)부의 데이터를 인가 받아, 덧셈 뺄셈 등의 산술 연산 및 논리 연산을 하는 산술논리부(ALU: Arithmetic Logic Unit)(30)와,Arithmetic Logic Unit (ALU) 30 that receives data from the real part and the imaginary part from the memory part 20 and performs arithmetic and logical operations such as addition and subtraction, and

상기 ALU(30)로부터 연산 처리된 실수부 및 허수부의 데이터를 곱셈 처리하는 멀티플라이어(Multiplier)(40)와,A multiplier 40 for multiplying data of the real part and the imaginary part computed from the ALU 30;

상기 멀티플라이어(40)의 데이터를 잠시 축적하여 보관한 후, 상기 메모리부(20)에 인가하는 어큐뮤레이터(Accumulator)(50)로 구성된다.After accumulating and storing data of the multiplier 40 for a while, the accumulator 50 is applied to the memory unit 20.

이하, 상기와 같은 구성의 종래 기술에 의한 고속 퓨리에 변환(FFT) 장치를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, a fast Fourier transform (FFT) device according to the prior art having the above configuration will be described in detail with reference to the accompanying drawings.

상기 제어부(10)의 제어신호에 의하여, 제1 스텝으로, 상기 메모리부(20)에 저장되고 퓨리에 변환할 데이터의 복소수 A 값 및 B 값의 실수(Real) 데이터를 상기 ALU(30)에 인가하고, 제2 스텝으로, 상기 ALU(30)에서 연산 처리하고, 제3 스텝으로, 상기 ALU(30)에 의하여 연산 처리된 데이터가 멀티플라이어(40)에 의하여 곱해지고, 상기 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장된다.In response to a control signal of the controller 10, in a first step, real data of a complex A value and a B value of data stored in the memory unit 20 and to be Fourier transformed is applied to the ALU 30. In a second step, arithmetic processing is performed in the ALU 30, and in a third step, the data arithmetic processed by the ALU 30 is multiplied by the multiplier 40, and the accumulator 50 After a while, the data is stored again in another area of the memory 20.

이번에는, 상기 메모리(20)에 저장된 복소수 A 값 및 B 값의 허수(Imaginary) 데이터를 상기 ALU(30)에 인가하는 제4 스텝과, 상기 ALU(30)에서 연산 처리하는 제5 스텝과, 상기 ALU(30)에 의하여 연산 처리된 데이터가 멀티플라이어(40)에 의하여 곱해지고, 상기 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되는 제6 스텝이 필요하다.This time, the fourth step of applying the imaginary (Imaginary) data of the complex A value and the B value stored in the memory 20 to the ALU 30, the fifth step of arithmetic processing in the ALU (30), The sixth step of multiplying the data calculated by the ALU 30 by the multiplier 40, being temporarily stored in the accumulator 50, and then again stored in another area of the memory 20 is performed. need.

상기 제어부(10)의 제어신호에 의하여, 제7 스텝으로는, 상기 메모리(20)에 저장된 계수(Coefficient)의 실수(Real) 데이터와, 상기 제6 스텝의 결과에 의한 실수(Real) 데이터를 읽고,According to the control signal of the control unit 10, in the seventh step, real data of coefficients stored in the memory 20 and real data according to the result of the sixth step are obtained. Reading,

제8 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되고,In an eighth step, arithmetic processing is performed in the ALU 30, multiplied by the multiplier 40, stored in the accumulator 50 for a while, and then stored again in another area of the memory 20,

제9 스텝으로는, 상기 메모리(20)에 저장된 계수(Coefficient)의 실수(Real) 데이터와, 상기 제6 스텝의 결과에 의한 허수(Imaginary) 데이터를 읽고,In a ninth step, real data of coefficients stored in the memory 20 and imaginary data resulting from the sixth step are read.

제10 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되고,In a tenth step, arithmetic processing is performed in the ALU 30, multiplied by the multiplier 40, stored in the accumulator 50 for a while, and then stored again in another area of the memory 20,

제11 스텝으로는, 상기 메모리(20)에 저장된 계수(Coefficient)의 허수(Imaginary) 데이터와, 상기 제6 스텝의 결과에 의한 실수(Real) 데이터를 읽고,In an eleventh step, the imaginary imaginary data of the coefficient stored in the memory 20 and the real data resulting from the sixth step are read.

제12 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되고,In a twelfth step, arithmetic processing is performed in the ALU 30, multiplied by the multiplier 40, stored in the accumulator 50 for a while, and then stored again in another area of the memory 20,

제13 스텝으로는, 상기 메모리(20)에 저장된 계수(Coefficient)의 허수(Imaginary) 데이터와, 상기 제6 스텝의 결과에 의한 허수(Imaginary) 데이터를 읽고,In a thirteenth step, imaginary imaginary data of coefficients stored in the memory 20 and imaginary imaginary data resulting from the sixth step are read.

제14 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후, 상기 메모리(20)의 다른 영역에 다시 저장되고,In a fourteenth step, arithmetic processing is performed in the ALU 30, multiplied by the multiplier 40, stored in the accumulator 50 for a while, and then stored again in another area of the memory 20,

상기 제어부(10)의 제어에 의하여, 제15 스텝으로는, 상기 메모리(20)에 저장된 상기 제8 스텝과 제14 스텝의 결과 데이터를 읽고,Under the control of the control unit 10, in a fifteenth step, the result data of the eighth and fourteenth steps stored in the memory 20 is read,

제16 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후,In a sixteenth step, arithmetic processing is performed in the ALU 30, multiplied by the multiplier 40, and stored for a while in the accumulator 50.

제17 스텝으로, 상기 메모리(20)의 다른 영역에 다시 저장하고,In a seventeenth step, the data is stored again in another area of the memory 20,

상기 제어부(10)의 제어에 의하여, 제18 스텝으로는, 상기 메모리(20)에 상기 제10 스텝과 제12 스텝의 결과 데이터를 읽고,Under the control of the control unit 10, in the eighteenth step, the result data of the tenth and twelfth steps is read into the memory 20,

제19 스텝으로, 상기 ALU(30)에서 연산 처리하고, 멀티플라이어(40)에 의하여 곱해지며, 어큐뮤레이터(50)에서 잠시 저장된 후,In a nineteenth step, arithmetic processing is performed in the ALU 30, multiplied by the multiplier 40, and stored for a while in the accumulator 50,

제20 스텝으로, 상기 메모리(20)의 다른 영역에 다시 저장되므로써, 고속 퓨리에 변환(FFT)의 버터플라이(Butterfly) 연산을 수행한다.In a twentieth step, a butterfly operation of the fast Fourier transform (FFT) is performed by being stored again in another area of the memory 20.

상기와 같이 하나의 데이터를 처리하기 위하여 20 스텝 또는 20 클럭(Clock)이 필요하다.As described above, 20 steps or 20 clocks are required to process one data.

따라서, 상기와 같은 종래 기술의 구성에 의한 고속 퓨리에 변환(FFT) 장치는 상기 ALU(30)를 고속으로 동작하도록 집적회로(IC)로 구성하고, 클럭 속도를 높이고 있으며, 또한 데이터를 동시에 다발적으로 연산 처리하도록 하는파이프라인(Pipe Line) 방식을 적용하고 있으나, 역시 최대 동작 속도가 IC 칩(Chip)의 동작 속도에 제한을 받는 문제가 있었다.Therefore, the fast Fourier transform (FFT) device according to the prior art configuration as described above is configured as an integrated circuit (IC) to operate the ALU 30 at high speed, increases the clock speed, and simultaneously generates multiple data. Although a pipe line method is applied to perform arithmetic processing, the maximum operating speed is also limited by the operating speed of the IC chip.

또한, 상기와 같은 구조는, 복소수 연산 시에, 각 스텝 또는 단계별 연산 결과를 저장 및 재연산하는 과정이 반복되므로, 상기 FFT 장치가 고속으로 동작하는 클럭의 상당 부분이 상기 메모리부(20)에 데이터를 기록 및 읽어내는 데에 활용하게 되는 문제가 있었다.In addition, in the above structure, since a process of storing and recomputing each step or step-by-step operation result is repeated at the time of complex operation, a substantial portion of the clock at which the FFT device operates at high speed is stored in the memory unit 20. There was a problem of being used to record and read data.

본 발명은 고속 퓨리에 변환하는 각 기능 블록들을 병렬 배치하고, 파이프라인 방식으로 데이터를 처리하게 하여, 실시간으로 고속의 전송 데이터를 처리하게 하는 장치를 제공하는 것이 그 목적이다.SUMMARY OF THE INVENTION An object of the present invention is to provide an apparatus for parallelly arranging functional blocks for fast Fourier transform and processing data in a pipelined manner to process high-speed transmission data in real time.

상기와 같은 목적을 달성하기 위하여 안출한 본 발명은, 고속 퓨리에 변환 장치 전체를 제어하는 중앙제어부와, 상기 중앙제어부의 제어 신호에 의하여 메모리에 데이터를 기록 및 읽기 하는 주소신호를 출력하는 주소 제어부와, 상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 데이터를 읽어 출력함과 동시에, 인가 받은 주소 신호에 의하여 데이터 기록하는 듀얼 포트 메모리부와, 상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 복소수의 계수 값을 읽어 출력하는 계수 메모리부와, 상기 중앙제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 처리하도록 제어 신호를 출력하는 버터프라이 제어부와, 상기 듀얼포트 메모리부의 하측 영역 실수 데이터와 상측 영역의 실수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제1 산술논리처리부와, 상기 듀얼포트 메모리부의 하측 영역 허수 데이터와 상측 영역의 허수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제2 산술논리 처리부와, 상기 제1 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제1 레지스터와, 상기 제2 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제2 레지스터와, 상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제1 곱셈기와, 상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제2 곱셈기와, 상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제3 곱셈기와, 상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제4 곱셈기와, 상기 제1 및 제2 곱셈기로부터 각각 실수를 인가 받고 복소수 덧셈하는 제1 덧셈기와, 상기 제3 및 제4 곱셈기로부터 각각 허수를 인가 받고 복소수 덧셈하는 제2 덧셈기로 이루어져 구성되는 고속 퓨리에 변환 장치를 특징으로 한다.The present invention has been made to achieve the above object, the central control unit for controlling the entire fast Fourier transform device, an address control unit for outputting an address signal for writing and reading data in the memory by the control signal of the central control unit; The dual port memory unit reads and outputs data by the address signal received from the address control unit, and writes data by the address signal received, and reads a complex coefficient value by the address signal received from the address control unit. A coefficient memory unit for outputting, a butterfly control unit for outputting a control signal for simultaneous multi-processing addition and subtraction according to control signals of the central control unit, real data of the lower region and real data of the upper region of the dual port memory unit Receiving a control signal from the butterfly control unit A first arithmetic logic processing unit to simultaneously perform multi-addition and subtraction operation, a lower region imaginary data and an imaginary data of the upper region of the dual port memory unit, and add and subtract simultaneously by a control signal of the butterfly controller. A second arithmetic logic processing unit for performing multiple operations, a first register for temporarily storing data added and subtracted from the first arithmetic logic processing unit, and data added and subtracted from the second arithmetic logic processing unit and outputted; A second register for temporarily storing the data, a first multiplier for receiving a real number from the first register, a first multiplier for receiving a real number from the coefficient memory unit, and outputting a real number after a complex multiplication process, and an imaginary number from the second register; Receives a imaginary number from the coefficient memory unit and outputs a real number after complex multiplication. Is a second multiplier, a third multiplier that receives a real number from the first register, receives a imaginary number from the coefficient memory unit, and outputs an imaginary number after complex multiplication processing, receives an imaginary number from the second register, A fourth multiplier that receives a real number from a memory unit and outputs an imaginary number after the complex multiplication process, a first adder that receives a real number from the first and second multipliers, and adds a complex number, respectively, from the third and fourth multipliers, respectively It is characterized by a fast Fourier transform device composed of a second adder receiving an imaginary number and adding a complex number.

도1 은 종래 기술의 일 실시예에 의한 고속 퓨리에 변환장치의 기능블록도 이고,1 is a functional block diagram of a fast Fourier transform apparatus according to an embodiment of the prior art,

도2 는 본 발명에 의한 고속 퓨리에 변환장치의 버터플라이 연산 구조도 이고,2 is a butterfly calculation structure diagram of a fast Fourier transform device according to the present invention;

도3 은 본 발명의 일 실시예에 의한 고속 퓨리에 변환 장치의 기능 블록도 이고,3 is a functional block diagram of a fast Fourier transform device according to an embodiment of the present invention;

도4 는 본 발명의 일 실시예에 의한 고속 퓨리에 변환 장치의 동작 타이밍도 이다.4 is an operation timing diagram of a fast Fourier transform device according to an embodiment of the present invention.

* 도면의 주요 부분에 대한 부호 설명 *Explanation of symbols on the main parts of the drawings

10,105 : 제어부 20 : 메모리부10,105 control unit 20 memory unit

30,140,145 : 산술논리 처리부 40,162,164,166,168 : 곱셈기30,140,145: Arithmetic logic processing unit 40,162,164,166,168: Multiplier

50 : 어큐뮤레이터 100 : 주소 제어부50: accumulator 100: address control unit

110 : 버터프라이 제어부 120 : 계수 메모리부110: butterfly control unit 120: counting memory unit

130 : 듀얼포트 메모리부 150,155 : 레지스터130: dual port memory 150,155: register

170,175 : 덧셈기170,175: Adder

이하, 첨부된 도면을 참조하여 본 발명에 의한 고속 퓨리에 변환 장치를 설명한다.Hereinafter, a fast Fourier transform apparatus according to the present invention will be described with reference to the accompanying drawings.

도2 는 본 발명에 의한 고속 퓨리에 변환장치의 버터플라이 연산 구조도 이고, 도3 은 본 발명의 일 실시예에 의한 고속 퓨리에 변환 장치의 기능 블록도 이고, 도4 는 본 발명의 일 실시예에 의한 고속 퓨리에 변환 장치의 동작 타이밍도 이다.FIG. 2 is a structure diagram of a butterfly operation of the fast Fourier transform apparatus according to the present invention, FIG. 3 is a functional block diagram of the fast Fourier transform apparatus according to an embodiment of the present invention, and FIG. 4 is an embodiment of the present invention. The operation timing of the fast Fourier transform device is also shown.

상기의 첨부된 도면을 참조하면, 본 발명에 의한 고속 퓨리에 변환(FFT: Fast Fourier Transform) 장치는, 고속 퓨리에 변환(FFT) 장치 전체를 제어하는 중앙제어부(105)와,Referring to the accompanying drawings, a Fast Fourier Transform (FFT) device according to the present invention includes a central controller 105 for controlling the entire Fast Fourier Transform (FFT) device,

상기 중앙제어부(105)의 제어 신호(Control Signal)에 의하여 메모리(Memory)에 데이터(Data)를 기록(Write) 및 읽기(Read) 하는 주소(Address) 신호를 출력하는 주소 제어부(100)와,An address controller 100 for outputting an address signal for writing and reading data to a memory according to a control signal of the central controller 105;

상기 주소 제어부(100)로부터 인가 받은 주소(Address) 신호에 의하여 데이터를 읽어(Read) 출력함과 동시에, 상기 주소 제어부(100)로부터 인가 받은 주소 신호에 의하여 데이터 기록(Write)하는 듀얼 포트(Dual Port) 메모리부(130)와,The dual port reads data by the address signal received from the address controller 100 and outputs data by the address signal received from the address controller 100. Port) memory unit 130,

상기 주소 제어부(100)로부터 인가 받은 주소 신호에 의하여 복소수의 계수(Coefficient) 값을 읽어(Read) 출력하는 계수(Coefficient) 메모리부(120)와,Coefficient memory unit 120 for reading and outputting a complex coefficient value by the address signal received from the address control unit 100,

상기 중앙제어부(105)의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 처리하도록 제어 신호를 출력하는 버터프라이(Butterfly) 제어부(110)와,A butterfly control unit 110 for outputting a control signal to simultaneously process multiple addition and subtraction according to the control signal of the central control unit 105;

상기 듀얼포트 메모리부(130)의 하측(Lower) 영역 실수(Real) 데이터와 상측(Upper) 영역의 실수(Real) 데이터를 인가 받고, 상기 버터프라이(Butterfly) 제어부(110)의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제1 산술논리 처리부(ALU: Arithmetic Logic Unit)(140)와,The real data of the lower area and the real data of the upper area of the dual port memory unit 130 are received, and the control signal of the butterfly control unit 110 is applied. A first arithmetic logic unit (ALU) 140 for simultaneously performing multi-addition and subtraction operations;

상기 듀얼포트(Dual Port) 메모리부(130)의 하측(Lower) 영역 허수(Imaginary) 데이터와 상측(upper) 영역의 허수(Imaginary) 데이터를 인가 받고, 상기 버터프라이(Butterfly) 제어부(110)의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제2 산술논리 처리부(ALU)(145)와,The imaginary data of the lower region and the imaginary data of the upper region of the dual port memory unit 130 are received, and the butterfly control unit 110 receives the imaginary data of the dual port memory unit 130. A second arithmetic logic processing unit (ALU) 145 for simultaneously performing multi-addition processing on addition and subtraction according to a control signal,

상기 제1 산술논리 처리부(ALU)(140)로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제1 레지스터(Resistor)(150)와,A first register 150 for temporarily storing data output by addition and subtraction processing from the first arithmetic logic processing unit (ALU) 140;

상기 제2 산술논리 처리부(ALU)(145)로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제2 레지스터(Resistor)(155)와,A second register 155 for temporarily storing data that is added and subtracted from the second arithmetic logic processing unit (ALU) 145 and output;

상기 제1 레지스터(150)로부터 실수(Real) 값을 인가 받고, 상기 계수 메모리부(120)로부터 실수(Real) 값 계수를 인가 받아 복소수 곱셈처리 후, 복소수 실수(Real)를 출력하는 제1 곱셈기(162)와,A first multiplier that receives a real value from the first register 150, receives a real value coefficient from the coefficient memory unit 120, and outputs a complex real after complex multiplication. 162,

상기 제2 레지스터(155)로부터 허수(Imaginary)를 인가 받고, 상기 계수 메모리부(Coefficient Memory)(120)로부터 허수(Imaginary)를 인가 받아 복소수 곱셈처리 후, 복소수 실수(Real)를 출력하는 제2 곱셈기(164)와,A second that receives an imaginary number from the second register 155, receives an imaginary number from the coefficient memory unit 120, and outputs a complex real number after a complex multiplication process. Multiplier 164,

상기 제1 레지스터(150)로부터 실수(Real)를 인가 받고, 상기 계수 메모리부(120)로부터 허수(Imaginary) 값 계수를 인가 받아 복소수 곱셈처리 후, 복소수 허수(Imaginary)를 출력하는 제3 곱셈기(166)와,A third multiplier for receiving a real number from the first register 150, receiving an imaginary value coefficient from the coefficient memory unit 120, and performing a complex multiplication process to output a complex imaginary number 166),

상기 제2 레지스터(155)로부터 허수(Imaginary)를 인가 받고, 상기 계수 메모리부(120)로부터 실수(Real)를 인가 받아 복소수 곱셈처리 후, 복소수 허수(Imaginary)를 출력하는 제4 곱셈기(168)와,A fourth multiplier 168 that receives an imaginary number from the second register 155, receives a real number from the coefficient memory unit 120, and outputs a complex imaginary number after complex multiplication. Wow,

상기 제1 및 제2 곱셈기(162,164)로부터 각각 복소수 실수(Real)를 인가 받고, 복소수 덧셈하여 상기 듀얼포트 메모리부(130)에 연결된 제1 데이터 버스를 통해 상기 듀얼포트 메모리부(130)에 상기 주소 제어부(100)에 의하여 지정된 주소에 상측 실수(Real)를 기록(Write) 하는 제1 덧셈기(170)와,Complex real numbers are received from the first and second multipliers 162 and 164, respectively, and the complex numbers are added to the dual port memory unit 130 through a first data bus connected to the dual port memory unit 130. A first adder 170 for writing an upper real to an address designated by the address controller 100;

상기 제3 및 제4 곱셈기(166,168)로부터 각각 복소수 허수(Imaginary)를 인가 받고, 복소수 덧셈하여 상기 듀얼포트 메모리부(130)에 연결된 제1 데이터 버스를 통해 상기 듀얼포트 메모리부(130)에 상측 허수(Imaginary)를 상기 주소 제어부(100)에 의하여 지정된 주소에 기록(Write) 하는 제2 덧셈기(175)로 이루어져 구성된다.Receive complex imaginary numbers from the third and fourth multipliers 166 and 168, and add complex numbers to the dual port memory 130 through a first data bus connected to the dual port memory 130. FIG. The second adder 175 writes an imaginary number to an address designated by the address control unit 100.

또한, 상기 제1 및 제2 산술논리부(140,145)로부터 출력된 하측(Lower) 실수(Real) 및 허수(Imaginary)는 상기 듀얼포트 메모리부(130)에 연결되는 제1 데이터 버스를 통하여 상기 듀얼포트 메모리부(130)의 지정된 주소에 기록(Write)한다.In addition, a lower real and an imaginary number output from the first and second arithmetic logic units 140 and 145 are dual through a first data bus connected to the dual port memory unit 130. Write to the specified address of the port memory unit 130.

이하, 상기와 같은 구성의 본 발명에 의한 고속 퓨리에 장치를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, a high speed Fourier device according to the present invention having the above configuration will be described in detail with reference to the accompanying drawings.

상기의 첨부된 도2 는 본 발명에 의한 고속 퓨리에 변환 장치의 연산 구조도 로서, 하부(Lower) 실수(Real) 및 허수(Imaginary)가 인가되고, 또한, 상부(Upper) 실수(Real) 및 허수(Imaginary)가 인가된 상태를 볼 수 있으며, 하부 실수와 허수는 상부 실수와 허수에 의하여 복소수 덧셈이 된 후, 하부 실수 및 허수가 되어 출력됨을 볼 수 있다.2 is a calculation structure diagram of the fast Fourier transform apparatus according to the present invention, in which a lower real and an imaginary are applied, and an upper real and an imaginary number are applied. It can be seen that (Imaginary) is applied, and the lower real number and the imaginary number are complex added by the upper real number and the imaginary number, and then the lower real number and the imaginary number are output.

또한, 상부 실수 및 허수는 하부 실수 및 허수 의하여 복소수 뺄셈이 되고, 다시 계수 실수와 허수에 의하여 복소수 곱셈이 된 후, 상부 실수 및 허수가 되어 출력됨을 볼 수 있다.In addition, it can be seen that the upper real and the imaginary numbers are complex subtracted by the lower real and imaginary numbers, and the complex real multiplication is performed by the coefficient real and imaginary numbers, and then the upper real and the imaginary numbers are outputted.

상기 도2 와 같은 구조를 기능블록으로 구체화하여 도시한 것이 도3의 내용과 같다.The structure shown in FIG. 2 is shown in detail as a functional block, as shown in FIG.

제1 단계(Phase 1)로서, 듀얼포트 메모리(130)로부터 제2 데이터 버스를 통하여 상측(Upper) 실수(real) 및 허수(Imaginary) 그리고 하측(Lower) 실수(Real) 및 허수(Imaginary)를 인가 받은 제1 및 제2 산술논리 처리부(140,145)는 제1 산술논리 처리부(140)에 의하여 상측 및 하측 실수가 덧셈 처리된 후, 출력되고, 제2 산술논리 처리부(145)에 의하여 상측 및 하측 허수가 덧셈 처리된 후, 출력된다.As a first step, the upper real and imaginary and lower real and imaginary are processed from the dual port memory 130 through the second data bus. The approved first and second arithmetic logic processing units 140 and 145 are output after the upper and lower real numbers are added by the first arithmetic logic processing unit 140, and are outputted by the second arithmetic logic processing unit 145. The imaginary numbers are added and then output.

상기 제1 산술논리 처리부(140)로부터 출력된 하측 실수 및 제2 산술논리 처리부(145)로부터 출력된 하측 허수는 상기 듀얼포트 메모리(130)에 연결된 제1 데이터 버스를 통하여 상기 듀얼포트 메모리(130)에 지정된 주소로 기록되고, 동시에 제1 및 제2 레지스터(150,155)에 각각 저장된다.The lower real number output from the first arithmetic logic processing unit 140 and the lower imaginary number output from the second arithmetic logic processing unit 145 are connected to the dual port memory 130 through a first data bus connected to the dual port memory 130. Are written to the address specified in < RTI ID = 0.0 >) and simultaneously stored in the first and second registers 150, 155, respectively.

제2 단계(Phase 2)로서, 상기 듀얼포트 메모리(130)로부터 제2 데이터 버스를 통하여 상측(Upper) 실수(real) 및 허수(Imaginary) 그리고 하측(Lower) 실수(Real) 및 허수(Imaginary)를 인가 받은 제1 및 제2 산술논리 처리부(140,145)는 제1 산술논리 처리부(140)에 의하여 상측 및 하측 실수가 복소수 뺄셈 처리된 후, 출력되고, 제2 산술논리 처리부(145)에 의하여 상측 및 하측 허수가 복소수 뺄셈 처리된 후, 출력된다.As a second step, an upper real and an imaginary and a lower real and an imaginary from the dual port memory 130 via a second data bus. The first and second arithmetic logic processing units 140 and 145, which are authorized, are output after the upper and lower real numbers are complex subtracted by the first arithmetic logic processing unit 140, and then output by the second arithmetic logic processing unit 145. And the lower imaginary number is output after complex subtraction.

제3 단계(Phase 3)로서, 상기 제1 단계(Phase 1)에 의하여 출력된 신호와 상기 제2 단계(Phase 2)에 의하여 출력된 신호는 상기 제1 및 제2 레지스터(150,155)에 잠시 기록되었다가, 제1 레지스터의 상측 실수는 제1 곱셈기(162)에 인가되고, 하측 실수는 제3 곱셈기(166)에 인가된다.As a third step (Phase 3), the signal output by the first step (Phase 1) and the signal output by the second step (Phase 2) is temporarily recorded in the first and second registers (150, 155) The upper real number of the first register is applied to the first multiplier 162 and the lower real number is applied to the third multiplier 166.

또한, 제2 레지스터의 상측 허수는 제2 곱셈기(164)에 인가되고, 하측 허수는 제4 곱셈기(168)에 인가된다.In addition, the upper imaginary number of the second register is applied to the second multiplier 164, and the lower imaginary number is applied to the fourth multiplier 168.

이때, 상기 계수 메모리부(120)로부터 인가된 계수(Coefficient) 값의 실수는 제1 곱셈기(162) 및 제4 곱셈기(168)에 각각 인가되고, 또한, 상기 계수(Coefficient) 값의 허수는 제2 곱셈기(164) 및 제3 곱셈기(166)에 각각 인가된다.In this case, the real number of the coefficient (Coefficient) applied from the coefficient memory unit 120 is applied to the first multiplier 162 and the fourth multiplier 168, respectively, and the imaginary number of the coefficient (Coefficient) is 2 multiplier 164 and third multiplier 166, respectively.

상기 제1 곱셈기(162)는 상측 실수와 계수 실수가 복소수 곱셈 처리되어 상측 복소수 실수를 출력하고, 제2 곱셈기(164)는 하측 허수와 계수 허수가 복소수 곱셈 처리되어 하측 복소수 실수를 출력한다.The first multiplier 162 performs a complex multiplication process on the upper real number and the coefficient real number, and outputs an upper complex real number. The second multiplier 164 multiplies the lower imaginary number and the coefficient imaginary number and outputs a lower complex real number.

제4 단계(Phase)로서, 상기 제1 곱셈기(162) 및 제2 곱셈기(164)로부터 출력된 복소수의 실수는 상기 제1 덛셈기(170)에 인가되고 복소수 덧셈이 되어 상측 실수가 된 후, 상기 제1 데이터 버스를 통하여 상기 듀얼 포트 메모리부(130)에 인가되며 지정된 주소에 기록(Write) 된다.As a fourth step (Phase), the real number of the complex number output from the first multiplier 162 and the second multiplier 164 is applied to the first multiplier (170) and added to the complex multiplier to become an upper real number, The dual port memory unit 130 is applied to the dual port memory unit 130 through the first data bus and is written to a designated address.

또한, 상기 제3 단계(Phase 3)의 상기 제3 곱셈기(166)는 하측 실수와 계수 허수가 복소수 곱셈 처리되어 하측 복소수 허수를 출력하고, 제4 곱셈기(168)는 하측 허수와 계수 실수가 복소수 곱셈 처리되어 상측 복소수 허수를 출력한다.In addition, the third multiplier 166 of the third step (Phase 3) is a complex multiplication of the lower real number and the coefficient imaginary to output the lower complex imaginary number, the fourth multiplier 168 is a lower imaginary number and the coefficient real number is a complex number Multiplication is performed to output the upper complex imaginary number.

또한, 상기 제4 단계(Phase 4)로서, 상기 제3 곱셈기(166) 및 제4 곱셈기(168)로부터 출력된 복소수의 허수는 상기 제2 덛셈기(175)에 인가되고 복소수 덧셈이 되어 하측 허수가 된 후, 상기 제1 데이터 버스를 통하여 상기 듀얼 포트 메모리부(130)에 인가되며 지정된 주소에 기록(Write) 된다.In addition, as the fourth step (Phase 4), the imaginary imaginary numbers output from the third multiplier 166 and the fourth multiplier 168 are applied to the second multiplier 175, and the complex digits are added to the lower imaginary number. After that, it is applied to the dual port memory unit 130 through the first data bus and is written to a designated address.

상기와 같은 단계(Phase)별 진행 상태를 간단히 표시하면 다음과 같고, 본 발명에 의한 파이프 라인 방식의 타이밍 도는 도4에 도시되어 있다.When the progress state for each phase (Phase) is simply displayed as follows, the timing diagram of the pipeline method according to the present invention is shown in FIG.

(단계1) (단계2) (단계3) (단계4)(Step 1) (Step 2) (Step 3) (Step 4)

(데이터 읽기) N+1 N+2 N+3 N+4(Read Data) N + 1 N + 2 N + 3 N + 4

(하측+상측) N N+1 N+2 N+3(Lower + upper) N N + 1 N + 2 N + 3

(하측-상측) N N+1 N+2(Bottom to top) N N + 1 N + 2

((상-하)*계수) N N+1((Up-down) * coefficient) N N + 1

(데이터 기록) N(Data record) N

상기의 단계4(Phase 4) 이후에는 모든 기능이 비지(Busy) 상태가 되므로 최소 5 주기(Cycle) 이상의 경우부터는 상기 5개의 과정이 동시에 수행되므로, 본 발명의 병렬화 및 파이프라인 처리 방식에 의한 고속 프리에 변환 장치의 작업 감소 효과를 나타내게 된다.After Phase 4, all functions become busy, and thus, the above five processes are performed simultaneously from at least five cycles. Therefore, the parallelization and pipeline processing methods of the present invention provide high speed. The work reduction effect of the pre-transformer is exhibited.

본 발명을 적용하는 DMT ADSL(Discreet Multi Tone Asynchronous Digital Subscriber Line)는 512 포인트(Point)의 퓨리에 변환이 필요하므로, 파이프라인의효과는 더욱 커진다.The DMT Discrete Multi Tone Asynchronous Digital Subscriber Line (ADSL) to which the present invention is applied requires a Fourier transform of 512 points, which further increases the effect of the pipeline.

즉, 본 발명의 병렬화 및 파이프라인 처리된 고속 퓨리에 변환(FFT) 장치는 스텝 수 또는 포인트 수 또는 단계의 수가 많을수록 그 효과를 볼 수 있다.In other words, the paralleled and pipelined fast Fourier transform (FFT) device of the present invention may have an effect as the number of steps or points or the number of steps increases.

또한 처리속도가 향상됨으로 인하여, 응답 속도가 늦은 PLD(Programmable Logic Device) 또는 PGA(Programmable Gate Array) 등에 사용하여도, 고속의 빠른 처리 결과를 얻을 수 있으며, 응답 속도가 빠른 ASIC(Application Specific IC)에 적용하는 경우는, 데이터의 전송속도가 증가하여, 오디오 아날라이저, 스펙트럼 아날라이저 등의 계측기와 분석기에 적용하는 경우, 처리 가능한 주파수 대역폭을 더욱 높일 수 있다.In addition, because the processing speed is improved, even when used in a slow response time PLD (Programmable Logic Device) or PGA (Programmable Gate Array), it is possible to obtain a fast and fast processing result, and a fast response time ASIC (Application Specific IC) When applied to, the data transmission speed is increased, and when applied to instruments and analyzers such as audio analyzers and spectrum analyzers, the processable frequency bandwidth can be further increased.

또한, 회로 자체가 복소수 연산을 한 주기(Cycle)에 수행 할 수 있는 데이터 경로(Data Path)로 설계되어 있어 복소수 연산을 전제로 하는 이퀄라이저(Equalizer) 또는 여파기(Filter)에 적용할 수 있다.In addition, since the circuit itself is designed as a data path that can perform a complex operation in one cycle, it can be applied to an equalizer or a filter that assumes a complex operation.

상기의 구성에 의한 본 발명은 고속 퓨리에 변환을 병렬화 구성으로 처리하고, 파이프라인 방식으로 처리하여 스텝수가 많은 데이터 처리 일수록 더욱 고속으로 처리하는 효과가 있다.According to the present invention, the fast Fourier transform is processed in a parallel configuration, and is processed in a pipelined manner, so that data processing having a large number of steps can be processed at a higher speed.

또한, 복소수를 한 주기에 처리할 수 있도록 구성하므로써, 고속 여파기 또는 이퀄라이저 등에 즉시 적용 할 수 있는 효과가 있다.In addition, since the complex number can be processed in one cycle, there is an effect that can be immediately applied to a high speed filter or an equalizer.

Claims (2)

고속 퓨리에 변환 장치 전체를 제어하는 중앙제어부와,A central controller for controlling the entire fast Fourier converter, 상기 중앙제어부의 제어 신호에 의하여 메모리에 데이터를 기록 및 읽기 하는 주소신호를 출력하는 주소 제어부와,An address control unit for outputting an address signal for recording and reading data in a memory by a control signal of the central control unit; 상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 데이터를 읽어 출력함과 동시에, 인가 받은 주소 신호에 의하여 데이터 기록하는 듀얼 포트 메모리부와,A dual port memory unit which reads and outputs data by the address signal received from the address controller and records data by the address signal received; 상기 주소 제어부로부터 인가 받은 주소 신호에 의하여 복소수의 계수 값을 읽어 출력하는 계수 메모리부와,A coefficient memory unit for reading and outputting a complex coefficient value by an address signal received from the address control unit; 상기 중앙제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 처리하도록 제어 신호를 출력하는 버터프라이 제어부와,A butterfly control unit for outputting a control signal to simultaneously process multiple addition and subtraction according to the control signal of the central control unit; 상기 듀얼포트 메모리부의 하측 영역 실수 데이터와 상측 영역의 실수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제1 산술논리 처리부와,A first arithmetic logic processing unit receiving real data of the lower region of the dual port memory unit and real data of the upper region of the dual port memory unit, and simultaneously performing multi-addition processing on addition and subtraction according to a control signal of the butterfly control unit; 상기 듀얼포트 메모리부의 하측 영역 허수 데이터와 상측 영역의 허수 데이터를 인가 받고, 상기 버터프라이 제어부의 제어 신호에 의하여 덧셈과 뺄셈을 동시 다중 연산 처리하는 제2 산술논리 처리부와,A second arithmetic logic processing unit configured to receive the imaginary data of the lower region and the imaginary data of the upper region of the dual port memory unit, and simultaneously perform multi-addition and subtraction operations by a control signal of the butterfly controller; 상기 제1 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제1 레지스터와,A first register for temporarily storing data output by the addition and subtraction processing from the first arithmetic logic processing unit; 상기 제2 산술논리 처리부로부터 덧셈과 뺄셈 처리되어 출력되는 데이터를 일시 저장하는 제2 레지스터와,A second register for temporarily storing data output by addition and subtraction processing from the second arithmetic logic processing unit; 상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제1 곱셈기와,A first multiplier that receives a real number from the first register, receives a real number from the coefficient memory unit, and outputs a real number after a complex multiplication process; 상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 실수를 출력하는 제2 곱셈기와,A second multiplier that receives an imaginary number from the second register, receives a imaginary number from the coefficient memory unit, and outputs a real number after a complex multiplication process; 상기 제1 레지스터로부터 실수를 인가 받고, 상기 계수 메모리부로부터 허수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제3 곱셈기와,A third multiplier that receives a real number from the first register, receives a imaginary number from the coefficient memory unit, and outputs an imaginary number after complex multiplication processing; 상기 제2 레지스터로부터 허수를 인가 받고, 상기 계수 메모리부로부터 실수를 인가 받아 복소수 곱셈처리 후 허수를 출력하는 제4 곱셈기와,A fourth multiplier that receives an imaginary number from the second register, receives a real number from the coefficient memory unit, and outputs an imaginary number after complex multiplication processing; 상기 제1 및 제2 곱셈기로부터 각각 실수를 인가 받고 복소수 덧셈하는 제1 덧셈기와,A first adder for receiving a real number from the first and second multipliers, respectively, and adding a complex number; 상기 제3 및 제4 곱셈기로부터 각각 허수를 인가 받고 복소수 덧셈하는 제2 덧셈기로 이루어져 구성되는 것을 특징으로 하는 고속 퓨리에 변환 장치A fast Fourier transform device comprising: a second adder receiving imaginary numbers from the third and fourth multipliers, respectively, and adding a complex number; 제1항에 있어서,The method of claim 1, 상기 제1 및 제2 산술논리부로부터 출력된 하측 실수 및 허수는 제1 데이터 버스를 통하여 상기 듀얼포트 메모리부의 지정된 주소에 기록되고,The lower real and imaginary numbers output from the first and second arithmetic logic units are written to a designated address of the dual port memory unit through a first data bus, 상기 제1 및 제2 덧셈기로부터 출력된 상측 실수 및 허수는 제1 데이터 버스를 통하여 상기 듀얼포트 메모리부의 지정된 주소에 기록되는 것을 특징으로 하는고속 퓨리에 변환 장치A high-speed Fourier transform device outputting the real and imaginary numbers outputted from the first and second adders at a designated address of the dual port memory unit through a first data bus
KR1019990044047A 1999-10-12 1999-10-12 A device of fast fourier transform KR100308929B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990044047A KR100308929B1 (en) 1999-10-12 1999-10-12 A device of fast fourier transform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990044047A KR100308929B1 (en) 1999-10-12 1999-10-12 A device of fast fourier transform

Publications (2)

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

Family

ID=19614978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990044047A KR100308929B1 (en) 1999-10-12 1999-10-12 A device of fast fourier transform

Country Status (1)

Country Link
KR (1) KR100308929B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100836050B1 (en) * 2001-05-23 2008-06-09 엘지전자 주식회사 Operation apparatus for fast fourier transform
KR100416641B1 (en) * 2001-07-20 2004-02-05 학교법인대우학원 The Calculation Methods and Cricuits for High-Speed FFT on Programmable Processors
KR100481852B1 (en) 2002-07-22 2005-04-11 삼성전자주식회사 Fast fourier transformimg apparatus
KR100518797B1 (en) * 2004-01-07 2005-10-05 삼성전자주식회사 Fast Fourier Transform device capable of improving a processing speed and a method processing thereof
KR100640555B1 (en) 2005-02-07 2006-10-31 삼성전자주식회사 Method for data copy and application processor for it

Also Published As

Publication number Publication date
KR20010036860A (en) 2001-05-07

Similar Documents

Publication Publication Date Title
US6367003B1 (en) Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
AU689439B2 (en) Digital filter having high accuracy and efficiency
US6366936B1 (en) Pipelined fast fourier transform (FFT) processor having convergent block floating point (CBFP) algorithm
KR20060061796A (en) Recoded radix-2 pipelined fft processor
CA2547488A1 (en) Fft architecture and method
US3872290A (en) Finite impulse response digital filter with reduced storage
US5515402A (en) Quadrature filter with real conversion
JPH08321745A (en) Audio data processor
JPH036689B2 (en)
KR100308929B1 (en) A device of fast fourier transform
EP0037130B1 (en) Arrangement for calculating the discrete fourier transform by means of two circular convolutions
US4020333A (en) Digital filter for filtering complex signals
CN115033293A (en) Zero-knowledge proof hardware accelerator, generating method, electronic device and storage medium
US5343501A (en) Orthogonal transform apparatus for video signal processing
Ruiz et al. Memory efficient programmable processor chip for inverse Haar transform
JPH07109973B2 (en) Digital signal processing circuit
KR910005791B1 (en) Multiplierless digital filter for image processer
Vesterbacka et al. Implementation of fast dsp algorithms using bit-serial arithmetic
JP3865469B2 (en) Butterfly calculator
US6959222B1 (en) Accelerator engine for processing functions used in audio algorithms
JP2622962B2 (en) Zooming device for FFT analyzer
JPS60205671A (en) Convolutional arithmetic circuit
KR950002072B1 (en) Digital filter
JP2002117015A (en) Fast fourier transform circuit
JP3850150B2 (en) Method and digital signal processor for performing digital signal processing operations

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