KR20040046478A - 메모리의 크기를 감소시킬 수 있는 고속 퓨리에 변환프로세서 - Google Patents
메모리의 크기를 감소시킬 수 있는 고속 퓨리에 변환프로세서 Download PDFInfo
- Publication number
- KR20040046478A KR20040046478A KR1020020074419A KR20020074419A KR20040046478A KR 20040046478 A KR20040046478 A KR 20040046478A KR 1020020074419 A KR1020020074419 A KR 1020020074419A KR 20020074419 A KR20020074419 A KR 20020074419A KR 20040046478 A KR20040046478 A KR 20040046478A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- processor
- value
- address
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 디지털 오디오 방송(DAB) 및 무선 방송 시스템(WLAN)의 직교 주파수 분할 다중화(OFDM) 통신 방식에서 필수적으로 사용되는 고속 퓨리에 변환(FFT) 프로세서에 관한 것이다. FFT 프로세서에서는 시간 신호를 주파수 신호로 변환하기 위해 트위들 팩터(twiddle factor)라는 복소수 값을 곱해주는데, FFT 변환 크기(N)가 클수록 많은 양의 트위들 팩터가 필요하게 된다. 일반적으로는N/2워드에 해당하는 크기의 메모리(ROM)가 필요하지만, 본 발명에서는N/16+1워드 크기의 메모리(ROM)와 주소발생기, 멀티플렉서(MUX) 및 ±π/4 회전기 등으로 구성된 트위들 팩터 생성기를 이용하여 FFT를 연산하는 데 필요한 트위들 팩터를 생성함으로써 하드웨어 구현면에서 종래보다 효율적인 면적에 FFT 프로세서를 구현할 수 있다.
Description
본 발명은 디지털 오디오 방송(DAB) 및 무선 방송 시스템(WLAN)의 직교 주파수 분할 다중화(OFDM) 통신 방식에서 필수적으로 사용되는 고속 퓨리에 변환(FFT) 프로세서에 관한 것으로, 더욱 상세하게는 트위들 팩터 생성기를 이용하여 FFT를 연산하는 데 필요한 트위들 팩터를 생성함으로써 하드웨어의 면적을 효율적으로 감소시킬 수 있는 고속 퓨리에 변환(FFT) 프로세서에 관한 것이다.
디지털 통신 기술의 발전과 함께 고용량의 데이터를 고속으로 전송시킬 수 있는 기술적 필요성과 수요가 대두되었다. 이러한 고속 통신 기술의 일환으로 직교 주파수 분할 다중화(OFDM) 통신 기술이 각광받게 되었는데, OFDM은 전송하고자 하는 직렬 데이터를 병렬 데이터로 변환한 후 각각의 병렬 데이터를 다수의 부반송파에 실어 전송하는 방식이다. 이때 부반송파 사이에는 직교성(orthogonality)이 존재하며, 이러한 성질 때문에 전체 대역폭이 주파수 분할 다중화(FDM)에 비해 크게 줄어들 수 있다. 또한 심볼의 길이가 늘어나기 때문에 다중 경로 페이딩 채널에도 강한 특성을 갖는다. OFDM 통신 시스템을 구현하기 위해서는 다수의 오실레이터와 필터가 필요하지만 IFFT(Inverse Fast Fourier Transform)와 FFT(Fast Fourier Transform)가 이러한 역할을 해줌으로써 해결될 수 있다.
FFT는 OFDM 수신기에 있어 가장 큰 비중을 갖는 설계 기술이며, 수신기 전체의 전력 소모량에서 중대한 부분을 차지한다. 이러한 FFT를 설계함에 있어 회로의 크기와 전력을 효율적으로 감소시키는 기술이 매우 중요하다.
FFT를 설계하는 방법에는 여러가지가 있으나 대표적으로 메모리를 사용하는 방식과 파이프라인 방식을 사용한다.
메모리를 사용하는 방식은 하나의 radix-r프로세서를 사용하여 메모리에 저장된 입력 값들을r개씩 읽어서 처리한 다음, 다시 메모리에 저장하는 동작을 계속 반복적으로 수행한다. 이때 처리하는 연산수는 (N/r)log r N가 된다. 여기서N은 FFT하고자 하는 길이를 나타낸다. 이렇게 메모리를 이용하는 방식은 하드웨어적으로 비용이 적게 들고, 그만큼 전력 소모가 작아지는 장점을 가지고 있지만, 파이프라인 방식에 비해서는 FFT 처리 속도가 그만큼 늦어지는 단점을 가진다. 이러한 구조는 저전력 구현이 필요하면서 FFT 처리 시간면에서는 여유가 있는 응용분야에 적합하다. 이러한 응용분야로는 디지털 오디오 방송(DAB) 등이 있다.
파이프라인으로 구현하는 방식은 여러 개의 radix-r프로세서를 직렬로 배치하고 각각의 프로세서 사이에 버퍼를 둠으로써, 연산수는 메모리를 이용하는 방식과 동일하지만 각각의 프로세서가 동시에 처리하기 때문에 처리속도가 빠른 장점을 가진다. 이러한 구조는 고속의 FFT 처리를 요하는 응용분야에 적합하다. 이러한 응용분야로는 무선랜(WLAN) 및 초고속 디지털 가입자 회선(VDSL : Very high-speed Digital Subscriber Line) 등이 있다.
이산 퓨리에 변환의 정의와 수식을 살펴보고, 본 발명에서 제안하는 방법과대치되는 종래의 FFT 구조에 대하여 설명하기로 한다.
디지털값으로 샘플링한 시간상의 신호를 주파수상의 신호로 변환하는 것을 이산 퓨리에 변환(discrete fourier transform)이라 하며, 그와 반대로 주파수상의 신호를 시간상의 신호로 변환하는 것을 역 이산 퓨리에 변환(inverse discrete fourier transform)이라고 한다. 이에 대한 수식적인 정의는 하기의 수학식 1과 같다.
여기서,x(n)은 FFT로 입력되는 데이터이고,W N nk 는 트위들 팩터를 의미한다.
도 1은 radix-2 프로세서(104)와 메모리(103)를 이용한 종래 FFT 프로세서의 블럭도이다.
FFT 입력으로 N개의 데이터가 차례로 입력버퍼(101)에 저장된다. 이때 FFT가 DIT(decimation in time)으로 동작되는 경우, 입력버퍼(101)에 저장된 데이터는 비트열 역순으로 메모리(RAM; 103)에 저장되며, FFT 연산이 끝난 후 메모리(103)로부터 정상적인 순서로 출력된다. 반대로 DIF(decimation in frequency)로 동작되는 경우, 입력버퍼(101)에 저장된 데이터는 정상적인 순서로 메모리(103)에 저장되고, FFT 연산이 끝난 후 메모리(103)로부터 비트열 역순으로 출력된다. 어드레스 콘트롤러(102)는 메모리(103)와 radix-2 프로세서(104) 사이에 입출력 주소값을 생성해주는 역할을 수행한다. Radix-2 프로세서(104)는 1개의 복소수 곱셈기와 2 개의 복소수 덧셈기로 구성되며, 복소수 곱셈을 수행할 때 트위들 팩터를 저장하는 메모리(ROM; 105)로부터 데이터를 하나씩 읽어들여 연산을 수행하게 된다. 이때N/2워드 크기의 메모리(105)가 필요하게 된다. FFT 크기(N값)가 커질수록 사용되는 메모리(103 및 105)의 크기가 비례적으로 증가되는데, 이는 radix-2 프로세서(104)와 메모리(103 및 105) 간의 배선을 통한 전송지연을 야기시키므로써 메모리 대역폭이 그만큼 감소되어 전체적인 성능 저하를 초래하게 되며, 또한 그만큼의 하드웨어가 필요하므로 전력소모를 감소시키는 데 있어 불리하다.
따라서 본 발명은 상기와 같이 메모리(ROM)의 크기 증가에 따라 발생되는 메모리 대역폭 감소, 그로 인한 고속 동작의 어려움 및 하드웨어의 증가에 따른 문제점을 해결하고자 radix-r프로세서와 트위들 팩터를 저장하는 메모리(ROM) 사이에 트위들 팩터 발생기를 둠으로써 메모리(ROM)의 크기를 기존의N/2에서N/16+1워드 크기로 줄이며, 이에 따라 하드웨어 비용이 절감되는 효과를 같는 FFT 프로세서를 설계하고자 하는 데 그 목적이 있다.
상기한 목적을 달성하기 위하여 본 발명은 N개의 데이터를 입력받아 순차적으로 저장하는 입력버퍼와, 복소수 곱셈기, 복소수 덧셈기 및 복소수 뺄셈기로 구성되고, 상기 입력버퍼로 부터 상기 데이터를 입력받으며, 트위들 팩터를 이용하여 연산을 수행하는 Radix-2 프로세서와, 상기 Radix-2 프로세서를 통해 입력되는 상기 데이터를 저장하는 제 1 메모리와, 상기 제 1 메모리 및 상기 radix-2 프로세서의 입출력 주소값을 생성하는 어드레스 콘트롤러와, 외부로부터 N 비트의 주소값을 입력받으며 FFT를 연산하는 데 필요한 상기 트위들 팩터를 생성하여 상기 Radix-2 프로세서로 공급하는 트위들 팩터 발생기와, 상기 트위들 팩터 발생기로부터 상기 주소값을 입력받아 저장된 데이터를 읽어내는 제 2 메모리를 포함하는 것을 특징으로 한다.
상기 제 1 메모리는 RAM이며, 상기 제 2 메모리는N/16+1의 워드 크기를 갖는 ROM인 것을 특징으로 한다.
상기 트위들 팩터 발생기는 상기 N 비트의 주소값을 입력받으며 입력된 주소값을 검사하여 소정 비트의 주소값을 출력하는 주소발생기와, 상기 주소발생기로부터 상기 소정 비트의 주소값을 입력받는 제어기와, 상기 제어기의 출력신호에 따라 상기 제 2 메모리에 저장된 데이터를 이용하여 연산을 수행하는 멀티플렉서와, 상기 제어기의 출력신호에 따라 상기 멀티플렉서의 출력값을 이용하여 ±π/4 회전 연산을 수행하는 회전기를 포함하는 것을 특징으로 한다.
상기 회전기는 +π/4로 회전 연산을 할지 -π/4로 회전 연산을 할지를 결정하는 두개의 두개의 멀티플렉서와, 상기 멀티플렉서의 출력값과 실수 및 허수 입력값을 각각 연산하는 두개의 덧셈기와, 상기 각 덧셈기의 출력값에 각각 0.707을 곱하기 위한 두개의 상수 곱셈기를 포함하는 것을 특징으로 한다.
상기 상수 곱셈기는 상기 덧셈기의 출력값을 입력받는 다수의 쉬프터와, 상기 각 쉬프터의 출력을 연산하는 덧셈기를 포함하는 것을 특징으로 한다.
도 1은 종래의 Radix-2 프로세서를 이용한 퓨리에 변환(FFT) 프로세서의 블럭도.
도 2a, 도 2b 및 도 2c는 트위들 팩터의 성상도.
도 3은 본 발명에 따른 퓨리에 변환(FFT) 프로세서를 설명하기 위한 블럭도.
도 4는 도 3에 도시된 트위들 팩터 발생기의 블럭도.
도 5는 도 4에 도시된 ±p/4 회전기의 블럭도.
도 6은 도 5에 도시된 상수(0.707) 곱셈기의 블럭도.
<도면의 주요 부분에 대한 부호의 설명>
101: 입력 버퍼102: 어드레스 콘트롤러
103: 메모리(RAM)104: Radix-2 프로세서
105, 205: 메모리(ROM)201: 트위들 팩터 발생기
202: 복소수 곱셈기203: 복소수 덧셈기
204: 복소수 뺄셈기303, 305, 403, 404: 멀티플렉서
304: 회전기306: 주소 발생기
307: 제어기405, 406, 506: 덧셈기
407, 408: 상수 곱셈기501, 502, 503, 504, 505: 쉬프터
본 발명은 디지털 오디오 방송(DAB) 및 무선 방송 시스템(WLAN)의 직교 주파수 분할 다중화(OFDM) 변복조 통신 기술에 사용되는 FFT 프로세서를 제공한다. 본 발명의 FFT 프로세서는N/16+1워드 크기의 메모리(ROM)와 주소발생기, 멀티플렉서(MUX) 및 ±π/4 회전기 등으로 구성된 트위들 팩터 생성기를 구비하며, 트위들 팩터 생성기로부터 FFT를 연산하는 데 필요한 트위들 팩터가 생성된다.
그러면 이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 먼저, 본 발명에 따른 트위들 팩터 발생 알고리즘을 설명하면 다음과 같다.
일반적으로N포인트 FFT를 구현하고자 할 때,W k (k = 0 ···N/2-1)가N/2개수 만큼인 트위들 팩터가 필요하다. 이는 곧 메모리(ROM)의 크기가N/2워드 만큼 필요하다는 것을 의미한다. 예를 들어, 2048 포인트 FFT를 구현하고자 하는 경우 1024 워드를 저장할 메모리(ROM)가 필요하다.
본 발명에서 제안하는 알고리즘을 사용하면,N/16+1만큼의 트위들 벡터를 저장하는 메모리(ROM)만 있으면 모든 트위들 팩터값을 생성시킬 수 있다.
도 2a, 2b 및 도 2c는 트위들 팩터의 성상도이다. 도 2a에서 보면 총N/2만큼의 트위들 팩터를 8개 영역으로 나눈 것을 알 수 있다. 각각의 영역들 사이의 관계를 살펴보면, 제 1 영역 내에 있는 트위들 팩터만을 저장하는 메모리(ROM)만 있으며, 나머지 영역 내에 포함되어 있는 트위들 팩터는 모두 계산할 수 있다는 것을 도 2b 및 도 2c를 통해 알 수 있다. 먼저, 제 1 영역 내에 있는 트위들 팩터값을알고 있다고 가정한다. 그렇다면 제 4 영역은 제 1 영역의 값과 x축과 y축에 대칭한다는 것을 알 수 있다. 따라서 제 1 영역의 값에서 실수값과 허수값에 각각 (-1)을 곱하면 제 4 영역의 값이 됨을 알 수 있다. 제 5 영역은 제 1 영역의 값을 -π/2 만큼 회전시키면 되므로 실수값은 (-1)를 곱하여 허수값으로, 허수값은 그대로 실수값으로 변환하면 바로 계산될 수 있다. 제 8 영역은 제 1 영역의 값과 y축에 대칭하므로 실수값에 (-1)만 곱하면 바로 계산될 수 있다. 이렇게 해서 제 1, 4, 5, 8 영역의 값을 구하면 나머지 제 2, 3, 6, 7 영역의 값은 ±π/4 회전 연산을 통해 쉽게 구할 수 있다. 제 1 영역의 값을 -π/4 회전시키면 제 3 영역의 값을 구할 수 있고, 제 4 영역의 값을 +π/4 회전시키면 제 2 영역의 값을 구할 수 있다. 제 6 및 제 7 영역의 값도 마찬가지로 제 5 및 제 8 영역의 값을 이용하여 구할 수 있다.
이에 대한 알고리즘 전개가 하기의 수학식 2에 나타나 있다. 하기의 수학식 2를 살펴보면,N/16+1개의A(i)와B(i)만을 가지고 8개 영역 내에 포함되어 있는 트위들 팩터를 모두 계산할 수 있다는 것을 보여준다. 여기서,W(i)=exp(-j2πi/N) (0≤i≤N/2-1)을 의미하며,A(i)=cos(2πi/N) (0≤i≤N/16), B(i)=sin(2πi/N) (0≤i≤N/16)을 의미한다.
제 2 영역:W(i+N/16)=L[-B(N/16-i)]+j L[-A(N/16-i)](1≤i≤N/16-1)
제 3 영역:W(i+2N/16)=R[A(i)]+j R[B(i)](0≤i≤N/16-1)
제 4 영역:W(i+3N/16)=-B(N/16-i)+j(-A(N/16-i))(0≤i≤N/16-1)
제 5 영역:W(i+4N/16)=B(i)+j(-A(i))(0≤i≤N/16)
제 6 영역:W(i+5N/16)=L[-A(N/16-i)]+j L[B(N/16-i)](1≤i≤N/16-1)
제 7 영역:W(i+6N/16)=R[B(i)]+j R[-A(i)](0≤i≤N/16-1)
제 8 영역:W(i+7N/16)=(-A(N/16-i))+j B(N/16-i)(0≤i≤N/16-1)
여기서,R[x]=exp(-jπ/4)·x, L[x]=exp(jπ/4)·x로 정의된다.
본 발명에서 제안한 알고리즘을 기초로 해서 32 포인트 FFT를 예로 들어 설명한다. 앞에서 설명한 것처럼 FFT 연산을 하기 위해서 총 16개의 트위들 팩터값이 필요하다. 그러나 본 발명에 따르면, 3개의 트위들 팩터만 있으면 나머지 값을 쉽게 계산할 수 있다. 먼저, 상기 수학식 2에서N값 대신32를 대입하면 하기의 수학식 3과 같이 전개된다. 결과를 보면,A(0),A(1),A(2),B(0),B(1),B(2)만 있으면 모든 트위들 팩터를 계산할 수 있다는 것을 알 수 있다. 따라서 3 워드를 갖는 메모리(ROM)만 있으면 모든 계산이 가능하다.
W(1) = A(1)+ j B(1)
W(2) = A(2)+ j B(2)
제 2 영역:W(3) = L[-B(1)]+ j L[-A(1)]
제 3 영역:W(4) = R[A(0)]+ j R[B(0)]
W(5) = R[A(1)]+ j R[B(1)]
제 4 영역:W(6) = -B(2)+ j(-A(2))
W(7) = -B(1)+ j(-A(1))
제 5 영역:W(8) = B(0)+ j(-A(0))
W(9) = B(1)+ j(-A(1))
W(10) = B(2)+ j(-A(2))
제 6 영역:W(11) = L[-A(1)]+ j L[B(1)]
제 7 영역:W(12) = R[B(0)]+ j R[-A(0)]
W(13) = R[B(1)]+ j R[-A(1)]
제 8 영역:W(14) =(-A(2))+ j B(2)
W(15) =(-A(1))+ j B(1)
여기서,R[x]= exp(-jπ/4)·x, L[x]= exp(jπ/4)·x라고 정의한다.
하기의 표 1에서는 32 포인트 FFT의 트위들 팩터값을 본 발명에 따라 영역별로 나누어 본 것이다. 첫번째 열은 외부로부터 입력되는 주소값을 말하며, 두번째 열은 각각의 주소에 해당하는 트위들 팩터값을 나타낸다. 세번째 열인 ROM 어드레스는 실제적으로 사용되는 3 워드를 갖는 메모리(ROM)의 주소이다. 따라서 외부로부터 입력되는 주소의 값을 내부 ROM 주소로 변환해야 한다. 이를 살펴보면 제 1, 3, 5, 7 영역에서는 외부 입력 주소의 하위 두 비트와 값이 동일하다는 것을 알 수 있다. 또한, 제 2, 4, 6, 8 영역에서는 외부 입력 주소의 하위 두 비트를 2의 보수화한 값과 동일하다는 것을 알 수 있다. 그리고 각각의 8개 영역에서 연산되는 방법이 각각 다르므로 외부 입력 주소값에 따라 영역을 판별할 필요가 있다. 이때 영역 판별을 위해서 외부 입력 주소의 상위 4 비트가 사용된다. 따라서 영역 판별이 이루어지면 (-1) 곱셈을 할 것인가 +π/4 회전 연산을 할 것인가를 결정하여 원하는 값을 얻어낼 수 있다.
외부 입력주소 | 트위들 팩터 | 내부 ROM 주소 | (실수값, 허수값) | 영역 |
0 (0000) | W(0) | 0 (00) | (1.000, 0.000) | 제 1 영역 |
1 (0001) | W(1) | 1 (01) | (0.981, -0.195) | |
2 (0010) | W(2) | 2 (10) | (0.924, -0.383) | |
3 (0011) | W(3) | 1 (01) | (0.832, -0.556) | 제 2 영역 |
4 (0100) | W(4) | 0 (00) | (0.707, -0.707) | 제 3 영역 |
5 (0101) | W(5) | 1 (01) | (0.556, -0.832) | |
6 (0110) | W(6) | 2 (10) | (0.383, -0.924) | 제 4 영역 |
7 (0111) | W(7) | 1 (01) | (0.195, -0.981) | |
8 (1000) | W(8) | 0 (00) | (0.000, -1.000) | 제 5 영역 |
9 (1001) | W(9) | 1 (01) | (-0.195, -0.981) | |
10 (1010) | W(10) | 2 (10) | (-0.383, -0.924) | |
11 (1011) | W(11) | 1 (01) | (-0.556, -0.832) | 제 6 영역 |
12 (1100) | W(12) | 0 (00) | (-0.707, -0.707) | 제 7 영역 |
13 (1101) | W(13) | 1 (01) | (-0.832, -0.556) | |
14 (1110) | W(14) | 2 (10) | (-0.924, -0.383) | 제 8 영역 |
15 (1111) | W(15) | 1 (01) | (-0.981, -0.195) |
그러면 본 발명에서 제안한 알고리즘을 하드웨어로 구현할 경우 어떠한 구조를 갖는지 첨부된 도면을 통해 설명하기로 한다.
본 발명은 도 1과 같이 구성된 퓨리에 변환(FFT) 프로세서에서 FFT를 연산하는 데 필요한 트위들 팩터를 생성하기 위한 트위들 팩터 생성기(201) 및N/16+1워드 크기의 메모리(ROM; 205)를 더 구비한다.
본 발명에서 제안하는 트위들 팩터 발생기(201)는 도 3에 도시된 바와 같이 radix-2 버터플라이 프로세서(104)에 연결된다.
radix-2 버터플라이 프로세서(104)는 복소수 곱셈기(202), 복소수덧셈기(203), 복소수 뺄셈기(204)로 구성되며, 입력된x, y를x+wy, x-wy로 계산하여 출력한다. 메모리(ROM; 205)와 프로세서(104) 사이에 트위들 팩터 발생기(201)가 연결되어 메모리(205)로부터 출력된 값을 원하는 트위들 벡터로 변환시켜 준다.
도 4는 트위들 팩터 발생기(201)의 블럭도로서, 외부로부터 N 비트의 주소값이 입력되면 주소발생기(306)는(N/16 + 1)워드 크기의 메모리(ROM; 205)로N-2비트의 주소값을 보낸다. 입력된 주소값 중에 상위 4 비트를 검사하여 원하는 트위들 팩터가 어느 영역에 속해 있는지 판별한 다음, 제 1, 3, 5, 7 영역에 속해 있다면 입력된 주소값에서 상위 2 비트를 제외한 나머지 비트들로 하여금 주소값을 발생시킨다. 또한, 제 2, 4, 6, 8 영역에 속해 있다면, 입력된 주소값에서 상위 2 비트를 제외한 나머지 비트들을 2의 보수화하여 취하여 메모리(205)로 전송한다. 또한, 제어기(307)에서는 주소발생기(306)에서 검사한 4 비트를 이용하여 멀티플렉서(MUX; 303 및 305) 및 ±π/4 회전기(304)를 제어하는 신호를 생성시킨다. 입력된 주소값에 따라 메모리(205)로부터 출력된 실수값, 허수값 그리고 (-1) 곱셈기(301 및 302)를 통과한 실수값, 허수값이 각각 출력되며, 이들 값들은 제어신호에 따라 멀티플렉서(303 및 305) 및 ±π/4 회전기(304)를 통해 두 개의 값으로 만들어진다.
도 5는 ±π/4 회전기(304)의 블럭도이다.
±π/4 회전 연산을 수식으로 전개하면 하기의 수학식 4과 같다. 하기의 수학식 4를 살펴보면 두개의 덧셈기(405 및 406)와 0.707을 곱하는 두개의 상수 곱셈기(407 및 408)만 있으면 ±π/4 회전 연산이 가능하다는 것을 알 수 있다. 또한, 도 5를 보면, 두개의 멀티플렉서(403 및 404)가 있는데, 이는 +π/4로 회전 연산을 할지, -π/4로 회전 연산을 할지를 결정한다. +π/4로 회전 연산을 하는 경우, 입력된 실수값(Ri)과 허수값(li)이 제 1 덧셈기(405)로 입력되고, 입력된 허수값(li)과 (-1) 곱셈기(402)를 통과한 실수값(Ri)이 제 2 덧셈기(406)로 입력된다. -π/4로 회전 연산을 하는 경우, 입력된 실수값(Ri)과 (-1) 곱셈기(401)를 통과한 허수값(li)이 제 1 덧셈기(405)로 입력되고, 입력된 허수값(li)과 실수값(Ri)이 제 2 덧셈기(406)로 입력된다. 각각의 덧셈기(405 및 406)의 출력은 상수 곱셈기(407 및 408)를 통과하여 최종값인 실수값(Ro) 및 허수값(lo)이 된다. 멀티플렉서(403 및 404)를 제어하는 신호는 제어기(307)로부터 나온다.
-π/4회전
π/4회전
도 6은 쉬프트와 덧셈기 하나로 구현한 상수(0.707) 곱셈기의 블럭도로서, 입력값(Xi)은 1 비트 쉬프터(501), 3 비트 쉬프터(502), 4 비트 쉬프터(503), 6 비트 쉬프터(504) 및 8 비트 쉬프터(505)로 각각 입력되고, 덧셈기(506)는 각 쉬프터(501 내지 505)의 출력을 더하여 출력값(Yi)을 출력한다. 상수(0.707) 곱셈기(407)의 동작은 0.707 = 1/2 + 1/8 + 1/16 + 1/64 + 1/256으로 풀어볼 수 있다. 따라서 다섯개의 쉬프터(501, 502, 503, 504, 505)와 하나의 덧셈기(506)만으로 구현이 가능하다.
이상에서 설명한 바와 같이 본 발명은 트위들 팩터를 사용되는 메모리(ROM)의 크기를N/16+1워드만큼 사용함으로서 기존 방법에 비해 메모리(ROM)의 크기를 크게 줄일 수 있으므로 FFT 구현시 전체적인 하드웨어의 크기를 감소시킬 수 있으며, 이에 따라 전력 소모를 줄이고 메모리와 radix-r프로세서 사이의 데이터 대역폭을 크게 증가시킬 수 있으므로 FFT 성능을 높이는 데 상당한 기여를 할 수 있다. 또한, 본 발명은 FFT의 변환 크기(N)가 클수록 그 효과가 더욱 크므로 앞으로 FFT의 크기가 증가하는 추세에 맞춰 활용범위가 매우 크다고 할 수 있다.
Claims (6)
- N개의 데이터를 입력받아 순차적으로 저장하는 입력버퍼와,복소수 곱셈기, 복소수 덧셈기 및 복소수 뺄셈기로 구성되고, 상기 입력버퍼로부터 상기 데이터를 입력받으며, 트위들 팩터를 이용하여 연산을 수행하는 Radix-2 프로세서와,상기 Radix-2 프로세서를 통해 입력되는 상기 데이터를 저장하는 제 1 메모리와,상기 제 1 메모리 및 상기 radix-2 프로세서의 입출력 주소값을 생성하는 어드레스 콘트롤러와,외부로부터 N 비트의 주소값을 입력받으며 FFT를 연산하는 데 필요한 상기 트위들 팩터를 생성하여 상기 Radix-2 프로세서로 공급하는 트위들 팩터 발생기와,상기 트위들 팩터 발생기로부터 상기 주소값을 입력받아 저장된 값을 출력하는 제 2 메모리를 포함하는 것을 특징으로 하는 고속 퓨리에 변환 프로세서.
- 제 1 항에 있어서, 상기 제 1 메모리는 RAM이며, 상기 제 2 메모리는N/16+1의 워드 크기를 갖는 ROM인 것을 특징으로 하는 고속 퓨리에 변환 프로세서.
- 제 1 항에 있어서, 상기 트위들 팩터 발생기로부터 생성된 트위들 팩터는 상기 Radix-2 프로세서의 복소수 곱셈기로 입력되는 것을 특징으로 하는 고속 퓨리에변환 프로세서.
- 제 1 항에 있어서, 상기 트위들 팩터 발생기는 상기 N 비트의 주소값을 입력받으며 입력된 주소값을 검사하여 소정 비트의 주소값을 출력하는 주소발생기와,상기 주소발생기로부터 상기 소정 비트의 주소값을 입력받는 제어기와,상기 제어기의 출력신호에 따라 상기 제 2 메모리에 저장된 데이터를 이용하여 연산을 수행하는 멀티플렉서와,상기 제어기의 출력신호에 따라 상기 멀티플렉서의 출력값을 이용하여 ±π/4 회전 연산을 수행하는 회전기를 포함하는 것을 특징으로 하는 고속 퓨리에 변환 프로세서.
- 제 4 항에 있어서, 상기 회전기는 +π/4로 회전 연산을 할지 -π/4로 회전 연산을 할지를 결정하는 두개의 두개의 멀티플렉서와,상기 멀티플렉서의 출력값과 실수 및 허수 입력값을 각각 연산하는 두개의 덧셈기와,상기 각 덧셈기의 출력값에 각각 0.707을 곱하기 위한 두개의 상수 곱셈기를 포함하는 것을 특징으로 하는 고속 퓨리에 변환 프로세서.
- 제 5 항에 있어서, 상기 상수 곱셈기는 상기 덧셈기의 출력값을 입력받는 다수의 쉬프터와,상기 각 쉬프터의 출력을 연산하는 덧셈기를 포함하는 것을 특징으로 하는 고속 퓨리에 변환 프로세서.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020074419A KR20040046478A (ko) | 2002-11-27 | 2002-11-27 | 메모리의 크기를 감소시킬 수 있는 고속 퓨리에 변환프로세서 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020074419A KR20040046478A (ko) | 2002-11-27 | 2002-11-27 | 메모리의 크기를 감소시킬 수 있는 고속 퓨리에 변환프로세서 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040046478A true KR20040046478A (ko) | 2004-06-05 |
Family
ID=37342016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020074419A KR20040046478A (ko) | 2002-11-27 | 2002-11-27 | 메모리의 크기를 감소시킬 수 있는 고속 퓨리에 변환프로세서 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20040046478A (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100492124B1 (ko) * | 2002-12-12 | 2005-06-02 | 삼성전자주식회사 | 구현이 간단한 고속 퓨리에 변환 장치를 가지는 유럽향디지털 오디오 방송 수신기 및 그의 동작방법 |
KR100720949B1 (ko) * | 2004-12-23 | 2007-05-22 | 한국전자통신연구원 | 직교 주파수 분할 다중화 시스템에서의 고속 푸리에 변환프로세서 및 그 변환 방법 |
KR20070061357A (ko) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | 고속 푸리에 변환 시스템의 메모리 주소 계산 방법 및 그를이용한 트위들 팩터 생성 장치 |
KR100810490B1 (ko) * | 2006-08-08 | 2008-03-07 | 엠텍비젼 주식회사 | 고속 푸리에 변환 장치 및 이를 포함하는 직교 주파수 분할다중화 수신기 |
KR100890768B1 (ko) * | 2007-03-21 | 2009-04-02 | (주)카이로넷 | 데이터 변환 프로세서 및 이를 갖는직교주파수분할다중변조 수신장치 |
US9735996B2 (en) | 2015-11-25 | 2017-08-15 | Electronics And Telecommunications Research Institute | Fully parallel fast fourier transformer |
-
2002
- 2002-11-27 KR KR1020020074419A patent/KR20040046478A/ko not_active Application Discontinuation
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100492124B1 (ko) * | 2002-12-12 | 2005-06-02 | 삼성전자주식회사 | 구현이 간단한 고속 퓨리에 변환 장치를 가지는 유럽향디지털 오디오 방송 수신기 및 그의 동작방법 |
KR100720949B1 (ko) * | 2004-12-23 | 2007-05-22 | 한국전자통신연구원 | 직교 주파수 분할 다중화 시스템에서의 고속 푸리에 변환프로세서 및 그 변환 방법 |
KR20070061357A (ko) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | 고속 푸리에 변환 시스템의 메모리 주소 계산 방법 및 그를이용한 트위들 팩터 생성 장치 |
KR100762281B1 (ko) * | 2005-12-08 | 2007-10-01 | 한국전자통신연구원 | 고속 푸리에 변환 시스템의 메모리 주소 생성 방법 및 그를이용한 트위들 팩터 생성 장치 |
US8458241B2 (en) | 2005-12-08 | 2013-06-04 | Electronic And Telecommunications Research Institute | Memory address generating method and twiddle factor generator using the same |
KR100810490B1 (ko) * | 2006-08-08 | 2008-03-07 | 엠텍비젼 주식회사 | 고속 푸리에 변환 장치 및 이를 포함하는 직교 주파수 분할다중화 수신기 |
KR100890768B1 (ko) * | 2007-03-21 | 2009-04-02 | (주)카이로넷 | 데이터 변환 프로세서 및 이를 갖는직교주파수분할다중변조 수신장치 |
US9735996B2 (en) | 2015-11-25 | 2017-08-15 | Electronics And Telecommunications Research Institute | Fully parallel fast fourier transformer |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0855657B1 (en) | Fast fourier transforming apparatus and method | |
KR100958231B1 (ko) | 직교 주파수 분할 다중 시스템에서의 고속 푸리에 변환처리 | |
KR100923892B1 (ko) | 고속 푸리어 변환 트위들 승산 | |
JP4685860B2 (ja) | マルチキャリア変調システムにおける改善 | |
US7801228B2 (en) | Analog fourier transform channelizer and OFDM receiver | |
EP1665594A2 (en) | Combined inverse fast fourier transform and guard interval processing for efficient implementation of ofdm based systems | |
US5717620A (en) | Improved-accuracy fast-Fourier-transform butterfly circuit | |
KR100899747B1 (ko) | 직교주파수분할다중 시스템의 첨두대평균 전력비 저감을위한 장치 및 방법 | |
WO2006049419A1 (en) | Method for transforming data by look-up table | |
JP2007221596A (ja) | 高速フーリエ変換装置、ofdm通信装置、及びofdm通信のサブキャリア割当方法 | |
KR100628303B1 (ko) | 가변 포인트 ifft/fft 방법 및 장치 | |
KR101229648B1 (ko) | 순환 급속 푸리에 변환 | |
US8838661B2 (en) | Radix-8 fixed-point FFT logic circuit characterized by preservation of square root-i operation | |
KR20040046478A (ko) | 메모리의 크기를 감소시킬 수 있는 고속 퓨리에 변환프로세서 | |
KR100720949B1 (ko) | 직교 주파수 분할 다중화 시스템에서의 고속 푸리에 변환프로세서 및 그 변환 방법 | |
KR20120109214A (ko) | Ofdm 시스템에서의 고속 푸리에 변환 프로세서 및 그 고속 푸리에 변환방법 | |
CN107454030B (zh) | 一种电力线宽带载波半并行发射机及其实现方法 | |
KR100890768B1 (ko) | 데이터 변환 프로세서 및 이를 갖는직교주파수분할다중변조 수신장치 | |
Nahar et al. | PAPR reduction based on proposed rotating phase shift technique in MC-CDMA using FPGA | |
Chuppala et al. | Modified Cooley-Tukey algorithm for implementation of integrated serial FFT/IFFT processor in half-duplex OFDM systems | |
KR100936242B1 (ko) | Ofdm를 위한 fft/ifft 듀얼모드 장치 및 그제어방법 | |
KR20050065984A (ko) | 자동으로 이득을 제어하는 고속 퓨리에 변환기 프로세서 | |
Petrellis | Selecting FFT Word Length in OFDM systems with Undersampled Sparse Input | |
Thiruvengadam et al. | Reconfigurable Logic Design of CORDIC Based FFT Architecture for 5G Communications. | |
KR20050087683A (ko) | 저전력 및 면적효율적인 알고리즘을 적용한 고속 푸리에변환 프로세서 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |