KR100878765B1 - Circuit for FFT Operation - Google Patents

Circuit for FFT Operation Download PDF

Info

Publication number
KR100878765B1
KR100878765B1 KR1020060101573A KR20060101573A KR100878765B1 KR 100878765 B1 KR100878765 B1 KR 100878765B1 KR 1020060101573 A KR1020060101573 A KR 1020060101573A KR 20060101573 A KR20060101573 A KR 20060101573A KR 100878765 B1 KR100878765 B1 KR 100878765B1
Authority
KR
South Korea
Prior art keywords
output
address
complex
butterfly
fft
Prior art date
Application number
KR1020060101573A
Other languages
Korean (ko)
Other versions
KR20070065778A (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 US11/641,864 priority Critical patent/US7979485B2/en
Publication of KR20070065778A publication Critical patent/KR20070065778A/en
Application granted granted Critical
Publication of KR100878765B1 publication Critical patent/KR100878765B1/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

Landscapes

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

Abstract

본 발명에 따른 FFT 연산 회로는 복수의 직렬 연결된 버터플라이 연산기로 구성되며, 버터플라이 연산기들 각각은 이 버터플라이 연산기들 각각이 복소곱셈 및 복소가감산을 실시하는 순서대로 신호를 읽어내고, FFT 길이 및 버터플라이 연산기들 각각의 스테이지 수에 대응되는 복소계수를 차례로 읽어낸 신호마다 복소곱셈하고, 이 복소곱셈된 신호에 대해 차례로 복소가감산을 실시함으로써 기수(radix)에 대응한 복수의 연산 회로를 구비하지 않고 복수의 FFT 길이에 대응한 FFT 연산을 실시할 수 있다.

Figure R1020060101573

The FFT calculation circuit according to the present invention is composed of a plurality of series connected butterfly calculators, each of which reads signals in the order in which each of these butterfly operators performs complex multiplication and complex subtraction, and FFT length. And complex multiplying the complex coefficients corresponding to the number of stages of the butterfly operators for each signal and sequentially performing complex value subtraction on the complex multiplied signals to generate a plurality of arithmetic circuits corresponding to radix. It is possible to perform an FFT operation corresponding to a plurality of FFT lengths without the provision.

Figure R1020060101573

Description

FFT 연산 회로{Circuit for FFT Operation}FFT operation circuit {Circuit for FFT Operation}

도 1은 본 발명의 실시예에 따른 FFT 연산 회로를 나타내는 블록도이다.1 is a block diagram illustrating an FFT calculation circuit according to an embodiment of the present invention.

도 2는 도 1에 도시된 버터플라이 연산기를 나타내는 블럭도이다. FIG. 2 is a block diagram illustrating a butterfly operator shown in FIG. 1.

도 3은 도 2에 도시된 저장부의 저장 공간을 설명하는 개념도이다.3 is a conceptual diagram illustrating a storage space of the storage unit illustrated in FIG. 2.

도 4는 도 2에 도시된 FFT 회전 인자 테이블의 구성을 설명하는 개념도이다.4 is a conceptual diagram illustrating a configuration of the FFT rotation factor table illustrated in FIG. 2.

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

1 : FFT 연산 회로 11~15 : 버터플라이 연산기1: FFT calculation circuit 11 ~ 15: Butterfly calculator

16: 버터플라이선택부 22 : 저장부16: Butterfly Selection 22: Storage

23: 입력 주소 생성부 23A : 제 1 입력 주소 생성부23: input address generator 23A: first input address generator

23B : 제 2 입력 주소 생성부 23C : 제 3 입력 주소 생성부23B: second input address generator 23C: third input address generator

24: 입력 주소 선택부 25: 출력 주소 생성부 24: input address selector 25: output address generator

25A : 제 1 출력 주소 생성부 25B : 제 2 출력 주소 생성부 25A: first output address generator 25B: second output address generator

25C : 제 3 출력 주소 생성부 26: 출력 주소 선택부25C: third output address generator 26: output address selector

27: 인자 주소 생성부 27A : 제 1 인자 주소 생성부27: argument address generator 27A: first argument address generator

27B : 제 2 인자 주소 생성부 27C : 제 3 인자 주소 생성부27B: second argument address generator 27C: third argument address generator

28: 인자 주소 선택부 29: FFT 회전 인자 테이블28: argument address selector 29: FFT rotation factor table

30: 복소 곱셈부 31: 직렬/병렬 변환부30: complex multiplication unit 31: serial / parallel conversion unit

32: 복소 가감산부 33: 병렬/직렬 변환부32: complex addition / subtraction section 33: parallel / serial conversion section

34: 타이밍 생성부34: timing generator

본 발명은 데이터 통신이나 화상, 음성 신호의 디지털 신호 처리에 사용되는 FFT(Fast Fourier Transform) 연산 회로에 관한 것이다.The present invention relates to an FFT (Fast Fourier Transform) arithmetic circuit used for data communication, digital signal processing of video and audio signals.

FFT는 시간 영역에서의 일련의 신호 데이터로 숨어 있는 주파수 성분을 추출하는데 사용되며, 다수의 데이터를 단시간에 처리할 수 있는 우수한 특징을 가진다. 또한, FFT는 하드웨어에서 구현 할 때 작은 면적의 회로가 요구되는 장점이 있다. FFT is used to extract hidden frequency components as a series of signal data in the time domain, and has an excellent feature of processing a large number of data in a short time. In addition, the FFT has the advantage of requiring a small area of the circuit when implemented in hardware.

한편, 휴대 전화 등의 무선 통신 규격에 있어서, 여러 가지 셀룰러 방식이나 무선 LAN 방식이 사용되고 있다. 일반 이용자들은 이러한 규격의 이점을 이용하여 효율적인 무선 통신을 하고자 한다. 예를 들면, 데이터 통신 분야에 있어서는 FFT의 데이터 길이(FFT 길이)가 용도에 따라 상이해지는데, 일례로서, 무선 LAN 규격의 하나인 IEEE(Institute of Electrical and Electronics Engineers) 802.11a에서 데이터 길이가 64이고, 4G-모바일(4Generation Mobile) 규격의 후보 중 하나는 데이터 길이가 1024이다. 그 때문에, 여러 규격을 하나의 하드웨어로 구현하는 멀티-모드(Multi-Mode) 단말은 복수의 칩 셋을 내장하고 있어 대형화되는 결점이 있었다. 그에 따라, 다수의 칩 셋에 의해 여러 규격에 대응할 수 있는 FFT 연산 회로의 필요성을 인식하게 되었다.On the other hand, various cellular systems and wireless LAN systems are used in wireless communication standards such as mobile phones. Ordinary users would like to take advantage of this standard for efficient wireless communication. For example, in the field of data communication, the data length (FFT length) of the FFT varies depending on the application. For example, the data length is 64 in IEEE (Institute of Electrical and Electronics Engineers) 802.11a, one of the wireless LAN standards. And one of the candidates of the 4G-Mobile (4Generation Mobile) standard has a data length of 1024. Therefore, a multi-mode terminal that implements several standards in one hardware has a drawback in that it has a large number of chipsets built therein. Accordingly, the need for an FFT arithmetic circuit capable of meeting various specifications by a plurality of chipsets has been recognized.

기존의 FFT 전용 프로세서는 FFT 연산을 실시하는 처리 회로에 복수의 기수(radix)에 대응한 여러 연산 회로가 구비되어 있고, 각 FFT 연산 스테이지에서의 기수에 대응한 연산 회로를 선택해 사용하도록 구성이 되어 있다. 따라서, 상기 FFT 전용 프로세서는 기수(radix)에 대응한 여러 연산 회로를 구비하고 있기 때문에, 회로 사이즈가 크고, 전력 소모량이 많은 결점이 있다.Existing FFT dedicated processor has a plurality of arithmetic circuit corresponding to a plurality of radix in the processing circuit for performing the FFT operation, and is configured to select and use arithmetic circuit corresponding to the radix in each FFT arithmetic stage have. Therefore, since the FFT dedicated processor is provided with a number of arithmetic circuits corresponding to radix, it has a drawback of large circuit size and high power consumption.

따라서, 본 발명의 목적은 기수(radix)에 대응하는 복수의 연산 회로를 구비하지 않고도 다수의 FFT 길이에 대응할 수 있어, 기존 대비 회로 수를 삭감해 소비전력을 감소시킬 수 있는 FFT 연산 회로를 제공함에 있다. Accordingly, an object of the present invention is to provide a FFT arithmetic circuit that can cope with a plurality of FFT lengths without having a plurality of arithmetic circuits corresponding to radix, thereby reducing the power consumption by reducing the number of circuits. Is in.

상기 목적을 달성하기 위한 본 발명에 따른 FFT 연산 회로는 복수의 직렬 연결된 버터플라이 연산기로 구성되며, 상기 버터플라이 연산기들 각각은 상기 버터플라이 연산기들 각각이 복소곱셈 및 복소가감산을 실시하는 순서대로 신호를 읽어내는 신호순서 변환부; FFT 길이 및 상기 버터플라이 연산기들 각각의 스테이지 수에 대응되는 복소계수를 차례로 상기 신호순서 변환부가 읽어낸 신호마다 복소곱셈하는 복소곱셈부; 및 상기 복소곱셈부로부터 출력되는 복소계수가 복소곱셈된 신호에 대해, 차례로 복소가감산을 실시하는 복소가감산부를 포함한다.The FFT calculation circuit according to the present invention for achieving the above object is composed of a plurality of series connected butterfly operator, each of the butterfly operators in the order that each of the butterfly operators perform a complex multiplication and complex subtraction A signal sequence converting unit reading a signal; A complex multiplication unit for complexing the FFT length and the complex coefficient corresponding to the number of stages of each of the butterfly operators in order for each signal read by the signal order conversion unit; And a complex value subtraction unit for performing a complex value subtraction on the complex multiplied signal output from the complex multiplication unit.

상술한 본 발명에 따른 FFT 연산 회로는 복수의 버터플라이 연산기가 직렬로 접속되어 구성되기 때문에, FFT 길이에 따른 버터플라이 연산 횟수에 대응하는 버 터플라이 연산기로부터 출력을 선택함으로써, 여러 종류의 FFT 길이에 대응한 연산을 수행한다. Since the FFT calculation circuit according to the present invention described above is composed of a plurality of butterfly calculators connected in series, various types of FFT lengths are selected by selecting an output from a butterfly calculator corresponding to the number of butterfly operations according to the FFT length. Perform the operation corresponding to

이하에서는 첨부된 도면들을 참조하여 본 발명의 일 실시예를 보다 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the present invention. However, in describing the present invention, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be abbreviated or omitted.

도 1은 본 발명의 실시예에 따른 FFT 연산 회로(1)의 구성을 나타내는 블럭도이다. 본 발명의 실시예에서는 기수(radix) 4를 이용한 버터플라이 연산을 설명했으나, 기수를 n승으로 한 2, 4, 8, 16, … 등과 같이 회로를 구성할 수 있다. 1 is a block diagram showing the configuration of an FFT calculation circuit 1 according to an embodiment of the present invention. In the embodiment of the present invention, the butterfly operation using radix 4 has been described, but 2, 4, 8, 16,... The circuit can be configured as such.

또한, FFT 연산의 대상인 외부로부터 입력되는 샘플(채널) 수에 의해, 사용되는 버터플라이 연산기의 수가 변화한다. FFT 연산 회로(1)는 기수 4에서, FFT 길이 64, 256 및 1024 각각에 대해 FFT 연산을 수행할 수 있도록 구성되어 있다. In addition, the number of butterfly calculators used varies depending on the number of samples (channels) input from the outside which are the subjects of the FFT calculation. The FFT arithmetic circuit 1 is configured to be able to perform FFT arithmetic on each of the FFT lengths 64, 256, and 1024 in radix 4.

본 발명의 실시예에 따른 FFT 연산 회로(1)는 버터플라이 연산기들(11, 12, 13, 14 및 15) 각각이 각각의 출력 단자와 다음 단의 입력 단자가 접속되도록 직렬 접속되어 있다. 또, 본 발명에 따른 FFT 연산 회로(1)는 FFT 길이가 64, 256 및 1024에 대응하는 구성이기 때문에, 상기 버터플라이 연산기(13, 14 및 15)의 몇 개의 출력을, FFT 길이의 연산기에 의해 선택하고, 선택된 연산 결과를 FFT 연산 결과로 출력하도록 구성된다.The FFT calculation circuit 1 according to the embodiment of the present invention is connected in series such that each of the butterfly operators 11, 12, 13, 14, and 15 is connected to each output terminal and an input terminal of the next stage. In addition, since the FFT arithmetic circuit 1 according to the present invention has a configuration in which the FFT lengths correspond to 64, 256, and 1024, some outputs of the butterfly arithmetic operators 13, 14, and 15 are transferred to the arithmetic unit of the FFT length. And select and output the selected calculation result as the FFT calculation result.

또, 본 발명에 따른 FFT 연산 회로(1)는 FFT 길이 64, 256 및 1024에 대응하도록 구성되어, 몇 개의 버터플라이 연산기(13, 14 및 15)의 출력을 FFT 길이 연산 기에 의해 선택하고, 선택된 연산 결과를 FFT 연산 결과로 출력한다.Further, the FFT calculation circuit 1 according to the present invention is configured to correspond to the FFT lengths 64, 256 and 1024, so that the outputs of several butterfly operators 13, 14 and 15 are selected by the FFT length calculator and selected. Outputs the operation result as the FFT operation result.

본 실시예에 따르면, FFT 길이가 64(43)인 경우 4의 3승이기 때문에 3단 째의 버터플라이 연산기(13)로부터 FFT의 연산 결과가 출력되고, FFT 길이가 256(44)인 경우 4의 4승이기 때문에 4단 째의 버터플라이 연산기(14)로부터 FFT의 연산 결과가 출력되고, FFT 길이가 1024(45)인 경우 4의 5승이기 때문에 5단 째의 버터플라이 연산기(15)로부터 연산 결과가 출력된다. 또, FFT 길이가 256일 때, 버터플라이 연산기(13)에서는 중간데이터로서의 버터플라이 연산 결과가 버터플라이 연산기(14)로 출력된다. 즉, FFT 길이에 필요한 버터플라이 연산기의 전단까지의 버터플라이 연산기에서는 계산 도중의 FFT 길이와 동 수의 중간 데이터가 출력된다.According to the present embodiment, when the FFT length is 64 (4 3 ), the result of the calculation of the FFT is output from the third stage butterfly operator 13 and the FFT length is 256 (4 4 ) because it is a power of four . In the case of 4th power of 4, the result of FFT calculation is output from the 4th stage butterfly operator 14, and when the FFT length is 1024 (4 5 ), it is the power of 4th power. The calculation result is output from 15). When the FFT length is 256, the butterfly operator 13 outputs the butterfly operation result as intermediate data to the butterfly operator 14. That is, the butterfly calculator up to the front end of the butterfly calculator required for the FFT length outputs the same intermediate data as the FFT length during the calculation.

버터플라이 연산기들(11~15) 각각은 후에 상세하게 말하지만, 외부로부터 입력되는 FFT 길이를 나타내는 FFT 길이 연산기에 의해, 외부로부터 또는 전단으로부터 입력되는 신호 각각(입력신호)에 복소 곱셈하는 복소계수의 데이터(이하, 계수 데이터 또는 계수로 한다)를 변화시켜, FFT 길이에 대응한 버터플라이 연산에 필요한 단의 전단까지, 상기 중간 데이터에 대응하는 버터플라이 연산을 실시해, FFT 길이에 대응한 버터플라이 연산에 필요한 스테이지의 버터플라이 연산기로부터 최종적인 연산 결과가 출력되도록 동작이 설정된다. 여기에서, 신호란 첫 번째 스테이지의 버터플라이 연산기(11)에 입력되는 입력신호 또는 다음 스테이지의 버터플라이 연산기(12~15)에 입력되는 이전 스테이지로부터의 중간 데이터 모두를 포함하는 것으로 한다.Each of the butterfly operators 11 to 15 will be described later in detail, but by means of an FFT length calculator representing an FFT length input from the outside, a complex coefficient of complex multiplication with each signal (input signal) input from the outside or from the front end is given. By changing the data (hereinafter referred to as coefficient data or coefficient), the butterfly operation corresponding to the intermediate data is performed until the front end of the stage required for the butterfly operation corresponding to the FFT length, and the butterfly operation corresponding to the FFT length. The operation is set so that the final operation result is output from the butterfly operator of the stage required for. Here, the signal includes both an input signal input to the butterfly operator 11 of the first stage or intermediate data from the previous stage input to the butterfly operators 12 to 15 of the next stage.

예를 들면, FFT 길이가 256인 경우, 버터플라이 연산기들(11~13)은 중간 데이터를 생성하는 연산을 실시하고, 버터플라이 연산기(14)는 버터플라이 연산기(13)로부터 출력되는 중간 데이터로부터 최종적인 FFT 연산 결과(출력신호)를 출력한다. 버터플라이 선택부(16)는 각 버터플라이 연산기로부터의 출력 신호를 입력받아 상기 FFT 길이 및 버터플라이 연산기의 스테이지(몇 번째 버터플라이 연산기인지)에 의해 FFT 연산 결과가 출력되는 스테이지의 버터플라이 연산기로부터의 출력을 선택하고, 이를 출력 신호로서 출력한다.For example, when the FFT length is 256, the butterfly operators 11-13 perform the operation of generating the intermediate data, and the butterfly operator 14 uses the intermediate data output from the butterfly operator 13 Outputs the final FFT calculation result (output signal). The butterfly selector 16 receives an output signal from each butterfly operator from a butterfly operator of a stage on which the FFT calculation result is output by the FFT length and the stage of the butterfly operator. Select the output of and output it as an output signal.

이어서, 도 2를 참조하여, 도 1에 도시된 버터플라이 연산기(11)를 설명한다. 도 2는 본 발명의 실시예에 따른 FFT 연산 회로(1)를 구성하는 버터플라이 연산기를 도시한 것이다. 다른 버터플라이 연산기들(12, 13, 14 및 15) 각각의 구성은 버터플라이 연산기(11)와 동일한 버터플라이 연산을 실시하도록 구성이 되어 있다. 각 연산기가 다른 점은, 다음 스테이지에 출력할 중간 데이터를 연산할 때, 입력되는 데이터에 대해 복소 곱셈하는 계수가 다르다는 것과, 이 계수가 복소 곱셈된 결과를 가감 연산하는 신호(샘플 또는 중간 데이터)의 편성이 다르다는 것이다. 또, 버터플라이 연산기(14)는 FFT 길이가 256 및 1024인 경우만 버터플라이 연산을 실시하도록 FFT 길이가 64인 경우의 버터플라이 연산에 대응하는 구성을 필요로 하지 않는다. 그리고, 버터플라이 연산기(15)는 FFT 길이가 1024개인 경우만 버터플라이 연산을 실시하도록 FFT 길이가 64 및 256의 경우의 버터플라이 연산에 대응하는 구성을 필요로 하지 않는다. Next, with reference to FIG. 2, the butterfly calculator 11 shown in FIG. 2 shows a butterfly calculator constituting the FFT calculation circuit 1 according to the embodiment of the present invention. Each of the other butterfly operators 12, 13, 14 and 15 is configured to perform the same butterfly operation as the butterfly operator 11. The difference between each operator is that when calculating intermediate data to be output to the next stage, the complex multiplication coefficient is different with respect to the input data, and the signal (sample or intermediate data) that adds or subtracts the result of the complex multiplication. The combination of is different. In addition, the butterfly operator 14 does not require a configuration corresponding to the butterfly operation when the FFT length is 64 so that the butterfly operation is performed only when the FFT lengths are 256 and 1024. In addition, the butterfly operator 15 does not require a configuration corresponding to the butterfly operation in the case where the FFT lengths are 64 and 256 so that the butterfly operation is performed only when the FFT length is 1024.

저장부(22)에는 외부로부터 시계열적으로 입력되는 입력신호 x(k)({ x(0),x(1), x(2),…, x(k-1), x(k)}의 신호열)가 입력주소선택부(24)로부터 출력되는 입력 주소(아래와 같이 설명함)에 따라, 대응하는 입력 주소(예를 들면 첫 번째 스테이지의 버터플라이연산기(11)에 대하여는 연속한 주소)에 차례차례 쓰여져, 다음 스테이지 이후의 버터플라이 연산기(12~15)에 대해 이전 스테이지의 출력 주소와 동일한 주소에 입력된다.The storage unit 22 inputs an input signal x (k) ({x (0), x (1), x (2), ..., x (k-1), x (k)) According to the input address (described below) output from the input address selector 24, the corresponding input address (e.g., the continuous address for the butterfly operator 11 of the first stage). It is written one after another and entered at the same address as the output address of the previous stage for the butterfly operators 12-15 after the next stage.

입력 주소 생성부(23)는 저장부(22)에 신호들을 차례차례 쓰기 위한 주소를 생성한다. 상기 입력 주소 생성부(23)는 FFT 길이 64에 대응하는 입력 주소를 생성하는 제1입력주소생성부(23A), FFT 길이 256에 대응하는 입력 주소를 생성하는 제2입력주소생성부(23B), 및 FFT 길이 1024에 대응하는 입력 주소를 생성하는 제3입력주소생성부(23C)로 구성된다.The input address generator 23 generates an address for sequentially writing signals to the storage 22. The input address generator 23 may include a first input address generator 23A for generating an input address corresponding to an FFT length 64, and a second input address generator 23B for generating an input address corresponding to an FFT length 256. And a third input address generator 23C for generating an input address corresponding to the FFT length 1024.

입력주소선택부(24)는 입력되는 FFT 길이 연산기에 따라, 입력주소생성부(23)로부터 제공받은 입력 주소 중 FFT 길이에 대응하는 입력 주소를 선택하여 저장부(22)로 출력한다.The input address selector 24 selects an input address corresponding to the FFT length among the input addresses provided from the input address generator 23 and outputs the input address to the storage 22 according to the input FFT length calculator.

상기 저장부(22)는 읽기와 쓰기를 동시에 수행할 수 있다. 예를 들면, 듀얼포트 램(RAM)으로 구성되고 저장 영역이 2개로 분할되어, 더블 버퍼 구조로서 입력 신호 x(k)(즉 입력되는 신호)를 쓰기 위한 기억 영역이 제1및 제2의 기억 영역으로 구분될 수 있다. 따라서, 본 발명의 실시예에 따르면, 저장부(22)는 1024의 FFT 길이에 대응하도록 구성되어 있기 때문에, 2048개의 신호에 대응하는 용량을 가진다. The storage unit 22 may simultaneously read and write. For example, a dual-port RAM and a storage area are divided into two, and a storage area for writing an input signal x (k) (i.e., an input signal) as a double buffer structure includes first and second memories. It can be divided into areas. Therefore, according to the embodiment of the present invention, since the storage unit 22 is configured to correspond to an FFT length of 1024, it has a capacity corresponding to 2048 signals.

또, 저장부(22)는 예를 들면, 도 3에 도시한 바와 같이, 주소 수가 2048인 메모리 공간을 가지고 있다. 이 메모리 공간에 있어서의 메모리 맵은, FFT 길이가 64인 경우, 사용하는 주소 공간의 주소수가 64이기 때문에, 쓰기 및 읽기를 교대로 바꾸는 주소 공간으로서 주소수가 128이 된다. 저장부(22)는 128을 나타내는 주소의 최상위비트가 「0」인 주소 공간(제1 기억 영역)과 최상위비트가 「1」인 주소 공간(제2 기억 영역)으로, FFT 길이 64에 대한 2개의 주소 공간을 구성하게 된다.In addition, the storage unit 22 has a memory space with an address number of 2048, for example, as shown in FIG. Since the memory map in this memory space is 64 when the FFT length is 64, since the address number of the address space to be used is 64, the address number is 128 as an address space for alternating write and read. The storage unit 22 is an address space (first storage area) in which the most significant bit of the address indicating 128 is "0" and an address space (second storage area) in which the most significant bit is "1". Will construct two address spaces.

또, 상기 저장부(22)에 대하여 이 메모리 공간에 있어서의 메모리 맵은 FFT 길이가 256인 경우, 사용하는 주소 공간의 주소수가 256이기 때문에, 쓰기 및 읽기를 교대로 바꾸는 주소 공간으로서는 주소수가 512가 된다. 저장부(22)는 512를 나타내는 주소의 최상위비트가 「0」인 주소 공간(제1의 기억 영역)과 최상위비트가 「1」인 주소 공간(제2의 기억 영역)으로, FFT 길이 256에 대한 2개의 주소 공간을 구성하게 된다.The memory map in the memory space in the storage section 22 has an address space of 256 when the FFT length is 256, so that the address space for alternating write and read is 512. Becomes The storage unit 22 is an address space (first storage area) in which the most significant bit of the address indicating 512 is "0" and an address space (second storage area) in which the most significant bit is "1". Will configure two address spaces.

또, 상기 저장부(22)에 대하여 이 메모리 공간에 있어서의 메모리 맵은 FFT 길이가 1024인 경우, 사용하는 주소 공간의 주소수가 1024이기 때문에, 쓰기 및 읽기를 교대로 바꾸는 주소 공간으로서는 주소 수가 2048이 된다. 여기서, 저장부(22)는 2048을 나타내는 주소의 최상위비트가 「0」인 주소 공간(제1 기억 영역)과, 최상위비트가 「1」인 주소 공간(제2 기억 영역)으로, FFT 길이 1024에 대한 2개의 주소 공간을 구성하게 된다.The memory map in the memory space in the storage unit 22 has an address space of 1024 when the FFT length is 1024. Therefore, the address map 2048 is an address space that alternates writing and reading. Becomes Here, the storage unit 22 has an address space (first storage area) in which the most significant bit of the address indicating 2048 is "0" and an address space (second storage area) in which the most significant bit is "1". You will configure two address spaces for.

입력 주소 생성부(23)는 FFT 길이에 대응하는 각 입력 주소 생성부가 저장부(22)의 주소 공간에 대응하는 입력 주소를 생성하도록 구성된다. The input address generator 23 is configured such that each input address generator corresponding to the FFT length generates an input address corresponding to the address space of the storage 22.

출력 주소 생성부(25)는 복소곱셈부(30)가 저장부(22)로부터 신호를 차례로 읽도록, 출력 주소를 생성한다. 이 출력 주소 생성부(25)는 FFT 길이 64에 대응하 는 출력 주소를 생성하는 제1출력주소생성부(25A), FFT 길이 256에 대응하는 출력 주소를 생성하는 제2출력주소생성부(25B), 및 FFT 길이 1024에 대응하는 출력 주소를 생성하는 제3출력주소생성부(25C)로 구성되어 있다.The output address generator 25 generates an output address such that the complex multiplier 30 sequentially reads signals from the storage 22. The output address generator 25 includes a first output address generator 25A for generating an output address corresponding to the FFT length 64, and a second output address generator 25B for generating an output address corresponding to the FFT length 256. ) And a third output address generator 25C for generating an output address corresponding to the FFT length 1024.

또, 출력 주소 생성부(25)는 FFT 길이 및 각 버터플라이 연산기의 스테이지에 따라 읽어 내기 위한 출력 주소가 다르기 때문에, 각각의 경우에 대응한 출력 주소를 생성한다. In addition, since the output address for reading differs depending on the FFT length and stage of each butterfly operator, the output address generator 25 generates an output address corresponding to each case.

상기 제1출력주소생성부(25A)는 FFT 길이가 64인 경우에 대한 것으로, 후술할 복소가감산부(32)에서 복소가감산을 수행하는 순서에 맞춰 신호 데이터가 저장부(22)로부터 읽어지도록 출력 주소를 차례차례 생성한다. 입력 주소 생성부(23), 출력 주소 생성부(25) 및 저장부(22)로 신호순서 변환부를 구성해, 후에 복소가감산부(32)에서 가감 연산을 실시할 신호(기수 4이므로 편성된 신호 또는 중간 데이터는 4개)가 연속적으로 복소곱셈부(30)로부터 출력되도록 출력 주소를 결정한다. 또, 제2출력주소생성부(25B) 및 제3출력주소생성부(25C) 각각은 FFT 길이 256 및 1024에 대한 것으로, 복소가감산부(32)에서 복소가감산을 수행하는 순서에 맞춰 신호 데이터가 저장부(22)로부터 읽어지도록 출력 주소를 차례차례 생성한다.The first output address generator 25A is for a case where the FFT length is 64, so that the signal data is read from the storage unit 22 in the order in which the complex value subtraction unit 32 performs the complex value subtraction. Generate output addresses in sequence. A signal sequence converting section is composed of an input address generating section 23, an output address generating section 25, and a storage section 22, and a signal to be added or subtracted later by the complex add / subtract section 32 (a radix of 4 is combined). Alternatively, the output address is determined such that four intermediate data are continuously output from the complex multiplication unit 30. Also, the second output address generator 25B and the third output address generator 25C each have an FFT length of 256 and 1024, and the signal data is arranged in the order in which the complex addition subtraction unit 32 performs complex addition subtraction. The output address is sequentially generated so that is read from the storage unit 22.

예를 들면, 기수 4, FFT 길이 256인 경우, 본 발명의 실시예에 따른 (FFT 연산의 알고리즘에 의해서 이하의 식은 다르다) 기수 4의 버터플라이 연산은 0≤k≤255의 범위에서 신호 x(k)를 입력받아 수행된다.For example, in the case of the radix 4 and the FFT length 256, the butterfly operation of the radix 4 according to the embodiment of the present invention (the following equations differ depending on the algorithm of the FFT operation) is the signal x ( It is executed by receiving k).

DFT(이산 푸리에 변환)로서As a DFT (Discrete Fourier Transform)

X(n)=Σx(k) WN nk …(1)X (n) = Σx (k) W N nk ... (One)

로 한다(1/N을 생략).(1 / N is omitted).

상술한 식에 대하여, 신호 번호 n과 주파수를 나타내는 인덱스 k는 아래에 기재된 바와 같다.For the above-described equation, the index k indicating the signal number n and the frequency is as described below.

n=64n3+16n2+4n1+n0 ;(n0, n1, n2, n3=0, 1, 2, 3)n = 64n 3 + 16n 2 + 4n 1 + n 0 ; (n 0 , n 1 , n 2 , n 3 = 0, 1, 2, 3)

k=64k3+16k2+4k1+k0 ;(k0, k1, k2, k3=0, 1, 2, 3)…(2)k = 64k 3 + 16k 2 + 4k 1 + k 0 ; (k 0 , k 1 , k 2 , k 3 = 0, 1, 2, 3). (2)

DFT는DFT is

X(n3, n2, n1, n0)X (n 3 , n 2 , n 1 , n 0 )

=ΣΣΣΣx(k3, k2, k1, k0) WN n(64k3+16k2+4k1+k0) …(3)= ΣΣΣΣ x (k 3 , k 2 , k 1 , k 0 ) W N n (64 k 3 + 16 k 2 + 4 k 1 + k 0 ) . (3)

로 나타난다. 이 k3, k2, k1, k0의 각각에 대하여, 제1 스테이지 버터플라이 연산기(11)에서 k3에 대한 합을 요구하고, 제2 스테이지 버터플라이 연산기(12)에서 k2에 대한 합을 요구하고, 제3 스테이지 버터플라이 연산기(13)에서 k1에 대한 합을 요구하고, 제4 스테이지 버터플라이 연산기(14)에서 k0에 대한 합을 요구하게 된다.Appears. For each of k 3 , k 2 , k 1 , and k 0 , the sum of k 3 is required in the first stage butterfly operator 11 and k 2 in the second stage butterfly operator 12. A sum is required, a sum for k 1 in the third stage butterfly operator 13 and a sum for k 0 in the fourth stage butterfly operator 14.

x1(n0, k2, k1, k0) = Σx(k3, k2, k1, k0)W4 n0k3 …(4) x 1 (n 0 , k 2 , k 1 , k 0 ) = Σx (k 3 , k 2 , k 1 , k 0 ) W 4 n0k3 . (4)

x2(n0, n1, k1, k0) = Σx1(n0, k2, k1, k0)WN 16n0k2 W4 n1k2…(5) x 2 (n 0 , n 1 , k 1 , k 0 ) = Σx 1 (n 0 , k 2 , k 1 , k 0 ) W N 16n0k2 W 4 n1k2 . (5)

x2(n0, n1, k1, k0) = Σx2(n0, n1, k1, k0)WN 4(4n1+n0)k1 W4 n2k1…(6) x 2 (n 0 , n 1 , k 1 , k 0 ) = Σx 2 (n 0 , n 1 , k 1 , k 0 ) W N 4 (4n1 + n0) k1 W 4 n2k1 . (6)

x4(n0, n1, n2, n3) = Σx3(n0, n1, n2, k0)WN( 16n2+4n1+n0)k0 W4 n3k0…(7) x 4 (n 0 , n 1 , n 2 , n 3 ) = Σx 3 (n 0 , n 1 , n 2 , k 0 ) W N ( 16n2 + 4n1 + n0) k0 W 4 n3k0 ... (7)

여기서, x4(n0, n1, n2, n3)는 x(n3, n2, n1, n0)이다. (4)식이 제1 스테이지 버터플라이 연산기(11)의 출력이며, (5)식이 제2 스테이지 버터플라이 연산기(12)의 출력이며, (6)식이 제3 스테이지 버터플라이 연산기(13)의 출력이며, (7)식이 제4스테이지 버터플라이 연산기(14)의 출력, 즉 FFT 길이 256에 있어서의 DFT이다. 또, 상기 x1, x2, x3은 DFT 연산에 있어서, 각 버터플라이 연산기로 입력되는 중간 데이터가 된다.Here, x 4 (n 0 , n 1 , n 2 , n 3 ) is x (n 3 , n 2 , n 1 , n 0 ). Expression (4) is the output of the first stage butterfly calculator 11, Expression (5) is the output of the second stage butterfly calculator 12, and Expression (6) is the output of the third stage butterfly calculator 13 Equation (7) is the output of the fourth stage butterfly calculator 14, that is, the DFT at the FFT length 256. In addition, the x 1, x 2, x 3 is the intermediate data in the DFT operation, the input to each butterfly operator.

이 경우, 버터플라이 연산기(11)는 (4)식에 있어서, 입력되는 신호의 계수 「W4 n0k3」의 복소곱셈, 즉 「+1」, 「-1」, 「+j」또는 「-j」의 복소곱셈에 대해서 복소가감산부(32)에서 가산할지 감산할지가 설정되어 있기 때문에, 복소곱셈 처리는 행해지지 않는다. 복소가감산부(32)에 대해서 계수 「W4 n0k3」에서의 n0가 0, 1, 2, 3인 4개의 경우에 대응한 4개의 감산 또는 가산이 행해져 4개의 중간 데이터가 출력된다. 복소가감산부(32)에 대해서 계수 「W4 n1k2」에서의 n1가 0, 1, 2, 3인 4개의 경우에 대응한 4개의 감산 또는 가산을 해 4개의 중간 데이터가 출력된다.In this case, in the formula (4), the butterfly operator 11 performs complex multiplication of the coefficient "W 4 n0k3 " of the input signal, that is, "+1", "-1", "+ j" or "-j". Since the complex addition subtraction unit 32 is set for the complex multiplication, the complex multiplication process is not performed. The complex addition subtraction unit 32 performs four subtractions or additions corresponding to four cases where n 0 in the coefficient "W 4 n0k3 " is 0, 1, 2, and 3, and four intermediate data are output. The complex value subtraction unit 32 performs four subtractions or additions corresponding to four cases where n 1 in the coefficient "W 4 n1k2 " is 0, 1, 2, and 3, and four intermediate data are output.

또, 버터플라이 연산기(13)는 (6) 식에 있어서의, 입력되는 신호(중간 데이터)의 계수 「W4 n2k1」의 복소곱셈, 즉 「+1」, 「-1」, 「+j」또는 「-j」의 복소곱셈에 대해서, 복소가감산부(32)에서 가산할지 감산할지 설정되어 있기 때문에, 복소곱셈의 처리는 행해지지 않는다. 복소가감산부(32)에 대해서, 계수 「W n2k1」에서의 n2가 0, 1, 2, 3의 4개인 경우에 대응한 4개의 감산 또는 가산을 해 4개의 중간 데이터가 출력된다. 또, 버터플라이 연산기(12)는 (7) 식에 있어서, 입력되는 신호(중간 데이터)의 계수 「W3 n3k0」의 복소곱셈, 즉 「+1」, 「-1」, 「+j」또는 「-j」의 복소곱셈에 대해서, 복소가감산부(32)에서 가산할지 감산할지가 설정되어 있기 때문에, 복소곱셈의 처리는 행해지지 않는다. 복소가감산부(32)에 대해서는 계수「W4 n3k0」에 있어서의 n3이 0, 1, 2, 3의 4개의 경우에 대응한 4개의 감산 또는 가산을 해 4개의 중간 데이터가 출력된다.In addition, the butterfly operator 13 performs a complex multiplication of the coefficient "W 4 n2k1 " of the input signal (intermediate data) in the formula (6), that is, "+1", "-1", "+ j" or " For the complex multiplication of "-j", since the complex value is added or subtracted by the subtraction subtractor 32, the complex multiplication process is not performed. With respect to the complex acceleration peaks 32, the coefficient n 2 of the "W 4 n2k1" 0, 1, 2, 3 to 4 by the addition or subtraction of four corresponding to the individual case of the four intermediate data is output. The butterfly operator 12 is a complex multiplication of the coefficient " 계수 3 n3W0 " of the input signal (intermediate data), that is, "+1", "-1", "+ j" or "-", in the formula (7). For the complex multiplication of " j ", it is set whether or not to add or subtract in the complex subtraction unit 32, so that the complex multiplication is not performed. For the complex acceleration peaks 32, coefficient "W 4 n3k0" n 3 is a four to subtraction or addition corresponds to 0, 1, 2, and 3 of the four cases is output four intermediate data in the.

버터플라이 연산기(11)에 대해서는 신호 x(k)가 k = 0~255까지 차례로 입력되어 저장부(22)가 연속한 주소에 순서대로 써진다. 이 때문에, 저장부(22)로부터의 데이터를 읽어 내기 위해 이하와 같은 출력 주소가 필요하다. 상기 (4) 식에서 k3에 대한 합을 요구하고 있기 때문에, 복소가감산부(32)에 대해서는 신호 x(k3, k2, k1, k0)의 그룹으로서 첫 그룹이 x(k3, 0, 0, 0)가 되어, k3을 0, 1, 2, 3으로 변화시킨 신호 x(0), x(64), x(128), x(192)의 4개를 그룹으로 소정의 복소가감산을 실시한다. With respect to the butterfly operator 11, signals x (k) are sequentially inputted from k = 0 to 255 so that the storage unit 22 writes sequentially to the consecutive addresses. For this reason, the following output addresses are required to read data from the storage unit 22. Since the sum for k 3 is required in the above Equation (4), the complex subtractor 32 is a group of signals x (k 3 , k 2 , k 1 , k 0 ), and the first group is x (k 3 , 0, 0, 0), and four of the signals x (0), x (64), x (128), and x (192) obtained by changing k 3 to 0, 1, 2, and 3 are predetermined Complex subtraction is performed.

다음에, x(k3, 0, 0, 1)로서 k3을 0, 1, 2, 3으로 변화시킨 신호 x(k)이지만 4개의 신호 그룹의 신호열로서 차례차례 읽어 내어질 필요가 있다. 따라서, 버터플라이 연산기(11)에 있어서의 제2출력주소생성부(25B)는 저장부(22)로부터 신호열을 읽어내는 순서대로 k의 수치를 표현한 (2)식에 있어서의 4 진수의 가장 높은 자리수 64, 즉 이 버터플라이 연산기(11)에서 합을 취하는 번호 k3의 자리수를 기준으로 하고 다른 자리수를 고정해, 기준으로 한 자리수를 0, 1, 2, 3으로 변화시키고, 차례차례 출력 주소를 생성하게 된다.Next, although x (k) is a signal x (k) obtained by changing k 3 to 0, 1, 2, 3 as x (k 3 , 0, 0, 1), it needs to be sequentially read as a signal sequence of four signal groups. Therefore, the second output address generator 25B in the butterfly operator 11 has the highest hexadecimal number in (2) in which the numerical value of k is expressed in the order of reading the signal sequence from the storage unit 22. Based on the number of digits 64, that is, the number of digits k 3 to be summed by the butterfly operator 11, the other digits are fixed, and the standard digits are changed to 0, 1, 2, 3, and the output address is sequentially Will generate

이하, 버터플라이 연산기들(12, 13, 14)도 같이 이하와 같이 구할 수 있다.Hereinafter, the butterfly operators 12, 13, and 14 may also be obtained as follows.

마찬가지로, (5) 식에 대하여, k2에 대한 합을 요구하고 있기 때문에, 복소가감산부(32)(버터플라이 연산기(12))에 대하여, 신호 x1(n0, k2, k1, k0)의 그룹으로서 첫 그룹이 x1(0, k2, 0, 0)이 되어, k2를 0, 1, 2, 3으로 변화시킨 신호 x1(0), x1(16), x1(32), x1(48)의 4개를 그룹으로서 소정의 복소가감산을 실시한다.Similarly, since the sum of k 2 is required for the expression (5), the signal x 1 (n 0 , k 2 , k 1 ,) is applied to the complex subtraction subtractor 32 (butterfly operator 12). k 0 ), the first group becomes x 1 (0, k 2 , 0, 0), and the signal x 1 (0), x 1 (16), which changes k 2 to 0, 1, 2, 3, A predetermined complex value subtraction is performed by grouping four of x 1 (32) and x 1 (48).

다음에, x1(0, k2, 0, 1)로서 k2를 0, 1, 2, 3으로 변화시킨 신호 x(k)가 4개의 신호 그룹의 신호열로서 차례차례 읽어내질 필요가 있다. 따라서, 버터플라이 연산기(12)에 있어서의 제2출력주소생성부(25B)는 저장부(22)로부터 신호열을 읽어내는 차례로서 k의 수치를 표현한 (2) 식에 있어서의 4 진수의 2번째로 높은 자리 수 16, 즉 이 버터플라이 연산기(12)에서 합을 취하는 번호 k2를 기준으로 하고 다른 자리수를 고정해, 기준으로 한 자리수를 0, 1, 2, 3으로 변화시켜 차례차례 출력 주소를 생성하게 된다.There is then a need naejil, x 1 (0, k 2, 0, 1) as sequentially read as a signal sequence in which the signal x (k) are four signal group changes a k 2 with 0,1,2,3. Therefore, the second output address generator 25B in the butterfly operator 12 represents the second of the hexadecimal number in the expression (2) in which the numerical value of k is expressed in order of reading the signal sequence from the storage 22. 16, i.e., based on the number k 2 that is summed by the butterfly operator 12, the other digits are fixed, and one digit is changed to 0, 1, 2, 3 in order to sequentially output the address. Will generate

또, (6) 식에 대하여, k1에 대한 합을 요구하고 있기 때문에, 복소가감산부 (32)(버터플라이연산기(13))에서는 신호 x2(n0, n1, k1, k0)의 그룹으로서 첫 그룹이 x2(0, 0, k1, 0)가 되어, k1을 0, 1, 2, 3으로 변화시킨 신호 x2(0), x2(4), x2(8), x2(12)의 4개를 그룹으로서 소정의 복소가감산을 실시한다. 이 때문에, x2(0, 0, k1, 1)로서 k1을 0, 1, 2, 3으로 변화시킨 신호 x(k)가 4개의 신호 그룹의 신호열로서 차례차례 읽어내질 필요가 있다. 따라서, 버터플라이 연산기(13)에 있어서의 제2출력주소생성부(25B)는 저장부(22)로부터 신호열을 읽어내는 차례로서 k의 수치를 표현한 (2) 식에 있어서의 4 진수의 3번째로 높은 자리수 4, 즉 이 버터플라이 연산기(13)에서 합을 취하는 번호 k1을 기준으로 하고 다른 자리수를 고정해, 기준으로 한 자리수를 0, 1, 2, 3으로 변화시켜 차례차례 출력 주소를 생성하게 된다.In addition, since the sum to k 1 is required for the expression (6), the complex subtraction subtractor 32 (the butterfly operator 13) gives the signal x 2 (n 0 , n 1 , k 1 , k 0). ), The first group becomes x 2 (0, 0, k 1 , 0) and changes k 1 to 0, 1, 2, 3 x 2 (0), x 2 (4), x 2 The complex complex subtraction is performed by grouping four of (8) and x 2 (12). For this reason, the signal x (k) in which k 1 is changed to 0, 1, 2, 3 as x 2 (0, 0, k 1 , 1) needs to be sequentially read as a signal sequence of four signal groups. Therefore, the second output address generator 25B in the butterfly operator 13 represents the third of the hexadecimal number in the equation (2) in which the numerical value of k is expressed in order of reading the signal sequence from the storage unit 22. The higher digit 4, that is, the butterfly operator 13, is based on the number k 1 that sums up, and the other digits are fixed, and one digit is changed to 0, 1, 2, 3, and the output address is sequentially changed. Will be created.

마찬가지로, (7) 식에 대하여, k0에 대한 합을 요구하고 있기 때문에, 복소가감산부(32)(버터플라이 연산기(14))에서는 신호 x3(n0, n1, n1, n2)의 그룹으로서 첫 그룹이 x3(0, 0, 0, k0)이 되어, k0을 0, 1, 2, 3으로 변화시킨 신호 x3(0), x3(1), x3(2), x3(3)의 4개를 그룹으로서 소정의 복소가감산을 실시한다. 다음에, x3(0, 0, 1, k0)으로서 k0을 0, 1, 2, 3으로 변화시킨 신호 x(k)가 4개의 신호 그룹을 신호열로서 차례차례 읽어내질 필요가 있다. 따라서, 버터플라이 연산기(14)에 있어서의 제2출력주소생성부(25B)는 저장부(22)로부터 신호열을 읽어내는 차례로서 k의 수치를 표현한 (2) 식에 있어서의 4 진수의 가장 낮은 자리수 1, 즉 이 버터플라이 연산기(13)에서 합을 취하는 번호 k0을 기준으로 해, 다른 자리수를 고정해, 기준으로 한 자리수를 0, 1, 2, 3으로 변화시켜 차례차례 출력 주소를 생성하게 된다.Similarly, since the sum for k 0 is required for the expression (7), the complex subtraction subtractor 32 (butterfly operator 14) gives the signal x 3 (n 0 , n 1 , n 1 , n 2). ), the first group as a group x 3 (0, 0, 0 , k 0) is, that the signal x changes the k 0 a 0, 1, 2, 3 3 (0), x 3 (1), x 3 of the The complex complex subtraction is performed by grouping four of (2) and x 3 (3). Next, the signal x (k) which changed k 0 to 0, 1, 2, 3 as x 3 (0, 0, 1, k 0 ) needs to read four signal groups sequentially as a signal sequence. Therefore, the second output address generator 25B in the butterfly operator 14 has the lowest hexadecimal number in the equation (2) in which the numerical value of k is expressed in order of reading the signal sequence from the storage unit 22. Based on the number of digits 1, i.e., the number k 0 that is summed by the butterfly operator 13, the other digits are fixed, and one digit is changed to 0, 1, 2, and 3 to generate an output address in sequence. Done.

즉, 출력 주소 생성부(25)의 각 FFT 길이에 대응한 주소 생성부는 대응하는 각 버터플라이 연산기에 있어서의 합을 요구하는 자리수를 기준으로 해, 이 기준이 되는 자리수 이외의 자리수를 순서대로 변화시킨다. 그리고, 이 변화시킨 값마다, 기준이 되는 자리수를 n진수(기수에 대응)로 변화시켜(예를 들면 4 진수이면, 0, 1, 2, 3으로 변화시킴) 복소가감산부(32)에서 이용하는 기수에 대응하는 수의 신호열에 대한 출력 주소를 생성한다.That is, the address generator corresponding to each FFT length of the output address generator 25 changes the number of digits other than the digits used as the reference based on the number of digits for which the sum is requested in each corresponding butterfly operator. Let's do it. For each of these changed values, the reference digit is changed to n decimal number (corresponding to radix) (for example, if it is hexadecimal, it is changed to 0, 1, 2, 3). Generate an output address for the number of signal sequences corresponding to the radix.

또, 출력 주소 생성부(25)의 각 주소 생성부는 기준이 되는 자리수 이외의 자리수에 변화를 둔다. 예를 들면, 연산의 알고리즘에 따라 다르지만, 보다 작은 자리수로부터 자리수에 변화를 둔다. The address generator of the output address generator 25 changes the number of digits other than the reference digit. For example, depending on the algorithm of the operation, the digit is changed from the smaller digit.

상술한 것으로부터, 각 버터플라이 연산기의 출력 주소 생성부(25)에 있어서, 제1출력주소생성부(25A)는 FFT 길이 64에 대응하고 있기 때문에, (2) 식의 표현이 이하의 식과 같이 된다.From the above, in the output address generator 25 of each butterfly operator, since the first output address generator 25A corresponds to the FFT length 64, the expression of expression (2) is expressed as follows. do.

n=16 n2+4n1+n0 ;(n0, n1, n2=0, 1, 2, 3)n = 16 n 2 + 4 n 1 + n 0 ; (n 0 , n 1 , n 2 = 0, 1, 2, 3)

k=16 k2+4k1+k0 ;(k0, k1, k2=0, 1, 2, 3) k = 16 k 2 + 4k 1 + k 0 ; (k 0 , k 1 , k 2 = 0, 1, 2, 3)

마찬가지로, 각 버터플라이 연산기의 출력 주소 생성부(25)에 있어서, 제3출력주소생성부(25C)는 FFT 길이 1024에 대응하고 있기 때문에, (2) 식의 표현이 이하의 식과 같게 된다.Similarly, in the output address generator 25 of each butterfly operator, since the third output address generator 25C corresponds to the FFT length 1024, the expression of expression (2) becomes as follows.

n=256 n4+64n3+16n2+4n1+n0 ;(n0, n1, n2, n3, n4=0, 1, 2, 3)n = 256 n 4 + 64n 3 + 16n 2 + 4n 1 + n 0 ; (n 0 , n 1 , n 2 , n 3 , n 4 = 0, 1, 2, 3)

k=256 n4+64k3+16k2+4k1+k0 ;(k0, k1, k2, k3, k4=0, 1, 2, 3) k = 256 n4 + 64k 3 + 16k 2 + 4k 1 + k 0 ; (k 0 , k 1 , k 2 , k 3 , k 4 = 0, 1, 2, 3)

상술한 것처럼, (2) 식의 표현이, FFT 길이가 다르면 읽어내지는 신호의 데이터의 편성(신호가 입력되어 저장부(22)에 기억된 차례로부터, 저장부(22)로부터 복소곱셈부(30)에 대해서 읽어내는 차례의 변경)도 달라지도록, FFT 길이(즉 FFT 길이 연산기)에 따른 각 출력 주소 생성부(제2출력주소생성부(25B), 제3출력주소생성부(25C))는 기수와 FFT 길이에 의해 정해지는 읽기 주소의 연산식에 의해, 차례차례 출력 주소를 생성한다. As described above, the expression of expression (2) is a combination of data of a signal read out when the FFT length is different (from the order in which the signal is input and stored in the storage unit 22, the complex multiplication unit 30 from the storage unit 22). ), So that the output address generators (second output address generator 25B and third output address generator 25C) according to the FFT length (i.e., the FFT length calculator) The output address is generated in sequence by the expression of the read address determined by the radix and FFT length.

또, 각 버터플라이 연산기에 대하여 (2) 식에 있어서의 합을 취하는 자리수를 최소자리수로 해, (2) 식의 자리수의 낮은 순서부터 자리수 오름을 하는 카운터를 형성하고, 각 출력 주소 생성부(25)를 구성할 수 있다. Also, for each butterfly operator, the counters taking the sum in equation (2) as the minimum number of digits are formed to form a counter that increases the number of digits from the lower order of the number of digits in the equation (2). 25) can be configured.

또, 상기 각 출력 주소 생성부는 해당 FFT 길이에 대응하고 신호 데이터를 읽어내는 출력 주소가 차례로 기억된 ROM(Read Only Memory)으로부터, 시계열 순으로 이 ROM의 주소를 액세스하고, 저장된 출력 주소를 읽어내어 출력 주소를 생성하 도록 구성된다. Each of the output address generators accesses the addresses of the ROMs in chronological order from a ROM (Read Only Memory) in which the output addresses corresponding to the corresponding FFT length and the output address for reading out signal data are stored in sequence, and read out the stored output addresses. It is configured to generate an output address.

출력주소선택부(26)는 입력되는 FFT 길이에 따라, FFT 길이에 대응하는 출력 주소를 선택해, 출력 주소로서 저장부(22)에 출력한다.The output address selector 26 selects an output address corresponding to the FFT length according to the input FFT length and outputs the output address to the storage 22 as an output address.

복소곱셈부(30)는 저장부(22)로부터 시계열에 입력되는 신호의 데이터 x(k)에 대하여, FFT 회전 인자 테이블(29)(청구항에 있어서의 복소계수 저장부에 대응)로부터 읽어내지는 계수, 예를 들면, FFT 길이가 256의 경우, 버터플라이 연산기 (11)에 대해 「1」, 버터플라이 연산기(12)에 대해 「WN 16n0k2」, 버터플라이 연산기(13)에 대해 「WN4 (4 n1+n0) k1」, 버터플라이 연산기(14)에 대해 WN (16 n2+4n1+n0) k0를 차례차례 복소곱셈하고, 복소곱셈 결과를 출력한다.The complex multiplication section 30 is a coefficient read from the FFT rotation factor table 29 (corresponding to the complex coefficient storage section in the claim) with respect to the data x (k) of the signal input from the storage section 22 to the time series. For example, when the FFT length is 256, "1" for the butterfly operator 11, "W N 16n0k2 " for the butterfly operator 12, and "WN 4 ( for the butterfly operator 13). 4 n1 + n0) k1 "and the butterfly operator 14 complex- wise multiply W N (16 n2 + 4n1 + n0) k0 sequentially and output a complex multiplication result.

복소계수(또는 복소회전 인자)로서의 상기 각 계수 각각은 복소 곱셈하는 대상의 신호마다(즉, FFT 길이 및 버터플라이 연산기의 스테이지에 대응해)에 다르게 하기 위해, 도 4에 나타낸 바와 같이, FFT 회전 인자 테이블부(29)에는 FFT 길이 및 버터플라이 연산기의 스테이지 각각에 대응한 테이블을 마련해 둔다. 이 테이블은 ROM에 미리 저장하여 형성할 수도 있고, RAM에 연산을 개시시키기 전에, 외부로부터 읽어 들여 형성할 수도 있다. Each of the above coefficients as a complex coefficient (or complex rotational factor) is changed to FFT rotation as shown in FIG. 4 so as to be different for each signal of the object to be complex multiplied (ie, corresponding to the FFT length and stage of the butterfly operator). The print table 29 is provided with a table corresponding to each of the stages of the FFT length and the butterfly calculator. The table may be stored in advance in the ROM, or read from the outside before the operation is started in the RAM.

FFT 회전 인자 테이블(29)은 그림 4에 나타낸 바와 같이, FFT 길이 마다 대응하는 계수의 저장 영역으로 구성되어 있어 FFT 길이가 1024개의 경우에 사용하는 계수가 저장되어 있는 영역 D64, FFT 길이가 256개의 경우에 사용하는 계수가 저장 되어 있는 영역 D256, 및 FFT 길이가 1024개의 경우에 사용하는 계수가 저장되어 있는 영역 D1024로 구성되어 있다.As shown in Fig. 4, the FFT rotation factor table 29 is composed of a storage area of coefficients corresponding to each FFT length, so that the coefficients used in the case of 1024 FFT lengths are stored. It consists of an area D256 in which coefficients used in the case are stored and an area D1024 in which coefficients used in the case of 1024 FFT lengths are stored.

인자주소생성부(27)는 영역 D64에 기억되고 있는 계수를 차례로 읽어내는 인자 주소를 생성하는 제1인자주소생성부(27A), 영역 D256에 기억되고 있는 계수를 차례로 읽어내는 인자 주소를 생성하는 제2인자주소생성부(27B), 및 영역 D1024에 기억되고 있는 계수를 차례로 읽어내는 인자 주소를 생성하는 제3인자주소생성부(27C)로 구성되어 있다.The factor address generation unit 27 generates a factor address that sequentially reads the coefficients stored in the area D256 and the first factor address generation unit 27A for generating a factor address that sequentially reads the coefficients stored in the area D64. The second factor address generation unit 27B and a third factor address generation unit 27C for generating a factor address for sequentially reading out the coefficients stored in the area D1024.

인자주소생성부(27)는 FFT 길이에 따라 저장부(22)로부터 차례차례 읽어내지는 신호의 데이터에 맞춰 복소 곱셈하는 계수를 읽어내기 위해, FFT 회전 인자 테이블(29)로부터 계수를 읽어내는 인자 주소 차례차례 생성한다.The argument address generation unit 27 reads the coefficients from the FFT rotation factor table 29 to read the complex multiplication coefficients according to the data of the signals sequentially read from the storage unit 22 according to the FFT length. Create one after another.

인자주소선택부(28)는 입력되는 FFT 길이 연산기에 의해, 제1인자주소생성부(27A), 제2인자주소생성부(27B) 및 제3인자주소생성부(27C) 각각이 생성해 출력하는 인자 주소의 어느 하나를 선택해, 선택한 인자 주소를 FFT 회전 인자 테이블(29)에 출력한다.The print address selector 28 generates and outputs each of the first factor address generator 27A, the second factor address generator 27B, and the third factor address generator 27C by an input FFT length calculator. Any one of the argument addresses to be selected is selected, and the selected argument addresses are output to the FFT rotation factor table 29.

복소곱셈부(30)는 저장부(22)로부터 시계열에 입력되는 신호의 데이터 각각에 대해, FFT 회전 인자 테이블(29)로부터 읽어내지는 각 계수를, 차례차례 복소곱셈해 직렬/병렬 변환부(31)에 출력한다. 직렬/병렬 변환부(31)는 계수가 복소곱셈된 4개의 신호 데이터의 그룹을, 출력 주소 생성부(25)로부터 출력되는 주소에 따라 저장부(22)로부터 읽어내진 순서(예를 들면,{x(0), x(64), x(128), x(192)},{x(1), x(65), x(129), x(193)},…의 순서)대로 직렬로 입력받아, 일단 이 그룹 신호의 데이터를 저장한 뒤 병렬로 복소가감산부(32)에 출력한다.The complex multiplication unit 30 sequentially multiplies each coefficient read from the FFT rotation factor table 29 with respect to the data of the signal input to the time series from the storage unit 22 in series / parallel conversion unit 31. ) The serial / parallel converter 31 reads the group of four signal data whose coefficients are multiplyed from the storage 22 according to the address output from the output address generator 25 (for example, x (0), x (64), x (128), x (192)}, {x (1), x (65), x (129), x (193)},… Once received, the group signal data is stored and output in parallel to the complex subtraction unit 32 in parallel.

또, 복소가감산부(32)는 각 버터플라이 연산기마다, 대응하는 상기 (4) 식으로부터 (7) 식의 가감 연산을 실시해 얻을 수 있던 연산 결과를 병렬/직렬변환기(33)에 병렬에 출력한다. 예를 들면, 버터플라이 연산기(11)에 있어서의 복소가감산부(32)는 입력되는{x(0), x(64), x(128), x(192)}의 신호의 그룹에 대해서 소정의 복소가감산을 실시해, 연산 결과적으로, 중간 데이터{x1(0), x1(64), x1(128), x1(192)} 을 병렬에 출력한다.In addition, the complex addition / subtraction unit 32 outputs, in parallel to the parallel / serial converter 33, the calculation result obtained by performing the addition / decrement operation of the corresponding equation (4) from the corresponding equation (4). . For example, the complex value subtraction unit 32 in the butterfly calculator 11 is predetermined for a group of signals x (0), x (64), x (128), and x (192) 'to be input. Complex subtraction is performed, and as a result of the operation, intermediate data #x 1 (0), x 1 (64), x 1 (128), and x 1 (192)} are output in parallel.

병렬/직렬변환기(33)는 병렬로 입력되는 연산 결과{x1(0), x1(64), x1(128), x1(192)}의 줄을, 병렬에서 직렬로 변환하고, x1(0), x1(64), x1(128), x1(198)의 순서로 출력한다.The parallel / serial converter 33 converts the lines of the calculation results {x 1 (0), x 1 (64), x 1 (128) and x 1 (192)} input in parallel from parallel to serial, Output in the order of x 1 (0), x 1 (64), x 1 (128), and x 1 (198).

타이밍 생성부(34)는 저장부(22)에 신호 데이터가 기록되는 타이밍, 입력 주소 생성부(23)가 입력 주소를 생성해 출력하는 타이밍, 출력 주소 생성부(25)가 출력 주소를 생성해 출력하는 타이밍, 입력주소선택부(24), 출력주소선택부(26), 및 인자주소선택부(28) 각각이 선택 처리를 실시하는 타이밍, 복소곱셈부(30)가 복소곱셈하는 타이밍, 직렬/병렬 변환부(31)가 직렬·병렬 변환 처리를 실시하는 타이밍, 복소가감산부(32)가 복소가감산을 실시하는 타이밍, 그리고 병렬/직렬 변환부(33)가 복소가감산부(32)의 출력을 병렬·직렬 변환을 실시하는 타이밍 각각을 제어하는 동작 클럭을, 상기 각 구성요소로 출력해, FFT 길이 연산기가 나타내는 FFT 길이에 따라 각 구성요소의 동작을 제어한다.The timing generator 34 may include a timing at which signal data is written to the storage 22, a timing at which the input address generator 23 generates and outputs an input address, and an output address at the output address generator 25. Timing to output, timing at which the input address selector 24, output address selector 26, and print address selector 28 respectively perform the selection process, complex multiplication unit 30 complex-timed, serial The timing at which the parallel conversion unit 31 performs the serial / parallel conversion processing, the timing at which the complex addition subtraction unit 32 performs the complex addition subtraction, and the parallel / serial conversion unit 33 at the complex addition subtraction unit 32. An operation clock for controlling each of the timings for performing parallel-serial conversion of the output is output to the respective components, and the operation of each component is controlled in accordance with the FFT length indicated by the FFT length calculator.

즉, FFT 길이가 64의 경우 64개의 데이터가 입력될 때마다, FFT 길이가 256인 경우 256개의 데이터가 입력될 때마다, FFT 길이가 1024인 경우 1024개의 데이터가 입력될 때마다, 아래와 같이 설명하는 FFT 연산을 주기적으로 실시한다.That is, whenever 64 data is input when the FFT length is 64, whenever 256 data is input when the FFT length is 256, and whenever 1024 data is input when the FFT length is 1024, The FFT operation is performed periodically.

또, 저장부(22)의 더블 버퍼에 있어서 제1및 제2의 저장 영역은, 상기 주기 마다 기입을 하는 영역과 읽기를 하는 영역에, 입력주소선택부(23) 및 출력주소선택부(25)가 차례로 바꾸어 사용할 수 있다. In the double buffer of the storage unit 22, the first and second storage areas are the input address selector 23 and the output address selector 25 in the write area and the read area in each cycle. ) Can be used in turn.

다음에, 도 1 및 도 2를 참조하여, 본원 발명의 FFT 연산 회로(1)의 동작 설명을 실시한다. 여기서는 입력되는 FFT 길이가 256인 경우에 대해 설명한다. FFT 연산 회로(1)에는 입력 신호 x(k), 0≤k≤255로서 즉{x(0), x(1), x(2), x(3),…, x(254), x(255)}의 신호열이 입력된다. 또, FFT 연산 회로(1)에는 FFT 길이가 256인 것을 나타내는 FFT 길이 연산기가 입력된다.Next, with reference to FIG. 1 and FIG. 2, the operation | movement description of the FFT calculation circuit 1 of this invention is demonstrated. Here, the case where the input FFT length is 256 will be described. The FFT arithmetic circuit 1 has an input signal x (k), 0? K? A signal sequence of x (254) and x (255) 'is input. In addition, an FFT length calculator indicating that the FFT length is 256 is input to the FFT calculation circuit 1.

상기 신호열은 직렬로 버터플라이 연산기(11)에 입력된다. 버터플라이 연산기(11)에 대하여, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 입력주소선택부(24)에 입력되고 있기 때문에, 입력주소선택부(24)는 제2입력주소생성부(23B)로부터 입력되는 입력 주소를 저장부(22)로 출력한다.The signal string is input to the butterfly operator 11 in series. With respect to the butterfly operator 11, since an FFT length calculator indicating that the FFT length is 256 is input to the input address selector 24, the input address selector 24 is the second input address generator 23B. The input address inputted from the terminal is output to the storage unit 22.

그리고, 저장부(22)에는 상기 입력 주소에 대해 최상위비트로서「0」을 더한 주소(제1 저장 영역)에 차례차례 입력되는 신호열{x(0), x(1), x(2), x(3),…, x(254), x(255)}이 기록된다. The storage section 22 then sequentially inputs the signal strings x (0), x (1), x (2), which are sequentially inputted to the address (first storage area) in which " 0 " x (3),... , x (254), x (255)} are recorded.

여기서, 제2입력주소생성부(23B)는 0~255번째까지의 신호열에 대한 입력주소의 생성 및 출력을 종료하면, 다음의 FFT 연산의 주기에 있어서의 0~255번째까지의 신호열에 대한 입력 주소의 출력을 개시한다.Here, when the second input address generator 23B finishes generating and outputting the input address for the 0 to 255 th signal string, the second input address generator 23B inputs the 0 to 255 th signal string in the next FFT operation period. Start printing the address.

이것에 의해, 저장부(22)에는 입력 주소에 대해서 최상위비트로서 「1」을 더한 주소(제2의 기억 영역)에 차례차례 입력되는 신호열{x(0), x(1), x(2), x(3),…, x(254), x(255)}이 기입된다.As a result, the signal sequence {x (0), x (1), x (2) is sequentially input to the storage unit 22 to the address (the second storage area) in which the most significant bit is added to the input address. ), x (3),... , x (254) and x (255) 'are written.

또, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 출력주소선택부(26)에 입력되도록, 출력주소선택부(26)는 제2출력주소생성부(25B)로부터 입력되는 출력 주소를 저장부(22)에 대해 순차적으로 출력한다.Further, the output address selector 26 stores the output address input from the second output address generator 25B so that the FFT length calculator indicating the FFT length is 256 is input to the output address selector 26. Output sequentially in 22).

이 때, 출력주소선택부(26)는 FFT 길이에 대응한 256개의 신호에 대응하는 출력 주소의 출력을 종료할 때마다, 출력 주소의 최상위비트를 「0」과「1」사이에서 차례로 바꾸도록 구성되어 있다. 이 때, 제2출력주소생성부(28B)가 출력하는 출력 주소에 대해, 최상위비트로서 「0」을 더한 주소를, 차례차례 저장부(22)로 출력한다.At this time, the output address selecting section 26 changes the most significant bit of the output address in sequence between " 0 " and " 1 " whenever the output of the output address corresponding to the 256 signals corresponding to the FFT length is finished. Consists of. At this time, an address obtained by adding "0" as the most significant bit to the output address output from the second output address generation unit 28B is sequentially output to the storage unit 22.

여기서, 가감 연산으로 실시하는 연산 처리에 대응한 신호의 순서대로 상기 (4) 식의 연산이 복소가감산부(32)에서 수행되는 경우, 제2출력주소생성부(28B)는 그 순서에 맞게 출력 주소를 출력한다. 그에 따라, 저장부(22)로부터{x(0), x(64), x(128), x(192), x(1), x(65), x(129), x(193)…, x(63), x(127), x(191), x(255)}의 신호가 순서대로 읽어내 지고, 복소곱셈부(26)로 입력된다.Here, when the calculation of the complex value subtraction unit 32 is performed in the order of the signal corresponding to the arithmetic operation performed by the addition / decrease operation, the second output address generation unit 28B outputs the output in that order. Print the address. Accordingly, x (0), x (64), x (128), x (192), x (1), x (65), x (129), x (193) ... from the storage unit 22. , x (63), x (127), x (191), and x (255) 'signals are sequentially read and input to the complex multiplication unit 26.

이 때, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 인자주소선택부(28)에 입력되어 있도록, 인자주소선택부(28)는 제2인자주소생성부(27B)로부터 입력되는 인자 주소를 FFT 회전 인자 테이블(29)로 차례차례 출력한다.At this time, the print address selection section 28 FFTs the print address input from the second factor address generation section 27B so that an FFT length calculator indicating the FFT length is 256 is input to the print address selection section 28. It outputs to the rotation factor table 29 one by one.

이것에 의해, FFT 회전 인자 테이블(29)은,{x(0), x(64), x(128), x(192), x(1), x(65), x(129), x(193)…, x(63), x(127), x(191), x(255)}의 신호 각각에 복소곱셈하는 256개의 계수를, 제2인자주소생성부(27B)의 출력하는 주소에 따라 차례차례 출력한다.As a result, the FFT rotation factor table 29 is divided into x (0), x (64), x (128), x (192), x (1), x (65), x (129) and x. (193)... , 256 coefficients that are complex-multiplied to each of the signals of x (63), x (127), x (191), and x (255) 'in order according to the address output by the second factor address generator 27B. Output

(4) 식으로부터 알 수 있듯이, 본 실시예의 경우, 버터플라이 연산기(11)에 있어서는 각 신호에 복소곱셈하는 계수는 정수 「1」(복소수의 실수 부분)뿐 이다. 그렇지만, 연산 알고리즘에 따라, 대응하는 계수가 복소곱셈 되도록, 대응하는 계수가 FFT 회전 인자 테이블(29)에서 읽어내져 복소곱셈부(30)에서 사용된다. As can be seen from the equation (4), in the present embodiment, in the butterfly operator 11, the only coefficient to complex multiply each signal is the integer "1" (the real part of a complex number). However, according to the arithmetic algorithm, the corresponding coefficients are read from the FFT rotation factor table 29 and used in the complex multiplication section 30 so that the corresponding coefficients are complex multiplied.

따라서, 복소곱셈부(30)는{x(0), x(64), x(128), x(192),…,x(63), x(127), x(191), x(255)}에, 각각 계수 「1」을 복소곱셈해,{x(0), x(64), x(128), x(192),…, x(63), x(127), x(191), x(255)}로서 차례차례, 직렬/병렬 변환부(31)로 출력한다.Thus, the complex multiplying unit 30 is equal to x (0), x (64), x (128), x (192),... x (63), x (127), x (191), and x (255)} are complex multiplied by coefficient "1", respectively, x (0), x (64), x (128), x (192),... , x (63), x (127), x (191), and x (255) 'are sequentially output to the serial / parallel conversion unit 31.

상기 출력되는 연산 결과에 대해서, 직렬/병렬 변환부(31)는 입력되는 계수나 복소곱셈된 신호가 4 개씩의 그룹, 예를 들면 직렬로 입력된{x(0), x(64), x(128), x(192)}이러한 신호를 병렬로 다시 늘어놓고, 복소가감산부(32)로 출력한다.Regarding the output operation result, the serial / parallel conversion unit 31 inputs a group of four input coefficients or a complex multiplication signal, for example, x (0), x (64), x inputted serially. (128), x (192) 'These signals are arranged in parallel again and output to the complex addition subtraction section 32.

이것에 의해, 복소가감산부(32)는 상기{x(0), x(64), x(128), x(192)}의 각 데이터를 이용해 상기(4) 식에 있어서의 계수 「W4 n0k3」에 대응한 가감 연산을 실시해, 연산 결과적으로{x1(0), x1(64), x1(128), x1(192)}를 병렬로 출력한다. 그리고, 병렬/직렬 변환부(33)는 이것들 복소가감산결과{x1(0), x1(64), x1(128), x1(192)}를, x1(0)→x1(64)→x1(128)→x1(192)의 차례로 직렬로 변환하고, 직렬로 출력으로 한다. Thus, complex subtraction acid 32 is the {x (0), x ( 64), x (128), x (192)} using the respective data of the coefficients in the above formula (4) "W 4 n0k3 " is performed to output " x 1 (0), x 1 (64), x 1 (128), and x 1 (192) ”in parallel. The parallel / serial conversion section 33 then calculates these complex subtraction results x 1 (0), x 1 (64), x 1 (128) and x 1 (192)}, from x 1 (0) to x. 1 (64) → x 1 (128) → x 1 (192) in order to convert in series, and output in series.

이 버터플라이 연산기(11)로부터의 병렬/직렬 변환된 직렬 출력은, 다음 스테이지의 버터플라이 연산기(12)의 입력 신호가 되어, 256개의 신호에 대한 FFT 연산에 있어서의 첫 번째 스테이지에 의한 중간 데이터가 된다. 버터플라이 연산기(11)는 상술한 버터플라이 연산의 처리를 하는데 있어, 저장부(22) 더블 버퍼의 제1 및 제2 기억 영역 중 어느 한 영역으로부터 신호 데이터를 읽어내 버터플라이 연산을 실시하고 있을 때, 다른 한 영역에 새로운 신호열을 쓰고 있다. The parallel / serial-converted serial output from this butterfly operator 11 becomes the input signal of the butterfly operator 12 of the next stage, and the intermediate data by the first stage in the FFT operation for 256 signals. Becomes The butterfly operator 11 performs the butterfly operation by reading the signal data from one of the first and second storage areas of the storage unit 22 double buffer in performing the butterfly operation described above. When you are writing a new signal sequence in another area.

다음에, 버터플라이 연산기(12)는 버터플라이 연산기(11)로부터 입력되는 중간 데이터열{x1(0), x1(1), x1(2), x1(3),…, x1(253), x1(254), x1(255)}, 즉 중간 데이터 x1(k)를 입력 데이터로서 입력한다. 여기서, 제2입력주소생성부(23B)는 이전 스테이지의 출력 주소와 동일한 입력 주소를 출력한다. 입력되는 중간 데이터는 그 입력 주소에 따라, 저장부(22)에 쓰여진다. 그 후, 버터플라이 연산기(12)는 버터플라이 연산기(11)와 같은 버터플라이 연산의 처리를 실시한다. 이 중간 데이터 x1(n0, k2, k1, k0)에 대하여, 중간 데이터의 번호 k는 k=64n0+16k2+4k1+k0;(k0, k1, k2, n0=0, 1, 2, 3)으로 결정된다.Next, the butterfly operator 12 receives the intermediate data strings x 1 (0), x 1 (1), x 1 (2), x 1 (3),... , x 1 (253), x 1 (254), x 1 (255), i.e., intermediate data x 1 (k) are input as input data. Here, the second input address generator 23B outputs the same input address as that of the previous stage. The input intermediate data is written to the storage unit 22 in accordance with the input address. Thereafter, the butterfly operator 12 performs the same butterfly operation as that of the butterfly operator 11. For this intermediate data x 1 (n 0 , k 2 , k 1 , k 0 ), the number k of the intermediate data is k = 64n 0 + 16k 2 + 4k 1 + k 0 ; (k 0 , k 1 , k 2 , n 0 0, 1, 2, 3).

즉, 버터플라이 연산기(12)에 대해서도 버터플라이 연산기(11)와 마찬가지 로, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 입력주소선택부(24)에 입력되고 있기 때문에, 입력주소선택부(24)는 제2입력주소생성부(23B)로부터 입력되는 입력 주소를 저장부(22)에 대해 출력한다.That is, similarly to the butterfly calculator 11, the FFT length calculator indicating the FFT length of 256 is input to the input address selector 24, as to the butterfly calculator 11, and thus the input address selector 24 ) Outputs an input address input from the second input address generator 23B to the storage 22.

이것에 의해, 저장부(22)에는 상기 입력 주소에 따라, 버터플라이 연산기(11)로부터 입력되는 중간 데이터가 전단의 출력 주소와 동일한 값의 입력 주소에 차례로 써진다(버터플라이 연산기(11)와 마찬가지로, 저장부(22)는 제1및 제2의 기억 영역으로 구분되는 더블 버퍼 구성이 되어 있어 데이터의 쓰기, 읽기의 처리도 동일하게 이루어진다).Thereby, the storage unit 22 sequentially writes the intermediate data input from the butterfly operator 11 to the input address having the same value as the output address of the previous stage in accordance with the input address (butter calculator 11 and Similarly, the storage unit 22 has a double buffer structure divided into the first and second storage areas, and the data writing and reading processing is performed in the same manner).

버터플라이 연산기(12)에 대하여 FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 출력주소선택부(25)에 입력되고 있기 때문에, 출력주소선택부(26)는 제2출력주소생성부(25B)로부터 입력되는 입력 주소를 저장부(22)로 출력한다. 마찬가지로, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 인자주소선택부(28)에 입력되고 있기 때문에, 인자주소선택부(28)는 제2인자주소생성부(27B)로부터 입력되는 인자 주소를 FFT 회전 인자 테이블(29)로 출력한다.Since the FFT length calculator indicating that the butterfly operator 12 has an FFT length of 256 is input to the output address selector 25, the output address selector 26 is output from the second output address generator 25B. The input address to be input is output to the storage unit 22. Similarly, since the FFT length calculator indicating the FFT length is 256 is input to the print address selection section 28, the print address selection section 28 FFTs the print address input from the second argument address generation section 27B. Output to the rotation factor table 29.

이 때, 제2출력주소생성부(25B)는 복소가감산부(32)에 의해 (5) 식의 연산(16 정도의 자리수 k2에 대한 합)을 하기 위해, k2 이외의 n0, k1, k0을 고정하고 x1(0, k2, 0, 0)로서 k2를 0, 1, 2, 3으로 변화시켜, 중간 데이터 x1(0), x1(16), x1(32), x1(48)를 읽어내는 주소를 생성한 다음에, x1(0, k2, 0, 1)로서 k2를 0, 1, 2, 3으로 변화시켜 x1(1), x1(17), x1(33), x1(49)로서 차례차례 출력 주소를 생성한 다. 이것에 의해, 저장부(22)에 기록된 중간 데이터가 제2출력주소생성부(25B)의 출력 주소에 따라 읽어내져 복소곱셈부(30)로 출력된다.At this time, the second output address generating section 25B uses the complex subtraction subtracting section 32 to perform calculation (5) (sum of 16 digits k 2 ), so that n 0 and k other than k 2 are used. Fixing 1 , k 0 and changing k 2 to 0, 1, 2, 3 as x 1 (0, k 2 , 0, 0), intermediate data x 1 (0), x 1 (16), x 1 (32), create an address that reads x 1 (48), then change k 2 to 0, 1, 2, 3 as x 1 (0, k 2 , 0, 1) x 1 (1) Create an output address in turn, x 1 (17), x 1 (33), and x 1 (49). As a result, the intermediate data recorded in the storage unit 22 is read out according to the output address of the second output address generator 25B and outputted to the complex multiplier 30.

즉, 상기 제2출력주소생성부(25B)는 복소가감산부(32)에서 버터플라이 연산기(11)로부터 입력되는 중간 데이터 x1(k)를 계수 「W4 n1k2」에 따라 복소가감할 때, 중간 데이터의 그룹이 되도록, 저장부(22)(예를 들면, 제1의 기억 영역)에 저장되어 있는 입력순서 대로 출력 주소를 생성해 출력한다.That is, when the second output address generator 25B complexly decrements the intermediate data x 1 (k) input from the butterfly operator 11 by the complex subtractor 32 according to the coefficient "W 4 n1k2 ", The output addresses are generated and output in the order of input stored in the storage unit 22 (for example, the first storage area) so as to be a group of intermediate data.

마찬가지로, FFT 회전 인자 테이블(29)은 제2인자주소생성부(27B)로부터 출력되는 인자 주소에 대응한 회전 인자 계수 「WN 16n0k2」를 출력한다.Similarly, FFT twiddle factors table 29 and outputs the rotation factor coefficient "W 16n0k2 N" corresponds to the argument address output from second factor address generator (27B).

여기서, 버터플라이 연산기(12)의 FFT 회전 인자 테이블(29)은 각 FFT 길이 마다 대응하는 테이블을 가지고 있다. 이러한 테이블에는 제2 스테이지 버터플라이 연산기(12)에 대하여, 저장부(22)로부터 출력되는 중간 데이터 x1(k) 각각에 복소곱셈하는 계수가 FFT 길이 마다 저장되고 있다Here, the FFT rotation factor table 29 of the butterfly operator 12 has a table corresponding to each FFT length. In such a table, coefficients to be multiplied by each of the intermediate data x 1 (k) output from the storage unit 22 by the second stage butterfly operator 12 are stored for each FFT length.

다음에, 복소곱셈부(30)는 저장부(22)로부터 출력되는 중간 데이터 각각에 FFT 회전 인자 테이블(29)로부터 출력되는 계수를 차례차례 복소곱셈하고, 직렬/병렬 변환부(31)에 출력한다. 이후의, 직렬/병렬변환부(31), 복소가감산부(32) 및 병렬/직렬 변환부(33)에 있어서의 처리는 버터플라이 연산기(11)의 경우와 같아 설명을 생략한다.Next, the complex multiplication unit 30 sequentially complexes the coefficients output from the FFT rotation factor table 29 to each intermediate data output from the storage unit 22, and outputs them to the serial / parallel conversion unit 31. do. Subsequent processes in the serial / parallel conversion section 31, the complex value subtraction section 32, and the parallel / serial conversion section 33 are the same as those in the butterfly calculator 11, and explanations thereof are omitted.

그리고, 버터플라이 연산기(12)는 제2 스테이지의 버터플라이 연산의 결과로 서, 중간 데이터열 x2(k), 0≤k≤256을 출력한다.The butterfly operator 12 outputs the intermediate data string x 2 (k) and 0 ≦ k ≦ 256 as a result of the butterfly operation of the second stage.

다음에, 버터플라이 연산기(13)는 버터플라이 연산기(12)로부터 입력되는 중간 데이터열{x2(0), x2(1), x2(2), x2(3),…, x2(253), x2(254), x2(255)}, 즉 중간 데이터 x2(k)를, 입력 데이터로서 입력받는다. 여기서, 제2입력주소생성부(23B)는 이전 스테이지의 출력 주소와 동일한 입력 주소를 출력한다. 입력되는 중간 데이터는 이 입력 주소에 따라 저장부(22)에 기록된다. 그 후, 버터플라이 연산기(13)는 버터플라이 연산기(12)와 같은 버터플라이 연산의 처리를 실시한다. 이 중간 데이터 x2(n0, n1, k1, k0)에 있어서, 중간 데이터의 번호 k는Next, the butterfly operator 13 inputs the intermediate data strings x 2 (0), x 2 (1), x 2 (2), x 2 (3),... Input from the butterfly operator 12. , x 2 (253), x 2 (254), x 2 (255) 즉, that is, intermediate data x 2 (k) is input as input data. Here, the second input address generator 23B outputs the same input address as that of the previous stage. The input intermediate data is recorded in the storage unit 22 according to this input address. Thereafter, the butterfly calculator 13 performs the same butterfly operation as that of the butterfly calculator 12. In this intermediate data x 2 (n 0 , n 1 , k 1 , k 0 ), the number k of the intermediate data is

k=64n0+16n1+4k1+k0 ;(k0, k1, n1, n0=0, 1, 2,3)으로 결정된다.k = 64n 0 + 16n 1 + 4k 1 + k 0 ; (k 0 , k 1 , n 1 , n 0 = 0, 1, 2, 3).

즉, 버터플라이 연산기(13)에 대해서도 버터플라이 연산기(11 및 12)와 마찬가지로, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 입력주소선택부(24)에 입력되고 있기 때문에, 입력주소선택부(24)는 제2입력주소생성부(23B)로부터 입력되는 입력 주소를 저장부(22)로 출력한다.That is, the butterfly calculator 13 also has an FFT length calculator indicating that the FFT length is 256, similarly to the butterfly calculators 11 and 12, and therefore is input to the input address selector 24. 24 outputs an input address input from the second input address generator 23B to the storage 22.

이것에 의해, 저장부(22)에는 상기 입력 주소에 따라, 버터플라이 연산기(12)로부터 입력되는 중간 데이터가, 이전 스테이지의 출력 주소와 같은 값의 입력 주소에 차례로 쓰여진다(버터플라이 연산기(11 및 12)와 마찬가지로, 저장부(22)는 제1및 제2의 저장 영역의 더블 버퍼로 구성되어 있고, 데이터의 쓰기 및 읽기도 동일한 방식으로 처리된다).As a result, intermediate data input from the butterfly operator 12 is sequentially written to the storage unit 22 at an input address having the same value as the output address of the previous stage (butter calculator 11 and As in 12), the storage section 22 is composed of double buffers of the first and second storage areas, and writing and reading of data are also processed in the same manner).

버터플라이 연산기(13)에 대하여, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 출력주소선택부(26)에 입력되고 있기 때문에, 출력주소선택부(26)는 제2출력주소생성부(25B)로부터 입력되는 입력 주소를 저장부(22)에 대해 출력한다. 마찬가지로, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 인자주소선택부(28)에 입력되고, 인자주소선택부(28)는 제2인자주소생성부(27B)로부터 입력되는 인자 주소를 FFT 회전 인자 테이블(29)에 대해 출력한다.With respect to the butterfly operator 13, since an FFT length calculator indicating that the FFT length is 256 is input to the output address selector 26, the output address selector 26 is the second output address generator 25B. The input address inputted from the data is output to the storage unit 22. Similarly, an FFT length calculator indicating that the FFT length is 256 is input to the print address selection section 28, and the print address selection section 28 converts the print address input from the second factor address generation section 27B to the FFT rotation factor. Output to table 29.

이 때, 제2출력주소생성부(25B)는 복소가감산부(32)에 의해, (6) 식의 연산(4 정도의 자리수 k1에 대한 합)을 하기 위해, k1 이외의 n0, n1, k0를 고정하고, x2(0, 0, k1, 0)로서 k1를 0, 1, 2, 3으로 변화시켜, 중간 데이터 x2(0), x2(4), x2(8), x2(12)를 읽어내는 주소를 생성한 다음에 x3(0, 0, k1, 1)로서 k1를 0, 1, 2, 3으로 변화시켜, x2(1), x2(5), x2(9), x2(13)로서 차례차례 출력 주소를 생성한다. 이것에 의해, 저장부(22)에 기록된 중간 데이터가, 제2출력주소생성부(25B)의 출력 주소에 따라 읽어내져 복소곱셈부(30)로 출력된다.At this time, the second output address generating unit (25B) is to do, and (6) formula in the operation (4 sum of the number of digits k 1 degree) by the complex acceleration peaks 32, other than the k 1 n 0, fixing the n 1, k 0, and, x 2 (0, 0, k 1, 0) as by changing k 1, 0, 1, 2, 3, the intermediate data x 2 (0), x 2 (4), Create an address that reads x 2 (8), x 2 (12), then change k 1 to 0, 1, 2, 3 as x 3 (0, 0, k 1 , 1), and x 2 ( 1), x 2 (5), x 2 (9), and x 2 (13) are generated sequentially. As a result, the intermediate data recorded in the storage unit 22 is read out according to the output address of the second output address generation unit 25B and output to the complex multiplication unit 30.

즉, 상기 제2출력주소생성부(25B)는 복소가감산부(32)에서 버터플라이 연산기(12)로부터 입력되는 중간 데이터 x2(k)를 계수 「W4 n2k1」에 따라 복소가감할 때, 중간 데이터의 그룹이 되도록, 저장부(22)(예를 들면, 제1 기억 영역)에 저장되어 있는 입력순서 대로 출력 주소를 생성해 출력한다.That is, when the second output address generator 25B complexly decrements the intermediate data x 2 (k) input from the butterfly operator 12 in the complex subtractor 32 according to the coefficient "W 4 n2k1 ", The output addresses are generated and output in the order of input stored in the storage unit 22 (for example, the first storage area) so as to be a group of intermediate data.

마찬가지로, FFT 회전 인자 테이블(29)은 제2인자주소생성부(27B)로부터 출력되는 인자 주소에 대응한 회전 인자인 계수 「WN 4(4 n1+n0) k1」을 출력한다. 여기에서, 버터플라이 연산기(13)의 FFT 회전 인자 테이블(29)은 각 FFT 길이 마다 대응한 테이블을 가지고 있다. 이러한 테이블에는 제3 스테이지 버터플라이 연산기(13)에 대하여, 저장부(22)로부터 출력되는 중간 데이터 x2(k) 각각에 복소곱셈하는 계수가 FFT 길이 마다 저장되고 있다.Similarly, the FFT rotation factor table 29 outputs a coefficient "W N 4 (4 n1 + n0) k1 " which is a rotation factor corresponding to the printing address output from the second factor address generation unit 27B. Here, the FFT rotation factor table 29 of the butterfly calculator 13 has a table corresponding to each FFT length. In such a table, coefficients to be multiplied by each of the intermediate data x 2 (k) output from the storage unit 22 with respect to the third stage butterfly operator 13 are stored for each FFT length.

다음에, 복소곱셈부(30)는 저장부(22)로부터 출력되는 중간 데이터 각각에, FFT 회전 인자 테이블(29)로부터 출력되는 계수를 차례차례 복소곱셈하고, 직렬/병렬 변환부(31)에 출력한다. 이후의 직렬/병렬 변환부(31), 복소가감산부(32) 및 병렬/직렬 변환부(33)에 있어서의 처리는 버터플라이 연산기(11)의 경우와 같아 설명을 생략한다. 그리고, 버터플라이 연산기(13)는 제3 스테이지의 버터플라이 연산의 결과로서, 중간 데이터열 x2(k), 0≤k≤256을 출력한다. 상술한 것처럼, 버터플라이 연산기(13)도, 버터플라이 연산기(12)와 같은 처리에 의해 제3 스테이지에 있어서의 중간 데이터열 x3(k), 0≤k≤256을 출력한다.Next, the complex multiplication unit 30 sequentially complexes the coefficients output from the FFT rotation factor table 29 to each of the intermediate data output from the storage unit 22, and sequentially converts the coefficients output from the FFT rotation factor table 29 to the serial / parallel conversion unit 31. Output Subsequent processes in the serial / parallel conversion section 31, the complex subtraction section 32, and the parallel / serial conversion section 33 are the same as those in the butterfly calculator 11, and the description thereof is omitted. The butterfly operator 13 outputs the intermediate data string x 2 (k) and 0 ≦ k ≦ 256 as a result of the butterfly operation of the third stage. As described above, the butterfly operator 13 also outputs the intermediate data string x 3 (k) and 0 ≦ k ≦ 256 in the third stage by the same processing as the butterfly operator 12.

다음에, 버터플라이 연산기(14)는 버터플라이 연산기(13)로부터 입력되는 중간 데이터열{x3(0), x3(1), x3(2), x3(3),…, x3(253), x3(254), x3(255), 즉 중간 데이터 x3(k)을 입력 데이터로서 입력한다. 여기서, 제2입력주소생성부(23B)는 이전 스테이지의 출력 주소와 동일한 입력 주소를 출력한다. 입력되는 중간 데이터는 이 입력 주소에 따라, 저장부(22)에 기록된다. 그리고 입력 후, 버터플라이 연산 기(14)는 버터플라이 연산기(12 및 13)와 같은 버터플라이 연산의 처리를 실시한다. 이 중간 데이터 x3(n0, n1, n2, k0)에 있어서, 중간 데이터의 번호 k는Next, the butterfly operator 14 executes the intermediate data strings x 3 (0), x 3 (1), x 3 (2), x 3 (3), ... which are input from the butterfly operator 13. , x 3 (253), x 3 (254), x 3 (255), that is, intermediate data x 3 (k) are input as input data. Here, the second input address generator 23B outputs the same input address as that of the previous stage. The input intermediate data is recorded in the storage unit 22 in accordance with this input address. After the input, the butterfly operator 14 performs a butterfly operation such as the butterfly operators 12 and 13. In this intermediate data x 3 (n 0 , n 1 , n 2 , k 0 ), the number k of the intermediate data is

k=64 n0+16n1+4n2+k0 ;(k0, n2, n1, n0=0, 1, 2, 3) 으로 결정된다. k = 64 n 0 + 16n 1 + 4n 2 + k 0 ; (k 0 , n 2 , n 1 , n 0 = 0, 1, 2, 3).

즉, 버터플라이 연산기(14)에 대해서도 버터플라이 연산기(12 및 13)과 마찬가지로, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 입력주소선택부(24)에 입력되고 있기 때문에, 입력주소선택부(24)는 제2입력주소생성부(23B)로부터 입력되는 입력 주소를 저장부(22)로 출력한다. 이것에 의해, 저장부(22)에는 상기 입력 주소에 따라, 버터플라이 연산기(13)로부터 입력되는 중간 데이터가, 이전 스테이지의 출력 주소와 동일한 값의 입력 주소에 차례로 쓰여진다(버터플라이 연산기(11 및 12)와 마찬가지로, 저장부(22)는 제1및 제2의 저장 영역의 더블 버퍼 구성되어 있고, 데이터의 쓰기 및 읽기도 동일한 방식으로 처리된다).That is, the butterfly calculator 14 also has an FFT length calculator indicating that the FFT length is 256, like the butterfly calculators 12 and 13 are input to the input address selector 24. 24 outputs an input address input from the second input address generator 23B to the storage 22. As a result, intermediate data input from the butterfly operator 13 is sequentially written to the storage unit 22 at an input address having the same value as the output address of the previous stage (butter calculator 11 and Similar to 12), the storage section 22 is constituted by a double buffer of the first and second storage areas, and writing and reading of data are also processed in the same manner).

버터플라이 연산기(14)에 대하여 FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 출력주소선택부(25)에 입력되고 있기 때문에, 출력주소선택부(25)는 제2출력주소생성부(25B)로부터 입력되는 입력 주소를 저장부(22)에 대해 출력한다.Since the FFT length calculator indicating that the butterfly operator 14 has an FFT length of 256 is input to the output address selector 25, the output address selector 25 is separated from the second output address generator 25B. The input address to be input is output to the storage unit 22.

마찬가지로, FFT 길이가 256개인 것을 나타내는 FFT 길이 연산기가 인자주소선택부(28)에 입력되고, 인자주소선택부(28)는 제2인자주소생성부(27B)로부터 입력되는 인자 주소를 FFT 회전 인자 테이블(29)에 대해 출력한다.Similarly, an FFT length calculator indicating that the FFT length is 256 is input to the print address selection section 28, and the print address selection section 28 converts the print address input from the second factor address generation section 27B to the FFT rotation factor. Output to table 29.

이 때, 제2출력주소생성부(25B)는 복소가감산부(32)에 의해, (7) 식의 연산(1의 정도의 자리수 k0에 대한 합)을 하기 위해, k0 이외의 n0, n1, n2를 고정하 고, x3(0, 0, 0, k0)로서 k0를 0, 1, 2, 3으로 변화시켜, 중간 데이터 x3(0), x3(1), x3(2), x3(3)를 읽어내는 주소를 생성한 다음에 x3(0, 0, 1, k0)로서 k0를 0, 1, 2, 3으로 변화시켜, x3(4), x3(5), x3(6), x3(7)로서 차례차례 출력 주소를 생성한다. 이것에 의해, 저장부(22)에 기록된 중간 데이터가 제2출력주소생성부(25B)의 출력 주소에 따라 읽어내져 복소곱셈부(30)로 출력된다. 이것에 의해, 저장부(22)에 기록된 중간 데이터가 제2출력주소생성부(25B)의 출력 주소에 따라 읽어내져 복소곱셈부(30)로 출력된다.At this time, the second output address generator 25B uses the complex value subtraction unit 32 to perform the calculation (7) (sum for the digit k 0 of the degree of 1) of n 0 other than k 0 . , n 1, fixed to n 2, and, x 3 (0, 0, 0, k 0) as by changing the k 0 a 0, 1, 2, 3, the intermediate data x 3 (0), x 3 (1 ), create an address that reads x 3 (2), x 3 (3), then change k 0 to 0, 1, 2, 3 as x 3 (0, 0, 1, k 0 ), Generate output addresses in sequence as 3 (4), x 3 (5), x 3 (6), and x 3 (7). As a result, the intermediate data recorded in the storage unit 22 is read out according to the output address of the second output address generator 25B and outputted to the complex multiplier 30. As a result, the intermediate data recorded in the storage unit 22 is read out according to the output address of the second output address generator 25B and outputted to the complex multiplier 30.

즉, 상기 제2출력주소생성부(25B)는 복소가감산부(32)에서 버터플라이 연산기(12)로부터 입력되는 중간 데이터 x3(k)을 계수 「W4 n3k0」에 대응해 복소가감 할 때, 중간 데이터의 그룹이 되도록, 저장부(22)(예를 들면, 제1의 기억 영역)에 저장되어 있는 입력순서 대로 출력 주소를 생성해 출력한다. That is, when the complex output subtractor 25B complex-subtracts 32 the intermediate data x 3 (k) input from the butterfly operator 12 in response to the coefficient "W 4 n3k0 ". The output addresses are generated and output in the order of input stored in the storage unit 22 (for example, the first storage area) so as to be a group of intermediate data.

마찬가지로, FFT 회전 인자 테이블(29)은 제2인자주소생성부(27B)로부터 출력되는 인자 주소에 대응한 회전 인자인 계수 「WN (16 n2+4n1+n0) k0」을 출력한다. 여기에서, 버터플라이 연산기(13)의 FFT 회전 인자 테이블(29)은, 각 FFT 길이 마다 대응하는 테이블을 가지고 있다. 이러한 테이블에는 제4 스테이지 버터플라이 연산기(14)에 대하여, 저장부(22)로부터 출력되는 중간 데이터 x3(k) 각각에 복소곱셈하는 계수가, FFT 길이 마다 저장되고 있다.Similarly, the FFT rotation factor table 29 outputs the coefficient "W N (16 n2 + 4n1 + n0) k0 ", which is a rotation factor corresponding to the printing address output from the second factor address generation unit 27B. Here, the FFT rotation factor table 29 of the butterfly calculator 13 has a table corresponding to each FFT length. In this table, coefficients to be multiplied by each of the intermediate data x 3 (k) output from the storage unit 22 by the fourth stage butterfly operator 14 are stored for each FFT length.

다음에, 복소곱셈부(30)는 저장부(22)로부터 출력되는 중간 데이터 각각에, FFT 회전 인자 테이블(29)로부터 출력되는 계수를 차례차례 복소곱셈하고, 직렬/병렬 변환부(31)로 출력한다. 이후의, 직렬/병렬 변환부(31), 복소가감산부(32) 및 병렬/직렬 변환부(33)에 있어서의 처리는 버터플라이 연산기(13)의 경우와 같아 설명을 생략한다. Next, the complex multiplication unit 30 sequentially complexes the coefficients output from the FFT rotation factor table 29 to the intermediate data output from the storage unit 22, and sequentially converts the coefficients output from the FFT rotation factor table 29 to the serial / parallel conversion unit 31. Output Subsequent processes in the serial / parallel conversion unit 31, the complex value subtraction unit 32, and the parallel / serial conversion unit 33 are the same as those in the butterfly calculator 13, and the description thereof is omitted.

그리고, 버터플라이 연산기(14)는 제4 스테이지의 버터플라이 연산의 결과로서, 중간 데이터열 x4(k), 0≤k≤256을 출력한다. 상술한 것처럼, 버터플라이 연산기(14)도 버터플라이 연산기(12)와 동일한 처리에 의해, 제4 스테이지의 중간 데이터열 x4(k), 0≤k≤256을 출력한다.The butterfly operator 14 then outputs the intermediate data string x 4 (k) and 0 ≦ k ≦ 256 as a result of the butterfly operation of the fourth stage. As described above, the butterfly operator 14 also outputs the intermediate data string x 4 (k) and 0 ≦ k ≦ 256 of the fourth stage by the same processing as the butterfly operator 12.

여기서, FFT 길이 연산기가 FFT 길이가 256인 것을 나타내고 있기 때문에, 버터플라이 선택부(16)는 버터플라이 연산기(14)의 중간 데이터 x4, 0≤k≤256을 선택하고, FFT 연산 결과인 X(n), 0≤n≤256을 출력한다.Here, since the FFT length calculator indicates that the FFT length is 256, the butterfly selector 16 selects intermediate data x 4 , 0 ≦ k ≦ 256 of the butterfly operator 14, and X as the FFT calculation result. (n), 0≤n≤256 is output.

따라서, 버터플라이 연산기(14)는 FFT 길이가 256인 경우에, 입력 신호로 서 신호열{x(0), x(1), x(2), x(3),…, x(254), x(255)의 FFT 연산 결과인 출력 신호{X(0), X(1), X(2), X(3),…, X(254), X(255)}를 출력해, 이를 FFT 연산 회로(1)의 FFT 연산 결과로 한다.Therefore, when the FFT length is 256, the butterfly operator 14 uses the signal sequences {x (0), x (1), x (2), x (3),... As input signals. output signals X (0), X (1), X (2), X (3),... , X (254) and X (255) 'are output, and this is regarded as the FFT calculation result of the FFT calculation circuit 1.

상술한 것처럼, 버터플라이 연산기들(11, 12, 13, 14 및 15) 각각은 FFT 길이64, 256 및 1024의 각각의 경우, 입력 신호인 신호 또는 중간 데이터에 대해서, 계수의 복소곱셈 및, 계수가 복소곱셈된 신호(샘플 또는 중간 데이터)의 가감 연산을 수행한다. 각각의 버터플라이 연산기(11, 12, 13, 14 및 15)는 저장부(22)로부터 제공되는 신호(중간 데이터)의 읽기 순서를 변경하는 것과, FFT 회전 인자 테이블(29)에 저장된 계수의 수치에서 차이가 나지만, 기본적으로 동일한 처리를 실시하고 있다.As described above, each of the butterfly operators 11, 12, 13, 14, and 15 is a complex multiplication of the coefficients and, for each of the FFT lengths 64, 256, and 1024, for a signal or intermediate data that is an input signal. Performs the addition and subtraction of the complex multiplied signal (sample or intermediate data). Each butterfly operator 11, 12, 13, 14, and 15 changes the reading order of signals (intermediate data) provided from the storage unit 22, and the numerical values of the coefficients stored in the FFT rotation factor table 29. Is different, but basically the same process.

또, 버터플라이 연산기들(11, 12, 13, 14 및 15)은 입력되는 신호, 또는 이전 스테이지로부터의 중간 데이터의 버터플라이 연산을 실시하기 위해, 후술하는 바와 같이 구성에 있어 차이가 있다. 버터플라이 연산기들(11, 12 및 13)으 신호 및 중간 데이터에 대한 버터플라이 연산을 실시할 필요가 있기 때문에, FFT 길이가 64, 256 및 1024인 경우에 대응하는 구성을 가지고 있다. 즉, 입력 주소 생성부(23)는 제1입력주소생성부(23A), 제2입력주소생성부(23B) 및 제3입력주소생성부(23C)로 구성되고, 출력주소생성부(25)는 제1출력주소생성부(25A), 제2출력주소생성부(25B), 제3출력주소생성부(25C)로 구성되고, 인자주소생성부(27)는 제1인자주소생성부(27A), 제2인자주소생성부(27B), 제3인자주소생성부(27C)로 구성되고, FFT 회전 인자 테이블(29)에는 FFT 길이 64, 256, 1024 각각에 대한 계수가 저장되어 있다. 또, 버터플라이 연산기(11, 12 및 13)의 입력주소선택부(24), 출력주소선택부(26) 및 인자주소선택부(28)는 상술한 구성에 대응하며, FFT 길이 64, 256, 1024의 경우에 대응해서 교체된다.In addition, the butterfly operators 11, 12, 13, 14, and 15 differ in configuration as described below in order to perform a butterfly operation on an input signal or intermediate data from a previous stage. Since the butterfly operators 11, 12, and 13 need to perform a butterfly operation on the signal and intermediate data, they have a configuration corresponding to the case where the FFT lengths are 64, 256, and 1024. That is, the input address generator 23 includes a first input address generator 23A, a second input address generator 23B, and a third input address generator 23C, and the output address generator 25 Is composed of a first output address generator 25A, a second output address generator 25B, and a third output address generator 25C, and the print address generator 27 is a first factor address generator 27A. ), The second factor address generator 27B and the third factor address generator 27C, and the coefficients for the FFT lengths 64, 256, and 1024 are stored in the FFT rotation factor table 29, respectively. In addition, the input address selector 24, the output address selector 26 and the print address selector 28 of the butterfly calculators 11, 12 and 13 correspond to the above-described configuration, and the FFT lengths 64, 256, It is replaced in the case of 1024.

그렇지만, 버터플라이 연산기(14)는 FFT 길이가 64인 경우 버터플라이연산을 실시할 필요가 없기 때문에, FFT 길이가 256 및 1024인 경우에 대응하고, 입력 주소 생성부(23)는 제2입력주소생성부(23B) 및 제3입력주소생성부(23C)로 구성되고, 출력주소생성부(25)는 제2출력주소생성부(25B) 및 제3출력주소생성부(25C)로 구성되고, 또 인자주소생성부(27)는 제2인자주소생성부(27B) 및 제3인자주소생성부(27C)로 구성되며, FFT 회전 인자 테이블(29)는 FFT 길이 256, 1024 각각에 대한 계수가 저장되어 있다. 또, 버터플라이 연산기(14)의 입력주소선택부(24), 출력주소선택부(26) 및 인자주소선택부(28)는 상술한 구성에 대응하며, FFT 길이 256, 1024의 경우에 대응해서 교체된다.However, since the butterfly operator 14 does not need to perform the butterfly operation when the FFT length is 64, the input address generator 23 corresponds to the case where the FFT lengths are 256 and 1024. A generator 23B and a third input address generator 23C, and the output address generator 25 is composed of a second output address generator 25B and a third output address generator 25C, The print address generator 27 is composed of a second factor address generator 27B and a third factor address generator 27C, and the FFT rotation factor table 29 has coefficients for FFT lengths 256 and 1024 respectively. It is stored. The input address selector 24, the output address selector 26, and the print address selector 28 of the butterfly operator 14 correspond to the above-described configuration, and correspond to the case of FFT lengths 256 and 1024. Replaced.

마찬가지로, 버터플라이 연산기(15)는 FFT 길이가 1024인 경우에만, 버터플라이 연산을 실시하기 위해, FFT 길이가 1024인 경우에 대응하고, 입력주소생성부(23)는 제3입력주소생성부(23C)로 구성되고, 출력주소생성부(25)는 제3출력주소생성부(25C)로 구성되고, 인자주소생성부(27)는 제3인자주소생성부(27C)로 구성되며, FFT 회전 인자 테이블(29)에는 FFT 길이 1024의 계수가 저장되어 있다. 또, 버터플라이 연산기(14)에는 FFT 길이가 1024인 경우만의 입력 주소, 출력 주소, 인자 주소, 및 중간 데이터에 복소곱셈하는 계수로 충분하기 때문에, 입력주소선택부(24), 출력주소선택부(26) 및 인자주소선택부(28)가 설치되지 않았다.Similarly, the butterfly operator 15 corresponds to the case where the FFT length is 1024 in order to perform the butterfly operation only when the FFT length is 1024, and the input address generator 23 is the third input address generator ( 23C), the output address generator 25 is composed of the third output address generator 25C, the print address generator 27 is composed of the third factor address generator 27C, and the FFT rotation. The factor table 29 stores the coefficient of FFT length 1024. In addition, the butterfly operator 14 has enough input addresses, output addresses, factor addresses, and coefficients for complex multiplication with intermediate data only when the FFT length is 1024. Therefore, the input address selector 24 and the output address selector are sufficient. (26) and the print address selection unit 28 are not installed.

여기서, 버터플라이 연산기(14 및 15)는 버터플라이 연산기(11~13)와 동일하게 회로를 구성한 뒤 필요한 부분만 사용하도록 할 수 있다. 또, 버터플라이 연산기(14 및 15)는 FFT 길이 연산기가 FFT 길이 64를 나타내는 경우 동작을 정지하고, 버터플라이 연산기(15)는 FFT 길이 연산기가 FFT 길이 256을 나타내고 있는 경우 동작을 정지하도록 구성할 수 있다. Here, the butterfly calculators 14 and 15 may configure the circuit in the same manner as the butterfly calculators 11 to 13 and use only necessary parts. The butterfly operators 14 and 15 stop the operation when the FFT length operator indicates an FFT length 64, and the butterfly operator 15 is configured to stop the operation when the FFT length operator indicates an FFT length 256. Can be.

또, 신호순서 변환부로서의 입력 주소 생성부(23), 출력 주소 생성부(25) 및 저장부(22)에 대하여 상술한 구성에서는 저장부(22)가 연속한 주소에, 입력된 차례로 신호를 쓰고 있었다. 그리고, FFT 길이에 대응하는 출력 주소 생성부(25)가 복소곱셈하는 순서에 맞춰 저장부(22)로부터 신호를 읽어내어 출력 주소를 생성하도록 했다.In addition, in the above-described configuration of the input address generator 23, the output address generator 25, and the storage 22 as the signal sequence conversion unit, the storage unit 22 outputs the signals to the consecutive addresses. I was writing. The output address generator 25 corresponding to the FFT length reads the signal from the storage 22 in the order of complex multiplication to generate the output address.

그렇지만, 저장부(22)에 쓰이는 입력 주소를, 신호가 복소곱셈되는 순서대로 연속적으로 저장부(22)에 저장되는 주소로 생성하여, 그 입력 주소에 대응하고, 입력하는 신호를 차례차례 저장부(22)에 기록되도록 할 수 있다. 이것에 의해, 상술한 실시 형태와 동일하게, 입력되는 신호순서를 각 연산을 실시하는 차례로 변환할 수 있다. 그에 따라, 출력 주소 생성부(25)는 저장부(22)의 연속한 주소를 생성하여, 순차적으로 저장부(22)로부터 신호를 읽어내게 된다.However, an input address used for the storage unit 22 is generated as an address stored in the storage unit 22 successively in the order of the signal multiplication, and corresponding to the input address, the input signal is sequentially stored. Can be recorded at (22). Thereby, similarly to the above-described embodiment, the input signal sequence can be converted in order of performing each calculation. Accordingly, the output address generator 25 generates a continuous address of the storage 22 and sequentially reads signals from the storage 22.

또, 상술한 본 실시 형태의 FFT 연산 회로는 각 버터플라이 연산기의 회전 인자의 테이블의 계수와 가감 연산의 식을 변경하여, 역FFT 연산 회로로 이용될 수 있다. In addition, the FFT calculation circuit of the present embodiment described above can be used as an inverse FFT calculation circuit by changing the coefficient of the table of the rotation factor of each butterfly operator and the expression of the addition and the decrease calculation.

이상 설명한 것처럼, 본 발명은 기수(radix)에 대응한 복수의 연산 회로를 구비하지 않고 복수의 FFT 길이에 대응한 FFT 연산을 실시할 수 있기 때문에, 종래 FFT 프로세서와 비교해 회로 사이즈를 줄일 수 있다. As described above, the present invention can perform FFT operations corresponding to a plurality of FFT lengths without providing a plurality of arithmetic circuits corresponding to radix, so that the circuit size can be reduced as compared with a conventional FFT processor.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.In addition, although the preferred embodiment of the present invention has been shown and described above, the present invention is not limited to the specific embodiments described above, but the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Anyone of ordinary skill in the art that various modifications can be made, as well as such changes are within the scope of the claims.

Claims (11)

복수의 직렬 연결된 버터플라이 연산기들을 포함하며, A plurality of series connected butterfly operators, 상기 버터플라이 연산기들 각각은Each of the butterfly operators 상기 버터플라이 연산기들 각각이 복소곱셈 및 복소가감산을 실시하는 순서대로 신호를 읽어내는 신호순서 변환부;A signal sequence converting unit for reading out signals in an order in which each of the butterfly operators performs complex multiplication and complex subtraction; FFT 길이 및 상기 버터플라이 연산기들 각각의 스테이지 수에 대응되는 복소계수를 차례로 상기 신호순서 변환부가 읽어낸 신호마다 복소곱셈하는 복소곱셈부; 및A complex multiplication unit for complexing the FFT length and the complex coefficient corresponding to the number of stages of each of the butterfly operators in order for each signal read by the signal order conversion unit; And 상기 복소곱셈부로부터 출력되는 복소계수가 복소곱셈된 신호에 대해, 차례로 복소가감산을 실시하는 복소가감산부를 포함하는 것을 특징으로 하는 FFT 연산 회로.And a complex value subtraction unit for performing a complex value subtraction on the complex multiplied signal output from the complex multiplication unit in order. 제1항에 있어서,The method of claim 1, 상기 FFT 길이에 의해, 상기 복수의 버터플라이 연산기들의 연산 결과 중 어느 하나를 선택하여 출력하는 버터플라이선택부를 더 포함하는 것을 특징으로 하는 FFT 연산 회로.And a butterfly selector which selects and outputs any one of the calculation results of the plurality of butterfly calculators by the FFT length. 제 1 항에 있어서,The method of claim 1, 상기 버터플라이 연산기들 각각은Each of the butterfly operators 상기 FFT 길이 및 상기 버터플라이 연산기들 각각의 스테이지 수에 대응되며, 각 신호에 복소곱셈될 복소계수가 저장된 복소계수저장부를 더 포함하고,A complex coefficient storage unit corresponding to the FFT length and the number of stages of each of the butterfly operators, and storing a complex coefficient to be complex multiplied in each signal; 상기 복소곱셈부는 상기 복소계수저장부로부터 복소계수를 차례로 읽어내어, 상기 신호순서 변환부가 읽어낸 신호마다 복소곱셈하는 것을 특징으로 하는 FFT 연산 회로.And the complex multiplication unit sequentially reads the complex coefficients from the complex coefficient storage unit and performs complex multiplication for each signal read out by the signal sequence converter. 제 3 항에 있어서, The method of claim 3, wherein 상기 복소계수저장부는 각 FFT 길이에 대응하는 계수의 저장 영역으로 구분되어 있는 것을 특징으로 하는 FFT 연산 회로. And the complex coefficient storage unit is divided into storage regions of coefficients corresponding to respective FFT lengths. 제 4 항에 있어서, The method of claim 4, wherein 상기 버터플라이 연산기들 각각은Each of the butterfly operators 상기 복소계수저장부의 각 저장 영역에 기록된 계수를 읽어내기 위한 인자 주소를 생성하는 하나 이상의 인자 주소 생성부를 더 포함하는 것을 특징으로 하는 FFT 연산 회로. And at least one factor address generator for generating a factor address for reading a coefficient recorded in each storage area of the complex coefficient storage unit. 제 5 항에 있어서, The method of claim 5, wherein 상기 버터플라이 연산기들 각각은Each of the butterfly operators 상기 인자 주소 생성부에서 생성된 인자 주소 중 어느 하나를 선택해 상기 복소계수저장부로 출력하는 인자 주소 선택부를 더 포함하는 것을 특징으로 하는 FFT 연산 회로. And a factor address selector configured to select any one of the factor addresses generated by the factor address generator and output the selected factor addresses to the complex coefficient storage unit. 제 1 항에 있어서, The method of claim 1, 상기 신호순서 변환부는The signal sequence conversion unit 상기 버터플라이 연산기가 입력받는 신호를 일시 저장하는 저장부;A storage unit to temporarily store a signal received by the butterfly operator; 상기 버터플라이 변환부로 입력되는 신호를 순서대로 상기 저장부에 기입할 입력 주소를 생성하는 입력 주소 생성부; 및An input address generator for generating an input address for writing the signal input to the butterfly converter in order to the storage; And 상기 FFT 길이에 대응하고, 상기 복소곱셈부가 읽어낸 복소계수를 복소 곱셈하여 차례로 읽어낼 출력 주소를 생성하는 출력 주소 생성부를 포함하는 것을 특징으로 하는 FFT 연산 회로. And an output address generator corresponding to the FFT length and generating an output address to be sequentially read by complex multiplication of the complex coefficient read by the complex multiplier. 제 7 항에 있어서, The method of claim 7, wherein 상기 저장부에 일시 저장된 신호는 상기 출력 주소에 따라 순서대로 읽어내져 상기 복소곱셈부로 전달되는 것을 특징으로 하는 FFT 연산 회로.And the signal temporarily stored in the storage unit is sequentially read according to the output address and transferred to the complex multiplication unit. 제 7 항에 있어서,The method of claim 7, wherein 상기 신호순서 변환부는 상기 FFT 길이에 대응한 복수의 입력 주소 생성부와 복수의 출력 주소 생성부로 구성되며, The signal sequence converter includes a plurality of input address generators and a plurality of output address generators corresponding to the FFT length, 복수의 입력 주소 생성부 및 복수의 출력 주소 생성부 중 상기 FFT 길이에 대응하는 입력 주소 생성부 및 출력 주소생성부를 선택해, 입력 주소 및 출력 주소 를 생성하는 것을 특징으로 하는 FFT 연산 회로.And an input address generator and an output address generator corresponding to the FFT length from among a plurality of input address generators and a plurality of output address generators to generate an input address and an output address. 제 9 항에 있어서, The method of claim 9, 상기 신호순서 변환부는 The signal sequence conversion unit 상기 FFT 길이의 정보에 따라 복수의 입력 주소 생성부의 출력 신호 중 어느 하나를 선택하여 출력하는 입력 주소 선택부; 및An input address selector configured to select and output any one of output signals of a plurality of input address generators according to the information of the FFT length; And 상기 FFT 길이의 정보에 따라 복수의 출력 주소 생성부의 출력 신호 중 어느 하나를 선택하여 출력하는 출력 주소 선택부를 포함하는 것을 특징으로 하는 FFT 연산 회로.And an output address selector configured to select and output any one of the output signals of the plurality of output address generators according to the information of the FFT length. 제 1 항에 있어서, The method of claim 1, 상기 버터플라이 연산기들 각각은Each of the butterfly operators 상기 FFT 길이의 정보에 따라 상기 FFT 연산 회로의 각 구성 요소의 동작 타이밍 각각을 제어하는 신호를 생성하는 타이밍 생성부를 더 포함하는 것을 특징으로 하는 FFT 연산 회로. And a timing generator for generating a signal for controlling each operation timing of each component of the FFT calculation circuit according to the information of the FFT length.
KR1020060101573A 2005-12-20 2006-10-18 Circuit for FFT Operation KR100878765B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/641,864 US7979485B2 (en) 2005-12-20 2006-12-20 Circuit for fast fourier transform operation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00366731 2005-12-20
JP2005366731A JP4791172B2 (en) 2005-12-20 2005-12-20 FFT operation circuit

Publications (2)

Publication Number Publication Date
KR20070065778A KR20070065778A (en) 2007-06-25
KR100878765B1 true KR100878765B1 (en) 2009-01-14

Family

ID=38298659

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060101573A KR100878765B1 (en) 2005-12-20 2006-10-18 Circuit for FFT Operation

Country Status (2)

Country Link
JP (1) JP4791172B2 (en)
KR (1) KR100878765B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101969542B1 (en) * 2017-12-21 2019-04-16 엘아이지넥스원 주식회사 Apparatus for generating IP address using user information and system for communicating D2D with the apparatus and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030054300A (en) * 2001-12-24 2003-07-02 한국전자통신연구원 Fast fourier transform apparatus using radix-8 single-path delay commutator and method thereof
KR20030080590A (en) * 2002-04-09 2003-10-17 삼성전자주식회사 Method and apparatus of hadamard transform
KR20050052740A (en) * 2003-12-01 2005-06-07 전자부품연구원 Variable fast fourier transform processor using iteration algorithm

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5887655A (en) * 1981-11-20 1983-05-25 Asahi Chem Ind Co Ltd High speed fourier transformation device of pipeline
JP2848134B2 (en) * 1992-07-03 1999-01-20 富士通株式会社 Variable fast Fourier transform circuit
JP3757782B2 (en) * 2000-10-30 2006-03-22 日本電気株式会社 FFT operation circuit
WO2002069182A1 (en) * 2001-02-28 2002-09-06 Fujitsu Limited Fourier transform device
US7415584B2 (en) * 2003-11-26 2008-08-19 Cygnus Communications Canada Co. Interleaving input sequences to memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030054300A (en) * 2001-12-24 2003-07-02 한국전자통신연구원 Fast fourier transform apparatus using radix-8 single-path delay commutator and method thereof
KR20030080590A (en) * 2002-04-09 2003-10-17 삼성전자주식회사 Method and apparatus of hadamard transform
KR20050052740A (en) * 2003-12-01 2005-06-07 전자부품연구원 Variable fast fourier transform processor using iteration algorithm

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101969542B1 (en) * 2017-12-21 2019-04-16 엘아이지넥스원 주식회사 Apparatus for generating IP address using user information and system for communicating D2D with the apparatus and method thereof

Also Published As

Publication number Publication date
JP4791172B2 (en) 2011-10-12
KR20070065778A (en) 2007-06-25
JP2007172157A (en) 2007-07-05

Similar Documents

Publication Publication Date Title
CN111694027B (en) Ultra-large dynamic spread spectrum signal capturing method and device
WO2018027706A1 (en) Fft processor and algorithm
US7979485B2 (en) Circuit for fast fourier transform operation
KR100878765B1 (en) Circuit for FFT Operation
US8788558B2 (en) Method and device for transform computation
Rodríguez et al. Application-specific processor for piecewise linear functions computation
US7925213B2 (en) Method and system for audio signal processing for Bluetooth wireless headsets using a hardware accelerator
JP2010067251A (en) Integer division circuit with allowable error
JPWO2011102291A1 (en) Fast Fourier transform circuit
US9214921B2 (en) Sampling rate conversion device
CN114281304A (en) Random calculation method, circuit, chip and equipment
CN115146769A (en) Digital circuit module for calculating tanh function based on range addressable lookup table
TW200811672A (en) Optimized multi-mode DFT implementation
JPH1125071A (en) Complex number multiplier
JP2011015159A (en) Correlation calculation device
JP2007189506A (en) Dds signal generation apparatus
JPWO2013183096A1 (en) Multistage filter processing apparatus and method
CN110533174B (en) Circuit and method for data processing in neural network system
KR0139761B1 (en) Digital sine-wave generating circuit
CN115495868A (en) Determination method of autoregressive model parameters, computing equipment and electronic equipment
Haridoss et al. Comparative Analysis of Digital FIR Filter using Various Types of Modular Arithmetic Algorithms
JP3654622B2 (en) DCT arithmetic device and IDCT arithmetic device
CN116560618A (en) Random computing circuit and method, chip and electronic equipment
JP2905904B2 (en) Electronic musical instrument signal processor
JPH10260958A (en) Address generating circuit

Legal Events

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

Payment date: 20121210

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181220

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 12