KR101334494B1 - High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method - Google Patents

High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method Download PDF

Info

Publication number
KR101334494B1
KR101334494B1 KR1020110112082A KR20110112082A KR101334494B1 KR 101334494 B1 KR101334494 B1 KR 101334494B1 KR 1020110112082 A KR1020110112082 A KR 1020110112082A KR 20110112082 A KR20110112082 A KR 20110112082A KR 101334494 B1 KR101334494 B1 KR 101334494B1
Authority
KR
South Korea
Prior art keywords
butterfly
fast fourier
fourier transform
butterfly operation
result
Prior art date
Application number
KR1020110112082A
Other languages
Korean (ko)
Other versions
KR20130047202A (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 KR1020110112082A priority Critical patent/KR101334494B1/en
Publication of KR20130047202A publication Critical patent/KR20130047202A/en
Application granted granted Critical
Publication of KR101334494B1 publication Critical patent/KR101334494B1/en

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
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Abstract

고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법이 개시된다.
고속 푸리에 변환 장치는 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산하여 고속 푸리에 변환하는 복수의 고속 푸리에 변환부; 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 제1 버터플라이 연산부; 및 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 제2 버터플라이 연산부를 포함할 수 있다.
Radix 2 quadratic fast Fourier transform apparatus and method are disclosed.
The fast Fourier transform apparatus includes: a plurality of fast Fourier transform units configured to perform fast Fourier transform by calculating single-path delay feedback (SDF) on input data received through a parallel data path; A first butterfly operation unit performing a butterfly operation on the fast Fourier transformed input data; And a second butterfly calculator configured to butterfly arithmetic operations of the first butterfly calculator.

Figure R1020110112082
Figure R1020110112082

Description

고속 저 복잡도의 Radix 2의 5승 고속 푸리에 변환 장치 및 방법{HIGH-SPEED LOW-COMPLEXITY RADIX-2 TO THE FIFTH FAST FOURIER TRANSFORM APPARATUS AND METHOD}HIGH SPEED LOW-COMPLEXITY RADIX-2 TO THE FIFTH FAST FOURIER TRANSFORM APPARATUS AND METHOD}

본 발명은 Radix 2의 5승 고속 푸리에 변환 장치 및 방법에 관한 것으로, 보다 상세하게는, 고속 푸리에 변환 방법에서 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높이는 파이프라인 고속 푸리에 변환 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for a quadratic fast Fourier transform of Radix 2. More particularly, the present invention relates to a pipeline fast Fourier transform device and method for increasing data throughput by performing a parallel operation on a part of a higher stage in the fast Fourier transform method. will be.

직교 주파수 분할 다중화 (OFDM: Orthogonal Frequency Division Multiplexing) 는 통신 시스템에서 하나의 반송파를 여러 개의 직교되는 부 반송파로 나누어 데이터 열을 실어서 변조 및 전송함으로써, 통신 시스템을 병렬 구조화 하지 않아도 단일 반송파 통신 시스템을 병렬 구조화 하는 것에 가까운 고속 데이터 전송이 가능한 방식이다.Orthogonal Frequency Division Multiplexing (OFDM) divides a single carrier into several orthogonal subcarriers in a communication system, loads, modulates, and transmits a data stream, thereby providing a single carrier communication system without having to parallel structure the communication system. This is a high speed data transfer that is close to parallel structure.

이때, 직교 주파수 분할 다중화 방식은 이산 푸리에 변환 (Discrete Fourier Transform; DFT) 방식을 사용하여 구현한다. 그러나 이산 푸리에 변환 방식을 하드웨어로 구현하면, 입력 길이인 포인트 수의 증가에 따라 복소 덧셈, 뺄셈 및 곱셈 연산이 지수적으로 증가하여 하드웨어 비용이 늘어나므로, 고속 푸리에 변환을 사용하고 있다.In this case, orthogonal frequency division multiplexing is implemented using a Discrete Fourier Transform (DFT) scheme. However, when the discrete Fourier transform is implemented in hardware, the fast Fourier transform is used because the complex add, subtract, and multiply operations increase exponentially with the increase in the number of points, the input length.

한국공개특허 제10-2008-0062003호(공개일 2008년 07월 03일)에는 파이프라인 (Pipeline) 구조를 사용한 고속 푸리에 변환 장치가 개시되어 있다. 종래의 파이프라인 구조를 사용한 고속 푸리에 변환 장치는 Radix-22 알고리즘을 사용하고 있으나, Radix-22 알고리즘은 높은 입력 길이의 고속 푸리에 변환 연산을 수행하는 경우 다수의 곱셈기가 필요하게 되어 하드웨어 설계 비용이 높아진다는 문제가 있었다. Korean Patent Publication No. 10-2008-0062003 (published Jul. 03, 2008) discloses a fast Fourier transform apparatus using a pipeline structure. The fast Fourier transform apparatus using the conventional pipeline structure uses the Radix-2 2 algorithm, but the Radix-2 2 algorithm requires a multiplier when performing the fast Fourier transform operation with a high input length. There was a problem of this being high.

따라서 종래의 고속 푸리에 변환 프로세서보다 저 면적으로 구현 할 수 있으면서도 고속 처리가 가능한 장치 및 방법이 요청되고 있다.Therefore, there is a need for an apparatus and method that can be implemented in a lower area than a conventional fast Fourier transform processor and can be processed at a high speed.

본 발명은 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높일 수 있는 파이프라인 고속 푸리에 변환 장치 및 방법을 제공한다.The present invention provides a pipeline fast Fourier transform apparatus and method that can increase the data throughput by performing parallel operations on some of the higher stages.

또한, 본 발명은 복잡한 구조를 가지는 복소 부스(Booth) 곱셈기의 대부분을 간단한 구조를 가지는 공통 서브 익스프레션 공유(Common Sub-expression Sharing; CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복수 상수 곱셈기로 대체함으로써, 복잡도가 낮은 고속 푸리에 변환 장치 및 방법을 제공한다. In addition, the present invention is a Canonical Signed Digit (CSD) method using a common sub-expression sharing (CSS) technique having a simple structure for most of the complex booth multiplier having a complex structure By replacing with a plural constant multiplier, there is provided a fast Fourier transform device and method with low complexity.

본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 고속 푸리에 변환하는 복수의 고속 푸리에 변환부; 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 제1 버터플라이 연산부; 및 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 제2 버터플라이 연산부를 포함할 수 있다.A fast Fourier transform device according to an embodiment of the present invention includes a plurality of fast Fourier transform unit for performing a fast Fourier transform by calculating a single-path delay feedback (SDF) input data received through a parallel data path; A first butterfly operation unit performing a butterfly operation on the fast Fourier transformed input data; And a second butterfly calculator configured to butterfly arithmetic operations of the first butterfly calculator.

본 발명의 일실시예에 따른 고속 푸리에 변환 장치의 고속 푸리에 변환부는, 32-FIFO 메모리와 연결된 제2 버터플라이 연산부를 통해 버터플라이 연산하는 제1 단계; 16-FIFO 메모리와 연결된 제1 버터플라이 연산부를 통해 상기 제1 단계의 연산 결과를 버터플라이 연산하는 제2 단계; 8-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제2 단계의 연산 결과를 버터플라이 연산하는 제3 단계; 4-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제3 단계의 연산 결과를 버터플라이 연산하는 제4 단계; 2-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제4 단계의 연산 결과를 버터플라이 연산하는 제5 단계; 및 1-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제5 단계의 연산 결과를 버터플라이 연산하는 제6 단계를 포함하는 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산을 수행할 수 있다.A fast Fourier transform unit of the fast Fourier transform device according to an embodiment of the present invention, the first step of performing a butterfly operation through a second butterfly calculation unit connected to the 32-FIFO memory; A second step of performing a butterfly operation on the operation result of the first step through a first butterfly operation unit connected to a 16-FIFO memory; A third step of performing a butterfly operation on the operation result of the second step through a first butterfly operation unit connected to an 8-FIFO memory; A fourth step of performing a butterfly operation on the operation result of the third step through a second butterfly operation unit connected to a 4-FIFO memory; A fifth step of performing a butterfly operation on the operation result of the fourth step through a first butterfly operation unit connected to a 2-FIFO memory; And a sixth step of performing a butterfly operation on the operation result of the fifth step through a second butterfly operation unit connected to the 1-FIFO memory to perform a single-path delay feedback (SDF) operation. have.

본 발명의 일실시예에 따른 고속 푸리에 변환 장치의 고속 푸리에 변환부는 복소 상수 곱셈기를 사용하여 상기 제2 단계의 연산 결과와 상기 제3단계의 연산 결과를 회전 인자 곱셈 연산할 수 있다.The fast Fourier transform unit of the fast Fourier transform device according to an embodiment of the present invention may perform a rotation factor multiplication operation on the calculation result of the second step and the operation result of the third step by using a complex constant multiplier.

본 발명의 일실시예에 따른 고속 푸리에 변환 장치의 복소 상수 곱셈기는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기일 수 있다.The complex constant multiplier of the fast Fourier transform apparatus according to an embodiment of the present invention may be a multiple constant multiplier of a canonical code number (CSD) method using a common subexpression sharing (CSS) technique.

본 발명의 일실시예에 따른 고속 푸리에 변환 방법은 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산하여 병렬로 고속 푸리에 변환하는 단계; 제1 버터플라이 연산부를 사용하여 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 단계; 및 제2 버터플라이 연산부를 사용하여 상기 제1 버터플라이 연산부의 연산 결과를 버터플라이 연산하는 단계를 포함할 수 있다.A fast Fourier transform method according to an embodiment of the present invention comprises the steps of performing a fast Fourier transform in parallel by calculating a single-path delay feedback (SDF) input data received through the parallel data path; Performing a butterfly operation on the fast Fourier transformed input data using the first butterfly calculator; And performing a butterfly operation on a calculation result of the first butterfly calculator using a second butterfly calculator.

본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 6차원 인덱스 분해법에 의해 유도 되는 Radix-25 알고리즘에 공통 인수 분해 알고리즘을 적용하여 수식을 재구성한 수정된 Radix-25 알고리즘에 따라 고속 푸리에 변환을 수행할 수 있다.A fast Fourier transform apparatus according to an embodiment of the present invention is a fast Fourier transform according to a modified Radix-2 5 algorithm that reconstructs an equation by applying a common factorization algorithm to a Radix-2 5 algorithm derived by 6-dimensional index decomposition. Can be performed.

본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 6차원 인덱스 분해법에 의해 유도 되는 복수의 Radix-25 알고리즘을 기초로 병렬 구조 및 파이프라인 방식을 이용한 수정된 Radix-25 알고리즘에 따라 고속 푸리에 변환을 수행할 수 있다.A fast Fourier transform apparatus according to an embodiment of the present invention is a fast Fourier transform according to a modified Radix-2 5 algorithm using a parallel structure and a pipeline method based on a plurality of Radix-2 5 algorithms derived by 6-dimensional index decomposition. You can perform the conversion.

본 발명의 일실시예에 의하면, 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치에서 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높일 수 있다.According to an embodiment of the present invention, the data throughput may be increased by performing a parallel operation on a part of an upper stage in a pipeline fast Fourier transform apparatus having a plurality of parallel data paths.

또한, 본 발명의 일실시예에 의하면, 복잡한 구조를 가지는 복소 부스(Booth) 곱셈기의 대부분을 간단한 구조를 가지는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기로 대체함으로써, 고속 푸리에 변환 장치의 복잡도를 낮출 수 있다.In addition, according to an embodiment of the present invention, a majority of the complex booth multiplier having a complicated structure is a plural constant multiplier of a canonical code number (CSD) method using a common subexpression sharing (CSS) technique having a simple structure. By replacing, the complexity of the fast Fourier transform device can be reduced.

도 1은 64 포인트의 Radix-25 알고리즘의 전개 방법 1을 이용한 고속 푸리에 변환 방법의 개략적인 신호 흐름도이다.
도 2는 64 포인트의 Radix-25 알고리즘의 전개 방법 2를 이용한 고속 푸리에 변환 방법의 개략적인 신호 흐름도이다.
도 3은 본 발명의 일실시예에 따른 고속 푸리에 변환 장치를 도시한 블록 다이어그램이다.
도 4는 본 발명의 일실시예에 따른 고속 푸리에 변환부를 도시한 블록 다이어그램이다.
도 5는 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 CSD 상수 곱셈기의 구성을 도시한 도면이다.
도 8은 회전 인자 W32를 위한 본 발명의 일실시예에 따른 복소 상수 곱셈기의 구성을 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 후처리부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.
도 10은 본 발명의 일실시예에 따른 후처리부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.
도 11은 본 발명의 일실시예에 따른 고속 푸리에 변환 방법을 도시한 플로우차트이다.
1 is a schematic signal flow diagram of a fast Fourier transform method using a method 1 of deploying a 64-point Radix-2 5 algorithm.
FIG. 2 is a schematic signal flow diagram of a fast Fourier transform method using a deployment method 2 of a 64-point Radix-2 5 algorithm.
3 is a block diagram illustrating a fast Fourier transform device according to an embodiment of the present invention.
4 is a block diagram illustrating a fast Fourier transform unit according to an embodiment of the present invention.
5 is a diagram illustrating a configuration of a first butterfly calculator included in a fast Fourier transform unit according to an embodiment of the present invention.
6 is a diagram illustrating a configuration of a second butterfly calculator included in a fast Fourier transform unit according to an exemplary embodiment of the present invention.
7 is a diagram illustrating a configuration of a CSD constant multiplier according to an embodiment of the present invention.
8 shows for rotation factor W 32 A diagram illustrating a configuration of a complex constant multiplier according to an embodiment of the present invention.
9 is a diagram illustrating a configuration of a first butterfly calculation unit included in a post-processing unit according to an embodiment of the present invention.
10 is a diagram illustrating a configuration of a second butterfly calculating unit included in a post-processing unit according to an embodiment of the present invention.
11 is a flowchart illustrating a fast Fourier transform method according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 고속 푸리에 변환 방법은 고속 푸리에 변환 장치에 의해 수행될 수 있다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The fast Fourier transform method according to an embodiment of the present invention may be performed by a fast Fourier transform device.

본 발명은 Radix-25 알고리즘을 사용한 고속 푸리에 변환 방법이다.The present invention is a fast Fourier transform method using the Radix-2 5 algorithm.

고속 푸리에 변환 방법 중에 64 포인트의 Radix-25 알고리즘은 공통 인수 분해 알고리즘의 적용 방법에 따라 도 1이나 도 2와 같은 신호 흐름도를 사용할 수 있다. 이때, 도 1을 64 포인트의 Radix-25 알고리즘의 전개 방법 1에 따른 신호 흐름도라 하고, 도 2를 64 포인트의 Radix-25 알고리즘의 전개 방법 2에 따른 신호 흐름도라 한다.The 64-point Radix-2 5 algorithm in the fast Fourier transform method may use a signal flow diagram as shown in FIG. 1 or 2 according to a method of applying a common factorization algorithm. At this time, the Dorado signal flow according to a first signal stream Dora, and deployment of the Radix-2 algorithm of the Fig. 5 2 2 64-point method according to the development method 1, the Radix-2 algorithm 5 of 64 points.

이때, 길이가 N인 이산 푸리에 변환은 수학식 1과 같이 정의할 수 있다.In this case, the discrete Fourier transform of length N may be defined as in Equation 1.

Figure 112011085365867-pat00001
Figure 112011085365867-pat00001

이때, WN은 회전 인자이고, n은 시간 인덱스이며, k는 주파수 인덱스일 수 있다.In this case, W N may be a rotation factor, n may be a time index, and k may be a frequency index.

이때, Radix-25 알고리즘을 유도하기 위하여 수학식 1과 같은 이산 푸리에 변환에 6차원 선형 인덱스 맵을 적용하면 수학식 2를 생성할 수 있다.In this case, Equation 2 may be generated by applying a six-dimensional linear index map to a Discrete Fourier Transform, such as Equation 1, to derive the Radix-2 5 algorithm.

Figure 112011085365867-pat00002
Figure 112011085365867-pat00002

다음으로, 수학식 2에 공통 인수 분해 알고리즘(Common Factor Algorithm; CFA)을 적용하면 수학식 3을 생성할 수 있다.Next, when the common factor algorithm (CFA) is applied to Equation 2, Equation 3 may be generated.

Figure 112011085365867-pat00003
Figure 112011085365867-pat00003

이때, 수학식 3의 회전 인자를 정리하면 수학식 4를 생성할 수 있다.At this time, if the rotation factor of Equation 3 is arranged, Equation 4 may be generated.

Figure 112011085365867-pat00004
Figure 112011085365867-pat00004

이때, 수학식 4는 도 1에 도시된 바와 같이 64 포인트의 Radix-25 알고리즘의 전개 방법 1에 따른 각 스테이지의 버터플라이 연산 및 회전 인자 곱셈 연산의 순서 및 구조를 나타낼 수 있다. In this case, Equation 4 may represent the order and structure of the butterfly operation and the rotation factor multiplication operation of each stage according to the deployment method 1 of the Radix-2 5 algorithm of 64 points as shown in FIG. 1.

이때, 첫 번째 스테이지의 회전 인자 곱셈(110)와 네 번째 스테이지의 회전 인자 곱셈(120)은 곱셈기를 필요로 하지 않는 단순 곱셈으로 구성될 수 있다. 또한, W8 회전 인자 복소 곱셈(130)의 회전 인자 수는 1개이고, W32 회전 인자 복소 곱셈(140) 의 회전 인자 수는 7개로 구성될 수 있다. 이때, W8 회전 인자 복소 곱셈(130)과 W32 회전 인자 복소 곱셈(140)은 CSD 특수 상수 곱셈기를 사용하여 수행될 수 있다. 이때, 64P BU2는 64포인트 제2 버터플라이 연산이고, 32P BU1은 32포인트 제1 버터플라이 연산일 수 있다. 또한, 16P BU1은 16포인트 제1 버터플라이 연산이고, 8P BU2는 8포인트 제2 버터플라이 연산일 수 있다. In this case, the rotation factor multiplication 110 of the first stage and the rotation factor multiplication 120 of the fourth stage may be constituted by simple multiplication that does not require a multiplier. In addition, the number of rotation factors of the W 8 rotation factor complex multiplication 130 may be one, and the number of rotation factors of the W 32 rotation factor complex multiplication 140 may be seven. In this case, the W 8 rotation factor complex multiplication 130 and the W 32 rotation factor complex multiplication 140 may be performed using a CSD special constant multiplier. At this time, 64P BU2 may be a 64 point second butterfly operation, and 32P BU1 may be a 32 point first butterfly operation. In addition, 16P BU1 may be a 16 point first butterfly operation, and 8P BU2 may be an 8 point second butterfly operation.

또한, 수학식 1과 수학식 2에 적용하는 공통 인수 분해 알고리즘을 수학식 3과 다른 방식으로 적용하는 경우, 수학식 5를 생성할 수 있다.In addition, when the common factorization algorithm applied to Equations 1 and 2 is applied in a manner different from that of Equation 3, Equation 5 may be generated.

Figure 112011085365867-pat00005
Figure 112011085365867-pat00005

이때, 수학식 5의 회전 인자를 정리하면 수학식 6을 생성할 수 있다.At this time, by arranging the rotation factors of Equation 5, Equation 6 may be generated.

Figure 112011085365867-pat00006
Figure 112011085365867-pat00006

이때, 수학식 6은 도 2에 도시된 바와 같이 64 포인트의 Radix-25 알고리즘의 전개 방법 2에 따른 각 스테이지의 버터플라이 연산 및 회전 인자 곱셈 연산의 순서 및 구조를 나타낼 수 있다. In this case, Equation 6 may represent the order and structure of the butterfly operation and the rotation factor multiplication operation of each stage according to the deployment method 2 of the Radix-2 5 algorithm of 64 points as shown in FIG. 2.

이때, 첫 번째 스테이지의 회전 인자 곱셈(210)과 세 번째 스테이지의 회전 인자 곱셈(220)은 곱셈기를 필요로 하지 않는 단순 곱셈으로 구성될 수 있다. 또한, 두 번째 스테이지의 W16 회전 인자 복소 곱셈(230)에서의 회전 인자 수를 3개로 구성함으로써, CSD 특수 상수 곱셈기를 사용 하여 두 번째 스테이지의 W16 회전 인자 복소 곱셈(230)을 연산할 수 있다. 그리고, 다섯 번째 스테이지의 회전 인자 곱셈(240)은 고속 푸리에 변환의 입력 길이가 512 보다 작은 경우, 회전 인자 수를 최대 7개로 구성함으로써, CSD 특수 상수 곱셈기로 다섯 번째 스테이지의 회전 인자 곱셈(240)을 연산할 수 있다.In this case, the rotation factor multiplication 210 of the first stage and the rotation factor multiplication 220 of the third stage may be constituted by simple multiplication that does not require a multiplier. In addition, the two can be computed by forming the number of twiddle factors three, CSD W 16 rotation factor complex multiplication 230 of the second stage by using a special constant multiplier in a W 16 rotation factor complex multiplication (230) of the second stage have. If the input length of the fast Fourier transform is less than 512, the rotation factor multiplication 240 of the fifth stage may be configured with a maximum of seven rotation factors. Can be calculated.

본 발명에 따른 Radix-25 알고리즘은 복소 곱셈 연산량을 최소화 하기 위하여 첫 번째 스테이지에서 상위 다섯 번째 스테이지까지는 수학식 3과 수학식 4에 따른 전개 방법 1을 적용하여 연산하고, 여섯 번째 스테이지부터는 마지막 스테이지까지는 수학식 5와 수학식 6에 따른 전개 방법 2를 적용하여 연산할 수 있다.The Radix-2 5 algorithm according to the present invention operates from the first stage to the upper fifth stage by applying the expansion method 1 according to Equation 3 and Equation 4, and from the sixth stage to the last stage. Up to 2 may be calculated by applying the expansion method 2 according to Equations 5 and 6 below.

또한, 본 발명에 따른 Radix-25 알고리즘은 프로그래머블 복소 곱셈기를 대신하여 CSS 기법 및 CSD 방식을 이용한 복소 상수 곱셈기로 복수 상수 곱셈을 연산함으로써, 하드웨어의 설계 비용 및 전력 소모를 감소시킬 수 있다. 이때, 본 발명에 따른 복소 상수 곱셈기는 CSD 방식을 통해 0 (Zero)이 아닌 비트의 개수를 최소화하고 CSS 기법을 통해 공통 연산부를 공유하도록 연산과정을 간소화할 수 있다.In addition, the Radix-2 5 algorithm according to the present invention can reduce the design cost and power consumption of hardware by calculating a multiple constant multiplication using a complex constant multiplier using CSS and CSD instead of the programmable complex multiplier. In this case, the complex constant multiplier according to the present invention can simplify the calculation process to minimize the number of non-zero bits through the CSD method and to share the common operation unit through the CSS method.

도 3은 본 발명의 일실시예에 따른 고속 푸리에 변환 장치를 도시한 블록 다이어그램이다. 3 is a block diagram illustrating a fast Fourier transform device according to an embodiment of the present invention.

본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 도 3에 도시된 바와 같이 8개의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치이며, 고속 푸리에 변환부(310)와, 후처리부(320)를 포함할 수 있다. The fast Fourier transform device according to an embodiment of the present invention is a pipelined Fast Fourier transform device having eight parallel data paths as shown in FIG. 3, and includes a fast Fourier transform unit 310 and a post processor 320. It may include.

고속 푸리에 변환부(310)는 8개의 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 64 포인트의 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 고속 푸리에 변환할 수 있다. 이때, 고속 푸리에 변환부(310)는 제1 고속 푸리에 변환부(311) 내지 제8 고속 푸리에 변환부(312)를 사용하여 병렬 데이터 경로를 통하여 입력된 입력 데이터들을 독립적으로 병렬 연산할 수 있다.The fast Fourier transform unit 310 may perform fast Fourier transform by calculating 64-point single-path delay feedback (SDF) on input data received through eight parallel data paths. In this case, the fast Fourier transform unit 310 may independently perform parallel operation on input data input through the parallel data path using the first fast Fourier transform unit 311 to the eighth fast Fourier transform unit 312.

또한, 고속 푸리에 변환부(310)는 본 발명의 일실시예에 따른 고속 푸리에 변환 방법의 제1 단계 내지 제6 단계에 해당하는 상위 6개의 스테이지를 수행할 수 있다.In addition, the fast Fourier transform unit 310 may perform upper six stages corresponding to the first to sixth steps of the fast Fourier transform method according to an embodiment of the present invention.

고속 푸리에 변환부(310)의 상세 구성과 수행하는 스테이지들은 이하 도 4를 기초로 상세히 설명한다.The detailed configuration of the fast Fourier transform unit 310 and the performing stages will be described in detail with reference to FIG. 4.

후처리부(320)는 제1 버터플라이 연산부와 제2 버터플라이 연산부 및 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)로 하위 3스테이지를 수행하여 제1 고속 푸리에 변환부(311) 내지 제8 고속 푸리에 변환부(312)의 출력을 후처리할 수 있다.The post processor 320 performs the lower three stages by the first butterfly operator, the second butterfly operator, and the complex constant multiplier 322 for multiplying the rotation factor of W 16 to perform the first fast Fourier transform units 311 to 3rd. 8 The output of the fast Fourier transform unit 312 can be post-processed.

이때, 후처리부(320)는 7 번째 스테이지에서 4개의 제1 버터플라이 연산부(321)를 사용하여 제1 고속 푸리에 변환부(311) 내지 제8 고속 푸리에 변환부(312)의 출력을 8 포인트 버터플라이 연산할 수 있다. 이때, 7 번째 스테이지의 회전 인자 곱셈 연산은 3 종류의 회전 인자를 필요로 하므로, 후처리부(320)는 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)를 이용하여 제1 버터플라이 연산부(321)의 출력에 회전 인자 곱셈 연산을 수행할 수 있다. 이때, W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)는 공통 서브 익스프레션 공유(Common Sub-expression Sharing: CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복수 상수 곱셈기일 수 있다. In this case, the post-processing unit 320 may output the outputs of the first fast Fourier transform units 311 to 8th fast Fourier transform unit 312 by using four first butterfly calculators 321 in the seventh stage. Can fly operation. In this case, since the rotation factor multiplication operation of the seventh stage requires three types of rotation factors, the post-processing unit 320 uses the complex butterfly multiplier 322 for multiplying the rotation factor of W 16 to generate the first butterfly operator ( A rotation factor multiplication operation may be performed on the output of 321. In this case, the complex constant multiplier 322 for multiplying the rotation factor of W 16 may be a plural constant multiplier of Canonical Signed Digit (CSD) using a common sub-expression sharing (CSS) technique. have.

또한, 후처리부(320)는 8번째 스테이지와 4개의 제2 버터플라이 연산부(323)를 사용하여 7 번째 스테이지의 결과를 4 포인트 버터플라이 연산할 수 있다. In addition, the post processor 320 may perform a four point butterfly operation on the result of the seventh stage using the eighth stage and four second butterfly calculators 323.

그리고, 후처리부(320)는 9번째 스테이지에서 4개의 제1 버터플라이 연산부(324)를 사용하여 8 번째 스테이지 결과를 2 포인트 버터플라이 연산하여 64 클럭 동안 결과를 출력할 수 있다. The post-processing unit 320 may output a result for 64 clocks by performing a two-point butterfly operation on the eighth stage result using the four first butterfly calculators 324 in the ninth stage.

후처리부(320)의 제1 버터플라이 연산부와 제2 버터플라이 연산부의 상세 구성과 동작은 이하 도 9와 도 10을 참조로 상세히 설명한다. 또한, 복소 상수 곱셈기(322)의 구성은 도 7을 참조로 상세히 설명한다.Detailed configurations and operations of the first butterfly calculating unit and the second butterfly calculating unit of the post-processing unit 320 will be described in detail with reference to FIGS. 9 and 10. In addition, the configuration of the complex constant multiplier 322 will be described in detail with reference to FIG.

도 4는 본 발명의 일실시예에 따른 고속 푸리에 변환부를 도시한 블록 다이어그램이다. 4 is a block diagram illustrating a fast Fourier transform unit according to an embodiment of the present invention.

본 발명의 일실시예에 따른 고속 푸리에 변환부(310)은 도 4에 도시된 바와 같이 6개의 스테이지를 수행하기 위한 6개의 버터플라이 연산부(410, 420, 430, 440, 450, 460)와 W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422), W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432) 및 각각의 버터플라이 연산부에 대응하는 FIFO 메모리(411, 421, 431, 441, 451, 461)를 포함할 수 있다. 이때, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422), W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기일 수 있다. 이때, 고속 푸리에 변환부(310)의 제1 버터플라이 연산부와 제2 버터플라이 연산부의 상세 구성과 동작은 이하 도 5와 도 6을 참조로 상세히 설명한다.The fast Fourier transform unit 310 according to an embodiment of the present invention includes six butterfly calculators 410, 420, 430, 440, 450, 460 and W for performing six stages as shown in FIG. 4. Complex constant multiplier 422 for multiplying rotation factors of 8 , complex constant multiplier 432 for multiplying rotation factors of W 32 , and FIFO memories 411, 421, 431, 441, 451, corresponding to respective butterfly operations. 461). In this case, the complex constant multiplier 422 for multiplying the rotation factor of W 8 and the complex constant multiplier 432 for multiplying the rotation factor of W 32 are provided by a canonical code number (CSD) method using a common subexpression sharing (CSS) technique. It may be a multiple constant multiplier. In this case, the detailed configuration and operation of the first butterfly calculation unit and the second butterfly calculation unit of the fast Fourier transform unit 310 will be described in detail with reference to FIGS. 5 and 6.

본 발명의 일실시예에 따른 고속 푸리에 변환부(310)는 8개의 파이프라인 중 하나로부터 매 클럭 당 1개의 복소수 값을 입력 데이터로 수신할 수 있다.The fast Fourier transform unit 310 according to an embodiment of the present invention may receive one complex value per clock from one of eight pipelines as input data.

이때, 고속 푸리에 변환부(310)는 32-FIFO 메모리(411)와 연결된 제2 버터플라이 연산부(410)를 통해 입력 데이터를 64 포인트 버터플라이 연산하는 첫 번째 스테이지를 수행할 수 있다.In this case, the fast Fourier transform unit 310 may perform a first stage of performing 64-point butterfly operation on the input data through the second butterfly operator 410 connected to the 32-FIFO memory 411.

구체적으로, 제2 버터플라이 연산부(410)는 1클럭부터 32클럭까지는 입력 데이터를 32-FIFO 메모리(411)에 저장할 수 있다. 다음으로, 제2 버터플라이 연산부(410)는 32클럭부터 64클럭까지의 입력 데이터를 32-FIFO 메모리(411)에 저장 된 값과 버터플라이 연산을 수행할 수 있다. 이때, 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과는 두 번째 스테이지 연산을 위해 출력할 수 있다. 또한, 버터플라이 연산 결과 중 복소 뺄셈을 수행한 결과는 32-FIFO 메모리(411)에 저장할 수 있다. 이때, 32-FIFO 메모리(411)의 특성에 따라 버터플라이 연산 결과 중 복소 뺄셈을 수행한 결과는 32 클럭이 경과한 후에 출력될 수 있다.In detail, the second butterfly calculator 410 may store input data in the 32-FIFO memory 411 from one clock to 32 clocks. Next, the second butterfly operator 410 may perform a butterfly operation with values stored in the 32-FIFO memory 411 for input data of 32 clocks to 64 clocks. In this case, the result of performing the complex addition among the butterfly operation results may be output for the second stage operation. In addition, the result of performing the complex subtraction among the butterfly operation results may be stored in the 32-FIFO memory 411. In this case, the complex subtraction result of the butterfly operation according to the characteristics of the 32-FIFO memory 411 may be output after 32 clocks have elapsed.

다음으로, 고속 푸리에 변환부(310)는 16-FIFO 메모리(421)와 연결된 제1 버터플라이 연산부(420)를 통해 입력 데이터를 32 포인트 버터플라이 연산하는 두 번째 스테이지를 수행할 수 있다. 이때, 고속 푸리에 변환부(310)는 8-FIFO 메모리(431)와 연결된 제1 버터플라이 연산부(430)를 통해 입력 데이터를 16 포인트 버터플라이 연산하는 세 번째 스테이지를 수행할 수 있다. Next, the fast Fourier transform unit 310 may perform a second stage of performing 32 point butterfly operation on the input data through the first butterfly operator 420 connected to the 16-FIFO memory 421. In this case, the fast Fourier transform unit 310 may perform a third stage of performing 16 point butterfly operation on the input data through the first butterfly operation unit 430 connected to the 8-FIFO memory 431.

그 다음으로, 고속 푸리에 변환부(310)는 4-FIFO 메모리(441)와 연결된 제2 버터플라이 연산부(440)를 통해 입력 데이터를 8 포인트 버터플라이 연산하는 네 번째 스테이지를 수행할 수 있다. 이때, 고속 푸리에 변환부(310)는 2-FIFO 메모리(451)와 연결된 제1 버터플라이 연산부(450)를 통해 입력 데이터를 4 포인트 버터플라이 연산하는 다섯 번째 스테이지를 수행할 수 있다. Next, the fast Fourier transform unit 310 may perform a fourth stage of 8-point butterfly operation on the input data through the second butterfly operator 440 connected to the 4-FIFO memory 441. In this case, the fast Fourier transform unit 310 may perform a fifth stage of performing four point butterfly operation on the input data through the first butterfly operator 450 connected to the 2-FIFO memory 451.

마지막으로, 고속 푸리에 변환부(310)는 1-FIFO 메모리(461)와 연결된 제2 버터플라이 연산부(460)를 통해 입력 데이터를 2 포인트 버터플라이 연산하는 여섯 번째 스테이지를 수행할 수 있다.Finally, the fast Fourier transform unit 310 may perform a sixth stage of performing two point butterfly operation on the input data through the second butterfly operator 460 connected to the 1-FIFO memory 461.

이때, 제2 버터플라이 연산부는 제1 버터플라이 연산부와 동일한 연산 결과에 복소수 (-j)를 곱하는 단순 곱셈 연산을 추가하는 구성이다. 따라서, 제2 버터플라이 연산부를 사용하지 않은 두 번째 스테이지와 세 번째 스테이지 및 다섯 번째 스테이지는 회전 인자 곱셈을 위한 곱셈기를 필요로 할 수 있다.In this case, the second butterfly calculator is configured to add a simple multiplication operation that multiplies a complex number (-j) by the same operation result as the first butterfly calculator. Thus, the second stage, the third stage, and the fifth stage without using the second butterfly operator may require a multiplier for rotation factor multiplication.

이때, 두 번째 스테이지와 세 번째 스테이지는 곱셈을 위한 회전 인자의 종류가 적을 수 있다, 따라서, 고속 푸리에 변환부(310)는 W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)를 사용하여 두 번째 스테이지의 연산 결과를 회전 인자 곱셈 연산하고, W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)를 사용하여 세 번째 스테이지의 연산 결과를 회전 인자 곱셈 연산할 수 있다.In this case, the second stage and the third stage may have fewer kinds of rotation factors for multiplication. Therefore, the fast Fourier transform unit 310 uses a complex constant multiplier 422 for multiplication of the rotation factor of W 8 . A rotation factor multiplication operation may be performed on the result of the third stage, and a rotation factor multiplication operation may be performed on the result of operation of the third stage by using a complex constant multiplier 432 for multiplying the rotation factor of W 32 .

또한, 고속 푸리에 변환부(310)는 W32의 회전 인자 복소 부스(Booth) 곱셈기(452)를 사용하여 다섯 번째 스테이지의 연산 결과를 회전 인자 곱셈 연산할 수 있다. 이때, 복소 부스(Booth) 곱셈기(452)는 ROM 메모리에 기 저장된 회전 인자 값을 사용하여 회전 인자 곱셈 연산을 수행할 수 있다.In addition, the fast Fourier transform unit 310 may use the rotation factor complex booth multiplier 452 of W 32 to perform rotation factor multiplication of the fifth stage. In this case, the complex booth multiplier 452 may perform a rotation factor multiplication operation using the rotation factor values pre-stored in the ROM memory.

본 발명에 따른 고속 푸리에 변환부(310)는 각 병렬 데이터 경로에 도 4에 도시된 바와 같은 단일 경로 지연 피드백 구조를 사용하여 여섯 번째 스테이지까지 연산함으로써, 동일한 제어 신호로 64 포인트 고속 푸리에 변환을 연산할 수 있다.The fast Fourier transform 310 according to the present invention computes a 64-point fast Fourier transform with the same control signal by calculating up to the sixth stage by using a single path delay feedback structure as shown in FIG. 4 for each parallel data path. can do.

도 5는 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.5 is a diagram illustrating a configuration of a first butterfly calculator included in a fast Fourier transform unit according to an embodiment of the present invention.

본 발명에 따른 고속 푸리에 변환부(310)에 포함된 제1 버터플라이 연산부(420, 430, 450)는 N 포인트 버터플라이 연산을 수행하는 경우, N/2 번째 클럭을 기준으로 두 가지 연산 과정을 수행할 수 있다.The first butterfly calculators 420, 430, and 450 included in the fast Fourier transform unit 310 according to the present invention perform two calculation processes based on the N / 2th clock when performing the N point butterfly operation. Can be done.

먼저, 제1 버터플라이 연산부(420, 430, 450)는 첫 번째부터 N/2 번째 클럭까지 입력되는 복소수 값을 N/2-FIFO 메모리(510)에 순차적으로 저장하고, N/2-FIFO 메모리(510)에 기 저장되었던 복소수 값을 순차적으로 다음 스테이지에 출력할 수 있다.First, the first butterfly operation units 420, 430, and 450 sequentially store complex values input from the first to N / 2 th clocks in the N / 2-FIFO memory 510, and N / 2-FIFO memories. Complex values previously stored at 510 may be sequentially output to the next stage.

다음으로, 제1 버터플라이 연산부(420, 430, 450)는 N/2 번째 클럭부터 N 번째 클럭까지 입력되는 복소수 값과 N/2-FIFO 메모리(510)에서 출력되는 복소수 값을 버터플라이 연산을 할 수 있다. 이때, 제1 버터플라이 연산부(420, 430, 450)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과를 N/2-FIFO 메모리(510)에 순차적으로 입력할 수 있다(520). 이때, 입력한 순서대로 출력하는 N/2-FIFO 메모리(510)의 특성에 따라 버터플라이 연산 결과 중 복소 뺄셈을 수행한 결과는 N/2 클럭이 경과한 후에 출력될 수 있다. 예를 들어, N이 32인 경우, 16클럭에 버터플라이 연산 중 복소 뺄셈을 수행한 결과로 16-FIFO 메모리에 저장된 값은 16클럭이 경과한 후인 33클럭, 즉, 새로운 1클럭에 출력될 수 있다. Next, the first butterfly calculator 420, 430, 450 performs a butterfly operation on the complex value input from the N / 2 th clock to the N th clock and the complex value output from the N / 2-FIFO memory 510. can do. In this case, the first butterfly calculators 420, 430, and 450 may sequentially input complex subtraction results to the N / 2-FIFO memory 510 among the butterfly calculation results (520). In this case, the complex subtraction result of the butterfly operation according to the characteristics of the N / 2-FIFO memory 510 output in the input order may be output after the N / 2 clock has elapsed. For example, if N is 32, as a result of performing complex subtraction during the butterfly operation on 16 clocks, the value stored in the 16-FIFO memory may be output to 33 clocks, i.e., a new one clock after 16 clocks have elapsed. have.

또한, 제1 버터플라이 연산부(420, 430, 450)는 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과를 다음 스테이지로 출력할 수 있다(530).In operation 530, the first butterfly calculator 420, 430, or 450 may output a complex addition result from the butterfly calculation result to the next stage.

즉, 본 발명에 따라 N 포인트 버터플라이 연산을 수행하는 제1 버터플라이 연산부는 상기 과정을 반복함으로써, 첫 번째부터 N/2 번째 클럭까지는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과를 출력하고, N/2 번째 클럭부터 N 번째 클럭까지는 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과를 출력할 수 있다.That is, the first butterfly operation unit performing the N point butterfly operation according to the present invention repeats the above process, and outputs the result of performing the complex subtraction among the butterfly operation results from the first to N / 2th clocks. From the N / 2 th clock to the N th clock, the complex addition result of the butterfly operation result may be output.

도 6은 본 발명의 일실시예에 따른 고속 푸리에 변환부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.6 is a diagram illustrating a configuration of a second butterfly calculator included in a fast Fourier transform unit according to an exemplary embodiment of the present invention.

본 발명에 따른 고속 푸리에 변환부(310)에 포함된 제2 버터플라이 연산부(410, 440, 460)는 제1 버터플라이 연산부와 동일한 연산 결과에 복소수 (-j)를 곱하는 단순 곱셈 연산을 추가하는 구성이다.The second butterfly operators 410, 440, and 460 included in the fast Fourier transform unit 310 according to the present invention add a simple multiplication operation that multiplies a complex number (-j) to the same operation result as the first butterfly operator. Configuration.

따라서, 본 발명에 따른 제2 버터플라이 연산부(410, 440, 460)는 N 포인트 버터플라이 연산을 수행하는 경우, 제1 버터플라이 연산부(420, 430, 450)와 동일하게 N/2 번째 클럭을 기준으로 두 가지 연산 과정을 수행할 수 있다.Accordingly, when the second butterfly operation units 410, 440, and 460 according to the present invention perform an N point butterfly operation, the second butterfly operation units 410, 440, and 460 generate the N / 2th clock in the same manner as the first butterfly operation units 420, 430, and 450. As a standard, two operations can be performed.

이때, 제2 버터플라이 연산부(410, 440, 460)는 입력 데이터를 수신한 클럭이 1 내지 N/2인 경우, 제1 버터플라이 연산부와 같이 첫 번째부터 N/2 번째 클럭까지 입력되는 복소수 값을 N/2-FIFO 메모리(610)에 순차적으로 저장하고, N/2-FIFO 메모리(610)에 기 저장되었던 복소수 값을 순차적으로 다음 스테이지에 출력할 수 있다.In this case, when the clocks for receiving the input data are 1 to N / 2, the second butterfly calculators 410, 440, and 460 input complex values from the first to N / 2th clocks as in the first butterfly calculator. Are sequentially stored in the N / 2-FIFO memory 610, and complex values previously stored in the N / 2-FIFO memory 610 may be sequentially output to the next stage.

또한, 제2 버터플라이 연산부(410, 440, 460)는 입력 데이터를 수신한 클럭이 N/2 내지 N인 경우, N/2 번째 클럭부터 N 번째 클럭까지 입력되는 복소수 값과 N/2-FIFO 메모리(610)에서 출력되는 복소수 값을 버터플라이 연산을 할 수 있다. 이때, 제2 버터플라이 연산부(410, 440, 460)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과를 N/2-FIFO 메모리(610)에 순차적으로 입력할 수 있다(620). In addition, when the clocks for receiving the input data are N / 2 to N, the second butterfly calculators 410, 440, and 460 input complex values and N / 2-FIFOs that are input from the N / 2 th clock to the N th clock. The butterfly operation may be performed on the complex value output from the memory 610. In this case, the second butterfly calculators 410, 440, and 460 may sequentially input complex subtraction results to the N / 2-FIFO memory 610 among the butterfly calculation results (620).

또한, 제2 버터플라이 연산부(410, 440, 460)는 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과를 다음 스테이지로 출력할 수 있다(630). 이때, 제2 버터플라이 연산부(410, 440, 460)는 멀피플렉서 회로(640)를 사용하여 버터플라이 연산 결과 중 복소 덧셈을 수행한 결과에 복소수 (-j)를 곱하는 단순 곱셈 연산을 수행할 수 있다.In operation 630, the second butterfly calculator 410, 440, 460 may output a complex addition result among the butterfly calculation results to the next stage. In this case, the second butterfly operation unit 410, 440, 460 may perform a simple multiplication operation by multiplying a complex number (-j) by a complex addition of the butterfly operation results using the mulberryplexer circuit 640. Can be.

도 7은 본 발명의 일실시예에 따른 CSD 상수 곱셈기의 구성을 도시한 도면이다.7 is a diagram illustrating a configuration of a CSD constant multiplier according to an embodiment of the present invention.

본 발명의 일실시예에 따른 고속 푸리에 변환 장치는 하드웨어 면적 및 전력 소모 감소를 위하여 고속 푸리에 변환 장치에 포함된 복소 곱셈기 중 대부분을 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기로 사용할 수 있다.In the fast Fourier transform apparatus according to an embodiment of the present invention, a canonical code number (CSD) scheme using a common subexpression sharing (CSS) technique for most of the complex multipliers included in the fast Fourier transform apparatus in order to reduce hardware area and power consumption. Can be used as a multiple constant multiplier of.

고속 푸리에 변환 장치에서 복소 곱셈에 필요한 회전 인자는 표 1과 같이 10진수, 10 비트의 2진수 및 10 비트의 CSD 표현으로 나타낼 수 있다.The rotation factor required for complex multiplication in the fast Fourier transform device may be represented by a decimal number, a 10-bit binary number, and a 10-bit CSD representation as shown in Table 1.

Figure 112011085365867-pat00007
Figure 112011085365867-pat00007

이때, 회전인자에 해당하는 복소 곱셈 계수는 sin(

Figure 112011085365867-pat00008
/8), cos(
Figure 112011085365867-pat00009
/8), sin(
Figure 112011085365867-pat00010
/4), sin(
Figure 112011085365867-pat00011
/16), sin(3
Figure 112011085365867-pat00012
/16), sin(5
Figure 112011085365867-pat00013
/16), sin(7
Figure 112011085365867-pat00014
/16)이며 이를 CSD 표현으로 나타내면 최대 5개의 0이 아닌 비트로 표현될 수 있다.In this case, the complex multiplication factor corresponding to the rotation factor is sin (
Figure 112011085365867-pat00008
/ 8), cos (
Figure 112011085365867-pat00009
/ 8), sin (
Figure 112011085365867-pat00010
/ 4), sin (
Figure 112011085365867-pat00011
/ 16), sin (3
Figure 112011085365867-pat00012
/ 16), sin (5
Figure 112011085365867-pat00013
/ 16), sin (7
Figure 112011085365867-pat00014
/ 16), which can be represented by up to five nonzero bits.

이때, CSD 상수 곱셈기는 곱셈 계수 중 0이 아닌 비트의 위치에 따라서 입력 값을 오른쪽 시프트 하여 부분곱을 생성하고 생성 된 부분 곱을 모두 더해서 결과를 얻을 수 있다.In this case, the CSD constant multiplier generates a partial product by right shifting an input value according to a non-zero bit position among multiplication coefficients, and adds all the generated partial products to obtain a result.

구체적으로 CSD 상수 곱셈기는 회전 인자 W32 , W16 , W8의 공통 비트를 연산하는 공통 연산부(710)가 회전 인자별 비트를 연산하는 회전 인자 연산부(720)를 포함할 수 있다.In detail, the CSD constant multiplier may include a rotation factor calculator 720 that calculates bits for each rotation factor by the common operator 710 that calculates common bits of the rotation factors W 32 , W 16 , and W 8 .

이때, 회전 인자 W32 , W16 , W8는 W8 회전 인자 곱셈 연산부(721), W16 회전 인자 곱셈 연산부(722), W32 회전 인자 곱셈 연산부(723)에서 연산될 수 있다.In this case, the rotation factors W 32 , W 16 , and W 8 may be calculated by the W 8 rotation factor multiplication operation unit 721, the W 16 rotation factor multiplication operation unit 722, and the W 32 rotation factor multiplication operation unit 723.

이때, 회전 인자 W32 W16 W8의 곱셈 계수를 모두 포함하고, 회전 인자 W16 W8 의 곱셈 계수를 포함하므로, 회전 인자 연산부(720)는 회전 인자 W32를 연산하는 구성을 생성하고, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 연산 결과에서 필요한 곱셈 계수를 사용함으로써, 하나의 CSD 상수 곱셈기로 회전 인자 W32 , W16 , W8를 모두 연산할 수 있다.At this time, the rotation factor W 32 is W 16 Wow Contains all the multiplication factors of W 8 , and the rotation factor W 16 is Since it includes a multiplication coefficient of W 8 , the rotation factor calculating unit 720 generates a configuration for calculating the rotation factor W 32 , and the complex constant multiplier according to an embodiment of the present invention uses the multiplication coefficient required in the calculation result, One CSD constant multiplier can compute all rotation factors W 32 , W 16 , and W 8 .

또한, W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)는 W32 회전 인자 곱셈 연산부(723)를 사용하고, W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)는 W16 회전 인자 곱셈 연산부(722)만을 사용하며, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)는 W8 회전 인자 곱셈 연산부(721)만을 사용함으로써 구조를 간략화할 수도 있다.In addition, W complex constant multiplier (432) for rotation factor multiplication 32, W 32 twiddle factors using the multiplication operation unit 723, and the complex constant multiplier 322 for rotation factor multiplication of the W 16 is W 16 rotation factor multiplication using only the operation unit 722, and the complex constant multiplier 422 for multiplying the rotation factor W 8 may be simplified in structure by only using the rotation factor W 8 multiplication operation unit (721).

즉, 본 발명의 일실시예에 따른 CSD 상수 곱셈기는 2의 보수 형식으로 표현 된 곱셈 계수를 CSD 방식으로 표현함으로써, 하드웨어 면적을 감소시키는 2진 곱셈기를 설계할 수 있다. 이때, CSD 방식은 반드시 {-1, 0, 1}의 원소 중 하나의 값을 갖고. 두 개 이상의 연속적인 0이 아닌 비트로 이루어질 수 없다.That is, the CSD constant multiplier according to an embodiment of the present invention may design a binary multiplier for reducing hardware area by expressing a multiplication coefficient expressed in two's complement form by the CSD method. At this time, the CSD method must have a value of one of the elements of {-1, 0, 1}. It cannot consist of more than two consecutive nonzero bits.

도 8은 회전 인자 W32를 위한 본 발명의 일실시예에 따른 복소 상수 곱셈기의 구성을 도시한 도면이다.8 shows for rotation factor W 32 A diagram illustrating a configuration of a complex constant multiplier according to an embodiment of the present invention.

회전 인자 W32를 위한 본 발명의 일실시예에 따른 복소 상수 곱셈기는 도 8에 도시된 바와 같이 두 개의 CSD 상수 곱셈기와 멀티플렉서, 및 두 개의 덧셈기를 포함할 수 있다.Rotation factor for W 32 The complex constant multiplier according to an embodiment of the present invention may include two CSD constant multipliers, a multiplexer, and two adders, as shown in FIG. 8.

이때, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 두 개의 CSD 상수 곱셈기에 각각 실수와 허수를 입력하여 입력 데이터에 대한 계수 별 곱셈 결과를 출력시킬 수 있다.In this case, the complex constant multiplier according to an embodiment of the present invention may input real and imaginary numbers to two CSD constant multipliers to output a multiplication result for each coefficient of the input data.

이때, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 표 2의 스케쥴에 따라 회전 인자 곱셈을 연산할 수 있다.In this case, the complex constant multiplier according to an embodiment of the present invention may calculate rotation factor multiplication according to the schedule of Table 2.

Figure 112011085365867-pat00015
Figure 112011085365867-pat00015

표 2는 회전 인자 W32에서 사용하는 64 클럭 별 회전 인자 곱셈 연산 모드를 시간 순서에 따라 정의한 것이며, 15 종류의 회전 인자 곱셈 연산 모드가 정의되어 있을 수 있다. Table 2 defines the rotation factor multiplication operation mode for each of the 64 clocks used in the rotation factor W 32 in chronological order, and 15 rotation factor multiplication operation modes may be defined.

또한, 본 발명의 일실시예에 따른 복소 상수 곱셈기는 표 2를 사용하여 표 3과 같은 멀티플렉서의 제어 신호를 생성할 수 있다.In addition, the complex constant multiplier according to an embodiment of the present invention can generate the control signal of the multiplexer as shown in Table 3 using Table 2.

Figure 112011085365867-pat00016
Figure 112011085365867-pat00016

본 발명의 일실시예에 따른 복소 상수 곱셈기는 표 3과 같이 전체 4개의 멀티플렉서 제어 신호에 의해 곱셈기의 동작을 제어할 수 있다. 이때, 회전 인자 W8 및 W16을 위한 복소 상수 곱셈기도 회전 인자 W32로 구성한 경우와 같은 제어 신호를 통해 간략히 구성될 수 있다.As shown in Table 3, the complex constant multiplier according to an embodiment of the present invention can control the operation of the multiplier by the four multiplexer control signals. At this time, the rotation factor W 8 And a complex constant multiplier for W 16 may also be simply configured through a control signal as in the case of the rotation factor W 32 .

이때, W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)는 상수 곱셈기(W32)를 W16 회전 인자 곱셈 연산부(722)로 대체하고, W16 회전 인자 곱셈 연산부(722)의 출력은 3개 이므로, mux-sel2의 멀티플렉서를 3-to-1 MUX로 대체하여 구성할 수 있다.In this case, the complex constant multiplier 322 for the rotation factor multiplication of W 16 replaces the constant multiplier W 32 with the W 16 rotation factor multiplication operation 722, and the output of the W 16 rotation factor multiplication operation 722 is 3. As a result, mux-sel2's multiplexer can be replaced with 3-to-1 MUX.

또한, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)는 상수 곱셈기(W32)를 W8 회전 인자 곱셈 연산부(721)로 대체하고, W8 회전 인자 곱셈 연산부(721)의 출력은 1개 이므로, mux-sel2의 멀티플렉서를 생략하여 구성할 수 있다. Further, the complex constant multiplier 422 for multiplying the rotation factor of W 8 replaces the constant multiplier W 32 by the W 8 rotation factor multiplication operation 721, and the output of the W 8 rotation factor multiplication operation 721 is 1. The mux-sel2 multiplexer can be omitted.

도 9는 본 발명의 일실시예에 따른 후처리부에 포함된 제1 버터플라이 연산부의 구성을 도시한 도면이다.9 is a diagram illustrating a configuration of a first butterfly calculation unit included in a post-processing unit according to an embodiment of the present invention.

본 발명에 따른 후처리부(320)에 포함된 제1 버터플라이 연산부(321, 324)는 입력받은 복소수 값을 버터플라이 연산을 할 수 있다. 이때, 제1 버터플라이 연산부(321)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과(910)와 복소 덧셈을 수행한 결과(920)를 각각 다른 출력 단자를 사용하여 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322) 또는 제2 버터플라이 연산부(323)로 출력할 수 있다.The first butterfly calculators 321 and 324 included in the post processor 320 according to the present invention may perform a butterfly operation on the received complex value. At this time, the first butterfly calculating unit 321 multiplies the rotation result of W 16 by using a different output terminal from the result of performing the complex subtraction (910) and the result of the complex addition (920) among the butterfly calculation results. For output to the complex constant multiplier 322 or the second butterfly operator 323 for.

또한, 제1 버터플라이 연산부(324)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과(910)와 복소 덧셈을 수행한 결과(920)를 각각 다른 출력 단자를 사용하여 64 클럭 동안 출력할 수 있다. In addition, the first butterfly calculator 324 may output a complex subtraction result 910 and a complex addition result 920 among the butterfly operation results for 64 clocks using different output terminals. have.

도 10은 본 발명의 일실시예에 따른 후처리부에 포함된 제2 버터플라이 연산부의 구성을 도시한 도면이다.10 is a diagram illustrating a configuration of a second butterfly calculating unit included in a post-processing unit according to an embodiment of the present invention.

본 발명에 따른 후처리부(320)에 포함된 제2 버터플라이 연산부(323)는 제1 버터플라이 연산부(321), 또는 W16의 회전 인자 곱셈을 위한 복소 상수 곱셈기(322)로부터 입력받은 복소수 값을 버터플라이 연산할 수 있다. 이때, 제2 버터플라이 연산부(323)는 버터플라이 연산 결과 중, 복소 뺄셈을 수행한 결과(1010)와 복소 덧셈을 수행한 결과(1020)에 각각 복소수 (-j)를 곱하는 단순 곱셈 연산(1030)을 수행하여 제1 버터플라이 연산부(324)로 출력할 수 있다.The second butterfly operator 323 included in the post processor 320 according to the present invention is a complex value input from the first butterfly operator 321 or the complex constant multiplier 322 for multiplying the rotation factor of W 16 . Can be computed as a butterfly. At this time, the second butterfly calculator 323 multiplies the complex number (-j) by the result of performing the complex subtraction (1010) and the result of the complex addition (1020) of the butterfly calculation results (1030). ) May be output to the first butterfly calculator 324.

도 11은 본 발명의 일실시예에 따른 고속 푸리에 변환 방법을 도시한 플로우차트이다.11 is a flowchart illustrating a fast Fourier transform method according to an embodiment of the present invention.

단계(S1110)에서 8개의 제2 버터플라이 연산부(410)는 병렬 데이터 경로 각각에 대하여 32-FIFO 메모리(411)를 사용하여 64 포인트 버터플라이 연산을 병렬로 수행할 수 있다.In operation S1110, the eight second butterfly calculators 410 may perform 64-point butterfly operations in parallel on the parallel data paths using the 32-FIFO memory 411.

단계(S1120)에서 8개의 제1 버터플라이 연산부(420)는 16-FIFO 메모리(421)를 사용하여 단계(S1110)의 연산 결과에 32포인트 버터플라이 연산을 수행할 수 있다. 이때, W8의 회전 인자 곱셈을 위한 복소 상수 곱셈기(422)는 제1 버터플라이 연산부(420)의 연산 결과를 회전 인자 곱셈 연산하여 제1 버터플라이 연산부(430)에 제공할 수 있다.In operation S1120, the eight first butterfly operation units 420 may perform a 32-point butterfly operation on the operation result of operation S1110 using the 16-FIFO memory 421. In this case, the complex constant multiplier 422 for multiplying the rotation factor of W 8 may multiply a result of the calculation of the first butterfly operator 420 to the first butterfly operator 430.

단계(S1130)에서 8개의 제1 버터 플라이 연산부(430)는 8-FIFO 메모리(431)를 사용하여 단계(S1130)의 연산 결과에 16포인트 버터플라이 연산을 수행할 수 있다. 이때, W32의 회전 인자 곱셈을 위한 복소 상수 곱셈기(432)는 제1 버터플라이 연산부(430)의 연산 결과를 회전 인자 곱셈 연산하여 제2 버터플라이 연산부(440)에 제공할 수 있다.In operation S1130, the eight first butterfly operations 430 may perform a 16-point butterfly operation on the operation result of operation S1130 using the 8-FIFO memory 431. In this case, the complex constant multiplier 432 for multiplying the rotation factor of W 32 may perform a rotation factor multiplication operation on the result of the operation of the first butterfly operator 430 to provide the second butterfly operator 440.

단계(S1140)에서 8개의 제2 버터 플라이 연산부(440)는 4-FIFO 메모리(441)를 사용하여 단계(S1130)의 연산 결과에 8포인트 버터플라이 연산을 수행할 수 있다.In operation S1140, the eight second butterfly operations 440 may perform an eight-point butterfly operation on the operation result of operation S1130 using the 4-FIFO memory 441.

단계(S1150)에서 8개의 제1 버터 플라이 연산부(450)는 2-FIFO 메모리(451)를 사용하여 단계(S1140)의 연산 결과에 4포인트 버터플라이 연산을 수행할 수 있다. 이때, W512의 회전 인자 복소 부스(Booth) 곱셈기(452)는 제1 버터플라이 연산부(450)의 연산 결과를 회전 인자 곱셈 연산하여 제1 버터플라이 연산부(460)에 제공할 수 있다.In operation S1150, the eight first butterfly operators 450 may perform a four-point butterfly operation on the operation result of operation S1140 using the 2-FIFO memory 451. In this case, the rotation factor complex booth 452 of W 512 may multiply a result of the calculation of the first butterfly operator 450 and provide the result to the first butterfly operator 460.

단계(S1160)에서 8개의 제2 버터 플라이 연산부(460)는 1-FIFO 메모리(461)를 사용하여 단계(S1150)의 연산 결과에 2포인트 버터플라이 연산을 수행할 수 있다. In operation S1160, the eight second butterfly operation units 460 may perform a two-point butterfly operation on the operation result of operation S1150 using the 1-FIFO memory 461.

이때, 단계(S1110) 내지 단계(S1160)는 8개의 병렬 데이터 경로에 따라 독립적으로 동작하는 단일 경로 지연 피드백(SDF: Single-path Delay Feedback) 연산일 수 있다.In this case, steps S1110 to S1160 may be a single-path delay feedback (SDF) operation that operates independently according to eight parallel data paths.

단계(S1170)에서 제1 버터플라이 연산부(321)는 단계(S1160)의 연산 결과들에 8포인트 버터플라이 연산을 수행할 수 있다. 이때, 복소 상수 곱셈기(322)는 제1 버터플라이 연산부(321)의 연산 결과에 회전 인자 곱셈 연산을 수행하여 제2 버터플라이 연산부(323)에 제공할 수 있다.In operation S1170, the first butterfly operator 321 may perform an eight-point butterfly operation on the operation results of operation S1160. In this case, the complex constant multiplier 322 may perform a rotation factor multiplication operation on the calculation result of the first butterfly operator 321 and provide it to the second butterfly operator 323.

단계(S1180)에서 제2 버터플라이 연산부(323)는 단계(S1170)의 연산 결과에 4포인트 버터플라이 연산을 수행할 수 있다. In operation S1180, the second butterfly operation unit 323 may perform a four-point butterfly operation on the operation result of operation S1170.

단계(S1190)에서 제1 버터플라이 연산부(324)는 단계(S1180)의 연산 결과에 2포인트 버터플라이 연산을 수행함으로써 64 클럭 동안 고속 푸리에 변환 결과를 출력할 수 있다.In operation S1190, the first butterfly operator 324 may output a fast Fourier transform result for 64 clocks by performing a two-point butterfly operation on the operation result of operation S1180.

본 발명은 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치에서 상위 스테이지의 일부를 병렬 연산함으로써 데이터 처리율을 높일 수 있다. 또한, 복잡한 구조를 가지는 복소 부스(Booth) 곱셈기의 대부분을 간단한 구조를 가지는 공통 서브 익스프레션 공유(CSS)기법을 사용한 정준부호숫자(CSD) 방식의 복수 상수 곱셈기로 대체함으로써, 고속 푸리에 변환 장치의 복잡도를 낮출 수 있다.The present invention can increase data throughput by performing parallel operations on a part of higher stages in a pipeline fast Fourier transform apparatus having a plurality of parallel data paths. In addition, the complexity of the fast Fourier transform apparatus is replaced by replacing a majority of the complex booth multiplier with a complex structure with a plural constant multiplier of the canonical code number (CSD) method using a common subexpression sharing (CSS) technique with a simple structure. Can be lowered.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

310: 고속 푸리에 변환부
321: 제1 버터플라이 연산부
323: 제2 버터플라이 연산부
310: fast Fourier transform unit
321: first butterfly calculation unit
323: second butterfly operation unit

Claims (14)

삭제delete 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치에 있어서,
복수의 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 병렬적으로 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 고속 푸리에 변환하는 복수의 고속 푸리에 변환부; 및
상기 복수의 고속 푸리에 변환부에서 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 제1 버터플라이 연산부와, 상기 제1 버터플라이 연산부의 연산 결과를 회전 인자 곱셈 연산하는 복소 상수 곱셈기와, 상기 제1 버터플라이 연산부 또는 상기 복소 상수 곱셈기의 연산 결과를 버터플라이 연산하는 제2 버터플라이 연산부로 구성된 후처리부
를 포함하고,
상기 고속 푸리에 변환부는,
32-FIFO 메모리와 연결된 제2 버터플라이 연산부를 통해 버터플라이 연산하는 제1 단계;
16-FIFO 메모리와 연결된 제1 버터플라이 연산부를 통해 상기 제1 단계의 연산 결과를 버터플라이 연산하는 제2 단계;
8-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제2 단계의 연산 결과를 버터플라이 연산하는 제3 단계;
4-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제3 단계의 연산 결과를 버터플라이 연산하는 제4 단계;
2-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제4 단계의 연산 결과를 버터플라이 연산하는 제5 단계; 및
1-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제5 단계의 연산 결과를 버터플라이 연산하는 제6 단계
를 포함하는 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산을 병렬로 각각 수행하는 것이고,
상기 복소 상수 곱셈기는 공통 서브 익스프레션 공유(Common Sub-expression Sharing; CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복소 상수 곱셈기이며,
상기 복소 상수 곱셈기를 사용하여 상기 제2 단계의 연산 결과와 상기 제3단계의 연산 결과를 회전 인자 곱셈 연산하고,
상기 후처리부는,
상기 제1 버터플라이 연산부를 통해 상기 복수의 고속 푸리에 변환부에서 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 과정과, 상기 복소 상수 곱셈기를 통해 상기 제1 버터플라이 연산부의 버터플라이 연산 결과를 회전 인자 곱셈 연산하는 과정으로 이루어진 제7 단계;
상기 제2 버터플라이 연산부를 통해 상기 제7 단계의 버터플라이 연산 결과 또는 회전 인자 곱셈 연산 결과를 버터플라이 연산하는 제8 단계; 및
상기 제1 버터플라이 연산부를 통해 상기 제8 단계의 버터플라이 연산 결과를 버터플라이 연산하는 제9 단계
를 포함하는 후처리 연산을 수행하는 것이며,
상기 제1 단계부터 상기 제5 단계까지는 6차원 인덱스 분해법에 의해 유도 되는 Radix-25 알고리즘에 공통 인수 분해 알고리즘을 적용하여 수식을 재구성한 수정된 Radix-25 알고리즘에 따라 동작하고,
상기 제6 단계부터 상기 제9 단계까지는 6차원 인덱스 분해법에 의해 유도 되는 복수의 Radix-25 알고리즘을 기초로 병렬 구조 및 파이프라인 방식을 이용한 수정된 Radix-25 알고리즘에 따라 동작하는 것
을 특징으로 하는 고속 푸리에 변환 장치.
In a pipeline fast Fourier transform apparatus having a plurality of parallel data paths,
A plurality of fast Fourier transform units for performing fast Fourier transform by calculating single-path delay feedback (SDF) in parallel on input data received through a plurality of parallel data paths; And
A first butterfly operator for butterfly operation on the fast Fourier transformed input data by the plurality of fast Fourier transform units, a complex constant multiplier for performing a rotation factor multiplication operation on the calculation result of the first butterfly operator, and the first butter Post-processing unit comprising a fly operation unit or a second butterfly operation unit for performing a butterfly operation on the operation result of the complex constant multiplier
Lt; / RTI >
Wherein the fast Fourier transform unit comprises:
A first step of performing a butterfly operation through a second butterfly operator connected to the 32-FIFO memory;
A second step of performing a butterfly operation on the operation result of the first step through a first butterfly operation unit connected to a 16-FIFO memory;
A third step of performing a butterfly operation on the operation result of the second step through a first butterfly operation unit connected to an 8-FIFO memory;
A fourth step of performing a butterfly operation on the operation result of the third step through a second butterfly operation unit connected to a 4-FIFO memory;
A fifth step of performing a butterfly operation on the operation result of the fourth step through a first butterfly operation unit connected to a 2-FIFO memory; And
A sixth step of performing a butterfly operation on the operation result of the fifth step through a first butterfly calculator connected to a 1-FIFO memory;
Single-path delay feedback (SDF) operations, each of which includes a
The complex constant multiplier is a complex constant multiplier of Canonical Signed Digit (CSD) using Common Sub-expression Sharing (CSS).
A rotation factor multiplication operation of the operation result of the second step and the operation result of the third step using the complex constant multiplier,
The post-
Performing a butterfly operation on the fast Fourier transformed input data by the plurality of fast Fourier transformers through the first butterfly calculator, and a butterfly operation result of the butterfly operation of the first butterfly calculator through the complex constant multiplier A seventh step of performing a multiplication operation;
An eighth step of performing a butterfly operation on the butterfly operation result or the rotation factor multiplication operation result of the seventh step through the second butterfly operation unit; And
A ninth step of performing a butterfly operation on the butterfly operation result of the eighth step through the first butterfly operation unit;
To perform a post-processing operation including
From the first step to the fifth step is operated according to the modified Radix-2 5 algorithm which reconstructs the equation by applying a common factorization algorithm to the Radix-2 5 algorithm derived by the 6-dimensional index decomposition method,
The sixth to the ninth steps operate according to the modified Radix-2 5 algorithm using a parallel structure and a pipeline method based on a plurality of Radix-2 5 algorithms derived by 6-dimensional index decomposition.
High speed Fourier transform device characterized in that.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 복수의 병렬 데이터 경로를 가지는 파이프라인 고속 푸리에 변환 장치가 수행하는 고속 푸리에 변환 방법에 있어서,
복수의 병렬 데이터 경로를 통하여 수신한 입력 데이터들을 병렬적으로 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산하여 병렬로 고속 푸리에 변환하는 푸리에 변환 단계; 및
제1 버터플라이 연산부를 사용하여 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하고, 복소 상수 곱셈기를 사용하여 상기 제1 버터플라이 연산부의 연산 결과를 회전 인자 곱셈 연산하며, 제2 버터플라이 연산부를 사용하여 상기 제1 버터플라이 연산부 또는 상기 복소 상수 곱셈기의 연산 결과를 버터플라이 연산하는 후처리 단계
를 포함하고,
상기 푸리에 변환 단계는
32-FIFO 메모리와 연결된 제2 버터플라이 연산부를 통해 입력 데이터를 버터플라이 연산하는 제1 단계;
16-FIFO 메모리와 연결된 제1 버터플라이 연산부를 통해 상기 제1 단계의 연산 결과를 버터플라이 연산하는 제2 단계;
8-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제2 단계의 연산 결과를 버터플라이 연산하는 제3 단계;
4-FIFO 메모리와 연결된 제2 버터 플라이 연산부를 통해 상기 제3 단계의 연산 결과를 버터플라이 연산하는 제4 단계;
2-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제4 단계의 연산 결과를 버터플라이 연산하는 제5 단계; 및
1-FIFO 메모리와 연결된 제1 버터 플라이 연산부를 통해 상기 제5 단계의 연산 결과를 버터플라이 연산하는 제6 단계
를 포함하는 단일 경로 지연 피드백(Single-path Delay Feedback; SDF) 연산을 병렬로 각각 수행하고,
상기 복소 상수 곱셈기는 공통 서브 익스프레션 공유(Common Sub-expression Sharing; CSS)기법을 사용한 정준부호숫자(Canonical Signed Digit; CSD) 방식의 복소 상수 곱셈기이며,
상기 복소 상수 곱셈기를 사용하여 상기 제2 단계의 연산 결과와 상기 제3단계의 연산 결과를 회전 인자 곱셈 연산하고,
상기 후처리 단계는,
상기 제1 버터플라이 연산부를 통해 상기 푸리에 변환 단계에서 고속 푸리에 변환된 입력 데이터들을 버터플라이 연산하는 과정과, 상기 복소 상수 곱셈기를 통해 상기 제1 버터플라이 연산부의 버터플라이 연산 결과를 회전 인자 곱셈 연산하는 과정으로 이루어진 제7 단계;
상기 제2 버터플라이 연산부를 통해 상기 제7 단계의 버터플라이 연산 결과 또는 회전 인자 곱셈 연산 결과를 버터플라이 연산하는 제8 단계; 및
상기 제1 버터플라이 연산부를 통해 상기 제8 단계의 버터플라이 연산 결과를 버터플라이 연산하는 제9 단계
를 포함하며,
상기 제1 단계부터 상기 제5 단계까지는 6차원 인덱스 분해법에 의해 유도 되는 Radix-25 알고리즘에 공통 인수 분해 알고리즘을 적용하여 수식을 재구성한 수정된 Radix-25 알고리즘에 따라 동작하고,
상기 제6 단계부터 상기 제9 단계까지는 6차원 인덱스 분해법에 의해 유도 되는 복수의 Radix-25 알고리즘을 기초로 병렬 구조 및 파이프라인 방식을 이용한 수정된 Radix-25 알고리즘에 따라 동작하는 것
을 특징으로 하는 고속 푸리에 변환 방법.
A fast Fourier transform method performed by a pipeline fast Fourier transform apparatus having a plurality of parallel data paths,
A Fourier transform step of performing fast Fourier transform in parallel by performing single-path delay feedback (SDF) operations on input data received through a plurality of parallel data paths in parallel; And
Butterfly operation of fast Fourier transformed input data using a first butterfly operation unit, and a rotation factor multiplication operation of the operation result of the first butterfly operation unit using a complex constant multiplier, and using a second butterfly operation unit A post-processing step of performing a butterfly operation on a calculation result of the first butterfly calculator or the complex constant multiplier
Lt; / RTI >
The Fourier transform step
A first step of performing a butterfly operation on the input data through a second butterfly operator connected to the 32-FIFO memory;
A second step of performing a butterfly operation on the operation result of the first step through a first butterfly operation unit connected to a 16-FIFO memory;
A third step of performing a butterfly operation on the operation result of the second step through a first butterfly operation unit connected to an 8-FIFO memory;
A fourth step of performing a butterfly operation on the operation result of the third step through a second butterfly operation unit connected to a 4-FIFO memory;
A fifth step of performing a butterfly operation on the operation result of the fourth step through a first butterfly operation unit connected to a 2-FIFO memory; And
A sixth step of performing a butterfly operation on the operation result of the fifth step through a first butterfly calculator connected to a 1-FIFO memory;
Respectively performing parallel single-path delay feedback (SDF) operations including
The complex constant multiplier is a complex constant multiplier of Canonical Signed Digit (CSD) using Common Sub-expression Sharing (CSS).
A rotation factor multiplication operation of the operation result of the second step and the operation result of the third step using the complex constant multiplier,
The post-
Performing a butterfly operation on the fast Fourier transformed input data in the Fourier transform step through the first butterfly calculator, and a rotation factor multiplication operation of the butterfly operation result of the first butterfly calculator by the complex constant multiplier A seventh step consisting of a process;
An eighth step of performing a butterfly operation on the butterfly operation result or the rotation factor multiplication operation result of the seventh step through the second butterfly operation unit; And
A ninth step of performing a butterfly operation on the butterfly operation result of the eighth step through the first butterfly operation unit;
Including;
From the first step to the fifth step is operated according to the modified Radix-2 5 algorithm which reconstructs the equation by applying a common factorization algorithm to the Radix-2 5 algorithm derived by the 6-dimensional index decomposition method,
The sixth to the ninth steps operate according to the modified Radix-2 5 algorithm using a parallel structure and a pipeline method based on a plurality of Radix-2 5 algorithms derived by 6-dimensional index decomposition.
Fast Fourier transform method characterized in that.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020110112082A 2011-10-31 2011-10-31 High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method KR101334494B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110112082A KR101334494B1 (en) 2011-10-31 2011-10-31 High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110112082A KR101334494B1 (en) 2011-10-31 2011-10-31 High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method

Publications (2)

Publication Number Publication Date
KR20130047202A KR20130047202A (en) 2013-05-08
KR101334494B1 true KR101334494B1 (en) 2013-11-29

Family

ID=48658744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110112082A KR101334494B1 (en) 2011-10-31 2011-10-31 High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method

Country Status (1)

Country Link
KR (1) KR101334494B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376492B1 (en) * 2020-08-05 2022-03-21 아스텔 주식회사 Fast Fourier transform device and method using real valued as input

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087683A (en) * 2004-02-26 2005-08-31 임명섭 Fast fourier transform processor based on low-power and area-efficient algorithm

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087683A (en) * 2004-02-26 2005-08-31 임명섭 Fast fourier transform processor based on low-power and area-efficient algorithm

Also Published As

Publication number Publication date
KR20130047202A (en) 2013-05-08

Similar Documents

Publication Publication Date Title
Cho et al. A high-speed low-complexity modified ${\rm Radix}-2^{5} $ FFT processor for high rate WPAN applications
Cortés et al. Radix $ r^{k} $ FFTs: Matricial representation and SDC/SDF pipeline implementation
US7856465B2 (en) Combined fast fourier transforms and matrix operations
KR100597439B1 (en) 2n-point and n-point fft/ifft dual mode device
CN109117188B (en) Multi-path mixed-basis FFT (fast Fourier transform) reconfigurable butterfly operator
KR20060061796A (en) Recoded radix-2 pipelined fft processor
Saenz et al. FPGA design and implementation of radix-2 fast Fourier transform algorithm with 16 and 32 points
Prakash et al. Performance evaluation of FFT processor using conventional and Vedic algorithm
KR100598075B1 (en) Method for transforming data using Look-up table in IFFT/FFT processor
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
KR101334494B1 (en) High-speed low-complexity radix-2 to the fifth fast fourier transform apparatus and method
US8010588B2 (en) Optimized multi-mode DFT implementation
JPH10283341A (en) Fast fourier transformation arithmetic circuit
KR102301144B1 (en) Device for processing short time fourier transform of low complexity and method thereof
Adiono et al. Low latency parallel-pipelined configurable FFT-IFFT 128/256/512/1024/2048 for LTE
KR101711783B1 (en) Apparatus and method for high-speed low-complexity mixed-radix fast fourier transform using dual-path sharing method
KR100576520B1 (en) Variable fast fourier transform processor using iteration algorithm
KR100617248B1 (en) Apparratus and method for performing fast fourier transform
Mamatha et al. Triple-matrix product-based 2D systolic implementation of discrete Fourier transform
KR101652899B1 (en) Fast fourier trasform processor using eight-parallel mdc architecture
Xu et al. Split-Radix FFT pruning for the reduction of computational complexity in OFDM based Cognitive Radio system
JPH0883264A (en) One-dimensional systolic array type arithmetic device and dct/idct arithmetic unit using same
Park et al. Twiddle factor transformation for pipelined FFT processing
Mukherjee et al. Design of High-Speed FPGA Based CASU Using CBNS Arithmetic: Extension to CFFT Processor
Jhariya et al. Implementation of Fast Fourier Transform using Resource Reuse Technique on FPGA

Legal Events

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

Payment date: 20170829

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 6