KR100958231B1 - 직교 주파수 분할 다중 시스템에서의 고속 푸리에 변환처리 - Google Patents

직교 주파수 분할 다중 시스템에서의 고속 푸리에 변환처리 Download PDF

Info

Publication number
KR100958231B1
KR100958231B1 KR1020077023361A KR20077023361A KR100958231B1 KR 100958231 B1 KR100958231 B1 KR 100958231B1 KR 1020077023361 A KR1020077023361 A KR 1020077023361A KR 20077023361 A KR20077023361 A KR 20077023361A KR 100958231 B1 KR100958231 B1 KR 100958231B1
Authority
KR
South Korea
Prior art keywords
samples
fft
ofdm
interlace
memory
Prior art date
Application number
KR1020077023361A
Other languages
English (en)
Other versions
KR20070110936A (ko
Inventor
켄빈 에스. 쿠진에우
Original Assignee
콸콤 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20070110936A publication Critical patent/KR20070110936A/ko
Application granted granted Critical
Publication of KR100958231B1 publication Critical patent/KR100958231B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2649Demodulators
    • H04L27/265Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2649Demodulators
    • H04L27/26524Fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators in combination with other circuits for demodulation
    • H04L27/26526Fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators in combination with other circuits for demodulation with inverse FFT [IFFT] or inverse DFT [IDFT] demodulators, e.g. standard single-carrier frequency-division multiple access [SC-FDMA] receiver or DFT spread orthogonal frequency division multiplexing [DFT-SOFDM]

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Complex Calculations (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Radio Transmission System (AREA)

Abstract

OFDM 수신기의 FFT 프로세서는 다수의 상호 관련 연산 블록을 포함한다. FFT 프로세서는 수신된 OFDM 심벌들에 대해 데이터 복조, 채널 추정 및 미세 타이밍 포착을 수행하도록 구성된다. FFT 프로세서는 채널 추정 및 복조 블록과 공유된 메모리 구조를 이용하여 파이프라인 FFT 엔진을 통합한다. 공유 메모리 구조 및 파이프라인 FFT 연산의 조합은 다음 수신된 심벌을 포착하는데 사용되는 시간 동안 채널 추정 및 복조 처리가 완료될 수 있게 한다.

Description

직교 주파수 분할 다중 시스템에서의 고속 푸리에 변환 처리{FAST FOURIER TRANSFORM PROCESSING IN AN OFDM SYSTEM}
본 출원은 "고속 푸리에 변환"이라는 명칭으로 2005년 3월 11일자 제출된 예비 출원 60/660,855호에 대한 우선권을 주장하며, 이는 본원의 양수인에게 양도되었으며 본원에 명백히 참조로 통합된다.
본 출원은 "고속 푸리에 변환 회전곱"이라는 명칭으로 2006년 3월 10일자 제출된 대리인 일람번호 0505071U2의 정식 미국 특허 출원에 관련되며, 본원에 명백히 참조로 통합된다.
본 발명은 무선 통신 및 무선 통신 신호의 처리 분야에 관한 것이다. 보다 구체적으로, 본 발명은 직교 주파수 분할 다중(OFDM) 신호의 고속 푸리에 변환(FFT) 처리에 관한 것이다.
직교 주파수 분할 다중화(OFDM)는 전체 시스템 대역폭을 다수(N)의 직교 부대역으로 효율적으로 분할하는 다중 반송파 변조 기술이다. 부대역들은 톤, 부반송파, 빈, 주파수 채널로 지칭될 수도 있다. OFDM에 의해 각 부대역은 데이터로 변조될 수 있는 각 부반송파와 관련된다.
무선 통신 시스템에서, 무선 주파수(RF) 변조 신호는 다수의 신호 경로를 통해 송신기로부터 수신기로 전달될 수 있다. 신호 경로가 서로 다른 지연을 갖는다면, 수신기에서의 수신 신호는 서로 다른 이득 및 지연을 갖는 전송 신호의 다양한 경우를 포함하게 된다. 무선 채널에서의 이러한 시간 분산은 주파수 선택적 페이딩을 일으키고, 이는 시스템 대역폭 전역에서 달라지는 주파수 응답에 의해 특성화된다. OFDM 시스템에서, N개의 부대역은 이와 같이 서로 다른 유효 채널을 체험할 수 있고 결과적으로 서로 다른 복소 채널 이득에 관련될 수 있다.
OFDM 시스템의 처리는 다른 통신 시스템에서의 수신 신호 처리에 비해 상당히 더 복잡할 수 있다. 요구되는 상당한 처리량은 처리 용량 면에서 수신기에 큰 부담을 준다. 변조 방식을 이용하는 통신 시스템의 보다 큰 확산을 위해 OFDM 수신기에서 처리 용량을 증가시키는 능력이 바람직하다.
여기서는 OFDM 수신기의 FFT 프로세서 및 OFDM 시스템에서 수신 심벌들을 처리하는 방법이 설명된다. FFT 프로세서는 수신된 OFDM 심벌들에 대해 데이터 복조, 채널 추정 및 미세 타이밍 포착을 수행하도록 구성된 다수의 상호 관련 연산 블록을 포함한다. FFT 프로세서는 채널 추정 및 복조 블록과 공유된 메모리 구조를 이용하여 파이프라인 FFT 엔진을 통합한다. 공유 메모리 구조 및 파이프라인 FFT 연산의 조합은 다음 수신된 심벌을 포착하는데 사용되는 시간 동안 채널 추정 및 복조 처리가 완료될 수 있게 한다.
공유 메모리는 다수의 메모리 뱅크들이 지원하는 기능 블록과 관련된 다수의 메모리 뱅크로서 배치될 수 있다. FFT 프로세서의 타이밍은 메모리 뱅크, 각종 뱅크를 어드레싱하는데 사용되는 데이터 및 제어 멀티플렉서의 동작을 지시한다.
파이프라인 FFT 엔진은 FFT 프로세서의 백본이고 FFT 프로세서에 의해 수행되는 채널 추정 및 시간 포착 프로세스에 사용된다. 채널 추정 값들은 해당 데이터의 뒤이은 처리에 사용된다.
다수의 스테이지에서 회전곱(twiddle multiplication)을 적용하는 사이클 카운트 방법을 구현하는 FFT 엔진이 설명된다. 기수-8 코어에 기반한 구현과 같이 다중 스테이지 FFT를 구현할 때, 중간값에는 각종 회전 인자가 곱해질 필요가 있다. FFT 엔진은 최소한의 곱셈기를 이용하여 유효 파이프라인에서 회전곱을 수행한다. 메모리의 각 행의 값들의 수와 FFT 기수에 기반한 다수의 복소 곱셈기의 최적화는 적당한 크기의 영역을 이용하여 최소한의 사이클로 FFT 기능이 수행될 수 있게 한다. 값들의 전략적인 순서 및 그룹화는 더 적은 수의 사이클로 FFT 연산이 수행되게 한다.
한 형태는 OFDM 심벌들을 처리하는 신호 처리 장치를 포함한다. 상기 장치는 다수의 메모리 뱅크를 포함하는 메모리 구조, 상기 OFDM 심벌들의 샘플들을 수신하고 상기 샘플들을 상기 메모리 구조 내의 다수의 인터레이스 메모리에 축적하도록 구성된 복조 블록, 및 상기 다수의 인터레이스 메모리 중 적어도 하나에 대해 주파수 영역 변환을 수행하도록 구성된 연산 블록을 포함한다.
한 형태는 OFDM 심벌들을 처리하는 신호 처리 장치를 포함한다. 상기 장치는 다수의 메모리 뱅크를 포함하는 메모리 구조, OFDM 심벌에 대응하는 심벌들을 수신하고 심벌 샘플 데이터를 상기 메모리 구조 내의 샘플 메모리에 축적하도록 구성된 복조 블록 - 상기 복조 블록은 M개의 OFDM 인터레이스 각각에 대한 P개의 개별 샘플을 축적하고, P는 인터레이스별 부대역 수를 나타냄 -, P-점 고속 푸리에 변환(FFT) 연산을 수행하도록 구성된 FFT 엔진, 및 상기 메모리 구조 및 상기 FFT 엔진에 연결되며, 다수의 축적된 파일럿 샘플의 P-점 FFT를 기초로 채널 추정치를 생성하도록 구성된 채널 추정기를 포함한다.
다른 형태는 OFDM 심벌들을 처리하는 신호 처리 장치를 포함한다. 상기 장치는 다수의 값을 저장하는 수단, 다수의 수신 OFDM 샘플들을 복조하고, 상기 다수의 값을 저장하는 수단 내의 다수의 인터레이스 저장부 중 하나에 상기 다수의 수신 OFDM 샘플을 각각 축적하는 수단, 및 상기 다수의 인터레이스 저장부 중 적어도 하나에 저장된 다수의 OFDM 샘플을 주파수 영역 표현으로 변환하는 수단을 포함한다.
다른 형태는 OFDM 심벌들을 처리하는 방법을 포함하며, 상기 방법은 복조된 샘플들을 생성하기 위해 제 1 OFDM 심벌의 수신 샘플들을 복조하는 단계, 상기 복조된 샘플들을 메모리 구조에 저장하는 단계, 제 2 OFDM 심벌의 모든 수신 샘플을 복조하기 전에 상기 복조된 샘플들을 기초로 채널 추정치를 결정하는 단계, 및 상기 복조된 샘플들을 기초로 다수의 OFDM 인터레이스 중 한 인터레이스의 다수의 부대역에 대응하는 인코딩된 값들을 결정하는 단계를 포함한다.
다른 형태는 복조된 샘플들을 생성하기 위해 제 1 OFDM 심벌의 수신 샘플들을 복조하는 단계, 상기 복조된 샘플들을 메모리 구조에 저장하는 단계, 제 2 OFDM 심벌의 모든 수신 샘플을 복조하기 전에 상기 복조된 샘플들을 기초로 채널 추정치를 결정하는 단계, 및 상기 복조된 샘플들을 기초로 다수의 OFDM 인터레이스 중 한 인터레이스의 다수의 부대역에 대응하는 인코딩된 값들을 결정하는 단계를 수행하기 위한 컴퓨터 프로그램으로 인코딩되는 컴퓨터 판독 가능 매체를 포함한다.
본 명세서의 실시예들의 형태, 과제 및 이점은 도면과 관련하여 후술하는 상세한 설명으로부터 보다 명백해지며, 도면에서 동일 엘리먼트는 동일한 참조 부호를 갖는다.
도 1은 무선 통신 시스템의 실시예의 기능 블록도이다.
도 2는 OFDM 수신기의 실시예의 간소화된 기능 블록도이다.
도 3은 OFDM 시스템에 대한 FFT 프로세서의 실시예의 간소화된 기능 블록도이다.
도 4는 OFDM 시스템에 대한 FFT 프로세서의 실시예의 간소화된 기능 블록도이다.
도 5는 OFDM 인터레이스 처리에 관한 실시예의 간소화된 기능 블록도이다.
도 6은 OFDM 프로세서에서 공유 메모리 이용의 간소화된 타임라인이다.
도 7은 파일럿 채널 처리에 관한 실시예의 간소화된 기능 블록도이다.
도 8은 논리적 채널 제어 로직의 실시예의 간소화된 기능 블록도이다.
도 9는 FFT 프로세서의 실시예의 간소화된 상태도이다.
도 10은 FFT 엔진의 실시예의 간소화된 기능 블록도이다.
도 11은 기수-8 FFT 버터플라이의 실시예의 간소화된 기능 블록도이다.
도 12는 기수-8 FFT 버터플라이의 처음 두 상태의 실시예의 간소화된 기능 블록도이다.
도 13은 기수-8 FFT 버터플라이의 스테이지에 관한 실시예의 간소화된 기능 블록도이다.
도 14는 기수-8 FFT에서 회전곱 순서의 간소화된 표현이다.
도 15는 파이프라인 기수-8 FFT의 간소화된 타이밍도이다.
도 16은 파이프라인 256-점 FFT의 간소화된 타이밍도이다.
도 17은 OFDM 신호를 처리하는 방법의 간소화된 흐름도이다.
도 18은 심벌 샘플들을 복조하는 방법의 간소화된 흐름도이다.
도 19는 OFDM 신호를 처리하는 방법의 간소화된 흐름도이다.
도 20은 FFT 프로세서의 간소화된 기능 블록도이다.
도 21은 FFT 엔진의 간소화된 기능 블록도이다.
도 1은 무선 통신 시스템(100)의 실시예의 간소화된 기능 블록도이다. 시스템은 사용자 단말(110)과 통신할 수 있는 하나 이상의 고정 엘리먼트를 포함한다. 사용자 단말(100)은 예를 들어 하나 이상의 표준에 따라 동작하도록 구성된 무선 전화일 수 있다. 예를 들어, 사용자 단말(110)은 제 1 통신 네트워크로부터 무선 전화 신호를 수신하도록 구성될 수 있고, 제 2 통신 네트워크로부터 데이터 및 정보를 수신하도록 구성될 수 있다.
사용자 단말(110)은 휴대형 유닛, 이동 유닛 또는 고정 유닛일 수 있다. 사 용자 단말(110)은 또한 이동 유닛, 이동 단말, 이동국, 사용자 기기, 포터블, 전화 등으로 지칭될 수도 있다. 도 1에는 하나의 사용자 단말(110)만 도시되어 있지만, 통상의 무선 통신 시스템(100)은 다수의 사용자 단말(110)과 통신하는 능력이 있는 것으로 이해한다.
사용자 단말(110)은 통상적으로 여기서는 섹터화된 셀룰러 타워로 나타낸 하나 이상의 기지국(120a 또는 120b)과 통신한다. 사용자 단말(110)은 통상적으로 사용자 단말(110) 내의 수신기에서 가장 강한 신호 세기를 제공하는 기지국, 예를 들어 기지국(120b)과 통신하게 된다.
각 기지국(120a, 120b)은 통신 신호를 적절한 기지국(120a, 120b)에 대해 라우팅하는 기지국 제어기(BSC; 130)에 연결될 수 있다. BSC(130)는 사용자 단말(110)과 공중 전화 교환망(PSTN; 150) 간의 인터페이스로서 동작하도록 구성될 수 있는 이동 교환국(MSC; 140)에 연결된다. MSC는 사용자 단말(110)과 네트워크(160) 간의 인터페이스로서 동작하도록 구성될 수 있다. 네트워크(160)는 예를 들어 근거리 통신망(LAN) 또는 원거리 통신망(WAN)일 수 있다. 일 실시예에서, 네트워크(160)는 인터넷을 포함한다. 따라서 MSC(140)는 PSTN(150) 및 네트워크(160)에 연결된다. MSC(140)는 하나 이상의 미디어 소스(170)에도 연결될 수 있다. 미디어 소스(170)는 예를 들어 사용자 단말(110)에 의해 액세스 가능한 시스템 제공자에 의해 제공되는 미디어의 라이브러리일 수 있다. 예를 들어, 시스템 제공자는 사용자 단말(110)에 의한 요구에 따라 액세스 가능한 비디오 또는 다른 어떤 형태의 미디어를 제공할 수 있다. MSC(140)는 또한 (도시하지 않은) 다른 통신 시스템과 시스템 간 핸드오프를 조정하도록 구성될 수 있다.
무선 통신 시스템(100)은 또한 사용자 단말(110)에 신호를 전송하도록 구성된 방송 송신기(180)를 포함할 수 있다. 일 실시예에서, 방송 송신기(180)는 기지국(120a, 120b)과 관련될 수 있다. 다른 실시예에서, 방송 송신기(180)는 기지국(120a, 120b)을 포함하는 무선 전화 시스템과 구별될 수 있으며 이와 무관할 수 있다. 방송 송신기(180)는 이에 한정되는 것은 아니지만 오디오 송신기, 비디오 송신기, 라디오 송신기, 텔레비전 송신기 등 또는 송신기들의 임의의 조합일 수 있다. 무선 통신 시스템(100)에는 하나의 방송 송신기(180)만 도시되어 있지만, 무선 통신 시스템(100)은 다수의 방송 송신기(180)를 지원하도록 구성될 수 있다.
다수의 방송 송신기(180)는 중첩하는 커버리지 영역들에서 신호를 전송할 수 있다. 사용자 단말(100)은 다수의 방송 송신기(180)로부터 동시에 신호를 수신할 수 있다. 다수의 방송 송신기(180)는 동일하거나 다른, 또는 비슷한 방송 신호를 방송하도록 구성될 수 있다. 예를 들어, 제 1 방송 송신기의 커버리지 영역과 중첩하는 커버리지 영역을 갖는 제 2 방송 송신기는 제 1 방송 송신기에 의해 방송된 정보들의 부분 집합을 방송할 수도 있다.
방송 송신기(180)는 방송 미디어 소스(182)로부터 데이터를 수신하도록 구성될 수 있으며, 데이터를 인코딩하고 인코딩된 데이터를 기초로 신호를 변조하고 변조된 데이터를 사용자 단말(110)에 의해 수신될 수 있는 서비스 영역으로 방송하도록 구성될 수 있다.
일 실시예에서, 기지국(120a, 120b) 중 하나 또는 둘 다는 직교 주파수 분할 다중(OFDM) 신호를 전송한다. OFDM 신호는 미리 결정된 동작 대역에서 하나 이상의 반송파로 변조된 다수의 OFDM 심벌을 포함할 수 있다.
OFDM 통신 시스템은 데이터 및 파일럿 전송을 위해 OFDM을 이용한다. OFDM은 전체 시스템 대역폭을 다수(K)의 직교 주파수 부대역으로 분할하는 다중 반송파 변조 기술이다. 이들 부대역은 톤, 반송파, 부반송파, 빈, 주파수 채널로도 불린다. OFDM에 의해 각 부대역은 데이터로 변조될 수 있는 각각의 부반송파와 관련된다.
방송 송신기(180)와 같은 OFDM 시스템의 송신기는 다수의 데이터 스트림을 동시에 무선 장치로 전송할 수 있다. 데이터 스트림들은 본래 연속적이거나 돌발적이며, 고정 또는 가변 데이터 레이트를 가질 수도 있고, 동일한 또는 서로 다른 코딩 및 변조 방식을 사용할 수 있다. 송신기는 파일럿을 전송하여 무선 장치가 시간 동기화, 주파수 추적, 채널 추정 등과 같은 다수의 기능을 수행하는 것을 도울 수도 있다. 파일럿은 송신기 및 수신기 모두에 대해 미리 알려진 송신이다.
방송 송신기(180)는 인터레이스 부대역 구조에 따라 OFDM 심벌들을 전송할 수 있다. OFDM 인터레이스 구조는 K개의 전체 부대역을 포함하며, K > 1이다. 데이터 및 파일럿 전송에 U개의 부대역이 사용될 수도 있으며, 이는 사용 가능 부대역으로 불리고, U ≤ K이다. 나머지 G개의 부대역은 사용되지 않으며, 보호 부대역으로 불리고, G = K - U이다. 예로서, 시스템은 K = 4096의 전체 부대역, U = 4000의 사용 가능 부대역, G = 96의 보호 부대역을 구비한 OFDM 구조를 이용할 수 있다. 간소화를 위해, 다음 설명은 K개의 전체 부대역이 모두 사용 가능하고 0 내 지 K-1의 인덱스가 할당되어 U = K, G = O인 것으로 가정한다.
K개의 전체 부대역은 M개의 인터레이스 또는 중첩하지 않는 부대역 집합에 배치될 수 있다. M개의 인터레이스는 K개의 전체 부대역이 각각 단 하나의 인터레이스에 속한다는 점에서 중첩하지 않거나 흩어진다. 각 인터레이스는 P개의 부대역을 포함하며, P = K/M이다. 각 인터레이스에서 P개의 부대역은 인터레이스의 연속한 부대역들이 M개의 부대역만큼 간격을 두도록 K개의 전체 부대역에 걸쳐 균등하게 분산될 수 있다. 예를 들어, 인터레이스 0은 부대역 0, M, 2M 등을 포함할 수 있고, 인터레이스 1은 부대역 1, M+1, 2M+1 등을 포함할 수 있으며, 인터레이스 M-1은 부대역 M-1, 2M-1, 3M-1 등을 포함할 수 있다. K = 4096인 상술한 예시적인 OFDM 구조에서, M = 8의 인터레이스가 형성될 수 있고, 각 인터레이스는 8개의 부대역만큼 고르게 간격을 둔 P = 512의 부대역을 포함할 수 있다. 따라서 각 인터레이스의 P개의 부대역은 다른 M-1개의 부대역 각각의 P개의 부대역과 인터레이싱된다.
일반적으로, 방송 송신기(180)는 임의의 개수의 전체, 사용 가능 및 보호 부대역을 가진 임의의 OFDM 구조를 구현할 수 있다. 몇 개의 인터레이스라도 형성될 수 있다. 각 인터레이스는 임의의 개수의 부대역 및 K개의 전체 부대역 중 임의의 부대역을 포함할 수 있다. 인터레이스들은 동일한 또는 서로 다른 개수의 부대역을 포함할 수 있다. 간소화를 위해, 다음 설명의 상당 부분은 M = 8의 인터레이스를 구비하며 각 인터레이스는 균등하게 분산된 P = 512의 부대역을 포함하는 인터레이스 부대역 구조에 관한 것이다. 이 부대역 구조는 여러 가지 장점을 제공한 다. 첫째, 각 인터레이스는 전체 시스템 대역폭에 걸쳐 끌어낸 부대역들을 포함하기 때문에 주파수 다이버시티가 달성된다. 둘째, 무선 장치는 전체 K-점 고속 푸리에 변환(FFT) 대신 부분 P-점 FFT를 수행함으로써 소정 인터레이스 상에서 전송된 데이터 또는 파일럿을 복원할 수 있으며, 이는 무선 장치에서의 처리를 간소화할 수 있다.
방송 송신기(180)는 하나 이상의 인터레이스 상에서 주파수 분할 다중화(FDM) 파일럿을 전송하여 무선 장치가 채널 추정, 주파수 추적, 시간 추적 등과 같은 다양한 기능을 수행할 수 있게 한다. 파일럿은 기지국과 무선 장치 모두에 대해 미리 알려진 변조 심벌들로 구성되며, 변조 심벌은 파일럿 심벌로도 불린다. 사용자 단말(110)은 수신된 파일럿 심벌 및 알려진 전송 파일럿 심벌을 기초로 무선 채널의 주파수 응답을 추정할 수 있다. 사용자 단말(110)은 파일럿 전송에 사용된 각 부대역에서 무선 채널의 주파수 스펙트럼을 샘플링할 수 있다.
시스템(100)은 인터레이스에 대한 데이터 스트림의 매핑을 용이하게 하기 위해 OFDM 시스템에 M개의 슬롯을 정의할 수 있다. 각 슬롯은 송신 유닛 또는 데이터나 파일럿을 전송하는 수단으로 제시될 수 있다. 데이터에 사용되는 슬롯은 데이터 슬롯이라 하고, 파일럿에 사용되는 슬롯은 파일럿 슬롯이라 한다. M개의 슬롯에는 0 내지 M-1의 인덱스가 할당될 수 있다. 슬롯 0은 파일럿에 사용될 수 있고, 슬롯 1 내지 M-1은 데이터에 사용될 수 있다. 데이터 스트림은 슬롯 1 내지 M-1 상에서 전송될 수 있다. 고정 인덱스를 가진 슬롯의 사용은 데이터 스트림에 대한 슬롯 할당을 간소화할 수 있다. 각 슬롯은 하나의 시간 간격으로 하나의 인터레이스에 매핑될 수 있다. M개의 슬롯은 주파수 다이버시티 및 양호한 채널 추정 및 검출 성능을 달성할 수 있는 임의의 슬롯-인터레이스 매핑 방식을 기초로 서로 다른 시간 간격에서 M개의 인터레이스 중 서로 다른 인터레이스에 매핑될 수 있다. 일반적으로, 시간 간격은 하나 또는 다수의 시간 구간에 이를 수 있다. 다음 설명은 시간 간격이 하나의 심벌 구간에 걸치는 것으로 가정한다.
도 2는 예를 들어 도 1의 사용자 단말에 구현될 수 있는 OFDM 수신기(200)의 간소화된 기능 블록도이다. 수신기(200)는 수신된 OFDM 심벌의 처리를 수행하기 위해 여기서 설명하는 것과 같은 FFT 처리 블록을 구현하도록 구성될 수 있다.
수신기(200)는 RF 채널을 통해 전송된 RF OFDM 심벌들을 수신하고 처리하여 기저 대역 OFDM 심벌 또는 실질적으로 기저 대역 신호로 주파수 변환하도록 구성된 수신 RF 프로세서(210)를 포함한다. 신호는 기저 대역 신호로부터의 주파수 오프셋이 신호 대역폭의 극히 일부라면, 또는 신호가 추가 주파수 변환 없이 신호의 직접 처리를 허용할 만큼 충분히 낮은 중간 주파수에 있다면 실질적으로 기저 대역 신호로 지칭될 수 있다. 수신 RF 프로세서(210)로부터의 OFDM 심벌은 프레임 동기화기(220)에 연결된다.
프레임 동기화기(220)는 수신기(200)를 심벌 타이밍과 동기화하도록 구성될 수 있다. 실시예에서, 프레임 동기화기는 수신기를 수퍼프레임 타이밍 그리고 수퍼프레임 내의 심벌 타이밍에 동기화하도록 구성될 수 있다.
프레임 동기화기(220)는 슬롯-인터레이스 매핑의 반복에 필요한 심벌들의 수를 기초로 인터레이스를 결정하도록 구성될 수 있다. 일 실시예에서, 매 14개의 심벌 뒤에 슬롯-인터레이스 매핑이 반복될 수 있다. 프레임 동기화기(220)는 심벌 카운트로부터 모듈로(modulo)-14 심벌 인덱스를 결정할 수 있다. 수신기(200)는 할당된 데이터 슬롯에 대응하는 하나 이상의 인터레이스는 물론 파일럿 인터레이스를 결정하기 위해 모듈로-14 심벌 인덱스를 사용할 수 있다.
프레임 동기화기(220)는 다수의 인자를 기초로 다수의 기술 중 임의의 기술을 이용하여 수신기 타이밍을 동기화할 수 있다. 예를 들어, 프레임 동기화기(220)는 OFDM 심벌을 복조할 수 있고 복조된 심벌들로부터 수퍼프레임 타이밍을 결정할 수 있다. 다른 실시예에서, 프레임 동기화기(220)는 예를 들어 오버헤드 채널의 하나 이상의 심벌 내에서 수신된 정보를 기초로 수퍼프레임 타이밍을 결정할 수 있다. 다른 실시예에서, 프레임 동기화기(220)는 개별 채널을 통해 정보를 수신함으로써, 예를 들어 OFDM 심벌들과 다르게 수신된 오버헤드 채널을 복조함으로써 수신기(200)를 동기화할 수 있다. 물론, 프레임 동기화기(220)는 동기화를 달성하는 어떤 방식도 사용할 수 있으며, 동기화를 달성하는 방식이 반드시 모듈로 심벌 카운트를 결정하는 방식을 제한하는 것은 아니다.
프레임 동기화기(220)의 출력은 OFDM 심벌을 복조하고 직렬 데이터 경로로부터 다수의 병렬 데이터 경로 중 하나의 경로에 심벌 샘플 또는 칩을 매핑하도록 구성될 수 있는 샘플 맵(230)에 연결된다. 예를 들어, 샘플 맵(230)은 각 OFDM 칩을 OFDM 시스템에서 부대역 또는 부반송파 수에 대응하는 다수의 병렬 데이터 경로 중 하나에 매핑하도록 구성될 수 있다.
샘플 맵(230)의 출력은 OFDM 심벌을 해당 주파수 영역 부대역으로 변환하도 록 구성된 FFT 모듈(240)에 연결된다. FFT 모듈(240)은 모듈로-14 심벌 카운트를 기초로 파일럿 슬롯에 대응하는 인터레이스를 결정하도록 구성될 수 있다. FFT 모듈(240)은 미리 결정된 파일럿 부대역과 같은 하나 이상의 부대역을 채널 추정기(250)에 연결하도록 구성될 수 있다. 파일럿 부대역은 예를 들어 OFDM 심벌의 대역폭에 이르는, 균등한 간격의 하나 이상의 OFDM 부대역 집합일 수 있다.
채널 추정기(250)는 파일럿 부대역을 사용하여 수신된 OFDM 심벌들에 영향을 주는 각종 채널을 추정하도록 구성된다. 일 실시예에서, 채널 추정기(250)는 각 데이터 부대역에 대응하는 채널 추정치를 결정하도록 구성될 수 있다.
FFT 모듈(240)로부터의 부대역 및 채널 추정치는 부반송파 심벌 디인터리버(260)에 연결된다. 심벌 디인터리버(260)는 할당된 하나 이상의 데이터 슬롯의 정보, 및 할당된 데이터 슬롯에 대응하는 인터리빙된 부반송파를 기초로 인터레이스를 결정하도록 구성될 수 있다.
심벌 디인터리버(260)는 예를 들어 할당된 데이터 인터레이스에 대응하는 각 부반송파를 복조하고 복조된 데이터로부터 직렬 데이터 스트림을 생성하도록 구성될 수 있다. 다른 실시예에서, 심벌 디인터리버(260)는 할당된 데이터 인터레이스에 대응하는 각 부반송파를 복조하고 병렬 데이터 스트림을 생성하도록 구성될 수 있다. 또 다른 실시예에서, 심벌 디인터리버(260)는 할당된 슬롯에 대응하는 데이터 인터레이스의 병렬 데이터 스트림을 생성하도록 구성될 수 있다.
심벌 디인터리버(260)의 출력은 수신된 데이터를 추가 처리하도록 구성된 기저 대역 프로세서(270)에 연결된다. 예를 들어, 기저 대역 프로세서(270)는 수신 된 데이터를 오디오 및 비디오를 갖는 멀티미디어 데이터 스트림으로 처리하도록 구성될 수 있다. 기저 대역 프로세서(270)는 처리된 신호를 (도시하지 않은) 하나 이상의 출력 장치에 전송할 수 있다.
도 3은 OFDM 시스템에서 동작하는 수신기에 대한 FFT 프로세서(300)에 관한 실시예의 간소화된 기능 블록도이다. FFT 프로세서(300)는 예를 들어 도 1의 무선 통신 시스템 또는 도 2의 수신기에 사용될 수 있다. 실시예에서, FFT 프로세서(300)는 도 2의 수신기 실시예의 프레임 동기화기, FFT 모듈 및 채널 추정기의 모든 또는 일부 기능을 수행하도록 구성될 수 있다.
FFT 프로세서(300)는 OFDM 수신기 설계의 처리부에 단일 칩 솔루션을 제공하도록 단일 집적 회로(IC) 기판상에 IC로 구현될 수 있다. 대안으로, FFT 프로세서(300)는 다수의 IC 또는 기판상에 구현될 수 있으며 하나 이상의 칩 또는 모듈로서 패키지화될 수 있다. 예를 들어, FFT 프로세서(300)는 제 1 IC 상에서 수행되는 처리부들을 가질 수 있고, 그 처리부들은 제 1 IC와 구별되는 하나 이상의 저장 장치 상에 있는 메모리와 인터페이스 접속할 수 있다.
FFT 프로세서(300)는 FFT 연산 블록(360)과 채널 추정기(380)와 상호 접속하는 메모리 구조(320)에 연결된 복조 블록(310)을 포함한다. 로그 우도비 블록(350)이 FFT 프로세서(300)의 일부로서 선택적으로 포함될 수도 있고, 또는 동일 기판 또는 IC 상에 FFT 프로세서(300)로서 구현될 수도 아닐 수도 있는 개별 블록 내에 구현될 수도 있다.
복조, FFT, 채널 추정 및 로그 우도비 모듈은 샘플 값에 대한 연산을 수행한다. 메모리 구조(320)는 소정 시간에 이들 모듈 중 하나가 특정 블록에 액세스하게 한다. 스위칭 로직은 메모리 뱅크를 시간적으로 분할함으로써 간소화된다.
복조 블록(310)에 의해 하나의 메모리 블록이 반복적으로 사용된다. FFT 연산 블록(360)은 활성적으로 처리되는 뱅크에 액세스한다. 채널 추정 블록(380)은 현재 처리되고 있는 뱅크의 파일럿 정보에 액세스한다. 로그 우도비(LLR) 블록(350)은 가장 오래된 샘플들을 포함하는 뱅크에 액세스한다.
복조 블록(310)은 계수 ROM(314)에 연결된 복조기(312)를 포함한다. 복조 블록(310)은 시간 동기화된 OFDM 심벌들을 처리하여 파일럿 및 데이터 인터레이스를 복원한다. 상술한 예에서, OFDM 심벌은 8개의 개별 인터레이스로 분할된 4096개의 부대역을 포함하며, 각 인터레이스는 전체 4096개의 부대역에 걸쳐 균등한 간격을 둔 부대역들을 갖는다.
복조기(312)는 인입하는 4096개의 샘플을 8개의 인터레이스로 편성한다. 복조기는 각 인입 샘플을
Figure 112009055201354-pct00001
만큼 회전하며, n은 인터레이스 0 내지 7을 나타낸다. 처음 512개의 값은 회전되어 각 인터레이스 메모리에 저장된다. 이어지는 512개의 샘플로 이루어진 각 집합에 대해, 복조기(312)는 값들을 회전한 다음 더한다. 각 인터레이스 메모리에서의 각 메모리 위치는 축적된 8개의 회전된 샘플을 갖게 된다. 인터레이스 0의 값들은 회전되지 않고 단지 축적된다. 복조기(312)는 회전되어 축적된 값들을 입력 샘플을 나타내는데 사용되는 것보다 많은 비트로 나타내어 축적 및 회전으로 인한 증대를 해결할 수 있다.
복소 회전 계수를 저장하기 위해 계수 ROM(314)이 사용된다. 인터레이스 0은 어떤 회전도 필요로 하지 않기 때문에 각 인입 샘플에는 7개의 계수가 필요하다. 계수 ROM(314)은 상승 에지 트리거될 수 있으며, 이는 복조 블록(310)이 샘플을 수신할 때로부터 1-사이클 지연될 수 있다.
복조 블록(310)은 계수 ROM(314)으로부터 구한 각 계수값을 등록하도록 구성될 수 있다. 계수값을 등록하는 동작은 계수값들 자체가 사용될 수 있기 전에 다른 사이클 지연을 추가한다.
각 인입 샘플에 대해, 7개의 서로 다른 계수가 사용되며, 이들 각각은 서로 다른 어드레스를 갖는다. 서로 다른 계수를 찾기 위해 7개의 카운터가 사용된다. 각 카운터는 인터레이스 번호만큼 증분되며, 모든 새로운 샘플에 대해 예를 들어 인터레이스 1은 1 증분되는 한편, 인터레이스 7은 7 증분된다. 통상적으로 하나의 행에 필요한 7개의 계수를 모두 유지하는 ROM 이미지를 생성하거나 7개의 서로 다른 ROM을 사용하는 것은 실용적이지 않다. 따라서 복조 파이프라인은 새로운 샘플이 도착할 때 계수값들을 패치(fetch)함으로써 시작한다.
계수 메모리의 크기를 줄이기 위해, 0과 π/4 사이의 COS 및 SIN 값만 저장된다. 적절한 사분면에 값들을 전달하기 위해 메모리에 전송되지 않는 계수 어드레스의 3개의 최상위 비트(MSB)가 사용될 수 있다. 따라서 계수 ROM(314)으로부터판독된 값들은 즉시 등록되지 않는다.
메모리 구조(320)는 다수의 메모리 뱅크(324a-324c)에 연결된 입력 멀티플렉 서(322)를 포함한다. 메모리 뱅크(324a-324c)는 각 메모리 뱅크(324a-324c)로부터 다양한 모듈로 값들을 라우팅할 수 있는 멀티플렉서를 포함하는 메모리 제어 블록(326)에 연결된다.
메모리 구조(320)는 또한 파일럿 관찰 처리를 위한 메모리 및 제어를 포함한다. 메모리 구조(320)는 다수의 파일럿 관찰 메모리(332a-332c) 중 임의의 메모리에 파일럿 관찰 결과를 결합하는 입력 파일럿 선택 멀티플렉서(330)를 포함한다. 다수의 파일럿 관찰 메모리(332a-332c)는 출력 파일럿 선택 멀티플렉서(334)에 연결되어 임의의 메모리의 내용이 처리를 위해 선택되게 한다. 메모리 구조(320)는 또한 파일럿 관찰 결과로부터 결정되어 처리된 채널 추정치를 저장하기 위한 다수의 메모리부(342a-342b)를 포함한다.
OFDM 심벌을 생성하는데 사용되는 직교 주파수는 FFT와 같은 푸리에 변환을 이용하여 편리하게 처리될 수 있다. FFT 연산 블록(360)은 하나 이상의 미리 결정된 차원의 유효 FFT 및 역 FFT(IFFT) 연산을 수행하도록 구성된 다수의 엘리먼트를 포함할 수 있다. 통상적으로, 차원은 2의 거듭제곱이지만, FFT 또는 IFFT 연산은 2의 거듭제곱인 차원으로 한정되지 않는다.
FFT 연산 블록(360)은 메모리 구조(320) 또는 전치 레지스터(364)로부터 구한 복소 데이터에 대해 연산할 수 있는 버터플라이 코어(370)를 포함한다. FFT 연산 블록(360)은 메모리 구조(320)와 전치 레지스터(354) 사이에 선택하도록 구성된 버터플라이 입력 멀티플렉서(362)를 포함한다. 버터플라이 코어(370)는 복소 곱셈기(366) 및 회전(twiddle) 메모리(368)와 함께 버터플라이 연산을 수행하도록 동작 한다.
채널 추정기(380)는 파일럿 샘플들을 디스크램블링하기 위해 PN 시퀀서(384)와 함께 동작하는 파일럿 디스크램블러(382)를 포함할 수 있다. 위상 램프(ramp) 모듈(386)은 파일럿 인터레이스로부터의 파일럿 관찰 결과를 각종 데이터 인터레이스 중 임의의 인터레이스로 회전시키도록 동작한다. 샘플들을 원하는 주파수로 회전시키는데 필요한 위상 램프 정보를 저장하기 위해 위상 램프 계수 메모리(388)가 사용된다.
시간 필터(392)는 다수의 심벌에 대한 다수의 파일럿 관찰 결과를 시간 필터링하도록 구성될 수 있다. 시간 필터(392)로부터 필터링된 출력은 메모리 구조(320)에 저장될 수 있고, 처리중인 부대역 데이터의 디코딩을 수행하는 로그 우도비 블록(350)에 사용하기 위해 메모리 구조(320)로 반환되기 전에 임계화기(394)에 의해 추가 처리될 수 있다.
채널 추정기(380)는 중간 및 최종 출력 값을 포함하는 각종 채널 추정기 출력 값들을 메모리 구조(320)에 인터페이스 접속하는 채널 추정 출력 멀티플렉서(390)를 포함할 수 있다.
도 4는 OFDM 수신기에서 다른 신호 처리 블록과 관련된 FFT 프로세서(400)의 실시예의 간소화된 기능 블록도이다. TDM 파일럿 포착 모듈(402)은 FFT 프로세서(400)에 대한 최초 심벌 동기화 및 타이밍을 생성한다. 인입 동상(I) 및 직교(Q) 샘플은 원하는 진폭 및 주파수 에러 내로 신호를 유지하는 이득 및 주파수 제어 루프를 구현하도록 동작하는 AGC 모듈(404)에 연결된다.
FFT 프로세서(400)는 AGC 모듈(404)의 AFC 함수를 이용하여 구할 수 있는 것보다 정확한 심벌 주파수를 유지하기 위해 미세 주파수 포착 모듈(406)에 타이밍 및 주파수 정보를 제공하는데 사용될 수 있다. 제어 프로세서(408)는 FFT 프로세서(400)의 고 레벨 제어를 수행한다. 제어 프로세서(408)는 예를 들어 ARMTM에 의해 설계된 것과 같은 범용 프로세서 또는 단축 명령어 세트 컴퓨터(RISC) 프로세서일 수 있다. 제어 프로세서(408)는 예를 들어 심벌 구조를 제어하고, FFT 프로세서(400)의 상태를 활성 또는 슬립 상태로 선택적으로 제어하거나 FFT 프로세서(400)의 동작을 제어함으로써 FFT 프로세서(408)의 동작을 제어할 수 있다.
FFT 프로세서(400) 내의 제어 로직(410)은 FFT 프로세서(400)의 각종 내부 모듈을 인터페이스 접속하는데 사용될 수 있다. 제어 로직(410)은 또한 FFT 프로세서(400) 외부의 다른 모듈과 인터페이스 접속하기 위한 로직을 포함할 수 있다.
I 및 Q 샘플이 FFT 프로세서(400)에, 보다 구체적으로는 FFT 프로세서(400)의 복조 블록(310)에 연결된다. 복조 블록(310)은 샘플들을 미리 결정된 개수의 인터레이스로 분류하도록 동작한다. 복조 블록(310)은 데이터의 디코딩을 위해 처리하여 로그 우도비 블록(350)으로 전달하기 위한 샘플을 저장하기 위해 메모리 구조(320)와 인터페이스 접속한다.
메모리 구조(320)는 메모리 구조(320) 내의 각종 메모리 뱅크의 액세스를 제어하기 위한 메모리 제어기(412)를 포함할 수 있다. 예를 들어, 메모리 제어기(412)는 각종 메모리 뱅크 내의 위치에 대한 행 기록이 가능하도록 구성될 수 있 다.
메모리 구조(320)는 FFT 데이터를 저장하기 위한 다수의 FFT RAM(420a-420c)을 포함할 수 있다. 추가로, 채널 추정치 생성에 사용되는 파일럿 관찰 결과와 같이 시간 필터 데이터를 저장하기 위해 다수의 시간 필터 메모리(430a-430c)가 사용될 수 있다.
채널 추정치(380)로부터의 중간 채널 추정 결과를 저장하기 위해 개별 채널 추정치 메모리(440a-440b)가 사용될 수 있다. 채널 추정기(380)는 채널 추정치 결정시 채널 추정 메모리(440a-440b)를 사용할 수 있다.
FFT 프로세서(400)는 FFT 연산의 적어도 일부를 수행하는데 사용되는 FFT 연산 블록을 포함한다. 도 4의 실시예에서, FFT 연산 블록은 8-점 FFT 엔진(460)이다. 8-점 FFT 엔진(460)은 상술한 OFDM 심벌 구조의 실례가 되는 예를 처리하는데 유리할 수 있다. 상술한 바와 같이, 각 OFDM 심벌은 512개의 부대역으로 각각 이루어진 8개의 인터레이스로 분할된 4096개의 부대역을 포함한다. 각 인터레이스의 부대역 수 512는 8의 세제곱(83 = 512)이다. 따라서 기수(radix)-8 FFT를 이용하여 3개의 스테이지에서 512-점 FFT가 수행될 수 있다. 사실, 4096은 8의 네 제곱이기 때문에 4096-점 FFT는 총 4 스테이지로, 즉 단 하나의 추가 FFT 스테이지로 수행될 수 있다.
8-점 FFT 엔진(460)은 기수-8 FFT를 수행하도록 적응된 버터플라이 코어(370) 및 전치 레지스터(364)를 포함할 수 있다. 버터플라이 코어(370)에 의해 생성된 곱을 정규화하기 위해 정규화 블록(462)이 사용된다. 정규화 블록(462)은 FFT의 각 스테이지가 이어지는 버터플라이 코어로부터 출력된 값들을 나타내는데 필요한 메모리 위치의 비트 증가를 제한하도록 구성될 수 있다.
도 5는 OFDM 인터레이스 처리의 실시예의 간소화된 기능 블록도이다. 도 3 또는 도 4의 FFT 프로세서는 도 5에 나타낸 OFDM 인터레이스 처리를 수행하도록 구성될 수 있다. 간소화된 기능 블록도는 2개의 데이터 인터레이스 프로세서(510k, 510j) 및 하나의 파일럿 인터레이스 프로세서(51Op)를 나타낸다. 그러나 FFT 프로세서는 OFDM 심벌의 인터레이스 수에 따라 임의의 개수의 인터레이스 프로세서를 구현할 수 있다. 예를 들어, 상술한 OFDM 심벌 실시예를 처리하기 위해, FFT 프로세서는 510k와 같은 7개의 데이터 인터레이스 프로세서와 하나의 파일럿 인터레이스 프로세서(510p)를 통합할 수 있다.
각 데이터 인터레이스 프로세서(510k, 510j)는 비슷하게 배치되어 임의의 데이터 인터레이스에 대해 효율적으로 동작할 수 있다. 각 데이터 인터레이스 프로세서(510k, 510j)는 인입 샘플들의 위상을 회전하도록 구성된 회전자(514k, 514j)를 포함한다. 위상 회전은 처리에 사용되는 공통 인터레이스에 대해 각 인터레이스를 효율적으로 회전시킨다. 각 데이터 인터레이스 프로세서(510k, 510j)는 각각의 연속한 M개의 샘플 중 하나의 샘플에 대해 동작하며, M은 총 인터레이스 수를 나타낸다.
각 회전자(514k, 514j)의 출력은 8개의 인터레이스에 걸쳐 샘플들을 축적하는 누산기(520k, 520j)에 연결된다. 4096개의 부대역 및 8개의 인터레이스를 갖는 OFDM 심벌에 대해, 각 인터레이스는 512개의 부대역을 포함하고, 누산기(520k, 520j)는 512개의 샘플로 이루어진 8개의 인터레이스들을 합한다. 설명한 OFDM 심벌 예에서, 인터레이스마다 처음 512개의 값이 회전되어 저장된다. 이어지는 512개의 샘플로 이루어진 각 집합에 대해, 회전자(514k, 514j)는 샘플들을 회전하고, 누산기(520k, 520j)는 이러한 값들을 이전에 저장된 샘플들에 더한다. 각 인터레이스의 512개의 메모리 위치는 각각 축적된 8개의 회전된 샘플을 갖게 된다.
데이터 인터레이스 프로세서(510k, 510j)는 축적된 샘플들 또는 축적된 샘플들의 중간값들을 저장하는 메모리(530k, 530j)를 포함한다. 일례로, 각 메모리(530k, 530j)는 512개의 샘플 또는 누적된 샘플들을 저장할 수 있다. 각 샘플의 맨 처음에, 메모리 위치들이 리셋되거나 첫 번째 데이터 인터레이스 샘플 집합에 덮어쓰여 진다.
메모리(530k, 530j)의 위치를 지시하기 위해 카운터(540)가 사용될 수 있으며, 입력 값이 액세스되고 축적된 값이 반환되어야 한다. 도 5는 파일럿 샘플 메모리(530p)에 연결된 하나의 모듈로-512 카운터(540)만 나타내고 있지만, 카운터(540)는 축적된 데이터 샘플의 저장에 사용되는 각 메모리(530k, 530j)에 대한 카운트 값을 공급할 수 있다. 대안으로, 각 데이터 인터레이스 프로세서(510k, 510j)는 개별 카운터를 포함할 수도 있고, 또는 하나 이상의 데이터 인터레이스 프로세서(510k, 510j)가 파일럿 인터레이스 프로세서(510p)에 의해 사용되는 카운터(540)와 공통이거나 별개인 카운터를 공유할 수 있다.
일 실시예에서, 각 심벌의 시작에 카운터(540)가 리셋된다. 마찬가지로, 모든 심벌의 시작에 데이터 메모리(530k, 530j) 및 파일럿 샘플 메모리(530p)가 리셋되거나 클리어된다. 회전자(514k, 514j)는 원하는 인터레이스 샘플들을 미리 결정된 위상만큼 회전하여 회전된 샘플을 관련 누산기(520k, 520j)에 연결한다. 누산기(520k, 520n)는 카운터(540)에 의해 지시된 이전에 축적된 값을 메모리(530k, 530j)로부터 판독한다.
덧셈기(522k, 522j)는 회전자(514k, 514j)로부터의 값을 검색된 값과 합한다. 누산기(520k, 520j)는 그 합을 덧셈기(522k, 522j)에 입력을 제공하는데 사용된 동일 메모리 위치에 다시 기록하기 전에 레지스터(524k, 524j)에 로딩한다.
카운터(540)는 모든 인터레이스가 샘플을 처리한 후 올라간다. 따라서 카운트는 파일럿 인터레이스를 포함하여 전체 인터레이스 수에 걸쳐 각 사이클에 대해 동일하게 유지될 수 있다.
FFT 모듈(550k, 550j)은 메모리(530k, 530j)에 저장된 축적된 인터레이스 데이터에 대해 FFT를 수행한다. 도 5의 예에서, FFT 모듈(550k, 550j)은 512개의 축적된 샘플에 대해 512-점 FFT를 수행한다. 512-점 FFT 모듈(550k, 550j)의 출력은 데이터 인터레이스의 부대역을 나타낸다.
512-점 FFT 모듈(550k, 550j)은 관련 로그 우도비(LLR) 블록(580k, 580j)에 연결되고, 정보를 갖는 각 부대역은 디코딩될 수 있다. 여기서 설명한 FFT 프로세서 및 데이터 인터레이스 프로세서(510k, 510j)는 부대역을 디코딩하기 위해 LLR 블록(580k, 580j)을 구현하지만, 다른 FFT 프로세서는 다른 타입의 디코더를 사용할 수 있다. FFT 프로세서에 선택된 디코더 타입은 송신기에서 사용되는 인코딩 프로세서에 부분적으로 의존할 수 있다. 예를 들어, FFT 프로세서는 데이터가 컨볼루션 인코딩된다면 비터비 디코더를 사용할 수 있다.
LLR 블록(580k, 580j)은 부분적으로 파일럿 인터레이스 프로세서(510p)에 의해 생성된 채널 추정치를 이용하여 부대역 데이터를 디코딩할 수 있다. 도 5에 나타낸 예에서, 파일럿 인터레이스 프로세서(510p)는 각 데이터 인터레이스 프로세서(510k, 510j)에서와 같이 회전자(54Op) 및 누산기(520p)를 포함한다.
누산기(520p)는 데이터 인터레이스 프로세서(510k, 510j)에서와 같은 방식으로 메모리(530p)에 파일럿 샘플들을 축적한다. FFT 모듈(55Op)은 축적된 파일럿 샘플들에 512-점 FFT를 수행하여 시간 영역 표현을 주파수 영역 파일럿 부대역으로 변환한다.
FFT 모듈(55Op)의 출력은 파일럿 외삽 및 복조 모듈(560)에 연결된다. OFDM 시스템은 주파수 부대역 한정의 대역 에지 근처에 미리 결정된 보호 대역을 정의하여 송신이 할당된 대역폭 이상으로 확장하지 않게 할 수 있다. 보호 대역 내의 부대역 상에서는 파일럿 또는 데이터 정보가 전송되지 않는다.
파일럿 외삽 및 복조 모듈(560)은 보호 대역의 부대역에서 파일럿 값들을 추정하기 위해 파일럿 부대역의 값들을 외삽하도록 동작할 수 있다. 외삽은 채널 추정치를 복원하기 위해 파일럿 부대역이 복조되는 파일럿 복조 전에 일어날 수 있다. 파일럿 부대역은 알려진 심벌 또는 시퀀스로 변조된다. 알려진 심벌 또는 시퀀스는 의사 랜덤 시퀀스에 의해 스크램블링될 수 있고, 파일럿 외삽 및 복조 모듈(560)은 복조 프로세스에서 파일럿 부대역을 디스크램블링할 수 있다.
복조 및 외삽된 파일럿 부대역들은 파일럿 부대역의 원(raw) 채널 추정치를 나타낸다. IFFT 모듈(562)이 원 채널 추정치에 대해 동작하여 채널 추정치를 채널 임펄스 응답으로 변환한다. 도 5의 예에서, IFFT 모듈(562)은 512-점 IFFT를 수행함으로써 512 탭 채널 임펄스 응답을 생성한다.
채널 임펄스 응답은 실질적으로 파일럿 인터레이스 프로세서(510p)에서 최초 회전자(514p)에 의해 수행된 반대 회전을 수행하는 회전자(564)가 연결된다. 회전자(564)의 출력은 시간 필터(566)에 연결되며, 채널 임펄스 응답은 시간 필터링될 수 있다. 시간 필터(566)는 현재 채널 임펄스 응답 및 추가 채널 임펄스 응답 값에 부분적으로 기초하여 채널 임펄스 응답을 필터링하도록 구성될 수 있다. 추가 채널 임펄스 응답 값들은 이전 채널 임펄스 응답 값은 물론 앞으로의 채널 임펄스 응답 값 또한 포함할 수 있으며, 앞으로의 채널 임펄스 응답 값은 다음으로 수신된 OFDM 심벌에 기초한 채널 임펄스를 나타낸다.
FFT 프로세서는 다수의 심벌 샘플을 저장할 수 있고 저장된 각 샘플에 대한 채널 임펄스 응답을 결정할 수 있다. 따라서 시간 필터(566)는 충분한 개수의 OFDM 심벌을 저장하고 이들의 각 채널 추정치를 결정함으로써 넌-코절 필터를 구현할 수 있다. 따라서 시간 필터는 필터링된 채널 임펄스 응답에 관한 "앞으로의" 심벌을 나타내는 다음 심벌들의 샘플링 및 처리를 가능하게 하도록 충분히 이전에 결정된 채널 추정치에 대해 동작할 수 있다.
물론, 시간 필터(566)는 FIR, IIR 또는 다른 타입의 필터를 포함하여 사실상 어떤 타입의 필터로도 구현될 수 있다. 추가로, 시간 필터(566)는 코절 또는 넌-코절 필터 응답을 구현할 수 있다.
시간 필터링된 파일럿 임펄스 응답은 각 데이터 인터레이스 프로세서(510k, 510j)에 연결되며, 개별 데이터 인터레이스에 관련된 파라미터들에 따라 또 필터링 또는 처리된다. 파일럿 필터(572k, 572j)는 특정 데이터 인터레이스에 부분적으로 기초하여 파일럿 임펄스 응답을 절단(truncate)하거나, 각종 임펄스 응답 탭들을 임계화(threshold)하도록 동작할 수 있다.
파일럿 필터(572k, 572j)의 출력은 특정 데이터 인터레이스에 대한 파일럿 임펄스 응답을 회전시키는 회전자(574k, 574j)에 연결된다. 회전자(574k, 574j)의 출력은 FFT 모듈(576k, 576j)에 연결되며, 최종 채널 임펄스 응답은 데이터 인터레이스 주파수에서 채널 주파수 응답 추정치로 변환된다. 채널 주파수 응답 추정치는 데이터 인터레이스들의 부대역들의 디코딩에 사용하는 LLR 블록(580k, 580j)에 연결된다.
도 6은 OFDM 프로세서 공유 메모리 이용의 간소화된 타임라인(600)이다. FFT 프로세서의 메모리 구조는 다수의 뱅크로서 배치될 수 있다. 도 3 또는 도 4의 FFT 프로세서와 같은 FFT 프로세서의 실시예에서, 메모리는 8개의 개별 뱅크로서 배치될 수 있다. 뱅크 1, 2, 3은 인입 샘플들을 위한 것이다. 뱅크 4, 5, 6은 파일럿 정보를 저장한다. 뱅크 7은 미세 주파수 결과를 저장하고, 뱅크 8은 채널 추정 결과를 저장한다. 타임라인(600)은 메모리 뱅크 어드레스, 데이터 및 제어 멀티플렉서의 동작을 지시한다.
타임라인(600)은 입력 샘플 스트림(610)의 예시적인 프레임 구조를 나타낸다. 인입 샘플 스트림(610)은 특정 순서로 배치될 수 있다. 정보의 각 심벌, 예를 들어 612는 순환 프리픽스(614)에 의해 인접 심벌과 분리된다. 일부 심벌들은 전체 심벌 구간에 이르는 데이터를 포함할 수 있는 한편, 다른 심벌들은 전체 심벌 구간보다 짧게 포착될 수 있는 데이터를 가질 수 있다.
인입 샘플 저장부(620)는 인입 샘플들(620)을 메모리 뱅크 1, 2 또는 3 중 하나에 전달한다. 최초 TDM 파일럿 및 오버헤드(OIS) 정보가 메모리 뱅크 1에 저장된다. 이후, 인입 샘플들은 메모리 뱅크 1, 2, 3으로 순환한다.
현재 인입 샘플들을 저장하는 메모리 뱅크에 대해 복조(630)가 동작한다. FFT 엔진(640)은 심벌들이 포착된 후 동작하며 메모리 뱅크 1을 이용하고 메모리 뱅크 4, 5, 6을 순환한다.
미세 타이밍 동작(650)은 TDM 파일럿 2 심벌의 1/2 동안 일어나고 뱅크 1 및 7을 이용하여 동작한다. 채널 추정 동작(660)은 메모리 뱅크 4, 5, 6의 FFT 결과에 작용하고 결과에 대해 메모리 뱅크 8 또한 이용한다. LLR 블록(670)은 인입 샘플들에 사용되는 메모리 뱅크를 순환한다.
타임라인(600)은 FFT 프로세서의 다수의 동작 사이에 메모리 뱅크가 어떻게 공유되는지를 나타낸다. 타임라인(600)은 다수의 동작의 타이밍이 서로 어떻게 의존하는지를 나타낸다.
샘플 메모리 제어 로직은 심벌에 대한 임의의 데이터가 처리되어야 하는지를 결정한다. 처리될 데이터가 없다면, 해당 샘플에 대한 인입 샘플들은 복조, 저장 또는 처리되지 않을 것이다. 그러나 원하는 데이터의 시작 전 샘플에서, 채널 추정을 위해 파일럿 신호가 복조된다.
FFT 프로세서에서의 각종 동작의 타이밍은 다수의 데이터 의존성을 생성한다. FFT 및 미세 타이밍 블록은 OIS 정보의 시작 전에 완료해야 한다. 구체적으로, 미세 타이밍 블록은 제 1 OIS 심벌 데이터가 수신되기 전에 하나의 사이클이 준비되어야 한다. FFT, 채널 추정 및 LLR 블록은 인입 샘플들의 메모리 뱅크를 채우는데 걸리는 시간보다 짧은 시간 안에 완료해야 한다.
FFT 프로세서는 3개의 데이터 심벌을 유지하기에 충분한 메모리를 갖는다. 채널 추정 알고리즘은 데이터에 대해 현재 처리되고 있는 심벌 전에, 도중 그리고 뒤에 심벌들로부터의 파일럿 정보를 필요로 한다. 파일럿 값들과 인터레이싱되는 데이터 값들로 구성된 샘플들은 순차적으로 도착한다. 전체 심벌이 수신될 때까지 처리가 수행될 수 없다. 따라서 3개의 데이터 심벌을 유지하기 위해 충분한 메모리가 필요하다.
다음과 같은 방식으로 인입 심벌들을 포착하기 위해 3개의 메모리 블록이 사용될 수 있다. 제 1 메모리, 예를 들어 뱅크 1은 AFC 블록으로부터의 인입 샘플들을 모은다. 제 2 메모리, 예를 들어 뱅크 2는 데이터 값들을 유지한다. 이 메모리는 FFT 처리 유닛 - FFT 코어 및 채널 추정 블록에서 서로 다른 연산 엔진에 의해 사용된다. 제 3 메모리, 예를 들어 뱅크 3은 심벌 인터레이스 데이터를 유지한다. 이 메모리는 대부분의 계산에 사용된다.
수신된 샘플들은 FFT 처리를 최적화하기 위해 특정 순서, 열 방향으로 저장한다. 4096개의 샘플은 8개의 블록으로 나누어진다. 블록 0은 파일럿 정보를 포 함하는 한편, 블록 1 내지 7은 데이터를 포함할 수 있다.
기수-8 FFT 엔진은 8개의 샘플이 버터플라이 회로에 입력될 것을 요구한다. 이들 8개의 샘플을 하나의 메모리 행에 그룹화함으로써, 기수-8 FFT 엔진은 사이클마다 값들을 계산할 수 있다.
인입 샘플 데이터에 대해, 메모리 뱅크의 적절한 라인이 패치된다. 8의 라인의 한 값은 다시 기록되기 전에 업데이트된다. 기수-8이 512-점 FFT를 수행하기 위해서 3개의 스테이지가 필요하다. 메모리의 8개의 행으로 이루어진 서로 다른 집합에 액세스하여 512-점 FFT를 수행한다.
상술한 샘플 메모리 외에도, 채널 추정 블록은 5개의 추가 메모리를 사용한다. 각 메모리(512)는 크기가 512 샘플이며, 64개의 행을 갖고 행마다 8개의 샘플을 갖는다. 3개의 채널 추정 메모리가 과거, 현재, 미래의 파일럿 관찰 결과를 보유한다. 다른 2개의 채널 추정 메모리가 2개의 시간 필터 회로에 대한 출력을 보유한다. 채널 추정 블록의 최종 출력은 샘플 메모리의 활성 블록의 파일럿 인터레이스에 다시 저장된다.
도 7은 공유 메모리를 이용한 파일럿 처리의 간소화된 기능 블록도이다. 샘플 메모리 파일럿 인터레이스(710)를 저장하는 메모리로부터 파일럿 데이터가 판독된다. 파일럿 데이터는 회전자(720)에서 회전되고 3개의 채널 추정 메모리(740) 중 하나에 저장된다. 카운트는 활성 데이터가 있을 때 모든 심벌을 증분하고 3개의 채널 추정 메모리(740) 중 어느 메모리에 파일럿 데이터가 저장되어야 하는지를 멀티플렉서(730)에 지시한다.
채널 추정 메모리(740)에 저장된 채널 추정치는 시간 필터링된 채널 추정치를 생성하기 위해 시간 필터(750)에서 사용된다. 시간 필터(750)는 다수의 시간 필터링된 채널 추정치를 생성할 수 있으며, 다수의 시간 필터링된 채널 추정치를 대응하는 필터링된 채널 추정 메모리(760)에 저장할 수 있다.
제 2 회전자(770)는 필터링된 채널 추정치를 결합하거나 그렇지 않으면 선택할 수 있고, 결합한 채널 추정치를 회전시킬 수 있다. 결과적인 추정치는 샘플 메모리의 뱅크로 반환된다.
도 8은 채널 처리 상태 머신의 간소화된 상태도(800)이다. 채널 처리 상태 머신은 레지스터 세팅을 이용하여 인입 데이터 심벌들에 대해 언제 그리고 어떻게 작용하는지를 결정할 수 있다. 임의의 소정 심벌에 대해, 채널 처리 상태 머신은 FFT 프로세서가 다수의 기능 중 특정 기능을 수행해야 한다고 결정할 수 있다.
채널 프로세서에 대한 상태 머신은 유휴 상태(890)에서 인입 샘플의 복조가 이어지는 동작 결정 상태(801)로 전이할 수 있다. 채널 처리 상태 머신은 채널 추정 및 채널 추정 연산을 위한 파일럿 관찰 결과의 추출(803), IFT 블록(11)으로부터의 동적 시간 추적 조정(DMTT) 요청, 7개의 데이터 슬롯 중 일부/전부에 대한 데이터 처리(802), 7개의 데이터 슬롯 중 일부/전부로부터 LLR 블록으로의 데이터 전송(810), 및 특별한 프레임 0 심벌에 대한 특별한 처리, WIC(809) 처리, LIC(813) 처리 및 TDM2 미세 타이밍 처리(804)를 위한 상태로 전이할 수 있다.
도 9는 FFT 프로세서의 실시예에 관한 상태도(900)이다. 상태도는 파일럿 처리, 채널 추정, LLR 처리 및 FFT 처리의 수행에 관한 상태 전이를 나타낸다. 상 태도로부터 알 수 있듯이, FFT 및 IFFT 동작은 머신을 통해 액세스하고, 많은 상태가 FFT 동작 또는 IFFT 동작으로 또는 이를 통해 전이한다.
도 10은 FFT 엔진(1000)의 실시예의 간소화된 기능 블록도이다. FFT 및 IFFT 연산의 유사성 때문에, FFT 엔진(1000)은 FFT 연산 또는 IFFT 연산을 수행하도록 구성될 수 있다. FFT 엔진은 512-점 FFT에 관해 설명한다. 그러나 FFT 엔진(1000)은 이러한 실시예에 한정되는 것이 아니라, FFT 엔진(1000)의 각종 엘리먼트에 대한 변경이 다른 FFT 차원을 수행하게 할 수 있다.
FFT 엔진(1000)은 주파수 데시메이션(Decimation)을 이용하여 구현된 512-점 FFT를 수행하도록 구성된다. 주파수 데시메이션과 시간 데시메이션의 차이점은 회전 메모리 계수이다. FFT 엔진(1000)은 유리하게 기수-8 FFT를 이용하여, 512-점 FFT가 3개의 스테이지에서 수행될 수 있다. 물론, 다른 기수 값 또는 기수값들의 조합이 FFT 엔진(1000)에 사용될 수 있다. 예를 들어, FFT 엔진(1000)은 기수-2, 기수-4, 기수-8 FFT 또는 다른 기수 FFT의 조합을 이용할 수 있다.
FFT 엔진(1000)은 FFT 연산이 수행되는 복소 샘플의 저장을 위한 샘플 메모리(1010)를 포함한다. 상술한 바와 같이, 샘플 메모리는 다수의 블록 사이에 공유될 수 있고, 중간값뿐 아니라 처리된 FFT 결과가 다른 모듈에 의해 액세스하기 위한 샘플 메모리 위치에 저장될 수 있다.
FFT 엔진(1000)은 버터플라이 코어(1030)에서 행별로 샘플을 판독하기 위해 샘플 메모리에 액세스하기 위한 레지스터(1020)를 포함한다. 샘플 메모리 행은 또한 전치 메모리(1040)의 행에서 직접 판독될 수도 있고, 전치 메모리는 등록 메모리일 수도 있다. 버터플라이 코어(1030)는 FFT 또는 IFFT를 수행하도록 설정되며, 단일 기수-8 연산 또는 2 기수-4 연산으로서 계산할 수 있다.
각 버터플라이 연산의 결과는 열 방향으로 전치 메모리(1040)에 기록되며, 이는 예를 들어 전치 레지스터의 8×8 구성을 포함할 수 있다. 전치 메모리(104)로부터의 결과는 행 또는 열 방식으로 판독되고 행 방식으로 샘플 메모리(1010)에 기록된다. 열 방향 기록 후에 뒤이은 행 판독은 메모리의 내용을 전치하게 된다.
FFT의 각 스테이지에 대한 회전 인자가 회전 메모리(1070)에 저장될 수 있으며, 회전 메모리는 회전 ROM일 수 있다. 회전 인자는 메모리의 행마다 4개의 회전 인자로서 배치될 수 있다.
4개의 복소 곱셈기를 포함하는 곱셈기 모듈(1060)은 회전 인자를 이용하여 전치 메모리(1040)의 값들을 회전시킬 수 있다. 4개의 복소 곱셈기는 단일 사이클에서 4번의 복소곱을 가능하게 하는 회전 메모리(1070)의 단일 행렬의 회전 인자 수와 일치한다.
전치 메모리(1040)의 가중값들은 다시 샘플 메모리(1010)의 원래 위치에 기록되기 전에 정규화 레지스터(1050)에서 정규화된다.
도 11은 기수-8 FFT에 대한 완전한 버터플라이 연산(1100)을 나타낸다. 영역 A 및 B에서 회전곱 값들을 조정함으로써, 버터플라이 코어는 기수-8-점 FFT를 수행하도록 변경될 수 있다. 기수-4 연산을 수행하기 위해, (도 11에 Out4로 나타낸) 제2 스테이지 덧셈기의 결과가 (도 11에 Out8로 나타낸) 최종 합 대신 사용될 수 있다.
메모리로부터 판독된 모든 값은 즉시 등록될 수 있다. 도 11은 코어가 기수-8 모드로 동작할 때 사용되는 레지스터를 나타낸다. 코어가 2 기수-4 섹션으로서 동작할 때, 입력 값들은 등록 전치 블록의 레지스터로부터 나오고, 따라서 다시 등록될 필요가 없다.
또한, 덧셈기들의 제 1 집합 전에 입력이 비트 반전된다. 기수-8 연산에서, 이는 전체(full) 3-비트 반전: 0->0, 1->4, 2->2, 3->6, 4->1, 5->5, 6->3, 7->7. 기수-4 연산에서, 4개의 입력으로 이루어진 각 집합은 2-비트 반전을 이용한다: 0->0; 1->2; 2->1; 3->3; 4->4; 5->6; 6->5; 7->7.
각 덧셈기 집합을 통해 값들이 전파될 때, 그 비트 폭은 포화(saturation)를 막기 위해 1씩 증가한다. 입력 값들은 9 비트로 표현된다. 제 1 합은 10 비트로 표현된다. Out4 값은 11 비트로 표현되고, Out8 값은 12 비트로 표현된다.
도 11에 나타낸 것과 같이, FFT를 위해 A 영역의 제 4 및 제 8 합에는 w(2)가 곱해져야 하고, IFFT의 경우 이 값은 w(6)이 된다. 회전 인자 W(k)의 결정은 다음과 같이 결정될 수 있다: W(k) = exp(-j2πk/8).
w(*) 곱은 다음과 같이 구현된다:
w0은 (I + jQ)*(1 + j0) = I + jQ와 같고, 어떠한 변경 필요성도 없다.
w1은 (I + jQ)*(1/sqrt(2) - j/sqrt(2))와 같다. 복소 곱셈기가 필요하다. 1/sqrt(2)의 값에 대해, 9 비트 부호 상수(signed constant)가 사용된다.
w2는 (I + jQ)*(0 - j1) = Q - jI와 같다. 입력의 실수부에 대한 2의 보수 부정을 수행한 다음 더하는 대신, 실수부의 값은 변경되지 않고 뒤이은 덧셈기가 뺄셈기로 바뀌어 부호 변화를 고려한다.
w3은 (I + jQ)*(-1/sqrt(2) - j/sqrt(2))와 같다. 복소 곱셈기가 필요하다. 1/sqrt(2)의 값에 대해 9 비트 부호 상수가 사용된다.
w4는 (I + jQ)*(-1 + j0) = -I - jQ와 같다. 그러나 이 값은 어떤 FFT 연산에도 사용되지 않는다.
w5는 (I + jQ)*(-1 + j/sqrt(2))와 같다. 복소 곱셈기가 필요하다. 1/sqrt(2)의 값에 9 비트 부호 상수가 사용된다.
w6은 (I + jQ)*(0 + j1) = -Q + jI와 같다. 입력의 허수부에 대한 2의 보수 부정을 수행한 다음 더하는 대신, 허수부의 값은 변경되지 않고 뒤이은 덧셈기가 뺄셈기로 바뀌어 부호 변화를 고려한다.
w7은 (I + jQ)*(1/sqrt(2) + j/sqrt(2))와 같다. 복소 곱셈기가 필요하다. 1/sqrt(2)에 9 비트 표시 상수가 사용된다.
도 12는 기수-8 FFT 버터플라이의 처음 두 상태에 관한 실시예의 기능 블록도이다. 부분적인 버터플라이 코어(1200)는 도 11에 나타낸 버터플라이 코어(1100)의 Out4를 통한 입력으로부터의 계산들을 포함한다.
두 세트의 덧셈기가 제 4 및 제 8 합에 사용된다. 한 세트는 w(2)를 계산하는 한편, 다른 세트는 w(6)을 계산한다. fft_ifft_n 신호는 어느 합을 사용하는지 를 제어한다.
도 13은 기수-8 FFT 버터플라이의 최종 스테이지의 실시예의 기능 블록도이다. 부분적인 버터플라이 코어(1200)는 도 11에 나타낸 버터플라이 코어(1100)의 Out4로부터 출력까지의 연산을 포함한다.
B 영역에서 제 6 및 제 8 값에 대해 실수 복소수 곱셈기가 필요하다.
FFT 수행시 이들은 w(1) 및 w(3)일 것이다.
IFFT 수행시 이들은 각각 w(7) 및 w(5)일 것이다.
w(1)/w(7)에 대한 곱의 합은 다음과 같다:
P = 1/sqrt(2),
W(1) = PI + PQ + j(-PI + PQ)
W(7) = PI - PQ + j(PI + PQ)
덧셈기와 뺄셈기에 대한 입력값을 조정하고 이들의 끝점에 대한 합과 차를 조정하기 위해 fft_ifft_n 신호가 사용된다. 이 구현은 단지 2개의 곱셈기와 2개의 덧셈기(덧셈기 하나와 뺄셈기 하나)만 필요하다.
w(3)/w(7)에 대한 곱의 합은 다음과 같다:
P = 1/sqrt(2),
W(3) = -PI + PQ + j(-PI - PQ)
W(5) = -PI - PQ + j(PI - PQ)
P를 사용하는 대신, fft_core는 이들 곱의 합에 R = -1/sqrt(2)를 사용한다. R을 이용하면 식은 다음과 같아진다:
W(3) = RI - RQ + j(RI + RQ)
W(5) = RI + RQ + j(-RI + RQ)
이들 곱의 합은 20 비트 폭이 되고 2개의 부호 비트를 갖는다. 곱의 합이 더해질 때, 이들은 20 비트 폭이 되고 하나의 부호 비트를 갖는다. 이들 합은 8개의 최하위 비트(LSB)를 반올림하고 하나의 MSB를 포화시킴으로써 다시 11 비트로 정규화된다.
신호 fft_ifft_n은 덧셈기와 뺄셈기에 대한 입력값뿐 아니라 이들의 끝수에 대한 합과 차를 조정하는데 사용된다. 이전과 같이, 2개의 곱셈기와 2개의 덧셈기(덧셈기 하나와 뺄셈기 하나)만 필요하다.
영역 B에서의 사소한 곱셈은 영역 A에서와 동일하게 처리된다.
타이밍을 맞추기 위해, 이들 모든 연산은 보통 과도한 하드웨어를 통합하지 않고 단일 클록 사이클에서 이루어질 수 없다. 대부분의 Out4 값을 포착하기 위해 레지스터 집합이 추가되었다. 등록되기 전에 제 6 및 제 8에 대한 Out4 값에 상수 P와 R이 곱해진다. 이러한 레지스터의 배치는 다음과 같은 최악의 경로에 대한 연산의 균형을 맞춘다:
제 1 사이클: 멀티플렉서 => 덧셈기 => 덧셈기 => 멀티플렉서 => 곱셈기
제 2 사이클: 덧셈기 => 멀티플렉서 => 덧셈기 => 덧셈기
마지막으로, Out4 또는 Out8 값을 전송하기 위해 fft512_4_n 신호가 사용된다. Out4 값들은 11 비트에서 12 비트로 부호 확장된다.
FFT 블록은 3회의 기수-8 버터플라이 코어 통과를 이용하여 단일 512-점 FFT 를 수행한다. 이를 위해, 처음 2회의 통과로부터의 결과는 회전 값들이 곱해지고 정규화된 어떤 값들을 가져야 한다. 메모리의 단일 행에 8개의 값이 저장되기 때문에, 값들이 판독될 때의 순서는 값들이 다시 기록될 때와 다르다. 2k I/FFT가 수행된다면, 메모리 값들은 버터플라이 코어에 전송되기 전에 전치되어야 한다.
기수-8 FFT는 8×8 레지스터를 사용한다. 64개의 레지스터 모두 버터플라이 코어로부터 입력을 수신한다. 레지스터들 중 56개는 복소 곱셈기로부터 입력을 수신한다. 32개의 레지스터가 메모리 구조의 메인 메모리로부터 입력을 수신한다. 각 레지스터는 그 입력에 2:1 또는 3:1 멀티플렉서를 가질 수 있다. 메인 메모리로부터의 입력은 레지스터들의 행에 기록된다. 버터플라이 코어로부터의 입력은 레지스터들의 열에 기록된다. 복소 곱셈기로부터의 입력은 그룹으로 수행된다.
64개의 모든 레지스터가 정규화 연산 및 레지스터를 통해 메인 메모리에 출력을 전송한다. 정규화 순서는 I/FFT의 각 타입 및 스테이지마다 다르다.
64개의 모든 레지스터가 복소 곱셈기에 출력을 전송할 수 있다. 56개의 레지스터는 회전곱을 필요로 하고, 32개의 레지스터는 제곱을 필요로 한다. 32개의 레지스터는 버터플라이에 전송된 각자의 값을 갖는다.
데이터 FFT, 채널 추정 FFT, WIC/LIC 처리 및 미세 타이밍 IFFT를 위해 정규화 회로에 행 단위로 값이 전송된다.
채널 추정 IFFT, 파일럿 FFT 및 IFFT를 위해 열 단위로 값이 전송된다.
버터플라이 코어에 값이 전송될 때, 값들은 열 단위로 전송된다. 복소 곱셈기에 값들이 전송될 때, 이들은 그룹으로 이루어진다.
도 14는 기수-8 FFT에서 회전곱 순서를 나타내는 전치 메모리(1400)의 간소화된 표현이다. 전체 기수-8 FFT를 수행하는데 필요한 총 사이클 수를 줄이기 위해, FFT 연산은 높게 파이프라인화 된다. 버터플라이 코어로부터 값이 출력되어 전치 메모리(1400)에 등록되면, 이들은 회전곱을 위해 전송될 수 있다.
회전곱의 순서는 버터플라이 코어로부터 열 단위로 등록되고 행 단위로 전송된 값을 회전곱한 값들에 기초한다. 최소한으로, 전체 기수-8 FFT 연산에는 8 판독 + 8 기록 사이클이 필요하다. 적어도 16 사이클이 이용 가능하다면, 4개의 복소 곱셈기를 이용한 회전 연산에 14 사이클이 필요하다. 더 적은 곱셈기는 메모리 덮어쓰기 동작을 멎게 하지만, 추가 곱셈기는 파이프라인의 적어도 1/2이 유휴 상태가 되게 하는 과도한 하드웨어가 되어 자원을 낭비하게 된다. 도 10에 나타낸 구현에서는, 전체 기수-8 FFT 연산에 21 사이클이 필요하다.
도 14의 전치 메모리(1400)의 1열의 값들은 회전곱을 필요로 하지 않는다. 2열이 기록되면, 그룹 1의 값들이 복소 곱셈기에 전송될 수 있다. 이는 그룹 7까지 반복된다. 처음 7개의 그룹의 모든 값은 열 방향으로 인접한다. 이 시점에서, 처음 4개의 행은 메인 메모리에 전송될 준비가 되는 한편, 맨 아래 4개의 행은 회전곱이 이루어진다.
나머지 값들의 그룹은 행 방향 그룹화로 구해진다. 각각의 행 방향 그룹화는 인접한 행 값들에 있음을 알 수 있고, 값들은 원형으로 인접한다. 따라서 그룹 9에서, 예를 들어 값 [4, 0]은 행 [4, 7]의 마지막 값에 원형 방향으로 인접하다.
도 15는 파이프라인 기수-8, 512-점 FFT 연산의 간소화된 타이밍도이다. 도 15의 파이프라인 타임라인(1500)은 기수-8 연산을 위한 버터플라이 계산, 회전 계산 및 정규화 계산의 중첩 특성을 나타낸다.
사이클 0에서, 메모리의 1행의 처음 8개의 값이 판독된다(도 14에서 값 0). 메모리로부터의 값은 다음 사이클에서 FFT에 이용 가능하다. 메모리로부터의 값은 연산 전에 등록된다. 이는 메모리 액세스를 1 사이클 지연시키게 된다. 따라서 cycle_count = 2가 되어서야 입력 코어 레지스터가 제 1 메모리 행에 대해 유효한 데이터를 갖게 된다. 타이밍 요건을 충족시키기 위해, 버터플라이 연산은 두 사이클 걸린다. cycle_count = 3일 때, 제 1 메모리 행에 대해 버터플라이 연산의 1/2이 수행되었다. cycle_count = 4일 때, 버터플라이 연산이 완료되었고 결과는 전치 레지스터 뱅크에 등록된다.
cycle count = 4 까지 준비된 정확한 회전 계수 값들이 준비되도록 하기 위해서, 회전 메모리에 대한 어드레스 tw_addr은 cycle_count = 3일 때 유도되어야 한다. 계수들은 cycle_count = 4일 때 등록될 것이고, cycle_count = 5일 때 버터플라이 결과들의 제 2 집합에 대해 곱하기 위해 이용 가능하다.
cycle_count = 11일 때, 그룹 7에 대한 값은 전치 레지스터에 덮어쓰기 된다. 이 시점에서, 도 14의 처음 4 행이 완성되고, 정규화되어 메모리에 다시 기록된다.
cycle_count = 12일 때, 레지스터의 제 1 행이 판독되어 값들이 정규화된다. 정규화된 값은 전치 레지스터를 포함하는 64개의 레지스터와는 별개인 정규화 레지스터에 저장된다. cycle_count = 13일 때, 정규화 레지스터로부터의 값들은 다시 메인 메모리에 전송된다. 어떤 I/FFT의 제 3 스테이지에서도 회전곱이 일어나지 않는다. 따라서 이 파이프라인 타이밍으로 (데이터 FFT를 위해) 열 단위로 덮어쓰기 하는 문제점이 없다.
도 16은 파이프라인 2048-점 FFT의 간소화된 타이밍도(1600)이다. 파이프라인 타이밍도(1600)는 512-점 FFT 결과들의 집합으로부터 2048-점 FFT를 수행하는 연산을 나타낸다.
2048-점 FFT의 연산은 512-점 FFT와 매우 비슷하다. 그러나 2048은 8의 거듭 제곱이 아니기 때문에 FFT는 512-점 FFT의 결과들에 기수-4 연산을 수행한다.
2048-점 I/FFT를 수행할 때, 4번의 서로 다른 512-점 I/FFT의 결과에 기수-4 연산이 이루어진다. 4개의 각 인터레이스로부터 하나의 행이 판독되고, 512개의 값에는 각각 512-점 I/FFT가 이루어진다.
메모리 구조는 인터레이스 값이 어드레스로서라기보다는 4개의 서로 다른 당해 인터레이스 중에 선택하는 멀티플렉서로서 사용되게 한다. 이에 따라 cycle_cnt = 1일 때, 4개의 모든 인터레이스에 대한 메모리 위치 0으로부터의 값들이 준비되고, 적절한 값을 선택하기 위해 fft_intl이 사용된다. cycle_cnt = 5일 때, 4개의 모든 행이 판독되었고 처음 2개의 열이 버터플라이 코어에 전송된다. 버터플라이 코어는 한 사이클에서 2회의 기수-4 계산을 수행하고, 값을 전치 레지스터로 반환한다. 개별 레지스터 입력의 복잡성을 줄이기 위해, 각 쌍에서 두 번째 열에 대한 4개의 값이 이들이 발생한 열의 맨 밑의 4개의 레지스터에 포착된다. 기수-4 결과는 회전곱을 수행하는 동일한 복소 곱셈기를 이용하여 제곱한다. cycle_cnt = 6일 때, 제공된 값은 메모리에 덮어 씌워지기 전에 정규화 준비가 된다. 비트 폭 제약으로 인해, 제곱한 값에 서로 다른 정규화가 수행된다. 정규화된 값은 최초 미세 타이밍 블록(IFT)에 기록된다.
각 행의 4개의 값으로 회전 계수가 메모리에 편성된다. 값들을 계산하거나 회전값들의 중복 없는 집합을 저장하는 시도를 하고 원하는 값을 어드레싱하는 시도를 하기보다는, 특정 스테이지에 관련된 메모리의 행들에 회전 값을 저장하는 것이 유리할 수 있다.
사이클마다 4번, 56회의 곱이 수행되어 14 사이클이 필요하다. 각종 회전 계수의 위치를 결정하기 위해, 도 14에 주어진 곱 순서로 오버레이하기 위해 512-점 및 64-점 계수 행렬이 필요하다. 데이터의 행이 완성되면, 메모리 뱅크에 덮어쓰기 된다.
처음 8개의 행(0, 8, 16 등)이 덮어쓰기 된 후, 다음 8개의 행이 판독된다. 제 1 스테이지에서, 이들은 행 1, 8, 17 등이 될 것이다. 행 7, 15, 23 등이 처리된 후, FFT는 제 2 스테이지로 진행하게 된다. 제 2 및 제 3 스테이지에서, 행들은 순서대로 액세스 된다.
레지스터 값들은 12 비트 폭이다. 회전 계수들은 8 비트 폭이다. 결과적인 20 비트 곱은 전치 레지스터에 저장되기 전에 12 비트로 반올림 된다. 채널 추정의 제 1 또는 제 3 스테이지가 수행될 때 반올림이 일어난다. 12 MSB에 13번째 비트가 추가된다. 다른 모든 경우에, 반올림을 수행되지 않으며 나중까지 모든 정규화는 그대로이다. 12 MSB가 간단히 반환된다.
제곱을 위해 동일한 12×8 곱셈기가 사용된다. 기수-4 연산 후 레지스터 값은 11 비트 폭이다. 레지스터 값은 하나의 곱셈기 입력에 대해 12 비트로 부호 확장된다. 다른 곱셈기 입력에 대해 8 비트를 얻기 위해, 레지스터 값은 반올림 된 2개의 LSB를 갖고 MSB에 대해 포화를 체크한다. 20 비트 곱은 14 비트로 반올림 되고 포화가 체크되어 11 비트로 다운된다. 11 비트 값은 추가 연산을 위해 IFT 블록으로 전송된다.
도 17은 OFDM 신호를 처리하는 방법(1700)의 간소화된 흐름도이다. 이 방법은 예를 들어 도 3 또는 도 4의 FFT 프로세서, 또는 도 1의 시스템의 사용자 단말에 의해 수행된다.
상기 방법(1700)은 블록(1710)에서 시작하여 FFT 프로세서가 샘플을 수신하고, 샘플들은 수신된 OFDM 심벌 또는 수신된 OFDM 심벌 칩의 복소 샘플일 수 있다. FFT 프로세서는 블록(1720)으로 진행하여 수신된 샘플들을 각각 복조한다. FFT 프로세서는 블록(1730)으로 진행하여 복조된 샘플들을 메모리, 예를 들어 도 3에 나타낸 메모리 구조의 샘플 메모리 뱅크에 저장한다.
FFT 프로세서는 블록(1740)으로 진행하여 복조된 샘플들로부터 채널 추정치를 결정한다. 일 실시예에서, 복조된 샘플들은 다수의 인터레이스 샘플로서 저장되고, FFT 프로세서는 파일럿 인터레이스를 기초로 채널 추정치를 결정한다.
FFT 프로세서는 블록(1750)으로 진행하여 하나 이상의 데이터 인터레이스에 대응하는 데이터 부대역들을 결정한다. 각 부대역은 인코딩된 데이터를 가질 수 있고, FFT 프로세서 또는 관련 모듈은 부대역 데이터의 디코딩을 수행할 수 있다. 일 실시예에서, 부대역 데이터는 인터레이스의 각 부대역에 대한 채널 추정치와 함께 LLR 모듈에서 처리된다.
도 18은 심벌 샘플들을 복조하는 방법(1720)의 간소화된 흐름도이다. 방법(1720)은 도 17의 방법에서 수행된 복조 동작에 대응할 수 있다. 샘플들을 복조하는 방법(1720)은 도 3 또는 도 4의 FFT 프로세서에 의해 수행될 수 있다. 보다 구체적으로, 심벌 샘플들을 복조하는 방법은 도 3의 복조 블록에 의해 수행될 수 있다.
복조 블록은 다수의 카운터를 포함할 수 있으며, 심벌의 맨 처음에 모든 카운터를 리셋함으로써 방법(1720)을 시작할 수 있다. 심벌의 시작은 소량 달라질 수 있지만, 그 소량은 시작 시간의 오차가 임의의 OFDM 순환 프리픽스의 듀레이션보다 작다면 복조 방법(1720)을 달성하는데에는 큰 영향이 없을 것이다.
복조 블록은 블록(1820)으로 진행하여 OFDM 심벌 내의 다수의 인터레이스로부터 인터레이스를 결정한다. 복조 블록은 예를 들어 모듈로-M 카운터로 인터레이스를 추적할 수 있으며, 숫자 M은 인터레이스 수에 대응한다. 처음에, 카운터는 0으로 설정될 수 있으며, 각 샘플 뒤에 증분할 수 있다.
복조 블록은 블록(1830)으로 진행하여 수신된 샘플을 회전한다. 일 실시예에서, 복조 블록은 수신된 심벌을 인터레이스를 기초로 결정된 고정값만큼 회전시킨다. 따라서 8개의 인터레이스를 갖는 OFDM 심벌에 대해, 입력 샘플은 8개의 위상 중 하나만큼 회전될 것이다.
샘플을 회전한 후, 복조 블록은 블록(1840)으로 진행하여 회전된 샘플들을 축적한다. 복조 블록은 P개의 인터레이스 값의 M개의 회전된 샘플을 축적하도록 구성될 수 있다. 즉, OFDM 심벌이 M개의 인터레이스를 포함하고 각 인터레이스가 P개의 부대역을 갖는 경우, 복조 블록은 심벌의 모든 샘플이 수신되어 회전되고 축적될 때까지, 처음 P개의 샘플을 회전하여 이들을 저장한 다음 모듈로-P 구성으로 샘플을 회전 및 축적할 수 있다.
각각의 축적 후, 복조 블록은 결정 블록(1850)으로 진행하여 모든 심벌 샘플이 복조되었는지 여부를 결정한다. 복조 블록은 예를 들어 M번째 인터레이스의 P번째 값이 M개의 값을 축적했는지를 결정함으로써 심벌 샘플들의 완료를 결정할 수 있다.
심벌 샘플들이 복조되었다면, 복조 블록은 블록(1860)으로 진행하여 심벌 복조가 완료된다. 복조 블록은 다음 심벌 복조로 진행할 수 있다. 결정 블록(1850)에서 복조 블록이 모든 심벌 샘플이 처리되지 않은 것으로 결정하면, 복조 블록은 다시 블록(1820)으로 진행하여 다음으로 도착하는 심벌 샘플의 인터레이스를 결정한다.
도 19는 OFDM 신호를 처리하는 방법(1900)의 간소화된 흐름도이다. 방법(1900)은 도 3 및 도 4에 나타낸 FFT 프로세서에 의해 수행될 수 있다. 특히, 방법(1900)은 도 10의 FFT 엔진에 의해 수행될 수 있다.
방법(1900)은 블록(1910)에서 시작하여, FFT 엔진이 샘플 메모리의 다수의 행을 판독한다. 일 실시예에서, FFT 엔진은 샘플 메모리로부터 판독된 각 값을 등록한다.
FFT 엔진은 블록(1920)으로 진행하여 한 행의 값들에 대한 버터플라이를 수행한다. 유리하게, 샘플 메모리의 각 행은 FFT 기수 값과 같은 다수의 샘플 값을 저장할 수 있다. 따라서 하나의 행이 단일 기수-R FFT에 대한 모든 값을 로딩할 수 있다.
FFT 엔진은 블록(1930)으로 진행하여 회전 메모리로부터 회전 인자들의 행을 구한다. 회전 인자 행은 샘플 메모리의 행보다 적은 값을 가질 수 있다. 일 실시예에서, 샘플 메모리의 각 행은 8개의 샘플 값을 포함하고, 회전 메모리는 각 행에 4개의 회전 인자를 저장한다.
FFT 엔진은 블록(1940)으로 진행하여 버터플라이 값들을 회전 인자와 곱한다. 일 실시예에서, 복소 곱셈기의 수는 회전 메모리의 행에서 회전 인자의 수와 동일하고, 회전 인자 곱은 한 사이클 내에서 실행될 수 있다. 회전 인자보다 많은 버터플라이 값이 있을 수 있기 때문에, 기수-R FFT의 각 스테이지를 완료하기 위해 1보다 많은 곱셈 단계가 수행될 필요가 있을 수도 있다. 각 버터플라이 값에는 보통 FFT의 스테이지당 단 하나의 회전 인자가 곱해진다. 어떤 버터플라이 값들은 회전 인자가 곱셈 없이 수행될 수 있기 때문에 복소 곱 함수를 필요로 하지 않을 수도 있다.
버터 플라이 값들에 회전 인자들을 곱한 후, FFT 엔진은 회전된 값들을 다시 메모리에 또는 레지스터에 기록하고, 값들의 행의 처리가 완료된다. 이와 같이 FFT 엔진은 메모리로부터 8회의 판독만으로 기수-8 FFT와 같은 기수-R FFT를 수행할 수 있다.
도 20은 FFT 프로세서(2000)의 간소화된 기능 블록도이다. FFT 프로세서는 데이터 저장 수단에 연결된 복조 수단을 포함한다. 데이터 저장 수단은 각종 모듈에 공유된다. 샘플 변환 수단은 데이터 저장 수단에 연결될 수 있다. 채널 추정 수단 또한 데이터 저장 수단에 연결될 수 있으며 저장된 값들에 대해 연산할 수 있다. 샘플값 변환 수단에 의해 생성된 부대역 정보를 디코딩하는 수단은 변환된 샘플값들에 대해 연산할 수 있다.
도 21은 FFT 엔진(2100)의 실시예의 간소화된 기능 블록도이다. FFT 엔진(2100)은 샘플 저장 수단을 포함하며, 샘플들은 복조된 OFDM 심벌 샘플일 수 있다. 샘플 저장 수단은 버터플라이 연산 수단에 연결된다. 처리 수단은 버터플라이 연산 수단에 의한 연산을 위해 샘플 저장 수단으로부터의 값들을 레지스터에 로딩하도록 구성될 수 있다.
버터플라이 연산 수단은 구해진 샘플들에 버터플라이 연산을 수행하고, 계산된 버터플라이 값들을 값 전치 수단에 기록하도록 구성된다. 데이터가 값 전치 수단에 예를 들어 열 방향 형태로 기록되고 행 방향 형태로 판독되어 값들의 전치를 가능하게 할 수 있다.
다수의 행에 회전 인자를 저장하기 위해 계수 저장 수단이 사용될 수 있다. 값 전치 수단으로부터의 값들을 정규화하기 위해 값 정규화 수단이 사용될 수 있다.
다수의 FFT 프로세서, FFT 엔진 및 OFDM 심벌 처리 방법이 설명되었다. 공유 메모리 구조를 이용한 다수의 모듈의 통합은 OFDM 수신기 설계를 크게 간소화할 수 있다. FFT 엔진은 복소 곱셈기와 같이 어떠한 값비싼 자원도 충분히 활용하지 못하는 일 없이 FFT 사이클 카운트를 매우 감소시키는 방식으로 구현될 수 있다.
여기서 사용된 것과 같이, 연결 또는 접속이라는 용어는 직접적인 연결이나 접속뿐 아니라 간접적인 연결도 의미하는데 사용된다. 2개 이상의 블록, 모듈, 소자 또는 장치가 연결되는 경우, 연결된 두 블록 사이에는 하나 이상의 개입 블록이 있을 수도 있다.
본원에 개시된 실시예들에 관련하여 설명한 다양한 예시적인 논리 블록, 모듈 및 회로는 여기서 설명하는 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서(DSP), 단축 명령어 세트 컴퓨터(RISC) 프로세서, 주문형 집적 회로(ASIC), 현장 프로그래밍 가능 게이트 어레이(FPGA) 또는 다른 프로그래밍 가능 로직 장치, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 성분, 또는 이들의 임의의 조합으로 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안으로 프로세서는 임의의 프로세서, 제어기, 마이크로프로세서 또는 상태 머신일 수 있다. 프로세서는 또한 연산 장치들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 다수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 구성으로 구현될 수도 있다.
본원에 개시된 실시예들과 관련하여 설명되는 방법, 프로세서 또는 알고리즘의 단계들은 하드웨어에 직접, 또는 프로세서에 의해 실행되는 소프트웨어에, 또는 이 둘의 조합에 구현될 수 있다. 방법 또는 프로세서의 각종 단계 또는 동작은 나타낸 순서로 수행될 수도 있고 다른 순서로 수행될 수도 있다. 추가로, 하나 이상 의 프로세스 또는 방법 단계는 생략될 수도 있고 하나 이상의 프로세스 또는 방법 단계가 방법 및 프로세스에 추가될 수도 있다. 추가 단계, 블록 또는 동작은 방법 및 프로세스의 기존 엘리먼트의 시작, 끝 또는 중간에 추가될 수 있다.
개시된 실시예들의 상기 설명은 당업자들이 본 발명을 제작 또는 사용할 수 있도록 제공된다. 이들 실시예에 대한 다양한 변형이 당업자들에게 쉽게 명백할 것이며, 본원에 정의된 일반 원리들은 명세서의 진의 또는 범위를 벗어나지 않고 다른 형태들에 적용될 수 있다. 따라서 본 명세서는 본원에 나타낸 실시예들로 한정되는 것이 아니라 본원에 개시된 원리 및 신규한 특징들에 부합하는 가장 넓은 범위에 따르는 것이다.

Claims (32)

  1. 직교 주파수 분할 다중(OFDM) 심벌들을 처리하기 위한 신호 처리 장치로서,
    다수의 메모리 뱅크들을 포함하는 메모리 구조;
    상기 OFDM 심벌들의 샘플들을 수신하고, 상기 샘플들을 다수의 인터레이스들로 분류(separate)하고, 상기 분류된 샘플들을 상기 메모리 구조 내의 다수의 인터레이스 메모리에 축적하도록 구성된 복조 블록; 및
    상기 다수의 인터레이스 메모리 중 적어도 하나에 저장된 상기 분류된 샘플들에 대해 주파수 영역 변환을 수행하도록 구성된 연산 블록을 포함하며,
    상기 인터레이스는 비-중첩 부대역 집합(set)을 의미하는, 신호 처리 장치.
  2. 제 1 항에 있어서,
    상기 복조 블록은 상기 OFDM 심벌 내의 다수의 인터레이스에 기초하여 상기 샘플들을 각각 미리 결정된 위상 오프셋만큼 회전시키도록 구성된 회전자를 포함하는 신호 처리 장치.
  3. 제 1 항에 있어서,
    상기 복조 블록은 미리 결정된 인터레이스와 관련된 샘플들을 특정 인터레이스 메모리 위치에 축적하도록 구성된 누산기를 포함하는 신호 처리 장치.
  4. 제 3 항에 있어서,
    상기 복조 블록은 모듈로(modulo) 카운트를 제공하도록 구성된 카운터를 더 포함하며, 상기 누산기는 카운터 값을 기초로 특정 인터레이스 메모리의 P개의 위치 각각에 M개의 샘플을 축적하도록 구성되며, 상기 P는 다수(M)의 인터레이스의 각 인터레이스의 부대역 수와 동일한 신호 처리 장치.
  5. 제 1 항에 있어서,
    상기 연산 블록은 고속 푸리에 변환(FFT) 엔진을 포함하는 신호 처리 장치.
  6. 제 5 항에 있어서,
    상기 FFT 엔진은 P-점 FFT를 수행하도록 구성되고, P는 상기 다수의 인터레이스 각각의 부대역 수를 나타내는 신호 처리 장치.
  7. 제 5 항에 있어서,
    상기 FFT 엔진은 다수의 차원 중 하나의 FFT 연산을 수행하도록 선택 가능하게 제어되는 신호 처리 장치.
  8. 제 5 항에 있어서,
    상기 FFT 엔진은 기수(radix)-8 버터플라이 코어를 포함하며 512-점 FFT를 수행하도록 구성되는 신호 처리 장치.
  9. 제 5 항에 있어서,
    상기 다수의 인터레이스 메모리는 각각 행마다 다수(S)의 샘플을 저장하는 메모리 행들을 포함하고, 상기 FFT 엔진은 상기 다수의 인터레이스 메모리의 각 메모리 행의 S개의 샘플에 대해 기수-S 버터플라이를 수행하도록 구성되는 신호 처리 장치.
  10. 제 5 항에 있어서,
    상기 FFT 엔진은 전치(transpose) 메모리를 포함하며, 상기 전치 메모리는 상기 전치 메모리의 메모리 위치들에 저장된 값들의 위치를 전치하도록 구성되는 신호 처리 장치.
  11. 제 5 항에 있어서,
    상기 FFT 엔진은 다수의 복소곱을 동시에 처리하도록 구성된 복소 곱셈기 블록을 포함하는 신호 처리 장치.
  12. 제 5 항에 있어서,
    상기 FFT 엔진은 선택적으로 제어 가능한 비트 반전 로직을 포함하는 신호 처리 장치.
  13. 제 1 항에 있어서,
    상기 연산 블록은 고속 푸리에 변환(FFT) 또는 역 FFT(IFFT)를 선택적으로 수행하도록 구성되는 신호 처리 장치.
  14. 제 1 항에 있어서,
    상기 메모리 구조에 연결되며 상기 다수의 인터레이스 메모리 중 하나에 축적된 샘플들에 적어도 기초하여 채널 추정치를 결정하도록 구성된 채널 추정기를 더 포함하는 신호 처리 장치.
  15. 제 14 항에 있어서,
    상기 메모리 구조는 다수의 파일럿 관찰 메모리 뱅크를 더 포함하고, 상기 채널 추정기는 상기 다수의 파일럿 관찰 메모리 뱅크 각각에 개별 OFDM 심벌에 대응하는 채널 추정치를 저장하도록 구성되는 신호 처리 장치.
  16. 제 14 항에 있어서,
    상기 채널 추정기는 다수의 채널 추정치에 기초하여 적어도 하나의 필터링된 채널 추정치를 생성하도록 구성된 시간 필터를 포함하며, 상기 다수의 채널 추정치는 각각 개별 OFDM 심벌에 대응하는 신호 처리 장치.
  17. 제 14 항에 있어서,
    상기 채널 추정기는 상기 다수의 인터레이스 메모리 중 하나에 저장된 다수의 파일럿 인터레이스 샘플을 디스크램블링하도록 구성된 디스크램블러를 포함하는 신호 처리 장치.
  18. 직교 주파수 분할 다중(OFDM) 심벌들을 처리하기 위한 신호 처리 장치로서,
    다수의 메모리 뱅크들을 포함하는 메모리 구조;
    OFDM 심벌에 대응하는 샘플들을 수신하고, 상기 샘플들을 다수의 인터레이스들로 분류하고, 심벌 샘플 데이터를 상기 메모리 구조 내의 샘플 메모리에 축적하도록 구성된 복조 블록 - 상기 복조 블록은 M개의 OFDM 인터레이스 각각에 대한 P개의 분류된 개별 샘플을 축적하고, P는 인터레이스별 부대역 수를 나타냄 -;
    상기 P개의 분류된 개별 샘플들에 대해 P-점 고속 푸리에 변환(FFT) 연산을 수행하도록 구성된 FFT 엔진; 및
    상기 메모리 구조 및 상기 FFT 엔진에 연결되며, 다수의 축적된 파일럿 샘플의 P-점 FFT를 기초로 채널 추정치를 생성하도록 구성된 채널 추정기를 포함하며,
    상기 인터레이스는 비-중첩 부대역 집합을 의미하는 신호 처리 장치.
  19. 제 18 항에 있어서,
    상기 FFT 엔진은 기수-M 버터플라이 코어를 포함하는 신호 처리 장치.
  20. 제 18 항에 있어서,
    상기 샘플 메모리는 각 행에 M개의 샘플 값을 저장하도록 구성되고, 상기 FFT 엔진은 버터플라이 코어에서 샘플 메모리의 각 행에 있는 상기 M개의 샘플 값 각각을 동시에 처리함으로써 상기 P-점 FFT를 수행하도록 구성되는 신호 처리 장치.
  21. 제 20 항에 있어서,
    상기 FFT 엔진은 샘플 메모리의 다수의 행에 있는 샘플 값들을 전치하도록 구성된 전치 메모리를 더 포함하는 신호 처리 장치.
  22. 직교 주파수 분할 다중(OFDM) 심벌들을 처리하기 위한 신호 처리 장치로서,
    다수의 값을 저장하기 위한 수단;
    다수의 수신 OFDM 샘플들을 복조하고, 상기 OFDM 샘플들을 다수의 인터레이스들로 분류하고, 상기 다수의 값을 저장하기 위한 수단 내의 다수의 인터레이스 저장부 중 하나에 상기 분류된 OFDM 샘플을 각각 축적하기 위한 수단; 및
    상기 다수의 인터레이스 저장부 중 적어도 하나에 상기 분류된 OFDM 샘플을 주파수 영역 표현으로 변환하기 위한 수단을 포함하며,
    상기 인터레이스는 비-중첩 부대역 집합을 의미하는, 신호 처리 장치.
  23. 제 22 항에 있어서,
    상기 복조 및 축적 수단은,
    다수의 회전된 OFDM 샘플을 생성하기 위해 상기 OFDM 심벌의 다수의 인터레이스에 기초하여 상기 다수의 수신 OFDM 샘플을 회전시키는 수단; 및
    상기 다수의 인터레이스 저장부에 상기 다수의 OFDM 샘플을 축적하기 위한 수단을 포함하며, 상기 다수의 인터레이스 저장부는 각각 개별 회전 값과 관련되는 신호 처리 장치.
  24. 제 22 항에 있어서,
    상기 다수의 OFDM 샘플을 변환하기 위한 수단은,
    고속 푸리에 변환(FFT) 버터플라이 코어;
    상기 FFT 버터플라이 코어에 의해 연산되는 값들을 전치하기 위한 수단; 및
    상기 FFT 버터플라이 코어에 의해 연산되는 다수의 값들을 곱하기 위한 수단을 포함하는 신호 처리 장치.
  25. 직교 주파수 분할 다중(OFDM) 심벌들을 처리하기 위한 방법으로서,
    복조된 샘플들을 생성하기 위해 제 1 OFDM 심벌의 수신 샘플들을 복조하는 단계;
    상기 제1 OFDM 심벌의 수신 샘플들을 다수의 인터레이스들로 분류하는 단계;
    상기 분류된 수신 샘플들을 메모리 구조에 저장하는 단계;
    제 2 OFDM 심벌의 모든 수신 샘플을 복조하기 전에 상기 복조된 샘플들을 기초로 채널 추정치를 결정하는 단계; 및
    상기 복조된 샘플들에 대한 하나 이상의 OFDM 인터레이스들에 대응하는 데이터 부대역들을 결정하는 단계를 포함하며,
    상기 부대역들 각각은 인코딩된 데이터를 가질 수 있으며, 상기 인터레이스는 비-중첩 부대역 집합을 의미하며,
    상기 하나 이상의 OFDM 인터레이스들에 대응하는 데이터 부대역들을 결정하는 단계는,
    상기 OFDM 인터레이스와 관련된 복조된 샘플들에 P-점 고속 푸리에 변환(FFT) 연산을 수행하는 단계를 포함하는, OFDM 심벌 처리 방법.
  26. 제 25 항에 있어서,
    상기 제1 OFDM 심벌의 수신 샘플들을 복조하는 단계는,
    회전된 샘플들을 생성하기 위해, 상기 제1 OFDM 심벌의 수신 샘플이 관련되는 인터레이스를 기초로 결정된 위상 회전만큼 상기 제1 OFDM 심벌의 수신 샘플들을 각각 회전시키는 단계; 및
    각 인터레이스에 대한 회전된 샘플들을 축적하는 단계를 포함하는 OFDM 심벌 처리 방법.
  27. 제 25 항에 있어서,
    상기 제1 OFDM 심벌의 수신 샘플들을 복조하는 단계는,
    상기 제1 OFDM 심벌의 수신 샘플들을 각각 M개의 위상 값 중 하나만큼 회전시키는 단계 - 상기 M개의 위상 값들은 각각 상기 OFDM 심벌 내의 M개의 인터레이스 중 하나에 대응함 -; 및
    M개의 회전된 값을 인터레이스마다 P개의 메모리 위치 각각에 축적하는 단계를 포함하며, 상기 OFDM 심벌의 총 부대역 수(N)는 M×P인 OFDM 심벌 처리 방법.
  28. 제 25 항에 있어서,
    상기 채널 추정치를 결정하는 단계는,
    파일럿 인터레이스의 복조된 샘플들을 기초로 다수의 부대역 값을 결정하는 단계; 및
    다수의 디스크램블링된 부대역 값을 생성하기 위해 상기 다수의 부대역 값을 디스크램블링하는 단계를 포함하는 OFDM 심벌 처리 방법.
  29. 제 28 항에 있어서,
    상기 채널 추정치를 결정하는 단계는,
    상기 다수의 디스크램블링된 부대역 값을 기초로 채널 임펄스 응답을 결정하는 단계; 및
    상기 파일럿 인터레이스에 대응하는 샘플들을 회전하기 위해 상기 복조에 의해 사용된 위상 값의 음수만큼 상기 채널 임펄스 응답을 회전하는 단계를 더 포함하는 OFDM 심벌 처리 방법.
  30. 삭제
  31. 컴퓨터 판독 가능 매체로서,
    복조된 샘플들을 생성하기 위해 제 1 OFDM 심벌의 수신 샘플들을 복조하는 단계;
    상기 제1 OFDM 심벌의 수신 샘플들을 다수의 인터레이스들로 분류하는 단계;
    상기 복조된 샘플들을 메모리 구조에 저장하는 단계;
    제 2 OFDM 심벌의 모든 수신 샘플을 복조하기 전에 상기 복조된 샘플들을 기초로 채널 추정치를 결정하는 단계; 및
    상기 복조된 샘플들에 대한 하나 이상의 OFDM 인터레이스들에 대응하는 데이터 부대역들을 결정하는 단계를 수행하기 위한 컴퓨터 프로그램으로 인코딩되며,
    상기 부대역들 각각은 인코딩된 데이터를 가질 수 있으며, 상기 인터레이스는 비-중첩 부대역 집합을 의미하며,
    상기 하나 이상의 OFDM 인터레이스들에 대응하는 데이터 부대역들을 결정하는 단계는,
    상기 OFDM 인터레이스와 관련된 복조된 샘플들에 P-점 고속 푸리에 변환(FFT) 연산을 수행하는 단계를 포함하는, 컴퓨터 판독 가능 매체.
  32. 제 31 항에 있어서,
    상기 제1 OFDM 심벌의 수신 샘플들을 복조하는 단계는,
    상기 제1 OFDM 심벌의 수신 샘플들을 각각 M개의 위상 값 중 하나만큼 회전시키는 단계 - 상기 M개의 위상 값들은 각각 상기 OFDM 심벌 내의 M개의 인터레이스 중 하나에 대응함 -; 및
    M개의 회전된 값을 인터레이스마다 P개의 메모리 위치 각각에 축적하는 단계를 포함하며, 상기 OFDM 심벌의 총 부대역 수(N)는 M×P인 컴퓨터 판독 가능 매체.
KR1020077023361A 2005-03-11 2006-03-13 직교 주파수 분할 다중 시스템에서의 고속 푸리에 변환처리 KR100958231B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US66085505P 2005-03-11 2005-03-11
US60/660,855 2005-03-11
US11/372,578 US8229014B2 (en) 2005-03-11 2006-03-10 Fast fourier transform processing in an OFDM system
US11/372,578 2006-03-10

Publications (2)

Publication Number Publication Date
KR20070110936A KR20070110936A (ko) 2007-11-20
KR100958231B1 true KR100958231B1 (ko) 2010-05-17

Family

ID=36917406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077023361A KR100958231B1 (ko) 2005-03-11 2006-03-13 직교 주파수 분할 다중 시스템에서의 고속 푸리에 변환처리

Country Status (5)

Country Link
US (1) US8229014B2 (ko)
EP (1) EP1856627A2 (ko)
JP (1) JP2008537655A (ko)
KR (1) KR100958231B1 (ko)
WO (1) WO2006099533A2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229014B2 (en) * 2005-03-11 2012-07-24 Qualcomm Incorporated Fast fourier transform processing in an OFDM system
US8266196B2 (en) * 2005-03-11 2012-09-11 Qualcomm Incorporated Fast Fourier transform twiddle multiplication
US7685220B2 (en) * 2005-12-14 2010-03-23 Telefonaktiebolaget L M Ericsson (Publ) Circular fast fourier transform
US20070239815A1 (en) * 2006-04-04 2007-10-11 Qualcomm Incorporated Pipeline fft architecture and method
US7808557B2 (en) * 2006-06-23 2010-10-05 Rgb Systems, Inc. Method and apparatus for automatic reduction of noise in video transmitted over conductors
US7787057B2 (en) * 2006-08-22 2010-08-31 Rgb Systems, Inc. Method and apparatus for DC restoration using feedback
WO2008140344A1 (en) * 2007-05-11 2008-11-20 Siemens Aktiengesellschaft A method and a system for synchronizing ofdm-transceivers
US20090059782A1 (en) * 2007-08-29 2009-03-05 Rgb Systems, Inc. Method and apparatus for extending the transmission capability of twisted pair communication systems
CN101184079B (zh) * 2007-12-24 2011-09-14 北京创毅视讯科技有限公司 一种频域载波信道估计方法及装置
US20090245092A1 (en) * 2008-03-28 2009-10-01 Qualcomm Incorporated Apparatus, processes, and articles of manufacture for fast fourier transformation and beacon searching
US8520500B2 (en) * 2008-03-28 2013-08-27 Qualcomm Incorporated Buffered demod and demap functions
US8549496B2 (en) * 2009-02-27 2013-10-01 Texas Tech University System Method, apparatus and computer program product for automatically generating a computer program using consume, simplify and produce semantics with normalize, transpose and distribute operations
WO2011036918A1 (ja) 2009-09-24 2011-03-31 日本電気株式会社 データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法
KR101540359B1 (ko) * 2013-01-22 2015-07-31 피앤피네트워크 주식회사 상관값 연산 및 고속 푸리에 변환을 위한 메모리 공유가 가능한 ofdm 수신기 및 그 데이터 처리 방법
US10949206B2 (en) * 2013-07-15 2021-03-16 Texas Instruments Incorporated Transposing a matrix using a streaming engine
US10942741B2 (en) 2013-07-15 2021-03-09 Texas Instruments Incorporated Storage organization for transposing a matrix using a streaming engine
WO2020264503A1 (en) * 2019-06-28 2020-12-30 Regal Beloit America, Inc. Health monitor circuit for an electric machine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020034161A1 (en) * 2000-05-31 2002-03-21 Luc Deneire Method and apparatus for channel estimation
JP2004320168A (ja) * 2003-04-11 2004-11-11 Matsushita Electric Ind Co Ltd 無線受信装置および無線受信方法
US20040228267A1 (en) * 2003-05-12 2004-11-18 Avneesh Agrawal Fast frequency hopping with a code division multiplexed pilot in an OFDMA system
US20040243656A1 (en) * 2003-01-30 2004-12-02 Industrial Technology Research Institute Digital signal processor structure for performing length-scalable fast fourier transformation

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736307A (en) 1982-04-21 1988-04-05 Neuroscience, Inc. Microcomputer-based system for the on-line analysis and topographic display of human brain electrical activity
US4768159A (en) 1984-11-26 1988-08-30 Trw Inc. Squared-radix discrete Fourier transform
JPS6473457A (en) 1987-09-14 1989-03-17 Oki Electric Ind Co Ltd Operation system for fast fourier transformation
JPH0795320B2 (ja) 1988-10-11 1995-10-11 日本電子株式会社 大容量高速フーリエ変換装置
JPH03100863A (ja) 1989-09-14 1991-04-25 Hitachi Ltd Fft演算方式及び装置
JPH0540777A (ja) 1991-08-06 1993-02-19 Fujitsu Ltd バタフライ演算方式
JP2769459B2 (ja) * 1996-08-29 1998-06-25 株式会社次世代デジタルテレビジョン放送システム研究所 Ofdm送信装置及びofdm受信装置
JP3938238B2 (ja) 1997-02-04 2007-06-27 沖電気工業株式会社 高速フーリエ変換処理装置
TW465234B (en) * 1997-02-18 2001-11-21 Discovision Ass Single chip VLSI implementation of a digital receiver employing orthogonal frequency division multiplexing
JP3668356B2 (ja) 1997-04-07 2005-07-06 シャープ株式会社 高速フーリエ変換演算回路
JP3800265B2 (ja) * 1997-06-16 2006-07-26 ソニー株式会社 デジタル放送受信機
US6490672B1 (en) * 1998-05-18 2002-12-03 Globespanvirata, Inc. Method for computing a fast fourier transform and associated circuit for addressing a data memory
JP3709291B2 (ja) 1998-10-14 2005-10-26 日本電気株式会社 高速複素フーリエ変換方法及び装置
US6658441B1 (en) 1999-08-02 2003-12-02 Seung Pil Kim Apparatus and method for recursive parallel and pipelined fast fourier transform
EP1085773A1 (en) * 1999-09-20 2001-03-21 Nortel Matra Cellular Mobile telecommunications network with distributed base stations
GB2363924A (en) * 2000-06-20 2002-01-09 Virata Ltd Processor for FIR filtering
JP4560187B2 (ja) * 2000-08-30 2010-10-13 株式会社アドバンテスト インターリーブad変換方式波形ディジタイザ装置
JP3757782B2 (ja) 2000-10-30 2006-03-22 日本電気株式会社 Fft演算回路
US7333422B2 (en) 2003-09-12 2008-02-19 Zarbana Digital Fund Llc Optimized FFT/IFFT module
WO2002069182A1 (fr) * 2001-02-28 2002-09-06 Fujitsu Limited Dispositif a transformee de fourrier
KR100692997B1 (ko) * 2001-04-17 2007-03-12 삼성전자주식회사 패스트퓨리에변환 장치
KR100836050B1 (ko) * 2001-05-23 2008-06-09 엘지전자 주식회사 고속 푸리에 변환 연산 장치
US7248559B2 (en) * 2001-10-17 2007-07-24 Nortel Networks Limited Scattered pilot pattern and channel estimation method for MIMO-OFDM systems
US7315934B2 (en) * 2002-03-06 2008-01-01 Matsushita Electric Industrial Co., Ltd. Data processor and program for processing a data matrix
WO2004004265A1 (en) 2002-06-27 2004-01-08 Samsung Electronics Co., Ltd. Modulation apparatus using mixed-radix fast fourier transform
AU2002322795A1 (en) * 2002-07-31 2004-02-23 Thomson Licensing S.A. Centralized buffer architecture for an orthogonal frequency division multiplexing (ofdm) receiver
US20040059766A1 (en) * 2002-09-23 2004-03-25 Yeou-Min Yeh Pipelined low complexity FFT/IFFT processor
EP1554831B1 (en) * 2002-10-26 2013-05-22 Electronics and Telecommunications Research Institute Frequency hopping ofdma method using symbols of comb pattern
CN1768327A (zh) * 2002-11-01 2006-05-03 八达网有限公司 高效的基于字符处理的方法和系统
US7471745B2 (en) * 2002-11-26 2008-12-30 Texas Instruments Incorporated Method and apparatus for channel quality metric generation within a packet-based multicarrier modulation communication system
US20040172435A1 (en) * 2003-02-27 2004-09-02 Texas Instruments Incorporated Architecture and method for performing a fast fourier transform and OFDM reciever employing the same
US7702712B2 (en) * 2003-12-05 2010-04-20 Qualcomm Incorporated FFT architecture and method
US7551545B2 (en) 2004-02-09 2009-06-23 Qualcomm Incorporated Subband-based demodulation for an OFDM-based communication system
US7296045B2 (en) * 2004-06-10 2007-11-13 Hasan Sehitoglu Matrix-valued methods and apparatus for signal processing
TWI237773B (en) * 2004-06-24 2005-08-11 Univ Nat Chiao Tung Fast fourier transform processor and dynamic scaling method thereof and radix-8 fast Fourier transform computation method
US7529789B2 (en) * 2004-11-01 2009-05-05 Metanoia Technologies, Inc. Method for representing complex numbers in a communication system
US7496618B2 (en) * 2004-11-01 2009-02-24 Metanoia Technologies, Inc. System and method for a fast fourier transform architecture in a multicarrier transceiver
US20060221810A1 (en) * 2005-03-10 2006-10-05 Bojan Vrcelj Fine timing acquisition
US8229014B2 (en) * 2005-03-11 2012-07-24 Qualcomm Incorporated Fast fourier transform processing in an OFDM system
US8266196B2 (en) * 2005-03-11 2012-09-11 Qualcomm Incorporated Fast Fourier transform twiddle multiplication
US20070239815A1 (en) * 2006-04-04 2007-10-11 Qualcomm Incorporated Pipeline fft architecture and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020034161A1 (en) * 2000-05-31 2002-03-21 Luc Deneire Method and apparatus for channel estimation
US20040243656A1 (en) * 2003-01-30 2004-12-02 Industrial Technology Research Institute Digital signal processor structure for performing length-scalable fast fourier transformation
JP2004320168A (ja) * 2003-04-11 2004-11-11 Matsushita Electric Ind Co Ltd 無線受信装置および無線受信方法
US20040228267A1 (en) * 2003-05-12 2004-11-18 Avneesh Agrawal Fast frequency hopping with a code division multiplexed pilot in an OFDMA system

Also Published As

Publication number Publication date
JP2008537655A (ja) 2008-09-18
EP1856627A2 (en) 2007-11-21
US20060224650A1 (en) 2006-10-05
WO2006099533A3 (en) 2008-04-17
WO2006099533A2 (en) 2006-09-21
US8229014B2 (en) 2012-07-24
KR20070110936A (ko) 2007-11-20

Similar Documents

Publication Publication Date Title
KR100958231B1 (ko) 직교 주파수 분할 다중 시스템에서의 고속 푸리에 변환처리
KR100923892B1 (ko) 고속 푸리어 변환 트위들 승산
CN100585582C (zh) 一种用于部分式快速傅里叶变换fft处理的装置、处理器和方法
US7693034B2 (en) Combined inverse fast fourier transform and guard interval processing for efficient implementation of OFDM based systems
JP2009535678A (ja) パイプラインfftのアーキテクチャおよび方法
CN101300572A (zh) 快速傅里叶变换旋转乘法
US7801020B2 (en) Mobile channel estimation algorithm for DVB-H COFDM demodulator
Cortés et al. An FFT core for DVB-t/DVB-h receivers
Yuan An equalization technique for high rate OFDM systems
Merlyn FPGA implementation of FFT processor with OFDM transceiver
KR100862350B1 (ko) Drm 수신을 위한 가변 포인트 프라임 팩터 fft 방법
JP2001306547A (ja) 演算装置及び演算方法
Girinath A Novel Reconfigurable Orthogonal Frequency Division Multiplexing Transceiver
Zou et al. 32 mW self contained OFDM receiver ASIC for mobile cellular applications
Karachalios Real-time base band processing architectures for wireless MIMO communication systems
Prithivirajan et al. FFT implementation of OFDM for future 5G communication
RAJU et al. VLSI Implementation of MIMO-OFDM for Low Power Applications
Oli et al. FPGA Implementation of Baseband OFDM Transmitter and Receiver Using Modified IFFT/FFT to Reduce Latency
Veena et al. Low power pipelined DWT-IDWT architecture for OFDM system on FPGA
Hatanaka et al. VLSI design of OFDM baseband transceiver with dynamic spectrum access
Yuan Joint design of PAPR, PICR and OBP in OFDM systems
KR20100067033A (ko) 다중 입출력시스템에서 수신 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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
LAPS Lapse due to unpaid annual fee