KR20010110202A - 2사이클 고속 푸리에 변환 - Google Patents

2사이클 고속 푸리에 변환 Download PDF

Info

Publication number
KR20010110202A
KR20010110202A KR1020010031351A KR20010031351A KR20010110202A KR 20010110202 A KR20010110202 A KR 20010110202A KR 1020010031351 A KR1020010031351 A KR 1020010031351A KR 20010031351 A KR20010031351 A KR 20010031351A KR 20010110202 A KR20010110202 A KR 20010110202A
Authority
KR
South Korea
Prior art keywords
cycle
registers
data
alus
cycles
Prior art date
Application number
KR1020010031351A
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 추후기재
Publication of KR20010110202A publication Critical patent/KR20010110202A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • 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

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

Abstract

디지탈 신호처리(DSP) 아키텍쳐는, 각각이 실수와 허수 제1데이터값의 어느 하나 및 실수와 허수 계수값의 어느 하나를 수신하여 그 데이터와 계수값을 승산하여 승산결과를 공급하도록 작용하는 적어도 2개의 승산기와, 각각이 상기 승산기로부터의 승산결과의 각각 및 실수와 허수 제2데이터값의 어느 하나를 수신하여 상기 승산결과와 상기 제2데이터값의 각각에 대해 소정의 가산 및 감산을 행하여 고속 푸리에 변환(Fast Fourier Transform: FFT) 계산결과를 공급하도록 작용하는 적어도 2개의 3입력 산술 논리 연산장치(arithmetic logic nuit: ALU), 각각이 2개의 연속하는 처리사이클의 제1처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하도록 작용하는 적어도 2개의 제1사이클 레지스터, 각각이 2개의 연속하는 처리사이클의 제2처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하도록 작용하는 적어도 2개의 제2사이클 레지스터 및, 2개의 연속하는 메모리 기록사이클의 제1메모리 기록사이클중에 상기 제1사이클 레지스터의 하나 및 상기 제2사이클 레지스터의 하나로부터의 FFT 계산결과와, 2개의 연속하는 메모리 기록사이클의 제2메모리 기록사이클중에 상기 제1사이클 레지스터의 다른 하나 및 상기 제2사이클 레지스터의 다른 하나로부터의 FFT 계산결과를 선택적으로 수신하여 메모리에 저장하기 위해 전송하도록 작용하는 멀티플렉싱장치를 포함하고 있다.

Description

2사이클 고속 푸리에 변환 {TWO CYCLE FFT}
본 발명은, 일반적으로 디지탈 신호처리(digital signal processing: DSP)에 관한 것으로, 특히 2사이클의 고속 푸리에 변환(Fast Fourier Transform: FFT) 버터플라이 연산(butterfly operation)을 수행하기 위한 DSP 아키텍쳐에 관한 것이다.
디지탈 신호처리(DSP)는, 고속 푸리에 변환(FFT) 계산, 디지탈 필터, 화상처리 및 음성인식 등의 디지탈 신호처리 작업을 최적화하도록 설계된 특수목적 컴퓨터이다. 전형적으로, DSP 응용은 실시간 연산, 높은 인터럽트속도 및 집중적인 수치계산에 의해 특징지워진다. 더욱이, DSP 응용은 메모리 억세스 연산에 집중되는 경향이 있고, 대량의 데이터의 입출력을 필요로 한다.
DSP 아키텍쳐에서의 2가지 발달, 즉 "인-플레이스(in-place)" 메모리 관리 및 듀얼 MAC(dual multiplier accumulator)은 디지탈 신호처리, 효율 및 속도의 증가에 도달하게 한다. FFT 계산을 위해 필요한 메모리의 양을 줄이기 위해서, FFT 입력데이터 어레이를 FFT 계산의 결과와 더불어 과기록함으로써 FFT의 각 스테이지에서의 결과를 저장하기 위한 추가의 메모리 어레이에 대한 필요성를 제거하는 "인-플레이스" 메모리 관리구조를 적용한다. 또한, 동시 승산 및 가산 연산을 동시에 수행할 수 있는 듀얼 MAC의 도입은, 많은 응용에서 크게 향상된 DSP 성능을 갖는다.
인-플레이스 메모리 관리를 듀얼 MAC DSP 아키텍쳐로 실현하기 위해서, 설계자는 전형적으로 일련의 연산을 완료하기 위해 필요한 사이클의 수를 증가시키거나, 혹은 듀얼포트 랜덤 억세스 메모리(random access memory: RAM) 등의 복잡한 하드웨어 솔루션을 도입해야 한다. 불행하게도, 사이클의 수를 증가시키는 것은 DSP 성능을 떨어뜨리는 반면에, 듀얼포트 RAM의 도입은 DSP 메모리 사이즈를 크게 증가시켜 인-플레이스 FFT의 메모리 효율을 상쇄시킨다. 이 때문에, 듀얼 MAC DSP 아키텍쳐는 일반적으로 인-플레이스 메모리 관리없이 FFT 계산을 수행한다.
듀얼 MAC DSP 아키텍쳐에 의한 FFT 실현을 둘러싼 다른 문제점은 DSP 내부 리소스(resource: 자원)에 관련된 것이다. FFT 버터플라이 연산(butterfly operation)을 수행하는 동안에는, 일반적으로 중간 결과가 내부 레지스터에 기억된다. 불행하게도, 후속의 연산이 수행되도록 하기 위해서는, 몇몇 중간 결과가 메모리에 기록되어야 한다. 메모리가 독출 사이클에 있는 경우에는, 중간 결과는 메모리에 기록되는 다음 사이클까지 대기상태로 있어야 하고, 따라서 듀얼포트 RAM 등의 특수한 하드웨어를 사용하지 않는 한 성능이 떨어지게 된다.
본 발명은, 종래기술의 문제점을 극복하는 DSP 아키텍쳐를 제공하고자 하는 것이다. 즉, 본 발명은 특화된 메모리를 필요로 하지 않고 2사이클의 고속 푸리에 변환(FFT) 버터플라이 연산을 수행할 수 있는 듀얼 MAC DSP 아키텍쳐를 제공하는 것을 목적으로 한다.
도 1은 본 발명의 제안된 실시예에 따라 구축되어 작용하는 FFT 계산을 수행하기 위해 채택된 DSP 아키텍쳐의 간단화된 블럭도,
도 2는 수 사이클에 걸쳐 도 1의 DSP 아키텍쳐의 제안된 연산방법에 따라 도 1의 레지스터의 내용을 나타낸 간단화된 표이다.
그래서, 본 발명의 제안된 실시예에 따르면, 각각이 실수와 허수 제1데이터값의 어느 하나 및 실수와 허수 계수값의 어느 하나를 수신하여 그 데이터와 계수값을 승산하여 승산결과를 공급하도록 작용하는 적어도 2개의 승산기와, 각각이 상기 승산기로부터의 승산결과의 각각 및 실수와 허수 제2데이터값의 어느 하나를 수신하여 상기 승산결과와 상기 제2데이터값의 각각에 대해 소정의 가산 및 감산을 행하여 고속 푸리에 변환(FFT) 계산결과를 공급하도록 작용하는 적어도 2개의 3입력 산술 논리 연산장치(ALU), 각각이 2개의 연속하는 처리사이클의 제1처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하도록 작용하는 적어도 2개의 제1사이클 레지스터, 각각이 상기 2개의 연속하는 처리사이클의 제2처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하도록 작용하는 적어도 2개의 제2사이클 레지스터 및, 2개의 연속하는 메모리 기록사이클의 제1메모리 기록사이클중에 상기 제1사이클 레지스터의 하나 및 상기 제2사이클 레지스터의 하나로부터의 FFT 계산결과와, 상기 2개의 연속하는 메모리 기록사이클의 제2메모리 기록사이클중에 상기 제1사이클 레지스터의 다른 하나 및 상기 제2사이클 레지스터의 다른 하나로부터의 FFT 계산결과를 선택적으로 수신하여 메모리에 저장하기 위해 전송하도록 작용하는 멀티플렉싱장치를 포함하고 있는 디지탈 신호처리(DSP) 아키텍쳐가 제공된다.
더욱이, 본 발명의 제안된 실시예에 따르면, 그 장치는 실수 코사인파 데이터 입력(real cosinusoidal data input)을 수신하기 위한 적어도 하나의 제1코사인파 레지스터와, 허수 코사인파 데이터 입력(imaginary cosinusoidal data input)을 수신하기 위한 적어도 하나의 제2코사인파 레지스터 및, 상기 코사인파 레지스터의 어느 하나로부터 상기 ALU의 어느 하나로 데이터를 선택적으로 공급하기 위한 멀티플렉서를 더 포함하고 있다.
더욱이, 본 발명의 제안된 실시예에 따르면, 그 장치는 상기 다중화된 코사인파 데이터에 라운딩 정수(rounding constant: 반올림 정수)를 연결하여 상기 ALU의 어느 하나의 연결된 입력의 하위 부분을 형성하도록 작용하는 라운딩 장치를 더 포함하고 있다.
또한, 본 발명의 제안된 실시예에 따르면, 적어도 2개의 승산기에서 실수와 허수 제1데이터값의 어느 하나 및 실수와 허수 계수값의 어느 하나를 수신하는 단계와, 상기 2개의 승산기에서 상기 데이터와 계수값을 승산하여 승산결과를 공급하는 단계, 적어도 2개의 3입력 산술 논리 연산장치(ALU)에서 상기 승산기로부터의 승산결과의 각각 및 실수와 허수 제2데이터값의 어느 하나를 수신하는 단계, 상기ALU에서 상기 승산결과와 상기 제2데이터값의 각각에 대해 소정의 가산 및 감산을 행하여 고속 푸리에 변환(FFT) 계산결과를 공급하는 단계, 적어도 2개의 제1사이클 레지스터에서 2개의 연속하는 처리사이클의 제1처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하는 단계, 적어도 2개의 제2사이클 레지스터에서 상기 2개의 연속하는 처리사이클의 제2처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하는 단계 및, 2개의 연속하는 메모리 기록사이클의 제1메모리 기록사이클중에 상기 제1사이클 레지스터의 하나 및 상기 제2사이클 레지스터의 하나로부터의 FFT 계산결과와, 상기 2개의 연속하는 메모리 기록사이클의 제2메모리 기록사이클중에 상기 제1사이클 레지스터의 다른 하나 및 상기 제2사이클 레지스터의 다른 하나로부터의 FFT 계산결과를 선택적으로 반복하여 메모리에 저장하기 위해 전송하는 단계를 포함하고 있는 디지탈 신호처리(DSP) 방법이 제공된다.
더욱이, 본 발명의 제안된 실시예에 따르면, 그 방법은 적어도 하나의 제1코사인파 레지스터에서 실수 코사인파 데이터 입력을 수신하는 단계와, 적어도 하나의 제2코사인파 레지스터에서 허수 코사인파 데이터 입력을 수신하는 단계 및, 상기 코사인파 레지스터의 어느 하나로부터 상기 ALU의 어느 하나로 데이터를 선택적으로 공급하는 단계를 더 포함하고 있다.
더욱이, 본 발명의 제안된 실시예에 따르면, 그 방법은 상기 다중화된 코사인파 데이터에 라운딩 정수를 연결하여 상기 ALU의 어느 하나의 연결된 입력의 하위 부분을 형성하는 단계를 더 포함하고 있다.
(발명의 상세한 설명)
이제, 본 발명의 제안된 실시예에 따라 구축되어 작용하는 FFT 계산을 수행하기 위해 채택된 DSP 아키텍쳐의 간단화된 블럭도인 도 1을 참조한다. 도 1에 나타낸 DSP 아키텍쳐는, 각각이 3개의 입력을 수신하고, 프로그램 명령에 따라 이들 3개의 입력에 대해 소정의 조합의 가산 및 감산을 행하여 복합된 결과를 산출할 수 있는 2개의 3입력 산술 논리 연산장치(ALU)(10, 12)를 포함하고 있다. 종래기술을 이용하여 실수와 허수 사인파 데이터입력(BR, BI) 및 계수(WR, WI)에 대해 승산을 수행하기 위해, Mul 1 및 Mul 2로 라벨링된 2개의 승산기(14, 16)가 전형적으로 설치된다. 승산기(14, 16)로부터의 결과는 P0 및 P1으로 라벨링된 레지스터(18, 20)에 각각 기억되는 것이 바람직하다. 여기서, 레지스터(18, 20)의 결과는 이후 ALU(10, 12)로 입력된다. 실수 코사인파 데이터입력(AR)을 수신하기 위해 Zr0 및 Zr1으로 라벨링된 2개의 레지스터(22, 24)를 설치하고, 허수 코사인파 데이터입력(AI)을 수신하기 위해 Zi0 및 Zi1으로 라벨링된 2개의 레지스터(26, 28)를 설치하는 것이 바람직하다. 전형적으로는, 레지스터(Zr1, Zi1)의 어느 하나로부터 ALU(10, 12)로 데이터를 선택적으로 공급하기 위해 멀티플렉서(30)를 설치하고, ALU(10, 12)에 연결된 데이터의 하위 부분을 형성하기 위해 라운딩 정수(rounding constant: 반올림 정수)(32)와 함께 참조번호 35로 나타낸 다중화된 데이터에 연결시키는 것이 바람직하다. ALU(10)로부터의 출력을 수신하기 위해 A0 및 A1으로 라벨링된 2개의 레지스터(34, 36)를 설치하고, ALU(12)로부터의 출력을 수신하기 위해 A2 및 A3로 라벨링된 2개의 레지스터(38, 40)를 설치하는 것이 바람직하다. A0에 기억된 데이터의 상위 부분을 수신하기 위해 A0hp로 라벨링된 추가의 레지스터(42)를 설치하고, A2에 기억된 데이터의 상위 부분을 수신하기 위해 A2hp로 라벨링된 추가의 레지스터(44)를 설치하는 것이 바람직하다. A0hp나 A2hp로부터의 데이터를 선택적으로 검색하여 메모리에 저장하기 위한 데이터를 공급하는 멀티플렉서(46)와, A1이나 A3로부터의 데이터를 선택적으로 검색하는 멀티플렉서(48)를 포함하는 멀티플렉싱 장치를 설치하는 것이 바람직하다.
이제, 수 사이클에 걸쳐 도 1의 DSP 아키텍쳐의 제안된 연산방법에 따라 도 1의 레지스터의 내용을 나타낸 간단화된 표를 도시한 도 2를 참조하여 도 1에 나타낸 DSP 아키텍쳐의 전형적인 연산에 대해 설명한다.
도 2의 방법에서는, 레지스터(Zr0, Zi0)가 AR및 AI에 대한 입력값을 수신하는 것을 설명할 목적으로 초기상태를 정의했다. 여기서, AR및 AI에 대한 입력값은 인덱스에 의해 AR[1] 및 AI[1]으로서 언급된다. Mul 1은 인덱스에 의해 BR[1] 및 WR[1]으로서 언급되는 BR및 WR에 대한 입력값을 수신하고, Mul 2는 인덱스에 의해 BI[1] 및 WI[1]으로서 언급되는 BI및 WI에 대한 입력값을 수신한다. 그 후, Mul 1은 승산결과 BR[1]*WR[1]을 레지스터(P0)에 기억하고, Mul 2는 승산결과 BI[1]*WI[1]을 레지스터(P1)에 기억한다.
사이클 #1에 대한 처리는, 레지스터(Zr0, Zi0)의 내용을 각각 레지스터(Zr1, Zi1)로 입력시키고, Zr0 및 Zi0가 인덱스에 의해 AR[2] 및 AI[2]로서 언급되는 AR및AI에 대한 새로운 입력값을 수신하는 것을 계속한다. 멀티플렉서(30)는 레지스터(Zr1, Zi1)의 어느 하나의 내용을 검색하고, 검색된 값에 라운딩 정수를 연결시키며, 연결된 결과를 ALU(10, 12)에 공급한다. 레지스터(P0, P1)의 내용도 마찬가지로 ALU(10, 12)에 공급된다. 그 후, ALU(10, 12)는 FFT 계산에 필요한 필수적인 가산 및/또는 감산 연산을 행하고, 그 결과를 레지스터(A0, A2)에 각각 기억한다. P0와 P1은 Mul 1 및 Mul 2로부터 각각 새로운 승산결과 BR[1]*WI[1] 및 BI[1]*WR[1]을 수신한다.
사이클 #2에 대한 처리는, 멀티플렉서(30)가 사이클 #1에서 갬색되지 않은 레지스터(Zr1, Zi1)의 어느 하나의 내용을 검색하고, 검색된 값에 라운딩 정수를 연결시키며, 연결된 결과를 ALU(10, 12)에 공급하는 경우에 전진한다. 레지스터(P0, P1)의 내용도 ALU(10, 12)에 공급된다. 그 후, ALU(10, 12)는 FFT 계산에 필요한 필수적인 가산 및/또는 감산 연산을 행하고, 그 결과를 레지스터(A1, A3)에 각각 기억한다. P0와 P1은 Mul 1 및 Mul 2로부터 각각 새로운 승산결과 BR[2]*WR[2] 및 BI[2]*WI[2]를 수신한다.
사이클 #3에 대한 처리는, 레지스터(A0, A2)의 내용, 바람직하게는 그 상위 부분을 레지스터(A0hp, A2hp)에 입력시키는 것을 계속한다. 레지스터(Zr0, Zi0)의 내용은 각각 레지스터(Zr1, Zi1)로 입력되고, Zr0 및 Zi0는 인덱스에 의해 AR[3] 및 AI[3]로서 언급되는 AR및 AI에 대한 새로운 입력값을 수신한다. 멀티플렉서(30)는사이클 #2에서 검색되지 않은 레지스터(Zr1, Zi1)의 어느 하나의 내용을 검색하고, 검색된 값에 라운딩 정수를 연결시키며, 연결된 결과를 ALU(10, 12)에 공급한다. 레지스터(P0, P1)의 내용도 마찬가지로 ALU(10, 12)에 공급된다. 그 후, ALU(10, 12)는 FFT 계산에 필요한 필수적인 가산 및/또는 감산 연산을 행하고, 그 결과를 레지스터(A0, A2)에 각각 기억한다. P0와 P1은 Mul 1 및 Mul 2로부터 각각 새로운 승산결과 BR[2]*WI[2] 및 BI[2]*WR[2]를 수신한다.
사이클 #4에 대한 처리는, FFT 버터플라이 연산의 완료를 계속하고 레지스터(A0hp, A1)의 내용을 메모리에 기록시키는 것을 계속한다. 멀티플렉서(30)는 사이클 #3에서 갬색되지 않은 레지스터(Zr1, Zi1)의 어느 하나의 내용을 검색하고, 검색된 값에 라운딩 정수를 연결시키며, 연결된 결과를 ALU(10, 12)에 공급한다. 레지스터(P0, P1)의 내용도 ALU(10, 12)에 공급된다. 그 후, ALU(10, 12)는 FFT 계산에 필요한 필수적인 가산 및/또는 감산 연산을 행하고, 그 결과를 레지스터(A1, A3)에 각각 기억한다. P0와 P1은 Mul 1 및 Mul 2로부터 각각 새로운 승산결과 BR[3]*WR[3] 및 BI[3]*WI[3]를 수신한다.
사이클 #5의 처리는, 다음의 FFT 버터플라이 연산의 완료를 계속하고 레지스터(A2hp, A3)의 내용을 메모리에 기록시키는 것을 계속한다. 그 후, 처리는 사이클 #3에 대해 설명한 방법으로 진행된다. 그 후, 처리는 모든 입력데이터가 처리될 때까지 새로운 입력 및 승산 결과에 대해 사이클 #4 및 시이클 #5와 연관된 처리를 교대로 수행함으로써 계속된다.
레지스터(A0, A0hp, A2, A2hp)는 2개의 연속하는 처리사이클의 제1사이클(사이클 #1)중에 ALU(10, 12)에 의해 계산된 FFT 계산 결과를 수신하는 것과 같이 제1사이클 레지스터로서 여기에 교대로 인용되고, 레지스터(A1, A3)는 2개의 연속하는 처리사이클의 제2사이클(사이클 #2)중에 ALU(10, 12)에 의해 계산된 FFT 계산 결과를 수신하는 것과 같이 제2사이클 레지스터로서 여기에 교대로 인용된다. 따라서, 각 FFT 버터플라이 연산은 완료하기 위해 2개의 사이클만을 필요로 함을 알 수 있다. 그 후, 사이클 #3, #5 및 #7에서 점선으로 나타낸 제1사이클 레지스터(A0hp) 및 제2사이클 레지스터(A1)의 내용은 2개의 연속하는 메모리기록 사이클의 제1사이클(사이클 #4)중에 메모리에 기록되고, 사이클 #4, #6 및 #8에서 점선으로 나타낸 제1사이클 레지스터(A2hp) 및 제2사이클 레지스터(A3)의 내용은 2개의 연속하는 메모리기록 사이클의 제2사이클(사이클 #5)중에 메모리에 기록된다.
여기에 개시된 방법 및 장치는 특정의 하드웨어나 소프트웨어를 참조하지 않고 설명했다. 이 방법 및 장치는, 적절하지 않은 실험이나 종래기술을 이용하는 일없이 실시할 본 발명의 실시예의 임의의 것을 줄이는데 필요하게 될 수도 있는 이 기술분야에서 통상의 지식을 가진 자가 상업적으로 이용할 수 있는 하드웨어 및 소프트웨어를 용이하게 채용하기에 충분한 방법으로 설명해도 좋은 것은 물론이다.
본 발명은 몇가지 특정 실시예를 참조하여 설명했지만, 이에 한정되지 않고, 본 발명의 요지 및 범위를 이탈하지 않는 범위내에서 여러 가지로 변형하여 실시할 수 있다.
이상 설명한 바와 같이 본 발명에 의하면, 특화된 메모리를 필요로 하지 않고 2사이클의 고속 푸리에 변환(FFT) 버터플라이 연산을 수행할 수 있는 DSP 아키텍쳐를 제공할 수 있다.

Claims (6)

  1. 각각이 실수와 허수 제1데이터값의 어느 하나 및 실수와 허수 계수값의 어느 하나를 수신하여 그 데이터와 계수값을 승산하여 승산결과를 공급하도록 작용하는 적어도 2개의 승산기와,
    각각이 상기 승산기로부터의 승산결과의 각각 및 실수와 허수 제2데이터값의 어느 하나를 수신하여 상기 승산결과와 상기 제2데이터값의 각각에 대해 소정의 가산 및 감산을 행하여 고속 푸리에 변환(FFT) 계산결과를 공급하도록 작용하는 적어도 2개의 3입력 산술 논리 연산장치(ALU),
    각각이 2개의 연속하는 처리사이클의 제1처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하도록 작용하는 적어도 2개의 제1사이클 레지스터,
    각각이 상기 2개의 연속하는 처리사이클의 제2처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하도록 작용하는 적어도 2개의 제2사이클 레지스터 및,
    2개의 연속하는 메모리 기록사이클의 제1메모리 기록사이클중에 상기 제1사이클 레지스터의 하나 및 상기 제2사이클 레지스터의 하나로부터의 FFT 계산결과와, 상기 2개의 연속하는 메모리 기록사이클의 제2메모리 기록사이클중에 상기 제1사이클 레지스터의 다른 하나 및 상기 제2사이클 레지스터의 다른 하나로부터의 FFT 계산결과를 선택적으로 수신하여 메모리에 저장하기 위해 전송하도록 작용하는멀티플렉싱장치를 구비하여 구성된 것을 특징으로 하는 디지탈 신호처리(DSP) 아키텍쳐.
  2. 제1항에 있어서, 실수 코사인파 데이터 입력을 수신하기 위한 적어도 하나의 제1코사인파 레지스터와,
    허수 코사인파 데이터 입력을 수신하기 위한 적어도 하나의 제2코사인파 레지스터 및,
    상기 코사인파 레지스터의 어느 하나로부터 상기 ALU의 어느 하나로 데이터를 선택적으로 공급하기 위한 멀티플렉서를 더 구비하여 구성된 것을 특징으로 하는 장치.
  3. 제2항에 있어서, 상기 다중화된 코사인파 데이터에 라운딩 정수를 연결하여 상기 ALU의 어느 하나의 연결된 입력의 하위 부분을 형성하도록 작용하는 라운딩 장치를 더 구비하여 구성된 것을 특징으로 하는 장치.
  4. 적어도 2개의 승산기에서 실수와 허수 제1데이터값의 어느 하나 및 실수와 허수 계수값의 어느 하나를 수신하는 단계와,
    상기 2개의 승산기에서 상기 데이터와 계수값을 승산하여 승산결과를 공급하는 단계,
    적어도 2개의 3입력 산술 논리 연산장치(ALU)에서 상기 승산기로부터의 승산결과의 각각 및 실수와 허수 제2데이터값의 어느 하나를 수신하는 단계,
    상기 ALU에서 상기 승산결과와 상기 제2데이터값의 각각에 대해 소정의 가산 및 감산을 행하여 고속 푸리에 변환(FFT) 계산결과를 공급하는 단계,
    적어도 2개의 제1사이클 레지스터에서 2개의 연속하는 처리사이클의 제1처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하는 단계,
    적어도 2개의 제2사이클 레지스터에서 상기 2개의 연속하는 처리사이클의 제2처리사이클중에 계산되는 ALU의 하나로부터의 FFT 계산결과를 수신하는 단계 및,
    2개의 연속하는 메모리 기록사이클의 제1메모리 기록사이클중에 상기 제1사이클 레지스터의 하나 및 상기 제2사이클 레지스터의 하나로부터의 FFT 계산결과와, 상기 2개의 연속하는 메모리 기록사이클의 제2메모리 기록사이클중에 상기 제1사이클 레지스터의 다른 하나 및 상기 제2사이클 레지스터의 다른 하나로부터의 FFT 계산결과를 선택적으로 반복하여 메모리에 저장하기 위해 전송하는 단계를 구비하여 이루어진 것을 특징으로 하는 디지탈 신호처리(DSP) 방법.
  5. 제4항에 있어서, 적어도 하나의 제1코사인파 레지스터에서 실수 코사인파 데이터 입력을 수신하는 단계와,
    적어도 하나의 제2코사인파 레지스터에서 허수 코사인파 데이터 입력을 수신하는 단계 및,
    상기 코사인파 레지스터의 어느 하나로부터 상기 ALU의 어느 하나로 데이터를 선택적으로 공급하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 다중화된 코사인파 데이터에 라운딩 정수를 연결하여 상기 ALU의 어느 하나의 연결된 입력의 하위 부분을 형성하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 방법.
KR1020010031351A 2000-06-05 2001-06-05 2사이클 고속 푸리에 변환 KR20010110202A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/587,617 US6625630B1 (en) 2000-06-05 2000-06-05 Two cycle FFT
US09/587,617 2000-06-05

Publications (1)

Publication Number Publication Date
KR20010110202A true KR20010110202A (ko) 2001-12-12

Family

ID=24350516

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010031351A KR20010110202A (ko) 2000-06-05 2001-06-05 2사이클 고속 푸리에 변환

Country Status (4)

Country Link
US (2) US6625630B1 (ko)
EP (1) EP1162545A3 (ko)
JP (1) JP2002032358A (ko)
KR (1) KR20010110202A (ko)

Cited By (1)

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

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072929B2 (en) * 2000-11-01 2006-07-04 Pts Corporation Methods and apparatus for efficient complex long multiplication and covariance matrix implementation
US7010558B2 (en) * 2001-04-19 2006-03-07 Arc International Data processor with enhanced instruction execution and method
KR100416641B1 (ko) * 2001-07-20 2004-02-05 학교법인대우학원 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로
US20030212721A1 (en) * 2002-05-07 2003-11-13 Infineon Technologies Aktiengesellschaft Architecture for performing fast fourier transforms and inverse fast fourier transforms
US6704760B2 (en) * 2002-04-11 2004-03-09 Interdigital Technology Corporation Optimized discrete fourier transform method and apparatus using prime factor algorithm
US7873815B2 (en) * 2004-03-04 2011-01-18 Qualcomm Incorporated Digital signal processors with configurable dual-MAC and dual-ALU
KR100585967B1 (ko) * 2004-12-14 2006-06-01 한국전자통신연구원 고속 하다마드 변환을 선택적으로 수행하는 고속 푸리에변환 장치 및 그를 이용한 cck 변/복조 장치
DE102005045519A1 (de) * 2005-09-23 2007-03-29 Newlogic Technologies Ag Verfahren und Vorrichtung zur FFT Berechnung
CN113378108B (zh) * 2020-02-25 2023-04-18 珠海市煊扬科技有限公司 音频处理装置的快速傅立叶变换电路

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3673399A (en) * 1970-05-28 1972-06-27 Ibm Fft processor with unique addressing
US3702393A (en) * 1970-10-21 1972-11-07 Bell Telephone Labor Inc Cascade digital fast fourier analyzer
JPS5979852A (ja) * 1982-10-29 1984-05-09 Asahi Chem Ind Co Ltd 微視的破壊検出装置
US4612626A (en) * 1983-12-27 1986-09-16 Motorola Inc. Method of performing real input fast fourier transforms simultaneously on two data streams
US4748579A (en) * 1985-08-14 1988-05-31 Gte Laboratories Incorporated Method and circuit for performing discrete transforms
GB2217058A (en) * 1988-03-23 1989-10-18 Benchmark Technologies Processing integral transform operations
US4996661A (en) * 1988-10-05 1991-02-26 United Technologies Corporation Single chip complex floating point numeric processor
US5038311A (en) * 1990-08-10 1991-08-06 General Electric Company Pipelined fast fourier transform processor
US5694347A (en) * 1991-12-19 1997-12-02 Hughes Electronics Digital signal processing system
US5373460A (en) * 1993-03-11 1994-12-13 Marks, Ii; Robert J. Method and apparatus for generating sliding tapered windows and sliding window transforms
US5548543A (en) * 1994-12-08 1996-08-20 Stanford University Computationally efficient linear-phase finite impulse response filter
JP3632319B2 (ja) * 1996-09-19 2005-03-23 トヨタ自動車株式会社 電力供給切換スイッチの制御装置
US5941940A (en) * 1997-06-30 1999-08-24 Lucent Technologies Inc. Digital signal processor architecture optimized for performing fast Fourier Transforms
US6155728A (en) * 1997-07-02 2000-12-05 Citizen Watch Co., Ltd. Printer
US6317770B1 (en) * 1997-08-30 2001-11-13 Lg Electronics Inc. High speed digital signal processor
US5987490A (en) * 1997-11-14 1999-11-16 Lucent Technologies Inc. Mac processor with efficient Viterbi ACS operation and automatic traceback store
JP3287305B2 (ja) * 1998-04-23 2002-06-04 日本電気株式会社 積和演算装置
US6549925B1 (en) * 1998-05-18 2003-04-15 Globespanvirata, Inc. Circuit for computing a fast fourier transform
US6366937B1 (en) * 1999-03-11 2002-04-02 Hitachi America Ltd. System and method for performing a fast fourier transform using a matrix-vector multiply instruction

Cited By (1)

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

Also Published As

Publication number Publication date
US20040128335A1 (en) 2004-07-01
JP2002032358A (ja) 2002-01-31
EP1162545A3 (en) 2005-01-26
EP1162545A2 (en) 2001-12-12
US6625630B1 (en) 2003-09-23

Similar Documents

Publication Publication Date Title
CN104899182B (zh) 一种支持可变分块的矩阵乘加速方法
US7568086B2 (en) Cache for instruction set architecture using indexes to achieve compression
US20200334042A1 (en) Method and device (universal multifunction accelerator) for accelerating computations by parallel computations of middle stratum operations
WO2000076119A1 (en) Cryptographic processing system
KR20010110202A (ko) 2사이클 고속 푸리에 변환
EP0507210A2 (en) A data processing system for performing square operations with improved speed and a method therefor
US6463451B2 (en) High speed digital signal processor
US20050131976A1 (en) FFT operating apparatus of programmable processors and operation method thereof
US6606700B1 (en) DSP with dual-mac processor and dual-mac coprocessor
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
US6549925B1 (en) Circuit for computing a fast fourier transform
CN115081600A (zh) 执行Winograd卷积的变换单元、集成电路装置及板卡
CN115081603A (zh) 执行Winograd卷积的计算装置、集成电路装置及板卡
KR19990077845A (ko) 파이프라인된 고속 푸리에 변환 프로세서
Gilfeather et al. Architecture of a complex arithmetic processor for communication signal processing
US7447722B2 (en) Low latency computation in real time utilizing a DSP processor
KR100416641B1 (ko) 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로
Ferretti et al. Multimedia extensions and sub-word parallelism in image processing: Preliminary results
CN115081605A (zh) 暂存Winograd卷积中的神经元数据的缓存、装置与板卡
CN115079927A (zh) 暂存卷积结果的缓存、计算装置、集成电路装置及板卡
CN115081602A (zh) 执行Winograd卷积的计算装置、集成电路装置及板卡
CN115438778A (zh) 执行Winograd卷积的集成电路装置
CN115081606A (zh) 执行Winograd卷积的装置与板卡
JPH0276069A (ja) ベクトル演算処理装置
CN114692810A (zh) 计算Winograd卷积的装置与板卡

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid