KR100628303B1 - 가변 포인트 ifft/fft 방법 및 장치 - Google Patents
가변 포인트 ifft/fft 방법 및 장치 Download PDFInfo
- Publication number
- KR100628303B1 KR100628303B1 KR1020040070238A KR20040070238A KR100628303B1 KR 100628303 B1 KR100628303 B1 KR 100628303B1 KR 1020040070238 A KR1020040070238 A KR 1020040070238A KR 20040070238 A KR20040070238 A KR 20040070238A KR 100628303 B1 KR100628303 B1 KR 100628303B1
- Authority
- KR
- South Korea
- Prior art keywords
- ifft
- fft
- point
- data
- input data
- Prior art date
Links
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2626—Arrangements specific to the transmitter only
- H04L27/2627—Modulators
- H04L27/2628—Inverse Fourier transform modulators, e.g. inverse fast Fourier transform [IFFT] or inverse discrete Fourier transform [IDFT] modulators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2647—Arrangements specific to the receiver only
- H04L27/2649—Demodulators
- H04L27/265—Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2647—Arrangements specific to the receiver only
- H04L27/2649—Demodulators
- H04L27/265—Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators
- H04L27/2651—Modification of fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators for performance improvement
Abstract
본 발명은 가변 포인트 IFFT/FFT 방법 및 장치에 관한 것으로, 입력 데이터의 포인트에 IFFT 동작모드 제어신호에 따라서 가변되는 다수개의 보간 데이터를 삽입하여 IFFT 하드웨어에서 기 설정된 포인트를 가지도록 하는 보간 데이터 신호를 생성하는 IFFT 보간부; 상기 보간 데이터 신호를 입력받아 역고속 퓨리에 변환(Inverse Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하는 IFFT 연산부; 상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 IFFT 동작모드 제어신호에 따라 상기 연산 데이터 신호중에서 일부만을 선택하여 출력하는 IFFT 모드 선택부; 및 상기 IFFT 동작모드 제어신호를 상기 IFFT 보간부와 상기 IFFT 모드 선택부에 출력하는 제어부로 구성된다. 따라서, 가변적인 크기의 IFFT/FFT의 계산을 하드웨어적으로 간단히 제공할 수 있다.
Description
도 1은 본 발명의 일실시예에 따른 다양한 크기의 가변 IFFT를 수행할 수 있는 가변 포인트 IFFT 하드웨어 블럭도이다.
도 2는 도 1의 IFFT 보간부(100)를 상세히 나타낸 블럭도이다.
도 3은 도 1의 IFFT 모드 선택부(140)를 상세히 나타낸 블럭도이다.
도 4는 본 발명의 다른 일실시예에 따른 다양한 크기의 가변 FFT를 수행할 수 있는 가변 포인트 FFT 하드웨어 블럭도이다.
도 5는 도 4의 FFT 보간부(400)를 상세히 나타낸 블럭도이다.
도 6은 도 4의 FFT 모드 선택부(440)을 상세히 나타낸 블럭도이다.
도 7은 본 발명의 다른 일실시예에 따른 8-4포인트 가변 FFT 하드웨어의 블럭도이다.
도 8은 본 발명의 일실시예에 따른 다양한 크기의 가변 IFFT를 수행할 수 있는 가변 포인트 IFFT 하드웨어를 구현하는 흐름도이다.
도 9는 본 발명의 다른 일실시예에 따른 다양한 크기의 가변 FFT를 수행할 수 있는 가변 포인트 FFT 하드웨어를 구현하는 흐름도이다.
본 발명은 가변 포인트 IFFT/FFT 방법 및 장치에 관한 것으로, 더욱 상세하게는 1개의 OFDM 모뎀 장치 내에서 여러 IEEE 802.(11, 16e, 등) 계열의 다양한 크기의 IFFT/FFT 계산을 하드웨어적으로 수행할 수 있도록 하는 가변 포인트 IFFT/FFT 방법 및 장치에 관한 것이다.
무선 이동 통신은 고속의 이동성과 고속의 데이터 전송 능력을 요구하고 있다. 이러한 요구사항을 만족하기 위하여 계층 1(Physical Layer)에서 사용하는 모뎀 방식은 OFDM(Orthogonal Frequency Division Multiplex) 방식을 사용한다. OFDM에서 데이터를 송신하고 수신하는데 있어서 IFFT(Inverse Fast Fourier Transform) /FFT(Fast Fourier Transform) 장치가 필수적으로 요구된다.
IEEE 802.(11a, 16e, 등) 계열에서는 변조 규격으로 OFDM 방식을 채택하고 있으며 다양한 IFFT 크기를 정의하고 있다. 앞으로 상용화되는 고속 무선 통신 방식에서 모뎀은 주로 IEEE 802.(11a, 16e, 등) 계열이 사용될 것이며, 계층 1의 접속 방식에 구애받지 않는 가변적일 것을 요구하고 있다. 따라서 한 개의 모뎀에서 여러 가지 IEEE 802.(11a, 16e, 등) 계열 변조 및 복조 기능을 만족시키려면 다양한 크기의 IFFT(Inverse Fast Fourier Transform)/FFT(Fast Fourier Transform)를 수용할 수 있는 가변 포인트 IFFT/FFT 구조여야 한다. 본 발명은 OFDM 기술 분야에 속하며 모뎀 장치의 접속 규격이 가변적인 점에서 SDR (Software Defined Radio) 기술에 속한다고 볼 수도 있다.
종래의 기술은 가변적인 모뎀 구성을 위하여 고속의 DSP 프로세서를 사용해서 모뎀 기능을 소프트웨어적으로 처리해야만 하였다. 그러나 DSP 칩을 이용하여 소프트웨어적으로 처리할 경우 IFFT/FFT 크기가 커질수록 메모리 액세스 시간 소비로 인하여 실시간 구현이 어렵다는 단점이 있다.
본 발명이 이루고자 하는 기술적인 과제는 가변적으로 선택되는 모뎀 방식에 따라서 IFFT/FFT의 계산 크기가 64 포인트, 1024 포인트 또는 2048 포인트 등으로 달라지는데 여러 가지 가변적인 크기의 IFFT/FFT의 계산을 하드웨어적으로 간단히 구현하고자 하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 가변 포인트 IFFT 장치는, 입력 데이터의 포인트에 IFFT 동작모드 제어신호에 따라서 가변되는 다수개의 보간 데이터를 삽입하여 IFFT 하드웨어에서 기 설정된 포인트를 가지도록 하는 보간 데이터 신호를 생성하는 IFFT 보간부; 상기 보간 데이터 신호를 입력받아 역고속 퓨리에 변환(Inverse Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하는 IFFT 연산부; 상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 IFFT 동작모드 제어신호에 따라 상기 연산 데이터 신호중에서 일부만을 선택하여 출력하는 IFFT 모드 선택부; 및 상기 IFFT 동작모드 제어신호를 상기 IFFT 보간부와 상기 IFFT 모드 선택부에 출력하는 제어부를 포함하는 것을 특징으로 가진다.
또한, 상기 기술적 과제를 이루기 위한 본 발명에 의한 가변 포인트 FFT 장치는, 입력 데이터 각각의 포인트 사이에 FFT 동작모드 제어신호에 따라 가변되는 주기를 가지고 보간 데이터를 삽입하여 FFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하는 FFT 보간부; 상기 보간 데이터 신호를 입력받아 고속 퓨리에 변환(Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하는 FFT 연산부; 상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 FFT 동작모드 제어신호에 따라 상기 연산 데이터 중에서 일부만을 선택하여 출력하는 FFT 모드 선택부; 및 상기 FFT 동작모드 제어신호를 상기 FFT 보간부와 상기 FFT 모드 선택부에 출력하는 제어부를 포함하는 것을 특징으로 가진다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 가변 포인트 IFFT 방법은, (a) 입력 데이터의 포인트를 나누고 상기 나누어진 입력 데이터의 중간 영역에 IFFT 동작모드 제어신호에 따라서 가변되는 다수개의 보간 데이터를 삽입하여 IFFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하는 IFFT 제로 삽입단계; (b) 상기 (a)단계로부터 상기 보간 데이터 신호 입력받아 역고속 퓨리에 변환(Inverse Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하는 IFFT 연산단계; 및 (c) 상기 (b)단계로부터 상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 IFFT 동작모드 제어신호에 따라 상기 연산 데이터 중에서 일부만을 선택하여 출력하는 IFFT 모드 선택단계를 포함하는 것을 특징으로 가진다.
또한, 상기 기술적 과제를 이루기 위한 본 발명에 의한 가변 포인트 FFT 방법은, (a) 입력 데이터 각각의 포인트 사이에 FFT 동작모드 제어신호에 따라 가변되는 주기를 가지고 보간 데이터를 삽입하여 FFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하는 FFT 보간단계; (b) 상기 (a)단계에서 보간 데이터 신호를 입력받아 고속 퓨리에 변환(Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하는 FFT 연산단계; 및 (c) 상기 (b)단계에서 상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 FFT 동작모드 제어신호에 따라 상기 연산 데이터 중에서 일부만을 선택하여 출력하는 FFT 모드 선택단계를 포함하는 것을 특징으로 가진다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 다양한 크기의 가변 IFFT를 수행할 수 있는 가변 포인트 IFFT 하드웨어 블럭도이다. 도 2는 도 1의 IFFT 보간부(100)를 상세히 나타낸 블럭도이다. 도 3은 도 1의 IFFT 모드 선택부(140)를 상세히 나타낸 블럭도이다.
여기에서, 가변 포인트 IFFT 하드웨어는 IFFT 보간부(100), IFFT 연산부(120) 및 IFFT 모드 선택부(140)를 포함하여 구성된다.
도 1을 참조하면, 64 포인트, 128 포인트 및 256 포인트 IFFT를 수행할 수 있는 가변 포인트 IFFT 하드웨어 블럭도 구조를 나타내는 것이다. IFFT 보간부(100)와 IFFT 모드 선택부(140)는 동작모드 제어신호(S1)(S0)를 입력받아 해당하는 IFFT 동작 모드를 수행하게 된다.
동작모드 제어신호(S1)(S0)에 대한 가변 포인트 IFFT의 동작모드를 살펴보면 다음 표 1과 같다.
동작모드 제어신호 (S1, S0) | IFFT / FFT 동작모드 |
0 0 | 64 포인트 |
0 1 | 128 포인트 |
1 0 | 256 포인트 |
1 1 | reserved |
IFFT 보간부(IFFT interpolator)(100)는 IFFT 동작모드에 따라서 IFFT 하드웨어에 입력되는 입력 데이터의 중간 영역에 보간 데이터(바람직하게는, 제로('0'))를 삽입하는 역할을 수행한다. IFFT 보간부(100)의 보다 자세한 내부구성과 동작에 대하여는 도 2를 통하여 설명하기로 한다.
도 2를 참조하면, 동작모드 제어신호(S1)(S0)는 디코더(260)에 입력되어 동작 활성화 신호를 생성하게 된다. 디코더(260)에서 출력되는 동작 활성화 신호는 표 1에서 보는 바와 같이 4가지의 경우를 들 수 있다.
동작모드 제어신호(S1)(S0)가 '00'인 경우, 즉 64 포인트 IFFT 동작모드인 경우에는 디코더(260)는 1:4 보간기(1:4 interpolator)(200)에 동작 활성화 신호를 출력하게 된다.
그리고, 동작모드 제어신호(S1)(S0)가 '01'인 경우, 즉 128 포인트 IFFT 동 작모드인 경우에는 디코더(260)는 1:2 보간기(1:2 interpolator)(220)에 동작 활성화 신호를 출력하게 된다.
또한, 동작모드 제어신호(S1)(S0)가 '10'인 경우, 즉 256 포인트 IFFT 동작모드인 경우에는 디코더(260)는 버퍼(1:1 buffer)(240)에 동작 활성화 신호를 출력하게 된다.
나머지, 표 1에서 동작모드 제어신호(S1)(S0)가 '11'인 경우에는 예비(reserved)로 되어있다.
상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '00'이 입력되는 경우의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 64 포인트 IFFT 동작모드인 경우, 즉 입력 데이터(input data)가 64 포인트인 경우로써 디코더(260)는 1:4 보간기(1:4 interpolator)(200)에 동작 활성화 신호를 출력하게 된다.
1:4 보간기(1:4 interpolator)(200)에서는 64 포인트 입력 데이터(input data)를 전송 받아서 0 포인트에서 31 포인트까지 그리고 224 포인트에서 255 포인트까지의 범위 영역에는 전송하고자 하는 입력 데이터를 입력하고, 나머지 32 포인트에서 233포인트까지의 범위 영역에는 모두 제로(zero)를 입력하게 된다. 1:4 보간기(1:4 interpolator)(200)에서는 192개의 제로('0') 값을 삽입하여 IFFT 보간부(100)에서 출력되는 출력 데이터를 256 포인트로 일정하게 유지되도록 한다.
그리고, 상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '01'이 입력되는 경우의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 128 포인트 IFFT 동작모드인 경우, 즉 입력 데이터(input data)가 128 포인트인 경우로써 디코더(260)는 1:2 보간기(1:2 interpolator)(220)에 동작 활성화 신호를 출력하게 된다.
1:2 보간기(1:2 interpolator)(220)에서는 128 포인트 입력 데이터(input data)를 전송 받아서 0 포인트에서 63 포인트까지 그리고 192 포인트에서 255 포인트까지의 범위 영역에는 전송하고자 하는 입력 데이터를 입력하고, 나머지 64 포인트에서 191포인트까지의 범위 영역에는 모두 제로(zero)를 입력하게 된다. 1:2 보간기(1:2 interpolator)(220)에서는 128개의 제로('0') 값을 삽입하여 IFFT 보간부(100)에서 출력되는 출력 데이터를 256 포인트로 일정하게 유지되도록 한다.
또한, 상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '10'이 입력되는 경우의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 256 포인트 IFFT 동작모드인 경우, 즉 입력 데이터(input data)가 256 포인트인 경우로써 디코더(260)는 버퍼(1:1 buffer)(240)에 동작 활성화 신호를 출력하게 된다.
버퍼(1:1 buffer)(240)에서는 256 포인트 입력 데이터(input data)를 전송 받아서 0 포인트에서 255포인트까지의 범위 영역에 전송하고자 하는 입력 데이터를 입력하게 된다. 그럼으로써, IFFT 보간부(100)에서 출력되는 출력 데이터는 256 포인트로 일정하게 유지되게 된다.
IFFT 연산부(120)는 IFFT 보간부(100)에 의하여 출력되는 출력 데이터를 입 력받아, 이를 통하여 Inverse Fast Fourier Transform을 수행하게 된다.
여기에서, 64 포인트 IFFT 동작모드인 경우에는 IFFT 보간부(100)에서 입력 데이터의 중간 영역에 삽입된 제로('0') 값에 의하여 4배의 오버 샘플링이 수행되게 된다. 256 포인트 IFFT 연산에서 중간 포인트 영역(32~223)에 제로('0')를 삽입한 후에 IFFT 연산부(120)에서 IFFT 연산을 수행하게 되면 그 연산 결과는 256 포인트 연산 데이터가 나오게 된다. 하지만 실제 독립적인 입력 데이터는 64개밖에 없기 때문에 256 포인트 IFFT 연산 결과에서 독립적인 출력은 64개가 된다. 이와 같은 64개의 독립적인 출력이 0, 4, 8, 12, 16, ... 등의 이산적인 포인트에 나타난다. 디지털 신호 처리 이론에 따라서 나머지 1포인트에서 3포인트, 5포인트에서 7포인트, 9포인트에서 11포인트,... 등에 존재하는 192개의 출력 데이터는 IFFT 연산 시에 64개의 독립적 값들로부터 얻어진 종속적인 데이터들이다. 이와 같이 종속적인 192개의 데이터는 1포인트에서 3포인트, 5포인트에서 7포인트, 9포인트에서 11포인트,...사이의 데이터를 마치 오버 샘플링한 것처럼 0, 4, 8, 12, 16,... 포인트 사이사이를 보간 하게된다. 결과적으로 0을 1:4 비율로 삽입한 IFFT 연산 결과는 원래 출력의 4배의 오버 샘플링이 발생하는 결과가 나타나게 된다.
또한, 128 포인트 IFFT 동작모드인 경우에는 IFFT 보간부(100)에서 입력 데이터의 중간 영역에 삽입된 제로('0') 값에 의하여 2배의 오버 샘플링이 수행되게 된다. 이와 같이 IFFT 연산부(120)에서 연산되어 오버 샘플링된 IFFT 연산 데이터를 통하여 정상적인 계산 결과를 얻기 위해서는 IFFT 연산 데이터 중에서 해당하는 소정 데이터를 선택하기 위한 IFFT 모드 선택부(140)가 필요하게 된다. 즉, IFFT 연산부(120)에서 수행되어 생성된 IFFT 연산 데이터는 IFFT 모드 선택부(IFFT mode selector)(140)에 입력되게 되는데, IFFT 모드 선택부(140)의 보다 자세한 내부구성과 동작에 대하여는 도 3을 통하여 설명하기로 한다.
도 3을 참조하면, IFFT 모드 선택부(140)는 IFFT 연산부(120)를 통하여 입력되는 256 포인트로 이루어진 IFFT 연산 데이터를 입력받는다.
도 3을 참조하면, 동작모드 제어신호(S1)(S0)는 디코더(360)에 입력되어 동작 활성화 신호를 생성하게 된다. 디코더(360)에서 출력되는 동작 활성화 신호는 표 1에서 보는 바와 같이 4가지의 경우를 들 수 있다.
동작모드 제어신호(S1)(S0)가 '00'인 경우, 즉 64 포인트 IFFT 동작모드인 경우에는 디코더(360)는 4:1 간축기(4:1 decimator)(300)에 동작 활성화 신호를 출력하게 된다.
그리고, 동작모드 제어신호(S1)(S0)가 '01'인 경우, 즉 128 포인트 IFFT 동작모드인 경우에는 디코더(360)는 2:1 간축기(2:1 decimator)(320)에 동작 활성화 신호를 출력하게 된다.
또한, 동작모드 제어신호(S1)(S0)가 '10'인 경우, 즉 256 포인트 IFFT 동작모드인 경우에는 디코더(360)는 버퍼(1:1 buffer)(340)에 동작 활성화 신호를 출력하게 된다.
나머지, 표 1에서 동작모드 제어신호(S1)(S0)가 '11'인 경우에는 예비 (reserved)로 되어있다.
상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '00'이 입력되는 경우의 IFFT 모드 선택부(140)의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 64 포인트 IFFT 동작모드인 경우로써 디코더(360)는 4:1 간축기(300)에 동작 활성화 신호를 출력하게 된다.
4:1 간축기(300)에서는 IFFT 연산 데이터에서 4개의 데이터 중 1개의 데이터를 선택하여 출력하도록 한다. 4:1 간축기(300)에서는 IFFT 연산 데이터중 4개의 데이터 중에서 1개의 데이터를 선택하여 원래의 입력 데이터(input data)의 64 포인트와 일치하도록 64 포인트의 출력 데이터(output data)를 생성하게 되는 것이다. 또한, 4:1 간축기(300)에서는 256 포인트 IFFT 구조에서 64 포인트 IFFT의 출력을 보상하여 주기 위하여 256/64 즉, 4배만큼의 스케일링(scaling)값을 곱하여 준다. 4배만큼의 스케일링값을 곱하여 주는 이유는 256포인트 기반의 IFFT의 결과는 1/256이 곱해진 결과이나 원하는 IFFT의 포인트 수는 64이기 때문에 결과값은 1/64가 곱해진 결과가 나와야 하기 때문이다. 즉, 4배만큼 곱해서 1/256이 1/64가 되도록 만들어 줘야 되기 때문에 4의 스케일링(scaling)값을 곱해준다.
그리고, 상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '01'이 입력되는 경우의 IFFT 모드 선택부(140)의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 128 포인트 IFFT 동작모드인 경우로써 디코더(360)는 2:1 간축기(320)에 동작 활성화 신호를 출력하게 된다.
2:1 간축기(320)에서는 IFFT 연산 데이터에서 2개의 데이터 중 1개의 데이터를 선택하여 출력하도록 한다. 2:1 간축기(320)에서는 IFFT 연산 데이터중 2개의 데이터 중에서 1개의 데이터를 선택하여 원래의 입력 데이터(input data)의 128 포인트와 일치하도록 128 포인트의 출력 데이터(output data)를 생성하게 되는 것이다. 또한, 2:1 간축기(320)에서는 256 포인트 IFFT 구조에서 128 포인트 IFFT의 출력을 보상하여 주기 위하여 256/128 즉, 2배만큼의 스케일링(scaling)값을 곱하여 준다.
또한, 상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '10'이 입력되는 경우의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 256 포인트 IFFT 동작모드인 경우, 즉 입력 데이터(input data)가 256 포인트인 경우로써 디코더(360)는 버퍼(1:1 buffer)(340)에 동작 활성화 신호를 출력하게 된다.
버퍼(1:1 buffer)(340)에서는 256 포인트 IFFT 연산 데이터를 그대로 출력하게 된다.
도 4는 본 발명의 다른 일실시예에 따른 다양한 크기의 가변 FFT를 수행할 수 있는 가변 포인트 FFT 하드웨어 블럭도이다. 도 5는 도 4의 FFT 보간부(400)를 상세히 나타낸 블럭도이다. 도 6은 도 4의 FFT 모드 선택부(440)을 상세히 나타낸 블럭도이다. 도 4에서는 64 포인트, 128 포인트 및 256 포인트 FFT를 수행할 수 있는 구조의 예를 보여주고 있다.
여기에서, 가변 포인트 FFT 하드웨어는 FFT 보간부(400), FFT 연산부(420) 및 FFT 모드 선택부(440)를 포함하여 구성된다.
도 4를 참조하면, 64 포인트, 128 포인트 및 256 포인트 FFT를 수행할 수 있는 가변 포인트 FFT 하드웨어 블럭도 구조를 나타내는 것이다. FFT 보간부(400)와 FFT 모드 선택부(440)는 동작모드 제어신호(S1)(S0)를 입력받아 해당하는 IFFT 동작 모드를 수행하게 된다.
동작모드 제어신호(S1)(S0)에 대한 가변 포인트 FFT의 동작모드는 상기에서 살펴본 표 1을 참조하기로 한다.
FFT 보간부(FFT interpolator)(400)는 FFT 하드웨어에 입력되는 입력 데이터중간 중간에 보간 데이터(바람직하게는, 제로('0'))를 삽입하여 256 개의 출력 데이터를 생성하는 역할을 수행한다. FFT 보간부(400)의 보다 자세한 내부구성과 동작에 대하여는 도 5를 통하여 설명하기로 한다.
FFT 보간부(400)의 구체적인 동작에 대한 수학식을 살펴보면 다음과 같다.
도 5를 참조하면, 동작모드 제어신호(S1)(S0)는 디코더(560)에 입력되어 동작 활성화 신호를 생성하게 된다. 디코더(560)에서 출력되는 동작 활성화 신호는 표 1에서 보는 바와 같이 4가지의 경우를 들 수 있다.
동작모드 제어신호(S1)(S0)가 '00'인 경우, 즉 64 포인트 FFT 동작모드인 경우에는 디코더(560)는 1:4 보간기(1:4 interpolator)(500)에 동작 활성화 신호를 출력하게 된다.
그리고, 동작모드 제어신호(S1)(S0)가 '01'인 경우, 즉 128 포인트 FFT 동작모드인 경우에는 디코더(560)는 1:2 보간기(1:2 interpolator)(520)에 동작 활성화 신호를 출력하게 된다.
또한, 동작모드 제어신호(S1)(S0)가 '10'인 경우, 즉 256 포인트 FFT 동작모드인 경우에는 디코더(560)는 버퍼(1:1 buffer)(540)에 동작 활성화 신호를 출력하게 된다.
나머지, 표 1에서 동작모드 제어신호(S1)(S0)가 '11'인 경우에는 예비(reserved)로 되어있다.
상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '00'이 입력되는 경우의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 64 포인트 FFT 동작모드인 경우, 즉 입력 데이터(input data)가 64 포인트인 경우로써 디코더 (560)는 1:4 보간기(500)에 동작 활성화 신호를 출력하게 된다.
1:4 보간기(500)에서는 64 포인트 입력 데이터(input data)를 전송 받아서 입력 데이터의 중간 중간에 제로('0')를 삽입하여 보간하게 된다. 여기에서는, 입력 데이터의 중간 중간에 3개씩의 제로('0')를 삽입하여, 전체적으로는 192개의 제로('0') 값을 삽입하여 FFT 보간부(400)에서 출력되는 출력 데이터를 256 포인트로 일정하게 유지되도록 한다.
그리고, 상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '01'이 입력되는 경우의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 128 포인트 FFT 동작모드인 경우, 즉 입력 데이터(input data)가 128 포인트인 경우로써 디코더(560)는 1:2 보간기(520)에 동작 활성화 신호를 출력하게 된다.
1:2 보간기(520)에서는 128 포인트 입력 데이터(input data)를 전송 받아서 입력 데이터의 중간 중간에 제로('0')를 삽입하여 보간하게 된다. 여기에서는, 입력 데이터의 중간 중간에 1개씩의 제로('0')를 삽입하여, 전체적으로는 128개의 제로('0') 값을 삽입하여 FFT 보간부(400)에서 출력되는 출력 데이터를 256 포인트로 일정하게 유지되도록 한다.
또한, 상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '10'이 입력되는 경우의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 256 포인트 FFT 동작모드인 경우, 즉 입력 데이터(input data)가 256 포인트인 경우로써 디코더(560)는 버퍼(540)에 동작 활성화 신호를 출력하게 된다.
버퍼(540)에서는 256 포인트 입력 데이터(input data)를 전송 받아서 그대로 출력하게 된다. 그럼으로써, 전체적으로는 FFT 보간부(400)에서 출력되는 출력 데이터를 256 포인트로 일정하게 유지되도록 한다.
FFT 연산부(420)는 FFT 보간부(400)에 의하여 출력되는 출력 데이터를 입력받아, 이를 통하여 Fast Fourier Transform을 수행하게 된다. FFT 연산부(420)에서 수행되어 생성된 FFT 연산 데이터는 FFT 모드 선택부(FFT mode selector)(440)에 입력되게 되는데, FFT 모드 선택부(440)의 보다 자세한 내부구성과 동작에 대하여는 도 6을 통하여 설명하기로 한다. FFT 모드 선택부(440)는 FFT 연산부(420)를 통하여 입력되는 256 포인트로 이루어진 FFT 연산 데이터를 입력받는다.
도 6을 참조하면, 동작모드 제어신호(S1)(S0)는 디코더(660)에 입력되어 동작 활성화 신호를 생성하게 된다. 디코더(660)에서 출력되는 동작 활성화 신호는 표 1에서 보는 바와 같이 4가지의 경우를 들 수 있다.
동작모드 제어신호(S1)(S0)가 '00'인 경우, 즉 64 포인트 FFT 동작모드인 경우에는 디코더(660)는 4:1 선택기(4:1 selector)(600)에 동작 활성화 신호를 출력하게 된다.
그리고, 동작모드 제어신호(S1)(S0)가 '01'인 경우, 즉 128 포인트 FFT 동작모드인 경우에는 디코더(660)는 2:1 선택기(2:1 selector)(620)에 동작 활성화 신호를 출력하게 된다.
또한, 동작모드 제어신호(S1)(S0)가 '10'인 경우, 즉 256 포인트 FFT 동작모드인 경우에는 디코더(660)는 버퍼(1:1 buffer)(640)에 동작 활성화 신호를 출력하게 된다.
나머지, 표 1에서 동작모드 제어신호(S1)(S0)가 '11'인 경우에는 예비(reserved)로 되어있다.
상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '00'이 입력되는 경우의 FFT 모드 선택부(440)의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 64 포인트 FFT 동작모드인 경우로써 디코더(660)는 4:1 선택기(600)에 동작 활성화 신호를 출력하게 된다.
4:1 선택기(600)에서는 FFT 연산 데이터에서 0포인트부터 63포인트까지의 FFT 연산 데이터를 선택하여 출력하도록 한다. 4:1 선택기(600)에서는 0포인트부터 63포인트까지의 FFT 연산 데이터를 선택하여 원래의 입력 데이터(input data)의 64 포인트와 일치하도록 64 포인트의 출력 데이터(output data)를 생성하게 되는 것이다.
그리고, 상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '01'이 입력되는 경우의 FFT 모드 선택부(440)의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 128 포인트 FFT 동작모드인 경우로써 디코더(660)는 2:1 선택기(620)에 동작 활성화 신호를 출력하게 된다.
2:1 선택기(620)에서는 FFT 연산 데이터에서 0포인트부터 127포인트까지의 FFT 연산 데이터를 선택하여 출력하도록 한다. 2:1 선택기(620)에서는 0포인트부터 127포인트까지의 FFT 연산 데이터를 선택하여 원래의 입력 데이터(input data)의 128 포인트와 일치하도록 128 포인트의 출력 데이터(output data)를 생성하게 되는 것이다.
또한, 상기와 같은 경우에 동작모드 제어신호(S1)(S0)가 '10'이 입력되는 경우의 FFT 모드 선택부(440)의 구체적인 동작을 살펴보면 다음과 같다. 이와 같은 경우는 256 포인트 FFT 동작모드인 경우로써 디코더(660)는 버퍼(640)에 동작 활성화 신호를 출력하게 된다.
버퍼(640)에서는 FFT 연산 데이터에서 0포인트부터 255포인트까지의 FFT 연산 데이터를 선택하여 출력하도록 한다. 버퍼(640)에서는 0포인트부터 256포인트까지의 FFT 연산 데이터를 선택하여 원래의 입력 데이터(input data)의 256 포인트와 일치하도록 256 포인트의 출력 데이터(output data)를 생성하게 되는 것이다.
상기에서 도 1 내지 도 6에서는 본 발명의 일실시예로써 설명한 것이다. 즉, 본 발명과 관련하여 16, 32, 64, 128, 256, 512, 1024 및 2048 포인트 출력 FFT 동작 모드등 여러 가지의 IFFT/FFT 크기를 수용하기 위한 구조로 확장할 수 있다. 이와 같은 경우에 IFFT/FFT 동작모드 제어신호를 살펴보면 표 2와 같다.
동작모드 제어신호 (S2, S1, S0) | IFFT / FFT 동작 모드 |
0 0 0 | 16 포인트 |
0 0 1 | 32 포인트 |
0 1 0 | 64 포인트 |
0 1 1 | 128 포인트 |
1 0 0 | 256 포인트 |
1 0 1 | 512 포인트 |
1 1 0 | 1024 포인트 |
1 1 1 | 2048 포인트 |
도 1내지 도 6까지는 입력 데이터에 제로('0')를 삽입하고 FFT/IFFT 연산을 수행한 후에 출력 단계에서 동작모드에 따라 해당하는 모드를 선택하는 방식으로 가변 포인트 FFT/IFFT 하드웨어를 구현한 것이다.
도 1내지 도 6과는 달리 가변 포인트 FFT/IFFT 하드웨어를 구현하는 예에 대하여 설명하면 다음과 같다.
도 7은 본 발명의 다른 일실시예에 따른 8-4포인트 가변 FFT 하드웨어의 블럭도이다.
도 7을 참조하면, FFT는 입력부(700)에서 원하는 포인트에 해당하는 데이터를 입력받는다. 예를 들어, 8포인트 FFT를 원하면 8 포인트 입력 데이터를 입력받고, 4포인트 FFT를 원하면 4 포인트 입력 데이터를 입력받는다. 이하에서는, 도 7에 보이는 바와 같이 8포인트 입력 데이터가 입력되는 경우에 대하여 살펴보기로 한다.
입력부(700)에서 출력되는 8포인트의 입력 데이터는 버터플라이 연산부(730)에 입력된다. 버터플라이 연산부(730)는 입력 데이터 중에서 1/2 포인트에 해당하는 부분 즉, 4포인트에서 7포인트까지의 버터플라이 연산 결과를 회전계수 ROM(750)에 출력하게 된다. 회전계수 ROM(750)에서는 상기 입력되는 버터플라이 연산 결과와 저장되어 있는 회전계수를 곱하게 된다. 이와 같은 과정이 진행되면, N/2 포인트 FFT(770)가 된다. N/2 포인트 FFT(770)도 동일한 방식으로 버터플라이 연산 결과와 회전계수로 분리할 수 있게 된다. 즉, N/2 포인트 FFT(770)가 다시 N/4 포인트 FFT가 되고, N/4 포인트 FFT가 N/8 포인트 FFT가 된다. 이와 같은 과정을 반복하여, 2 포인트 FFT가 될 때까지 반복적으로 버터플라이 연산결과와 회전계수로 분리하게 된다. 그리고, FFT 알고리즘 특성상 출력결과의 순서가 변경되는데 이를 보상하기 위해 비트리버스부(780)를 구성한다.
제어부(720)는 버터플라이 연산부(730)와 회전계수 ROM(750)을 활성화 되도록 제어하고, 역다중화기 제어부(720)는 역다중화기(740)를 제어하여 버터플라이 출력신호(B)를 역다중화한 신호(B)를 N/2 포인트 FFT(760)로 출력되도록 한다. 여기에서, N/2포인트 FFT(760)도 다시 상기와 같은 과정을 거쳐 버터플라이와 회전계수로 분리될 수 있도록 할 수 있다.
여기에서, 4포인트 FFT를 구성하기를 원한다면 버터플라이 연산부(730)와 회전계수 ROM(750)으로 분리되는 블럭은 사용하지 않고 입력부(700)에서 4개의 입력데이터(A)를 N/2 포인트 FFT(760)로 입력한다. 비트 반전이 일어나기 때문에 4비트 비트 반전장치를 수행하여 4 포인트 FFT를 수행한다. 이때 제어부(720)는 버터플라이 연산부(730)와 회전계수 ROM(750)을 비활성화 되도록 제어하게 된다. 그리고, 역다중화기 제어부(720)는 역다중화기(740)를 제어하여 4개의 입력신호(A)와 버터플라이 연산부(730)의 출력신호(B)중에서 4개의 입력신호(A)가 선택되어지도록 한 다.
상기와 같은 구성을 통하여, 64, 128, 256, 1024, 2048 포인트 등의 FFT를 구성할 때 가장 큰 FFT를 하드웨어로 구성하고 원하는 FFT에 해당하는 N/2 FFT 지점을 찾으면 된다. 즉, 1024 포인트 FFT에서 버터플라이 연산 이후에는 512 포인트 FFT가 되고, 512 포인트 FFT에서 버터플라이 연산 이후에는 다시 256 포인트 FFT가 된다. 이와 같은 방식으로 계속 N/2 FFT지점을 찾아가고, 원하는 포인트에 해당하는 입력을 넣어주면 도 4 내지 도 6에서 살펴본 가변 포인트 FFT를 구성할 수 있다.
도 7에서는 FFT 구조를 통하여 설명하였으나, IFFT 구조의 경우에도 FFT구조에서 지수항의 부호가 상이하기 때문에 지수항이 들어 있는 회전계수(twiddle coefficient) ROM에서 부호만 변경해 주면 된다.
도 8은 본 발명의 일실시예에 따른 다양한 크기의 가변 IFFT를 수행할 수 있는 가변 포인트 IFFT 하드웨어를 구현하는 흐름도이다.
도 8을 참조하면, 입력 데이터의 포인트를 반으로 나누고 상기 나누어진 입력 데이터의 중간 영역에 IFFT 동작모드 제어신호에 따라서 가변되는 다수개의 수정된 데이터(바람직하게는, 제로값('0'))를 삽입하여 IFFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하게 된다(S800).
다음으로, 상기 단계S800으로부터 상기 보간 데이터 신호를 입력받아 역고속 퓨리에 변환(Inverse Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하게 된다(S820).
다음으로, 상기 단계S820으로부터 상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 IFFT 동작모드 제어신호에 따라 상기 연산 데이터 중에서 일부만을 선택하여 출력하게 된다. 도 8에 대하여 미설명된 부분은 도 1내지 도 3을 참조하기로 한다.
도 9는 본 발명의 다른 일실시예에 따른 다양한 크기의 가변 FFT를 수행할 수 있는 가변 포인트 FFT 하드웨어를 구현하는 흐름도이다.
도 9를 참조하면, 입력 데이터 각각의 포인트 사이에 FFT 동작모드 제어신호에 따라 가변되는 주기를 가지는 다수개의 수정된 데이터(바람직하게는, 제로값('0')를 삽입하여 FFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하게 된다(S900).
다음으로, 상기 단계S900에서 보간 데이터 신호를 입력받아 고속 퓨리에 변환(Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하게 된다(S920).
다음으로, 상기 단계S920에서 상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 FFT 동작모드 제어신호에 따라 상기 연산 데이터 중에서 일부만을 선택하여 출력하게 된다(S940). 도 9에 대하여 미설명된 부분은 도 4내지 도 6을 참조하기로 한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한 다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명은 가변 포인트 IFFT/FFT 방법 및 장치에 관한 것으로 다음과 같은 효과가 있다.
본 발명에 의한 가변 포인트 IFFT/FFT를 지원하기 위한 하드웨어 구현 방법 및 장치를 이용하면 재구성되는 모뎀 구조를 실현할 수 있고 하나의 모뎀에서 WiBro/WLAN(IEEE802.11a)를 손쉽게 통합 할 수 있다는 효과가 있다.
본 발명에 의한 가변 포인트 IFFT/FFT를 지원하기 위한 하드웨어 구현 방법 및 장치를 이용하면 가변적으로 선택되는 모뎀 방식에 따라서 IFFT/FFT의 계산 크 기가 64 포인트, 1024 포인트 또는 2048 포인트 등으로 달라지는데 여러 가지 가변적인 크기의 IFFT/FFT의 계산을 하드웨어적으로 간단히 구현할 수 있다는 효과가 있다.
Claims (15)
- 입력 데이터의 포인트에 IFFT 동작모드 제어신호에 따라서 가변되는 다수개의 제로값('0')으로 이루어진 수정된 데이터를 삽입하여 IFFT 하드웨어에서 기 설정된 포인트를 가지도록 하는 보간 데이터 신호를 생성하는 IFFT 보간부;상기 보간 데이터 신호를 입력받아 역고속 퓨리에 변환(Inverse Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하는 IFFT 연산부;상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 IFFT 동작모드 제어신호에 따라 상기 연산 데이터 신호중에서 일부만을 선택하여 출력하는 IFFT 모드 선택부; 및상기 IFFT 동작모드 제어신호를 상기 IFFT 보간부와 상기 IFFT 모드 선택부에 출력하는 제어부를 포함하는 것을 특징으로 하는 가변 포인트 IFFT 장치.
- 제 1 항에 있어서, 상기 IFFT 보간부는상기 입력 데이터를 나누고, 상기 나누어진 입력 데이터의 중간 영역에 삽입하는 보간 데이터가 정해진 보간 삽입기가 다수개로 구성되고,상기 제어부의 IFFT 동작모드 제어신호에 따라 상기 다수개의 보간 삽입기 중 어느 하나가 동작되도록 하여 IFFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하는 것을 특징으로 하는 가변 포인트 IFFT 장치.
- 제 1 항에 있어서, 상기 IFFT 모드 선택부는상기 연산 데이터 신호를 상기 IFFT 보간부에서 삽입된 수정된 데이터의 개수에 해당하는 만큼을 선택하여 간축하는 간축기(decimator)가 다수개로 구성되고,상기 제어부의 IFFT 동작모드 제어신호에 따라 상기 다수개의 간축기 중에서 어느 하나가 동작되도록 하여 상기 입력 데이터의 포인트와 동일한 포인트를 가지는 데이터를 출력하는 것을 특징으로 하는 가변 포인트 IFFT 장치.
- 제 3 항에 있어서,상기 다수개의 간축기에서는 간축되는 비율만큼의 스케일링(scaling) 값을 곱해주는 것을 특징으로 하는 가변 포인트 IFFT 장치.
- 삭제
- 입력 데이터 각각의 포인트 사이에 FFT 동작모드 제어신호에 따라 가변되는 주기를 가지고 다수개의 제로값('0')으로 이루어진 수정된 데이터를 삽입하여 FFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하는 FFT 보간부;상기 보간 데이터 신호를 입력받아 고속 퓨리에 변환(Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하는 FFT 연산부;상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 FFT 동작모드 제어신호에 따라 상기 연산 데이터 중에서 일부만을 선택하여 출력하는 FFT 모드 선택부; 및상기 FFT 동작모드 제어신호를 상기 FFT 보간부와 상기 FFT 모드 선택부에 출력하는 제어부를 포함하는 것을 특징으로 하는 가변 포인트 FFT 장치.
- 제 6 항에 있어서, 상기 FFT 보간부는상기 입력 데이터의 사이에 삽입되는 제로의 개수가 정해진 보간기가 다수개로 구성되고,상기 제어부의 FFT 동작모드 제어신호에 따라 상기 다수개의 보간기 중 어느 하나가 동작되도록 하여 FFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하는 것을 특징으로 하는 가변 포인트 FFT 장치.
- 제 6 항에 있어서, 상기 FFT 모드 선택부는상기 연산 데이터 신호를 상기 FFT 보간부에서 삽입된 제로의 개수에 해당하는 만큼을 선택하여 간축하는 선택기(selector)가 다수개로 구성되고,상기 제어부의 FFT 동작모드 제어신호에 따라 상기 다수개의 선택기 중에서 어느 하나가 동작되도록 하여 상기 입력 데이터의 포인트와 동일한 포인트를 가지는 데이터를 출력하는 것을 특징으로 하는 가변 포인트 FFT 장치.
- 삭제
- N개의 입력 데이터를 입력받아 버터플라이 연산을 수행하는 버터플라이 연산부;상기 N개의 입력 데이터중 1/2 포인트에 해당하는 입력 데이터 신호와 상기 버퍼플라이 연산 결과 신호중 어느 하나의 신호를 출력하는 역다중화기;상기 역다중화기로부터 역다중화 신호를 입력받아 N/2 개의 데이터를 역고속/고속 퓨리에 연산을 수행하는 제 1 N/2 포인트 IFFT/FFT;상기 버터플라이 연산 결과를 입력받아 상기 버터플라이 연산 결과에 회전계수를 곱하여주는 회전계수 ROM;상기 회전계수 ROM으로부터 출력되는 신호를 입력받아 N/2 개의 데이터를 역고속/고속 퓨리에 연산을 수행하는 제 2 N/2 포인트 IFFT/FFT;상기 제 1 N/2 포인트 FFT와 제 2 N/2 포인트 FFT에서 출력되는 신호를 입력받아 비트리버스 연산을 수행하여 출력하는 비트리버스부; 및상기 버퍼플라이 연산부와 상기 회전계수 ROM 및 상기 제 2 N/2 포인트 FFT 의 동작을 제어하는 제어부;를 포함하는 것을 특징으로 하는 가변 포인트 IFFT/FFT 장치.
- 제 10 항에 있어서,상기 N개의 입력 데이터중 1/2 포인트에 해당하는 입력 데이터 신호와 상기 버퍼플라이 연산 결과 신호중 어느 하나의 신호를 출력하도록 상기 역다중화기를 제어하는 역다중화기 제어부를 더 포함하는 것을 특징으로 하는 가변 포인트 IFFT/FFT 장치.
- 제 11 항에 있어서, N개의 입력 데이터에 대하여 제 N/2 포인트 IFFT/FFT 장치를 구현하는 것은상기 제어부는 상기 버퍼플라이 연산부와 상기 회전계수 ROM을 비활성화 시키고,상기 역다중화기 제어부는 상기 N개의 입력 데이터중 1/2에 해당하는 입력 데이터 신호를 선택하는 것을 특징으로 하는 가변 포인트 IFFT/FFT 장치.
- 제 11 항에 있어서, 상기 가변 포인트 IFFT/FFT 장치는상기 회전계수 ROM의 회전계수 구조에 따라 가변 포인트 IFFT 장치 또는 가변 포인트 FFT 장치로 결정되는 것을 특징으로 하는 가변 포인트 IFFT/FFT 장치.
- (a) 입력 데이터의 포인트를 나누고 상기 나누어진 입력 데이터의 중간 영역에 IFFT 동작모드 제어신호에 따라서 가변되는 다수개의 제로값('0')으로 이루어진 수정된 데이터를 삽입하여 IFFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하는 IFFT 제로 삽입단계;(b) 상기 (a)단계로부터 상기 보간 데이터 신호 입력받아 역고속 퓨리에 변환(Inverse Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하는 IFFT 연산단계; 및(c) 상기 (b)단계로부터 상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 IFFT 동작모드 제어신호에 따라 상기 연산 데이터 중에서 일부만을 선택하여 출력하는 IFFT 모드 선택단계를 포함하는 것을 특징으로 하는 가변 포인트 IFFT 방법.
- (a) 입력 데이터 각각의 포인트 사이에 FFT 동작모드 제어신호에 따라 가변되는 주기를 가지고 다수개의 제로값('0')으로 이루어진 수정된 데이터를 삽입하여 FFT 하드웨어에서 기 설정된 포인트를 가지는 보간 데이터 신호를 생성하는 FFT 보간단계;(b) 상기 (a)단계에서 보간 데이터 신호를 입력받아 고속 퓨리에 변환(Fast Fourier Transform) 연산을 수행하여 연산 데이터 신호를 생성하는 FFT 연산단계; 및(c) 상기 (b)단계에서 상기 연산 데이터 신호를 입력받아 상기 입력 데이터의 포인트와 동일한 포인트를 가지도록 상기 FFT 동작모드 제어신호에 따라 상기 연산 데이터 중에서 일부만을 선택하여 출력하는 FFT 모드 선택단계를 포함하는 것을 특징으로 하는 가변 포인트 FFT 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040070238A KR100628303B1 (ko) | 2004-09-03 | 2004-09-03 | 가변 포인트 ifft/fft 방법 및 장치 |
JP2007529657A JP4499156B2 (ja) | 2004-09-03 | 2004-12-15 | 可変ポイントifft/fft方法及び装置 |
PCT/KR2004/003304 WO2006025631A1 (en) | 2004-09-03 | 2004-12-15 | Method and apparatus of the variable points ifft/fft |
US11/681,201 US7626923B2 (en) | 2004-09-03 | 2007-03-02 | Method and apparatus of the variable points IFFT/FFT |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040070238A KR100628303B1 (ko) | 2004-09-03 | 2004-09-03 | 가변 포인트 ifft/fft 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060021479A KR20060021479A (ko) | 2006-03-08 |
KR100628303B1 true KR100628303B1 (ko) | 2006-09-27 |
Family
ID=36000252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040070238A KR100628303B1 (ko) | 2004-09-03 | 2004-09-03 | 가변 포인트 ifft/fft 방법 및 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7626923B2 (ko) |
JP (1) | JP4499156B2 (ko) |
KR (1) | KR100628303B1 (ko) |
WO (1) | WO2006025631A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100836624B1 (ko) * | 2006-12-08 | 2008-06-10 | 한국전자통신연구원 | 가변 고속 푸리에 변환 장치 및 그 방법 |
KR20140124684A (ko) * | 2013-04-17 | 2014-10-27 | 한국전자통신연구원 | 가변적으로 적용 가능한 고속 푸리에 변환 장치 및 방법 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299903A1 (en) * | 2006-06-27 | 2007-12-27 | Nokia Corporation | Optimized DFT implementation |
CN101601031A (zh) * | 2006-12-22 | 2009-12-09 | 迈克纳斯公司 | 使用2n点FFT计算非2n点DFT的处理装置、方法和系统 |
JP4933311B2 (ja) * | 2007-03-07 | 2012-05-16 | キヤノン株式会社 | 外部機器から入力されたストリーミングデータをofdm変調して送信する送信装置およびその制御方法 |
CN101277285A (zh) * | 2007-03-29 | 2008-10-01 | 深圳赛意法微电子有限公司 | Drm接收机和解调方法 |
US20090055459A1 (en) * | 2007-08-24 | 2009-02-26 | Michael Speth | Frequency-domain equalizer |
KR20090059315A (ko) | 2007-12-06 | 2009-06-11 | 삼성전자주식회사 | 통신시스템에서 역 고속 퓨리에 변환 방법 및 장치 |
JP5181773B2 (ja) * | 2008-03-27 | 2013-04-10 | 富士通株式会社 | 通信装置、送信機、受信機、通信方法および通信プログラム |
US8090037B1 (en) * | 2008-10-28 | 2012-01-03 | Xilinx, Inc. | OFDM modulation using a shaping filter |
CN101860508B (zh) * | 2009-04-13 | 2013-01-16 | 中兴通讯股份有限公司 | 一种fft变换的复用装置及方法 |
JP5414484B2 (ja) * | 2009-12-01 | 2014-02-12 | 三菱電機株式会社 | フーリエ変換回路、受信装置およびフーリエ変換方法 |
KR101954964B1 (ko) * | 2014-02-04 | 2019-03-06 | 엘지전자 주식회사 | 무선랜에서 데이터 단위를 전송하는 방법 및 장치 |
US10396873B2 (en) | 2014-09-24 | 2019-08-27 | Mediatek Inc. | Control signaling in a beamforming system |
US9882620B2 (en) | 2014-09-24 | 2018-01-30 | Mediatek Inc. | Synchronization in a beamforming system |
JP6505334B2 (ja) * | 2016-11-15 | 2019-04-24 | 三菱電機株式会社 | 演算装置および演算方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2818151B2 (ja) * | 1996-12-16 | 1998-10-30 | 株式会社次世代デジタルテレビジョン放送システム研究所 | Ofdm伝送方式とofdm送受信装置 |
KR100484418B1 (ko) | 1997-01-22 | 2005-06-16 | 마츠시타 덴끼 산교 가부시키가이샤 | 고속푸리에변환장치및방법,가변비트리버스회로,역고속푸리에변환장치및방법과직교주파수분할다중수신및송신장치 |
JP3668356B2 (ja) * | 1997-04-07 | 2005-07-06 | シャープ株式会社 | 高速フーリエ変換演算回路 |
KR100284181B1 (ko) | 1998-04-02 | 2001-03-02 | 구자홍 | 패스트 퓨리에 변환(fft) 장치와 제어방법 |
US6549592B1 (en) * | 1998-02-06 | 2003-04-15 | Cisco Technology, Inc | Enhanced synchronization burst for OFDM systems |
JP2000123000A (ja) * | 1998-10-15 | 2000-04-28 | Toshiba Corp | サイズ可変離散フーリエ変換処理装置 |
EP1005203A1 (en) * | 1998-11-24 | 2000-05-31 | STMicroelectronics SA | Multistandard DMT DSL transmission system |
US6442130B1 (en) * | 1999-01-21 | 2002-08-27 | Cisco Technology, Inc. | System for interference cancellation |
JP2002026859A (ja) * | 2000-07-11 | 2002-01-25 | Sharp Corp | Ofdm信号復調装置およびofdm信号変調装置 |
US7333422B2 (en) * | 2003-09-12 | 2008-02-19 | Zarbana Digital Fund Llc | Optimized FFT/IFFT module |
EP1237342A3 (en) * | 2001-03-01 | 2006-05-03 | Alps Electric Co., Ltd. | Mutlicarrier modulator |
JP2003115813A (ja) * | 2001-10-09 | 2003-04-18 | Hitachi Kokusai Electric Inc | Fft回路/ifft回路 |
US7042969B2 (en) * | 2002-01-15 | 2006-05-09 | Agere Systems Inc. | Method and apparatus for frame alignment in discrete multitone transceivers |
GB2384876A (en) * | 2002-01-31 | 2003-08-06 | Zarlink Semiconductor Inc | Simplifying a real fast Fourier transform using symmetry |
KR20040032683A (ko) * | 2002-10-10 | 2004-04-17 | 엘지전자 주식회사 | 무선 랜 시스템의 고속 푸리에 변환 장치 |
JP3915678B2 (ja) * | 2002-12-02 | 2007-05-16 | 株式会社デンソー | Ofdm受信機 |
KR100492091B1 (ko) | 2002-12-10 | 2005-06-01 | 삼성전자주식회사 | 프로그래머블 프로세서에서의 고속 푸리에 변환 연산회로및 연산방법 |
TWI281619B (en) * | 2002-12-20 | 2007-05-21 | Realtek Semiconductor Corp | Data processing structure and method for fast Fourier transformation/inverse fast Fourier transformation |
US7200196B2 (en) * | 2003-04-24 | 2007-04-03 | Texas Instruments Incorporated | Interpolation based timing recovery |
JP2004343591A (ja) * | 2003-05-19 | 2004-12-02 | Matsushita Electric Ind Co Ltd | Ofdm送信方法およびofdm送信機 |
JP3898671B2 (ja) * | 2003-06-27 | 2007-03-28 | 株式会社東芝 | 無線装置 |
JP3962031B2 (ja) * | 2004-03-31 | 2007-08-22 | 株式会社東芝 | マルチキャリア通信システム、同システムに用いられる受信装置ならびに送信装置 |
US8484272B2 (en) * | 2004-08-20 | 2013-07-09 | Qualcomm Incorporated | Unified pulse shaping for multi-carrier and single-carrier waveforms |
-
2004
- 2004-09-03 KR KR1020040070238A patent/KR100628303B1/ko not_active IP Right Cessation
- 2004-12-15 JP JP2007529657A patent/JP4499156B2/ja not_active Expired - Fee Related
- 2004-12-15 WO PCT/KR2004/003304 patent/WO2006025631A1/en active Application Filing
-
2007
- 2007-03-02 US US11/681,201 patent/US7626923B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100836624B1 (ko) * | 2006-12-08 | 2008-06-10 | 한국전자통신연구원 | 가변 고속 푸리에 변환 장치 및 그 방법 |
US8510362B2 (en) | 2006-12-08 | 2013-08-13 | Samsung Electronics Co., Ltd. | Apparatus and method for variable fast fourier transform |
KR20140124684A (ko) * | 2013-04-17 | 2014-10-27 | 한국전자통신연구원 | 가변적으로 적용 가능한 고속 푸리에 변환 장치 및 방법 |
KR102075707B1 (ko) * | 2013-04-17 | 2020-02-11 | 한국전자통신연구원 | 가변적으로 적용 가능한 고속 푸리에 변환 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2006025631A1 (en) | 2006-03-09 |
US20070201354A1 (en) | 2007-08-30 |
KR20060021479A (ko) | 2006-03-08 |
JP2008512031A (ja) | 2008-04-17 |
US7626923B2 (en) | 2009-12-01 |
JP4499156B2 (ja) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7626923B2 (en) | Method and apparatus of the variable points IFFT/FFT | |
EP1758326B1 (en) | Combined OFDM and wavelet multi-carrier transceiver | |
DK1317812T3 (en) | SIGNALIZATION PROCEDURE IN AN OFDM MULTIPLE ACCESS SYSTEM | |
KR100958231B1 (ko) | 직교 주파수 분할 다중 시스템에서의 고속 푸리에 변환처리 | |
EP1665594A2 (en) | Combined inverse fast fourier transform and guard interval processing for efficient implementation of ofdm based systems | |
WO2004042981A3 (en) | Method and apparatus for reducing a peak-to-average power ratio in an orthogonal frequency division multiplex signal | |
Ayhan et al. | A 128∶ 2048/1536 point FFT hardware implementation with output pruning | |
US7685220B2 (en) | Circular fast fourier transform | |
KR100836624B1 (ko) | 가변 고속 푸리에 변환 장치 및 그 방법 | |
KR100720949B1 (ko) | 직교 주파수 분할 다중화 시스템에서의 고속 푸리에 변환프로세서 및 그 변환 방법 | |
TW200525920A (en) | Method and apparatus for peak to average power ratio reduction | |
WO2009014291A1 (en) | Fast fourier transforming method and processor for 4x4 mimo-ofdm wlan system | |
KR100810490B1 (ko) | 고속 푸리에 변환 장치 및 이를 포함하는 직교 주파수 분할다중화 수신기 | |
JP3582707B2 (ja) | 直交マルチキャリア信号伝送装置、直交マルチキャリア信号の伝送方法 | |
KR100576520B1 (ko) | 반복 연산 기법을 이용한 가변 고속 푸리에 변환프로세서 | |
KR20040046478A (ko) | 메모리의 크기를 감소시킬 수 있는 고속 퓨리에 변환프로세서 | |
Deepa et al. | Performance evaluation of a low complexity row-column transform approach for SLM based OFDM transmission system | |
KR101415202B1 (ko) | 보간 기법과 고속 푸리에 변환을 이용한 이산 푸리에변환을 위한 장치 및 방법 | |
US7593754B2 (en) | Receiving apparatus and receiving method of communication system with multiple antennas | |
Azar et al. | CERA: a channel estimation reconfigurable architecture | |
CN107979454B (zh) | 一种ofdma分布式模式下行链路梳状谱快速提取方法 | |
Nishi et al. | A study of dynamic reconfigurable FFT processor for OFDM based cognitive radio | |
JP3742294B2 (ja) | マイクロ波送信機用逆フーリエ変換回路 | |
Ho et al. | A reconfigurable systolic array architecture for multicarrier wireless and multirate applications | |
KR20080062003A (ko) | 기수 2의 제곱 구조를 이용하는 가변적인 입력 크기를허용하는 파이프라인 방식의 고속 푸리에 변환 장치 및방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100901 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |