KR101045713B1 - 멀티―포트 혼합―라딕스 fft - Google Patents

멀티―포트 혼합―라딕스 fft Download PDF

Info

Publication number
KR101045713B1
KR101045713B1 KR1020087029307A KR20087029307A KR101045713B1 KR 101045713 B1 KR101045713 B1 KR 101045713B1 KR 1020087029307 A KR1020087029307 A KR 1020087029307A KR 20087029307 A KR20087029307 A KR 20087029307A KR 101045713 B1 KR101045713 B1 KR 101045713B1
Authority
KR
South Korea
Prior art keywords
radix
fft
buffer
inputs
fast fourier
Prior art date
Application number
KR1020087029307A
Other languages
English (en)
Other versions
KR20090016680A (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 KR20090016680A publication Critical patent/KR20090016680A/ko
Application granted granted Critical
Publication of KR101045713B1 publication Critical patent/KR101045713B1/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
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2626Arrangements specific to the transmitter only
    • H04L27/2627Modulators
    • H04L27/2628Inverse Fourier transform modulators, e.g. inverse fast Fourier transform [IFFT] or inverse discrete Fourier transform [IDFT] modulators
    • 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/265Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators

Landscapes

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

Abstract

고속 푸리에 변환 또는 역 고속 푸리에 변환을 수행하는 프로세서는 라딕스-2 버터플라이(radix-2 butterfly) 구조; 및 라딕스-4 버터플라이 구조를 포함한다. 고속 푸리에 변환 또는 역 고속 푸리에 변환을 수행하는 방법은 입력 데이터 스트림에 대하여 라딕스-2 버터플라이 연산을 선택적으로 수행하는 단계; 및 상기 라딕스-2 버터플라이 연산에 의하여 생성된 결과 및 상기 입력 데이터 스트림중 하나에 대하여 라딕스-4 버터플라이 연산을 선택적으로 수행하는 단계를 포함한다. 고속 푸리에 변환 또는 역 고속 푸리에 변환을 수행하는 장치는 입력 데이터 스트림에 대하여 라딕스-2 버터플라이 연산을 선택적으로 수행하는 수단; 및 상기 라딕스-2 버터플라이 연산에 의하여 생성된 결과 및 상기 입력 데이터 스트림중 하나에 대하여 라딕스-4 버터플라이 연산을 선택적으로 수행하는 수단을 포함한다. 정보를 전송 또는 수신하는 통신장치는 역 고속 푸리에 변환 모듈 및 고속 푸리에 변환 모듈을 포함하며, 상기 모듈은 입력들 및 출력들을 가진 라딕스-2 버터플라이 구조; 상기 라딕스-2 버터플라이 구조 출력들에 접속된 입력들을 가진 라딕스-4 버터플라이 구조; 및 상기 라딕스-2 버터플라이 구조의 입력들 또는 상기 라딕스-4 버터플라이 구조의 입력들에 상기 데이터 스트림을 선택적으로 접속하는 다중화기를 포함하며, 이에 따라 상기 모듈은 상기 선택된 입력들에 따라 2개의 다른 분해능 역 고속 푸리에 변환들을 수행할 수 있다.

Description

멀티―포트 혼합―라딕스 FFT{MULTI-PORT MIXED-RADIX FFT}
본 출원은 "멀티-포트 혼합-라딕스 FFT"라는 명칭으로 2006년 4월 28일에 출원된 미국 가출원번호 제60/795,778호의 우선권을 주장하며, 이 가출원은 본 발명의 양수인에게 양도되고 여기에 참조로 통합된다.
본 발명은 일반적으로 고속 푸리에 변환(FFT) 및 역-FFT(IFFT)를 수행하는 방법 및 장치에 관한 것이다. 특히, 본 발명은 공통 하드웨어의 한 세트를 사용하여 다른 분해능으로 FFT 및 IFFT를 수행하는 것에 관한 것이다.
FFT 및 IFFT는 통신기술들, 특히 무선 통신에서 광범위하게 사용된다. 여기에서 제시된 실시예들의 양상들은 애플리케이션에 대한 상태들이 발견될 수 있는 많은 타입의 통신 시스템의 애플리케이션이다. 본 출원이 출원된 시간에 공개되고 여기에 참조로 통합되는 IEEE 802.11n 표준하의 무선 통신 분야의 예시적인 실시예들과 관련하여 양상들이 기술되기 때문에, IEEE 802.11n에 따른 시스템들의 일부 특징들이 기술된다.
IEEE 802.11n에 따른 시스템들은 2개의 채널화 모드들, 즉 20 MHz 모드 및 40 MHz 모드를 가진다. 이들 모드들은 시스템의 다중 입력 다중 출력(MIMO) 안테나 구조의 지원으로 제공된다. 통상적으로, 직교 데이터 심볼들의 스트림, 즉 수 신기에 의하여 구별가능한 심볼들의 스트림을 생성하기 위하여, 64-pt FFT 및 IFFT(하나는 송신기에서 사용되고 하나는 수신기에서 사용됨)는 20 MHz 채널화 레이트와 함께 사용된다. 통상적으로, 40 MHz 채널화 레이트를 지원하기 위해서는 2배의 분해능이 필요하며, 이는 또한 128-pt FFT 및 IFFT의 사용을 필요로 한다.
실시예의 양상들에 따르면, 고속 푸리에 변환 또는 역 고속 푸리에 변환을 수행하는 프로세서는 라딕스-2 버터플라이(radix-2 butterfly) 구조; 및 라딕스-4 버터플라이 구조를 포함한다. 실시예의 다른 양상들에 따르면, 입력들은 상기 라딕스-2 버터플라이 구조에 접속되며, 상기 라딕스-2 버터플라이 구조의 출력들은 상기 라딕스-4 버터플라이 구조의 입력들에 접속된다. 또 다른 양상들에 따르면, 대안 입력들은 상기 라딕스-4 버터플라이 구조의 입력들에 접속되며, 이에 따라 상기 프로세서는 선택된 입력들에 따라 2개의 다른 분해능(resolution) 고속 푸리에 변환들을 수행할 수 있다. 상기 프로세서는 GPAP 인터페이스를 더 포함할 수 있다.
다른 실시예의 양상들에 따르면, 고속 푸리에 변환 또는 역 고속 푸리에 변환을 수행하는 방법은 입력 데이터 스트림에 대하여 라딕스-2 버터플라이 연산을 선택적으로 수행하는 단계; 및 상기 라딕스-2 버터플라이 연산에 의하여 생성된 결과 및 상기 입력 데이터 스트림중 하나에 대하여 라딕스-4 버터플라이 연산을 선택적으로 수행하는 단계를 포함한다.
또 다른 실시예의 양상들에 따르면, 고속 푸리에 변환 또는 역 고속 푸리에 변환을 수행하는 장치는 입력 데이터 스트림에 대하여 라딕스-2 버터플라이 연산을 선택적으로 수행하는 수단; 및 상기 라딕스-2 버터플라이 연산에 의하여 생성된 결과 및 상기 입력 데이터 스트림중 하나에 대하여 라딕스-4 버터플라이 연산을 선택적으로 수행하는 수단을 포함한다.
또 다른 실시예의 양상들에 따르면, 정보를 전송하는 통신 장치는 역 고속 푸리에 변환 모듈을 포함하며, 상기 역 고속 푸리에 변환 모듈은 입력들 및 출력들을 가진 라딕스-2 버터플라이 구조; 상기 라딕스-2 버터플라이 구조 출력들에 접속된 입력들을 가진 라딕스-4 버터플라이 구조; 및 상기 라딕스-2 버터플라이 구조의 입력들 또는 상기 라딕스-4 버터플라이 구조의 입력들에 상기 데이터 스트림을 선택적으로 접속하는 다중화기를 포함하며, 이에 따라 상기 모듈은 선택된 입력들에 따라 2개의 다른 분해능 역 고속 푸리에 변환들을 수행할 수 있다.
또 다른 실시예의 양상들에 따르면, 정보를 전송하는 통신 장치는 고속 푸리에 변환 모듈을 포함하며, 상기 고속 푸리에 변환 모듈은 입력들 및 출력들을 가진 라딕스-2 버터플라이 구조; 상기 라딕스-2 버터플라이 구조 출력들에 접속된 입력들을 가진 라딕스-4 버터플라이 구조; 및 상기 라딕스-2 버터플라이 구조의 입력들 또는 상기 라딕스-4 버터플라이 구조의 입력들에 상기 데이터 스트림을 선택적으로 접속하는 다중화기를 포함하며, 이에 따라 상기 모듈은 상기 선택된 입력들에 따라 2개의 다른 분해능 고속 푸리에 변환들을 수행할 수 있다.
도면에서, 동일한 도면부호는 동일한 엘리먼트를 나타낸다. 명확화를 위하여, 모든 컴포넌트는 모든 도면에서 라벨링될 수 있다.
도 1은 실시예들의 양상들이 기술된, 컴퓨터 시스템 또는 프로세서 접속을 도시한 블록도이다.
도 2는 도 1의 컴퓨터 시스템의 메모리 부시스템을 도시한 블록도이다.
도 3은 일 실시예의 양상들에 따른 혼합-라딕스 버터플라이의 구조를 도시한 도면이다.
도 4는 일 실시예의 양상들을 기술한 메모리 구조를 도시한 블록도이다.
도 5는 도 4의 메모리에 대한 타이밍도이다.
도 6은 일 실시예의 양상들에 따른 회전인자(twiddle factor)들간의 관계들을 기술한 단위원을 도시한 도면이다.
본 발명은 이하의 상세한 설명에 기술되거나 또는 도면들에 기술된 컴포넌트들의 구성 및 배열의 세부사항들에 제한되지 않는다. 본 발명은 다양한 방식으로 실시되거나 또는 수행되는 다른 실시예들이 가능하다. 또한, 여기에서 사용된 용어는 설명을 위하여 제시되며 제한으로서 의도되지 않는다. 용어 "포함한다"는 이하에 기술된 항목들 및 이의 균등 범위를 포함하는 것으로 의도된다.
다양한 실시예들은 하나 이상의 컴퓨터 시스템들상에서 구현될 수 있다. 이들 컴퓨터 시스템들은 예컨대 인텔 펜티엄형 프로세서, 모토롤라 PowerPC, Sun UltraSPARC, Hewlett-Packard PA-RISC 프로세서들 또는 임의의 다른 타입의 프로세서와 같은 범용 컴퓨터들일 수 있거나 또는 이들 컴퓨터 시스템들은 예컨대 셀룰 라 전화들, 802.11x 무선 통신 시스템들 및 하나 이상의 프로세서를 포함하는 다른 것들과 같은 무선 통신 시스템들에서 발견되거나 또는 이 무선 통신 시스템들을 포함하는 내장형 시스템들을 포함하는 특수목적 시스템들일 수 있다. 임의의 타입의 컴퓨터 시스템의 하나 이상이 다양한 실시예들에 따라 FFT 및 IFFT를 수행하기 위하여 조합될 수 있다는 것이 인식되어야 한다. 즉, 시스템은 단일 컴퓨터 또는 장치상에 배치될 수 있거나 또는 통신 네트워크에 의하여 부착된 다수의 컴퓨터들 또는 장치들사이에 분산될 수 있다.
일 실시예에 따른 컴퓨터 시스템은 기술된 FFT 및 IFFT 기능들중 일부를 수행하도록 구성된다. 시스템이 무선 또는 유선 네트워크 통신을 포함하는 다른 기능들을 수행할 수 있고 실시예들이 임의의 특정 기능 또는 기능들의 세트를 가지는 것에 제한되지 않는다는 것이 인식되어야 한다.
예컨대, 실시예들의 다양한 양상들은 도 1에 도시된 것과 같은 범용 컴퓨터 시스템(100)에서 실행되는 특수 소프트웨어로서 구현될 수 있다. 컴퓨터 시스템(100)은 디스크 드라이브, 메모리, 비휘발성 메모리 또는 데이터를 저장하는 다른 장치와 같은 하나 이상의 메모리 장치들(104)에 접속된 프로세서(103)를 포함할 수 있다. 메모리(104)는 전형적으로 컴퓨터 시스템(100)의 동작 동안 프로그램들, 펌웨어 및 데이터를 저장하기 위하여 사용된다. 컴퓨터 시스템(100)의 컴포넌트들은 하나 이상의 버스들(예컨대, 동일한 머신내에 통합된 컴포넌트들사이의 버스들) 및/또는 네트워크(예컨대, 개별 이산 머신들상에 배치된 컴포넌트들사이의 네트워크)를 포함할 수 있는 상호 접속 메커니즘(105)에 의하여 접속될 수 있다. 상호 접속 메커니즘(105)은 통신들(예컨대, 데이터들, 명령들)이 시스템(100)의 시스템 컴포넌트들사이에서 교환되도록 한다. 네트워크는 유선 또는 무선일 수 있다.
컴퓨터 시스템(100)은 또한 하나 이상의 입력장치들(102), 예컨대 키보드, 마우스, 트랙볼, 마이크로폰, 터치 스크린과 하나 이상의 출력장치들, 예컨대 프린팅 장치, 디스플레이 스크린, 스피커를 포함한다. 더욱이, 컴퓨터 시스템(100)은 상호 접속 메커니즘(105) 외에 또는 상호 접속 메커니즘(105)에 대한 대안으로서 컴퓨터 시스템(100)을 통신 네트워크에 접속하는 하나 이상의 인터페이스들(도시안됨)을 포함할 수 있다.
도 2에 더 상세히 도시된 저장 시스템(106)은 프로세서에 의하여 실행될 프로그램 또는 프로그램에 의하여 처리되도록 매체(201)에 저장된 정보를 한정하는 신호들이 저장된 컴퓨터 판독가능 및 기록가능 비휘발성 기록 메커니즘(201)을 포함한다. 매체는 예컨대 디스크 또는 플래시 메모리일 수 있다. 전형적으로, 동작시, 프로세서는 데이터가 비휘발성 기록 매체(201)로부터 다른 메모리(202)로 판독되도록 하며, 메모리(202)는 매체(201)에 대하여 수행하는 것보다 프로세서에 의한 정보의 액세스가 고속으로 수행된다. 이러한 메모리(202)는 전형적으로 동적 랜덤 액세스 메모리(DRAM) 또는 정적 메모리(SRAM)와 같은 휘발성 랜덤 액세스 메모리이다. 메모리(202)는 도시된 바와 같이 저장 시스템(106)에 배치되거나 또는 메모리 시스템(104)에 배치될 수 있다(도시안됨). 프로세서(103)는 일반적으로 집적회로 메모리(104, 202)내의 데이터를 조작한후 처리가 완료된후에 데이터를 매체(201)에 복사한다. 매체(201) 및 집적회로 메모리 엘리먼트(104, 202)사이의 데이터 이동을 관리하는 다양한 메커니즘들이 공지되어 있으며, 실시예들은 이에 제한되지 않는다. 실시예들은 특정 메모리 시스템(104) 또는 저장 시스템(106)에 제한되지 않는다.
컴퓨터 시스템은 특별하게 프로그래밍된 특수목적 하드웨어, 예컨대 주문형 집적회로(ASIC)를 포함할 수 있다. 실시예들의 양상들은 소프트웨어, 하드웨어 또는 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 게다가, 이러한 방법들, 동작들, 시스템들, 시스템 엘리먼트들 및 시스템 컴포넌트들은 앞서 기술된 컴퓨터 시스템의 부분으로서 또는 개별 컴포넌트로서 구현될 수 있다.
비록 실시예들의 다양한 양상들이 실시될 수 있는 한 타입의 컴퓨터 시스템으로서 컴퓨터 시스템(100)이 예시적으로 도시될지라도, 실시예들의 양상들은 도 1에 도시된 컴퓨터 시스템상에서 구현되는 것으로 제한되지 않는다. 실시예들의 다양한 양상들은 도 1에 도시된 것과 다른 구조 또는 컴포넌트들을 가진 하나 이상의 컴퓨터들상에서 실시될 수 있다.
컴퓨터 시스템(100)은 고수준(high-level) 컴퓨터 프로그래밍 언어를 사용하여 프로그램가능한 범용 컴퓨터 시스템일 수 있다. 컴퓨터 시스템(100)은 특별하게 프로그래밍된 특수목적 하드웨어를 사용하여 구현될 수 있다. 컴퓨터 시스템(100)에서, 프로세서(103)는 전형적으로 인텔 코포레이션으로부터 이용가능한 공지된 펜티엄 클래스 프로세스와 같은 상업적으로 이용가능한 프로세서이다. 많은 다른 프로세서들이 이용가능하다. 이러한 프로세서는 보통 예컨대 마이크로소프트 코포레이션으로부터 이용가능한 윈도우즈 95, 윈도우즈 98, 윈도우즈 NT, 윈도우즈 2000(윈도우즈 ME), 또는 윈도우즈 XP 운영 체계, 애플 컴퓨터로부터 이용가능한 MAC OS 시스템 X 운영체계, 선 마이크로시스템즈로부터 이용가능한 Solaris 운영체계, 또는 다양한 소스들로부터 이용가능한 UNIX 운영체계일 수 있는 운영체계를 실행한다. 이동 및 고정 무선 통신 장치들을 위하여 특별하게 설계된 운용체계들을 포함하는 많은 다른 운영체계들이 사용될 수 있다.
프로세서 및 운영체계는 고수준 프로그래밍 언어들 중 응용 프로그램들이 기록되는 컴퓨터 플랫폼을 한정한다. 실시예들은 특정 컴퓨터 시스템 플랫폼, 프로세서 또는 운용체계 또는 네트워크에 제한되지 않는다. 또한, 실시예들이 특정 프로그래밍 언어 또는 컴퓨터 시스템에 제한되지 않는다는 것이 당업자에게 명백할 것이다. 게다가, 다른 적절한 프로그래밍 언어 및 다른 적절한 컴퓨터 시스템들이 사용될 수 있다는 것이 인식되어야 한다.
컴퓨터 시스템의 하나 이상의 부분들은 통신 네트워크에 접속된 하나 이상의 컴퓨터 시스템들에 분산될 수 있다. 이들 컴퓨터 시스템들은 또한 범용 컴퓨터 시스템들일 수 있다. 예컨대, 실시예들의 다양한 양상들은 하나 이상의 클라이언트 컴퓨터들에 서비스(예컨대, 서버들)를 제공하거나 또는 분산 시스템의 부분으로서 전체 태스크(task)를 수행하도록 구성된 하나 이상의 컴퓨터 시스템들에 분산될 수 있다. 예컨대, 실시예들의 다양한 양상들은 다양한 실시예들에 따른 다양한 기능들을 수행하는 하나 이상의 서버 시스템사이에 분산된 컴포넌트들을 포함하는 클라이언트-서버 또는 멀티-티어(multi-tier) 시스템상에서 수행될 수 있다. 이들 컴포넌트들은 통신 프로토콜(예컨대, TCP/IP)을 사용하여 통신 네트워크(예컨대, 인 터넷)를 통해 통신하는 실행가능 중간(예컨대, IL) 또는 번역된(예컨대, 자바) 코드일 수 있다.
실시예들이 임의의 특정 시스템 또는 시스템들의 그룹상에서 실행되는 것으로 제한되지 않는다는 것이 인식되어야 한다. 또한, 실시예들이 임의의 특정 분산 구조, 네트워크 또는 통신 프로토콜에 제한되지 않는다는 것이 인식되어야 한다.
다양한 실시예들은 SmallTalk, Java, C++, Ada 또는 C#(C-Sharp)와 같은 객체-지향 프로그래밍 언어를 사용하여 프로그래밍될 수 있다. 다른 객체-지향 프로그래밍 언어들이 또한 사용될 수 있다. 선택적으로, 기능, 스크립팅(scripting) 및/또는 논리 프로그래밍 언어들이 사용될 수 있다. 실시예들의 다양한 양상들은 비-프로그래밍된 환경(예컨대, 브라우저 프로그램의 윈도우에서 보여질때 그래픽-사용자 인터페이스(GUI)의 양상들을 렌더링하거나 또는 다른 기능들을 수행하는 HTML, XML 또는 다른 포맷으로 생성된 문서들)에서 구현될 수 있다. 실시예들의 다양한 양상들은 프로그래밍되거나 또는 비-프로그래밍된 엘리먼트들 또는 이들의 임의의 조합으로서 구현될 수 있다.
실시예들의 양상들은 802.11n 무선 환경에서 통신 장비에 대한 예시적인 애플리케이션과 관련하여 지금 설명된다.
802.11n 사양은 20MHz 및 40MHz 채널화를 가능하게 한다. 종래의 장치는 20 MHz 채널에서 직교 데이터를 생성하는 수단으로서 64-pt I/FFT를 사용한다. 그러므로, 종래에는 20MHz 채널화를 위한 64-pt FFT 및 40 MHz 채널화를 위한 128-pt FFT의 사용을 필요로하는 양 모드들을 지원하는 것을 제안하였다. 이러한 방법은 임의의 목표된 RF 대역(예컨대, 2.4 GHz, 5GHz)에 대하여 적용가능하다.
임의의 양상들에서 혼합-라딕스 구현은 동일한 구조 및 메모리 공간 내에서 동작들이 실행되도록 데이터 흐름 및 어드레싱 기술들을 최적화한다는 것이 발견되었다. 부가적으로, 임의의 양상들에서, 혼합-라딕스 구현은 높은 데이터 레이트 대 클록 비(data rate-to-clock ratio)의 장점을 취하고 복소수 회전(twiddle) 곱셈을 위하여 범용 어레이 프로세서들(GPAP: General-Purpose-Array-Processor)을 사용하기 위하여 회전 곱셈으로부터 버터플라이 구조를 분리한다. 최종적으로, 예시적인 실시예는 2개의 병렬 데이터 스트림들까지 지원할 수 있는 2x2 MIMO 시스템에 특히 적합하다. 그러나, 설계는 스케일링가능하며 다른 MIMO 구성들에 용이하게 적용될 수 있다.
예시적인 혼합-라딕스 구현은 64-pt 및 128-pt FFT들 및 IFFT들 모두를 수행하기 위하여 라딕스-2 및 라딕스-4 버터플라이 구조들을 사용한다. 구조는 또한 필요한 경우에 다른 수의 입력 포인트들로 스케일링(scale)될 수 있다. 일 구성에 따르면, 128-pt FFT가 수행된다. 라딕스-2 버터플라이에 시간-영역 샘플 포인트들을 적용하면 128-pt FFT 연산이 2개의 64-pt 연산들로 분해된다. 라딕스-4 버터플라이는 최소 배수(multiple)들을 사용하여 2개의 64-pt FFT들을 수행한다. 도 3은 혼합-라딕스 버터플라이의 구조를 도시한다. 도시된 바와 같이 구성되면, 도 3의 혼합-라딕스 구조는 양 라딕스 구조들을 사용하여 최대(full) 128-pt FFT 연산의 분해를 기술한다.
도 3의 구조는 다중화기들을 사용하여 초기 라딕스-2 버터플라이를 바이패 스(bypass)하도록 재구성될 수 있으며, 이와 같이 구성될 경우 라딕스-4 버터플라이 스테이지에 입력들이 직접 전송된다. 따라서, 128-pt FFT 및 64-pt FFT 연산은 단지 라딕스-2 버터플라이 및 라딕스-4 버터플라이를 사용하여 수행될 수 있다.
라딕스-2 버터플라이 및 라딕스-4 버터플라이는 스테이지들간의 제어 로직(logic)을 단순화하기 위하여 DIF(decimation-in-frequency) 방법을 구현한다. 다른 연산 또는 구성 파라미터들에 대하여 최적화된 다른 방법들이 사용될 수 있다. 도 3이 도시한 바와 같이, 예시적인 실시예에 따르면, 128-pt FFT를 2개의 64-pt FFT로 분해하는 것은 최대 128-pt 단위원에 대하여 회전인자(twiddle factor)들로 출력값들을 곱하는 것을 필요로 한다. 이러한 스테이지후에, 각각의 라딕스-4 스테이지는 또한 회전인자 곱을 포함한다. DIF 방법을 사용하여 라딕스-4 버터플라이를 구현하면 버터플라이-회전-버터플라이-회전 오더링(butterfly-twiddle-butterfly-twiddle ordering)이 유지된다.
역 FFT 연산(IFFT)은 구조적으로 FFT와 동일하다. IFFT는 회전인자들(즉, 회전방향)의 각각의 회전 인자의 부호들을 반전시키고 라딕스-4 버터플라이에서 j-곱셈을 반전시킴으로서 이전에 기술된 구조로부터 획득된다.
하드웨어를 최소화하기 위하여, 모든 처리는 순차적이며, 회전 곱셈들을 수행하기 위하여 GPAP들을 사용한다. 예컨대, 겨우 하나의 라딕스-2 버터플라이 및 하나의 라딕스-4 버터플라이는 적절한 스토리지와 함께 필요한 연산들을 수행하기에 충분하다. 포인트들은 각각 128-pt 또는 64-pt FFT(또는 IFFT)을 수행하기 위하여 라딕스-2 버터플라이에 페어-와이즈(pair-wise)로 제공되거나 또는 라딕스-4 버터플라이에 쿼드(quad)로 제공된다. 이러한 타입의 구조는 기술된 FFT/IFFT 기능들을 필요로 하는 임의의 장치에 대한 영역을 현저하게 절약할 것이다.
앞의 구조는 데이터의 단일 스트림을 처리하는데 적합하다. 다중 병렬 스트림들을 지원하는 것은 2x2 MIMO 시스템의 경우에서처럼 데이터 저장을 위한 추가 하드웨어, 버터플라이 상호접속부들 뿐만아니라 추가 GPAP들을 단순하게 추가한다. 동일한 제어 신호들, 어드레싱 및 회전 계수들은 다른 병렬 스트림(들)에 의하여 사용되며, 이는 다양한 MIMO 구성들에 적용가능한 스케일가능 설계를 야기한다.
구조는 2개의 섹션 또는 모듈들의 집합, 제어 섹션 및 데이터 경로 섹션으로 분할된다. 실시예들을 스케일링할때, 동일한 데이터 경로 섹션들이 사용되며, 그 결과 추가 스트림들을 더하면 데이터 경로 섹션들이 더해지며, 제어 섹션은 다른 수의 스트림들 및 데이터 경로들에 대하여 동일하게 유지된다.
FFT 및 IFFT 연산들을 위하여 64-pt 및 128-pt 연산들을 용이하게 지원하는 메모리 구조가 사용될 수 있다. 전형적인 802.11 구현에서, IFFT는 패킷 전송을 위하여 사용된다. 입력 데이터는 비교적 빠른 처리속도, 즉 200MHz에서 모듈로 버스트로 전송될 수 있는 반면에, 출력 데이터는 전송 데이터 레이트, 즉 20 Msps(초당 메가-심볼) 또는 40 Msps에 의하여 조절된다. 역으로, 패킷 수신동안 FFT로의 입력 데이터는 동일한 전송 데이터 레이트, 즉 200 Msps 또는 40Msps로 제한된다. FFT 출력 데이터는 복조 및 디코딩을 위하여 처리 속도, 즉 200MHz로 버스트 출력될 수 있다.
50 또는 100의 데이터 레이트 대 클록 비에 있어서, 도 4에 도시된 더블-버퍼 구조는 이들 가정들을 만족한다. 더블-버퍼(double-buffer)들은 제어 할당들에 기초하여 사용법(usage)을 회전시킨다. 도 5의 타이밍도에 도시된 바와 같이, 3개의 모드들, 즉 입력 기록, 버터플라이 판독 및 기록, 및 출력 판독이 정의된다. 모드 할당들은 앞서 기술된 다른 입력 및 출력 시나리오를 조절하기 위하여 시퀀싱된다. IFFT 모드에서, 하나의 버퍼는 버스트 입력을 허용한 후 클록속도에서 라딕스 연산들을 수행한다. 이러한 시간동안, 제 2 버퍼는 전송 데이터 레이트로 판독된다. 이는 출력 데이터가 판독되는 방식, 즉 데이터가 버스트 출력되거나 또는 샘플들사이에 스톨링(stall)되는 방식을 제한하지 않는다는 것에 유의해야 한다. 버퍼는 전송 레이트의 간격들에서, 예컨대 802.11에 대하여 4㎲마다 조절된다. 제 1 OFDM 심볼에 대하여, 각각의 모드는 제 1 버퍼를 통해 전진한다. 전송 레이트가 유지되도록 하기 위하여, 제 2 OFDM 심볼 처리는 제 1 심볼 출력 데이터가 판독되는 동안 임의의 시간에 시작되어야 한다. 이 시점에서, 입력 모드는 제 2 버퍼상에서 초기화되며, 프로세스는 반복된다. FFT 모드에서, 제 1 OFDM 심볼은 마찬가지로 제 1 버퍼를 통해 전진한다. 그러나, 입력 데이터가 연속적이기 때문에, 제 2 OFDM 심볼은 제 2 버퍼상에서 즉시 시작된다. 처리 비가 주어지면, 제 1 OFDM 심볼 버터플라이 및 출력 동작들은 제 2 OFDM 심볼이 완전하게 기록되기 전에 완료되는 것이 보장된다. 도 5는 FFT 및 IFFT 처리에 대한 메모리 모드 중첩을 기술한다. 만일 처리비가 기술된 타이밍을 보장하기 위하여 충분히 높지 않으면, 메모리 구조는 각각의 모드에 대하여 전용 메모리를 필요로 하거나 또는 도시된 예에서 3개의 버퍼들을 필요로 한다.
도 4의 메모리 구조의 다른 특징은 64-pt 및 128-pt 연산들을 지원하기 위하여 데이터가 버퍼들내에서 처리되는 방식이다. 각각의 버퍼는 최대 128 엔트리 조건들에 맞게 크기가 정해지며, 아직 버퍼는 1x128, 즉 128개의 엔트리들의 하나의 뱅크보다 오히려 2x64, 즉 64개의 엔트리들의 2개의 병렬 뱅크들로서 배열된다. 입력 데이터는 64에 의하여 분리된 엔트리들이 동일한 어드레스가능 위치의 2개의 인접 절반으로 기록되도록, 즉 65번째 엔트리가 0번째 엔트리와 동일한 어드레스의 두번째 절반 또는 (i, i+64)를 점유하도록 순차적으로 기록된다. 예컨대, 만일 각각의 엔트리가 1 바이트이고 각각의 어드레스가능 위치가 1 워드, 즉 2 바이트이면, 엔트리 i는 워드의 최상위 바이트에 기록될 수 있으며 엔트리 i+64는 동일한 워드의 최하위 비트에 기록될 수 있다. 필요한 경우에 구현 및 성능 요건들을 만족시키기 위하여 다른 엔트리 크기들이 사용될 수 있다. 워드-어드레스가능 메모리의 경우에, 워드-어드레스가능 메모리 위치의 단지 1 바이트가 다른 바이트를 간섭하지 않고 기록되는 특별한 어드레싱 모드를 제공하는 버퍼 바이트-기록은 전체 엔트리 쌍(i, i+64)이 64-pt 및 128-pt 연산시에 한번 판독되기 때문에 64-pt 및 128-pt 연산들에 대한 제어 로직을 재사용하기 위한 키인 설계 가정을 가능하게 한다. 라딕스-2 버터플라이동안, 분해는 64에 의하여 분리된 데이터 쌍들을 결합한다. 병렬로 이용가능한 세트들을 가지면, 버터플라이는 단일 사이클에서 또는 전체적으로 64 사이클에서 수행된다. 라딕스-4 버터플라이동안, 4개의 액세스는 64-pt 연산을 위하여 필요하나, 판독들은 128-pt FFT의 경우에 64-pt 연산들을 위한 데이터를 제공한다. 이러한 병렬 액세스는 제 2 64-pt 연산이 임의의 추가 대기시간을 유발하지 않는다는 것을 의미한다. 64-pt 연산을 위하여, 엔트리들 64-127의 데이터는 단순히 무시된다.
이러한 메모리 구조는 단일 데이터 스트림을 위하여 필요한 특징들을 기술한다. N개의 병렬 스트림들에 대하여, 이러한 구조는 N번 반복된다.
3개의 메모리 모드, 즉 입력 기록들, 버터플라이 액세스(판독들 및 기록들) 및 출력 판독들을 따르는 3개의 어드레싱 모드들이 존재한다. 이전에 언급된 바와 같이, 모든 어드레스 생성은 N, 즉 병렬 스트림들의 수와 무관하다. 동일한 어드레싱 로직은 모든 처리 스트림들에 의하여 공유된다.
입력 기록들은 순차적이다. 그러나, 인터페이스는 연산(순방향 또는 역방향) 및 차수(64-pt 또는 128-pt)를 매칭시키기 위하여 여러 조건들을 지원한다. 패킷 수신동안, 입력은 순서와 관계없이 요구되는 대로 도달하며, 하나의 샘플은 동시에 도달한다. 수신모드는 순방향 연산과 매칭되며, 그 결과 이러한 조건하에서 입력은 인덱스 0 내지 63으로부터 낮은 메모리 쌍내에 순차적으로 기록된다. 128-pt 모드에서, 입력 기록들은 인덱스 0 내지 63으로부터 동일한 메모리 버퍼의 높은 메모리 쌍내로 계속된다. 64-pt 모드에서, 입력 기록들은 다시 낮은 메모리 쌍내로 그러나 다른 버퍼내로 수행된다. 패킷 전송 동안 또는 역방향 연산동안, 데이터가 128-pt 모드에서 쌍으로 이용가능하다는 것이 가정된다. 이러한 방식에서, 완전한 메모리 쌍은 인덱스 0 내지 63으로부터 각각의 사이클동안 기록된다. 64-pt 모드에서는 단지 낮은 메모리 쌍만이 기록된다.
버터플라이 액세스에 있어서, 라딕스-2 및 라딕스-4 스테이지에 대한 어드레 싱 순서를 저장하기 위하여 LUT를 사용하는 것보다 오히려, 단순화된 제어 로직은 온-더-플라이(on-the-fly) 방식으로 어드레스를 발생시키기 위하여 생성되었다. 먼저 라딕스-4 연산을 고려하면, 64-pt FFT는 각각 16개의 버터플라이를 가진 3개의 스테이지를 필요로 한다. DIF 알고리즘의 각각의 스테이지에서 어드레싱 순서를 정밀하게 검사할때, 버퍼 어드레스는 모듈-64 카운터(6비트)의 단순히 리오더링이다. 제 1 스테이지에서, 각각의 버터플라이로의 4개의 입력은 16에 의하여 분리된다. 카운터 비트들을 [1:0][5:2]로서 재정렬함으로서, 순차 카운트는 값들 0, 16, 32, 48, 1, 17, 33, 49,...,15, 31, 47, 63을 생성한다. 제 2 스테이지에서, 4개의 입력은 4에 의하여 분리된다. 카운트 비트들을 [5:4][1:0][3:2]로서 재정렬하면 값들 0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15, ..., 51, 55, 59, 63이 생성된다. 제 3 및 최종 스테이지에서, 4개의 입력들은 순차적이며, 그 결과 카운터 비트는 재정렬되지 않는다.
라딕스-2 연산은 64에 의하여 분리된 입력들을 가진 64 버터플라이들을 포함한다. 초기에 기술된 버퍼 메모리 쌍(pairing)이 주어지면, 라딕스-2 어드레싱은 각각의 판독 액세스가 64에 의하여 이미 분리된 2개의 입력을 제공하기 때문에 임의의 정렬(ordering)을 사용할 수 있다. 간략화를 위하여, 정렬은 라딕스-4 연산의 제 1 스테이지와 매칭된다. 그 결과, FFT 순서(64 또는 128)와 무관하게, 모든 어드레싱은 하나의 6비트 카운터 내에 포함된다.
출력 판독들은 특별한 핸들링(handling)을 필요로 한다. 라딕스 처리는 비트-역 순서로 출력들을 생성한다. 따라서, 출력 어드레싱은 이러한 인덱스들을 재정렬해야 한다. 원하는 출력 시퀀스에 대하여, 이는 단지 [5:0]로부터 [1:0][3:2][5:4]로 어드레스 비트들을 비트-스와핑(bit-swapping)하는 것을 요구한다. 128-pt 연산들 동안, 메모리 쌍들은 동시에 출력된다. 64만큼 입력에서 분리되는 동안, 버터플라이는 출력들로서 순차적인 쌍들을 생성한다. 64-pt 모드에서, 출력 제어는 단순히 높은 메모리 쌍에 대하여 유효한 출력을 트리거링하지 않는다. 이는 그 자체가 64-pt 및 128-pt 처리를 연속적으로(seamless) 할 수 있도록 한다.
회전 인자들은 처리의 라딕스 및 스테이지 따른다. 라딕스-2 스테이지에서, 회전인자들은 도 6에 도시된 바와 같이 128-pt 단위원 주위에서 순차적이거나 또는 n=0...63에 대하여 Wn128이다. 제 1 라딕스-4 스테이지에서, 회전인자들은 다시 순차적이나, 64-pt 단위원 주위에서 4의 그룹들이거나 또는 n=0...15 및 k=0...3에 대하여 Wnk64이다. 제 2 라딕스-4 스테이지에서, 회전인자들은 다시 16-pt 단위원 주위에서 4의 그룹들이거나 또는 n=0...3 및 k=0...3에 대하여 Wnk16이다. 최종 라딕스-4 스테이지에 대하여, 회전 인자들은 모드 1들이다.
룩업 테이블(LUT)에 모든 계수들을 저장하는 것보다 오히려, 이러한 예시적인 실시예는 하이브리드(hybrid) 모듈로(modulo)-어드레싱 및 부분 LUT 방법을 사용하여 온-더-플라이 방식으로 회전 인자들을 생성하도록 선택한다. 기준으로서 128-pt 단위원을 사용하면(도 6 참조), 각각의 사분면내의 코사인 및 사인값들은 다른 것들의 미러 복사값(mirror copy)이며, 주어진 사분면내의 값들은 중간점 주위에서 추가로 미러링(mirroring)될 수 있다. 그러므로, 부분 LUT는 단지 "x" 및 "y" 값들의 사분면 값의 절반 또는 128/4/2+1=17 엔트리들을 저장할 것을 필요로 한다(17번째 엔트리는 주위의 값들을 미러링하기 위한 중간점이다). 도 6은 1/2 사분면들이 단위원 주위의 코사인 및 사인값들에 어떻게 매핑되는지를 기술한다.
적어도 하나의 실시예의 여러 양상들을 기술한 반면에, 다양한 변형들, 수정들 및 개선들이 당업자에 의하여 용이하게 이루어질 수 있다. 이러한 변형들, 수정들 및 개선들은 본 발명의 일부분이 되며, 본 발명의 범위 및 사상내에 속한다.

Claims (35)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 고속 푸리에 변환(FFT)을 수행하기 위한 프로세서로서,
    적어도 하나의 라딕스-2 버터플라이 구조;
    적어도 하나의 라딕스-4 버터플라이 구조;
    상기 라딕스-2 및 라딕스-4 버터플라이 구조들로부터 데이터 스트림을 입력하고 데이터 출력을 저장하기 위한 버퍼 구조;
    상기 라딕스-2 버터플라이 구조의 입력들 또는 상기 라딕스-4 버터플라이 구조의 입력들에 상기 데이터 스트림을 교대로 접속함으로써 다수의 스테이지들에서 데이터 스트림 상에 FFT를 수행하도록 구성되는 FFT 로직 ― 상기 FFT 로직은 선택되는 상기 입력들에 의존하여 적어도 두 번의 상이한 분해능 고속 푸리에 변환들을 수행할 수 있음 ―; 및
    순차 카운터의 비트들을 재정렬함으로써 상기 다수의 스테이지들 동안 상기 버퍼 구조에 대하여 버퍼 어드레스들을 발생시키도록 구성되는 어드레스 발생 로직
    을 포함하는, 고속 푸리에 변환(FFT)을 수행하기 위한 프로세서.
  10. 제 9 항에 있어서,
    상기 라딕스-2 버터플라이 구조의 입력들 또는 상기 라딕스-4 버터플라이 구조의 입력들에 수신 데이터 스트림을 교대로 접속함으로써 다수의 스테이지들에서 상기 수신 데이터 스트림 상에 역 FFT(IFFT)를 수행하도록 구성되는 역 FFT(IFFT) 로직을 더 포함하고,
    상기 IFFT 로직은 선택되는 상기 입력들에 의존하여 적어도 두 번의 상이한 분해능 IFFT들을 수행할 수 있는, 고속 푸리에 변환(FFT)을 수행하기 위한 프로세서.
  11. 제 9 항에 있어서,
    상기 버퍼 구조는 각각이 N개의 엔트리들의 병렬 뱅크들로서 정렬되는, 적어도 제 1 및 제 2 버퍼들을 포함하고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 위치의 인접 절반들로 기록되는, 고속 푸리에 변환(FFT)을 수행하기 위한 프로세서.
  12. 제 11 항에 있어서,
    각 엔트리는 1 바이트 폭이고,
    각 어드레스가능 위치는 2 바이트들 폭이고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 워드의 최상위 및 최하위 바이트들에 기록되는, 고속 푸리에 변환(FFT)을 수행하기 위한 프로세서.
  13. 제 12 항에 있어서,
    상기 동일한 어드레스가능 워드에 기록된 바이트들의 쌍들은 어드레스가능 워드에 대응하는 버퍼 어드레스로 어드레싱될 때 동시에 상기 버퍼 구조로부터 판독되는, 고속 푸리에 변환(FFT)을 수행하기 위한 프로세서.
  14. 제 9 항에 있어서,
    상기 FFT 로직은 적어도 제 1 및 제 2 스테이지들에서 상기 FFT 동작을 수행하고,
    상기 어드레스 발생 로직은 상기 제 1 스테이지에서 제 1 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 1 방식으로 상기 순차 카운터의 비트들을 재정렬하고 상기 제 2 스테이지에서 제 2 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 2 방식으로 상기 순차 카운터의 비트들을 재정렬함으로써 상기 버퍼 어드레스들을 발생시키는, 고속 푸리에 변환(FFT)을 수행하기 위한 프로세서.
  15. 무선 통신을 위한 장치로서,
    적어도 하나의 라딕스-2 버터플라이 구조;
    적어도 하나의 라딕스-4 버터플라이 구조;
    상기 라딕스-2 및 라딕스-4 버터플라이 구조들로부터 데이터 스트림을 입력하고 데이터 출력을 저장하기 위한 버퍼 구조;
    상기 라딕스-2 버터플라이 구조의 입력들 또는 상기 라딕스-4 버터플라이 구조의 입력들에 상기 데이터 스트림을 교대로 접속함으로써 다수의 스테이지들에서 데이터 스트림 상에 고속 푸리에 변환(FFT)을 수행함에 의해 전송 심볼을 발생시키도록 구성되는 고속 푸리에 변환(FFT) 로직 ― 상기 FFT 로직은 선택되는 상기 입력들에 의존하여 적어도 두 번의 상이한 분해능 고속 푸리에 변환들을 수행할 수 있음 ―;
    순차 카운터의 비트들을 재정렬함으로써 상기 다수의 스테이지들 동안 상기 버퍼 구조에 대하여 버퍼 어드레스들을 발생시키도록 구성되는 어드레스 발생 로직; 및
    상기 전송 심볼을 전송하기 위한 전송기
    를 포함하는, 무선 통신을 위한 장치.
  16. 제 15 항에 있어서,
    상기 라딕스-2 버터플라이 구조의 입력들 또는 상기 라딕스-4 버터플라이 구조의 입력들에 수신 데이터 스트림을 교대로 접속함으로써 다수의 스테이지들에서 상기 수신 데이터 스트림 상에 역 FFT(IFFT)를 수행하도록 구성되는 역 FFT(IFFT) 로직을 더 포함하고,
    상기 IFFT 로직은 선택되는 상기 입력들에 의존하여 적어도 두 번의 상이한 분해능 IFFT들을 수행할 수 있는, 무선 통신을 위한 장치.
  17. 제 15 항에 있어서,
    상기 버퍼 구조는 각각이 N개의 엔트리들의 병렬 뱅크들로서 정렬되는, 적어도 제 1 및 제 2 버퍼들을 포함하고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 위치의 인접 절반들로 기록되는, 무선 통신을 위한 장치.
  18. 제 17 항에 있어서,
    각 엔트리는 1 바이트 폭이고,
    각 어드레스가능 위치는 2 바이트들 폭이고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 워드의 최상위 및 최하위 바이트들에 기록되는, 무선 통신을 위한 장치.
  19. 제 18 항에 있어서,
    상기 동일한 어드레스가능 워드에 기록된 바이트들의 쌍들은 어드레스가능 워드에 대응하는 버퍼 어드레스로 어드레싱될 때 동시에 상기 버퍼 구조로부터 판독되는, 무선 통신을 위한 장치.
  20. 제 15 항에 있어서,
    상기 FFT 로직은 적어도 제 1 및 제 2 스테이지들에서 상기 FFT 동작을 수행하고,
    상기 어드레스 발생 로직은 상기 제 1 스테이지에서 제 1 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 1 방식으로 상기 순차 카운터의 비트들을 재정렬하고 상기 제 2 스테이지에서 제 2 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 2 방식으로 상기 순차 카운터의 비트들을 재정렬함으로써 상기 버퍼 어드레스들을 발생시키는, 무선 통신을 위한 장치.
  21. 고속 푸리에 변환(FFT)을 수행하기 위한 방법으로서,
    라딕스-2 버터플라이 구조의 입력들 또는 라딕스-4 버터플라이 구조의 입력들에 데이터 스트림을 교대로 접속함으로써 다수의 스테이지들에서 상기 데이터 스트림 상에 FFT를 수행하는 단계 ― 적어도 두 번의 상이한 분해능 고속 푸리에 변환들은 선택되는 상기 입력들에 의존하여 수행될 수 있음 ―; 및
    순차 카운터의 비트들을 재정렬함으로써 상기 FFT의 다수의 스테이지들 동안 버퍼 구조로 또는 버퍼 구조 밖으로 데이터를 전달하기 위한 버퍼 어드레스들을 발생시키는 단계
    를 포함하는, 고속 푸리에 변환(FFT)을 수행하기 위한 방법.
  22. 제 21 항에 있어서,
    상기 버퍼 구조는 각각이 N개의 엔트리들의 병렬 뱅크들로서 정렬되는, 적어도 제 1 및 제 2 버퍼들을 포함하고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 위치의 인접 절반들로 기록되는, 고속 푸리에 변환(FFT)을 수행하기 위한 방법.
  23. 제 22 항에 있어서,
    각 엔트리는 1 바이트 폭이고,
    각 어드레스가능 위치는 2 바이트들 폭이고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 워드의 최상위 및 최하위 바이트들에 기록되는, 고속 푸리에 변환(FFT)을 수행하기 위한 방법.
  24. 제 23 항에 있어서,
    상기 동일한 어드레스가능 워드에 기록된 바이트들의 쌍들은 어드레스가능 워드에 대응하는 버퍼 어드레스로 어드레싱될 때 동시에 상기 버퍼 구조로부터 판독되는, 고속 푸리에 변환(FFT)을 수행하기 위한 방법.
  25. 제 21 항에 있어서,
    상기 FFT 로직은 적어도 제 1 및 제 2 스테이지들에서 상기 FFT 동작을 수행하고,
    상기 어드레스 발생 로직은 상기 제 1 스테이지에서 제 1 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 1 방식으로 상기 순차 카운터의 비트들을 재정렬하고 상기 제 2 스테이지에서 제 2 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 2 방식으로 상기 순차 카운터의 비트들을 재정렬함으로써 상기 버퍼 어드레스들을 발생시키는, 고속 푸리에 변환(FFT)을 수행하기 위한 방법.
  26. 고속 푸리에 변환(FFT)을 수행하기 위한 장치로서,
    라딕스-2 버터플라이 구조의 입력들 또는 라딕스-4 버터플라이 구조의 입력들에 데이터 스트림을 교대로 접속함으로써 다수의 스테이지들에서 상기 데이터 스트림 상에 고속 푸리에 변환(FFT)을 수행하기 위한 수단 ― 적어도 두 번의 상이한 분해능 고속 푸리에 변환들은 선택되는 상기 입력들에 의존하여 수행될 수 있음 ―; 및
    순차 카운터의 비트들을 재정렬함으로써 상기 FFT의 다수의 스테이지들 동안 버퍼 구조로 또는 버퍼 구조 밖으로 데이터를 전달하기 위한 버퍼 어드레스들을 발생시키기 위한 수단
    을 포함하는, 고속 푸리에 변환(FFT)을 수행하기 위한 장치.
  27. 제 26 항에 있어서,
    상기 버퍼 구조는 각각이 N개의 엔트리들의 병렬 뱅크들로서 정렬되는, 적어도 제 1 및 제 2 버퍼들을 포함하고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 위치의 인접 절반들로 기록되는, 고속 푸리에 변환(FFT)을 수행하기 위한 장치.
  28. 제 27 항에 있어서,
    각 엔트리는 1 바이트 폭이고,
    각 어드레스가능 위치는 2 바이트들 폭이고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 워드의 최상위 및 최하위 바이트들에 기록되는, 고속 푸리에 변환(FFT)을 수행하기 위한 장치.
  29. 제 28 항에 있어서,
    상기 동일한 어드레스가능 워드에 기록된 바이트들의 쌍들은 어드레스가능 워드에 대응하는 버퍼 어드레스로 어드레싱될 때 동시에 상기 버퍼 구조로부터 판독되는, 고속 푸리에 변환(FFT)을 수행하기 위한 장치.
  30. 제 26 항에 있어서,
    상기 FFT를 수행하기 위한 수단은 적어도 제 1 및 제 2 스테이지들에서 상기 FFT 동작을 수행하기 위한 수단을 포함하고,
    상기 버퍼 어드레스들을 발생시키기 위한 수단은 상기 제 1 스테이지에서 제 1 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 1 방식으로 상기 순차 카운터의 비트들을 재정렬하고 상기 제 2 스테이지에서 제 2 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 2 방식으로 상기 순차 카운터의 비트들을 재정렬함으로써 상기 버퍼 어드레스들을 발생시키기 위한 수단을 포함하는, 고속 푸리에 변환(FFT)을 수행하기 위한 장치.
  31. 저장된 명령들을 포함하는 메모리를 포함하며, 고속 푸리에 변환(FFT)을 수행하기 위한 소프트웨어 저장 장치로서,
    상기 명령들은 하나 이상의 프로세서들에 의해 실행가능하고, 상기 명령들은,
    라딕스-2 버터플라이 구조의 입력들 또는 라딕스-4 버터플라이 구조의 입력들에 데이터 스트림을 교대로 접속함으로써 다수의 스테이지들에서 상기 데이터 스트림 상에 고속 푸리에 변환(FFT)을 수행하기 위한 코드 ― 적어도 두 번의 상이한 분해능 고속 푸리에 변환들은 선택되는 상기 입력들에 의존하여 수행될 수 있음 ―; 및
    순차 카운터의 비트들을 재정렬함으로써 상기 FFT의 다수의 스테이지들 동안 버퍼 구조로 또는 버퍼 구조 밖으로 데이터를 전달하기 위해 버퍼 어드레스들을 발생시키기 위한 코드
    를 포함하는, 고속 푸리에 변환(FFT)을 수행하기 위한 소프트웨어 저장 장치.
  32. 제 31 항에 있어서,
    상기 버퍼 구조는 각각이 N개의 엔트리들의 병렬 뱅크들로서 정렬되는, 적어도 제 1 및 제 2 버퍼들을 포함하고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 위치의 인접 절반들로 기록되는, 고속 푸리에 변환(FFT)을 수행하기 위한 소프트웨어 저장 장치.
  33. 제 32 항에 있어서,
    각 엔트리는 1 바이트 폭이고,
    각 어드레스가능 위치는 2 바이트들 폭이고,
    N에 의해 분리된 엔트리들은 동일한 어드레스가능 워드의 최상위 및 최하위 바이트들에 기록되는, 고속 푸리에 변환(FFT)을 수행하기 위한 소프트웨어 저장 장치.
  34. 제 33 항에 있어서,
    상기 동일한 어드레스가능 워드에 기록된 바이트들의 쌍들은 어드레스가능 워드에 대응하는 버퍼 어드레스로 어드레싱될 때 동시에 상기 버퍼 구조로부터 판독되는, 고속 푸리에 변환(FFT)을 수행하기 위한 소프트웨어 저장 장치.
  35. 제 31 항에 있어서,
    상기 FFT를 수행하기 위한 코드는 적어도 제 1 및 제 2 스테이지들에서 상기 FFT 동작을 수행하기 위한 코드를 포함하고,
    상기 버퍼 어드레스들을 발생시키기 위한 코드는 상기 제 1 스테이지에서 제 1 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 1 방식으로 상기 순차 카운터의 비트들을 재정렬하고 상기 제 2 스테이지에서 제 2 양에 의해 분리된 버퍼 어드레스들을 생성하기 위해 제 2 방식으로 상기 순차 카운터의 비트들을 재정렬함으로써 상기 버퍼 어드레스들을 발생시키기 위한 코드를 포함하는, 고속 푸리에 변환(FFT)을 수행하기 위한 소프트웨어 저장 장치.
KR1020087029307A 2006-04-28 2007-04-27 멀티―포트 혼합―라딕스 fft KR101045713B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US79577806P 2006-04-28 2006-04-28
US60/795,778 2006-04-28

Publications (2)

Publication Number Publication Date
KR20090016680A KR20090016680A (ko) 2009-02-17
KR101045713B1 true KR101045713B1 (ko) 2011-06-30

Family

ID=38564600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087029307A KR101045713B1 (ko) 2006-04-28 2007-04-27 멀티―포트 혼합―라딕스 fft

Country Status (6)

Country Link
US (1) US8126953B2 (ko)
EP (1) EP2013772B1 (ko)
JP (1) JP4955756B2 (ko)
KR (1) KR101045713B1 (ko)
CN (2) CN101454772B (ko)
WO (1) WO2007127938A2 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101421721B (zh) * 2005-12-29 2011-09-28 创达特(苏州)科技有限责任公司 Vdsl2发送端/接收端系统架构设计方案
EP2009555B1 (en) * 2007-06-28 2009-09-23 Telefonaktiebolaget LM Ericsson (publ) Method and device for transform computation
US8959133B2 (en) * 2008-04-18 2015-02-17 Nxp, B.V. System and method for configurable mixed radix FFT architecture for multimode device
US9342486B2 (en) * 2008-10-03 2016-05-17 Microsoft Technology Licensing, Llc Fast computation of general fourier transforms on graphics processing units
KR101002771B1 (ko) * 2008-10-15 2010-12-21 한국전자통신연구원 푸리에 변환 장치 및 방법
US8898212B2 (en) * 2008-10-24 2014-11-25 Freescale Semiconductor, Inc Methods and apparatus for reordering data
CN101860508B (zh) 2009-04-13 2013-01-16 中兴通讯股份有限公司 一种fft变换的复用装置及方法
CN102063411A (zh) * 2009-11-17 2011-05-18 中国科学院微电子研究所 一种基于802.11n的FFT/IFFT处理器
JP5686241B2 (ja) * 2010-10-20 2015-03-18 ソニー株式会社 受信装置、受信方法、およびプログラム
CN102567282B (zh) * 2010-12-27 2016-03-30 北京国睿中数科技股份有限公司 通用dsp处理器中fft计算实现装置和方法
CN102737009B (zh) * 2011-04-01 2015-09-16 中兴通讯股份有限公司 一种fft旋转因子产生装置及其应用方法
CN102411491B (zh) * 2011-12-31 2014-01-29 中国科学院自动化研究所 一种用于并行fft计算的数据存取方法及装置
WO2014108718A1 (en) * 2013-01-09 2014-07-17 Intel Corporation Continuous-flow conflict-free mixed-radix fast fourier transform in multi-bank memory
WO2015011874A1 (ja) * 2013-07-23 2015-01-29 日本電気株式会社 デジタルフィルタ装置、デジタルフィルタ処理方法及びデジタルフィルタプログラムが記憶された記憶媒体
CN103823789B (zh) * 2014-01-26 2016-09-07 北京理工大学 一种低复杂度的通用混合基fft设计方法
KR102216063B1 (ko) 2015-01-21 2021-02-16 한국전자통신연구원 Lte 시스템의 ifft 입력 제어 장치
US9805000B1 (en) * 2015-07-29 2017-10-31 Mbit Wireless, Inc. Method and apparatus for reordering mixed radix fast Fourier transform outputs
NL2018617B1 (en) * 2017-03-30 2018-10-10 Axign B V Intra ear canal hearing aid
US10530397B2 (en) * 2017-07-17 2020-01-07 Texas Instruments Incorporated Butterfly network on load data return
CN111368250B (zh) * 2018-12-26 2023-08-15 北京欣奕华科技有限公司 基于傅里叶变换/逆变换的数据处理系统、方法及设备
CN110245322B (zh) * 2019-05-09 2020-10-16 华中科技大学 一种基于硬件实现高速数据流实时Hilbert变换的方法和系统
US11868848B2 (en) * 2020-05-19 2024-01-09 Mitchell A. Thornton Systems and methods for controlled quantum information processing with a trans-radix basis component
CN112511480B (zh) * 2020-11-10 2022-11-01 展讯半导体(成都)有限公司 二次fft或ifft变换方法及相关产品
US11455369B1 (en) * 2021-02-05 2022-09-27 Xilinx, Inc. Streaming FFT with bypass function

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473556A (en) 1992-04-30 1995-12-05 Sharp Microelectronics Technology, Inc. Digit reverse for mixed radix FFT
WO2004004265A1 (en) * 2002-06-27 2004-01-08 Samsung Electronics Co., Ltd. Modulation apparatus using mixed-radix fast fourier transform

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4689762A (en) * 1984-09-10 1987-08-25 Sanders Associates, Inc. Dynamically configurable fast Fourier transform butterfly circuit
US5293330A (en) * 1991-11-08 1994-03-08 Communications Satellite Corporation Pipeline processor for mixed-size FFTs
JPH08320857A (ja) * 1995-05-25 1996-12-03 Sony Corp フーリエ変換演算装置および方法
DE69837299T2 (de) * 1997-01-22 2007-06-28 Matsushita Electric Industrial Co., Ltd., Kadoma System und Verfahren zur schnellen Fourier-Transformation
JP3668356B2 (ja) * 1997-04-07 2005-07-06 シャープ株式会社 高速フーリエ変換演算回路
AU2002252086A1 (en) * 2001-02-24 2002-09-12 Gyan V. Bhanot Efficient implementation of a multidimensional fast fourier transform on a distributed-memory parallel multi-node computer
US20040059766A1 (en) * 2002-09-23 2004-03-25 Yeou-Min Yeh Pipelined low complexity FFT/IFFT processor
US7870176B2 (en) 2004-07-08 2011-01-11 Asocs Ltd. Method of and apparatus for implementing fast orthogonal transforms of variable size
US20060075010A1 (en) * 2004-10-05 2006-04-06 Wadleigh Kevin R Fast fourier transform method and apparatus
JP4796339B2 (ja) 2005-06-20 2011-10-19 Okiセミコンダクタ株式会社 メモリの読み出し及び書き込み方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473556A (en) 1992-04-30 1995-12-05 Sharp Microelectronics Technology, Inc. Digit reverse for mixed radix FFT
WO2004004265A1 (en) * 2002-06-27 2004-01-08 Samsung Electronics Co., Ltd. Modulation apparatus using mixed-radix fast fourier transform

Also Published As

Publication number Publication date
WO2007127938A2 (en) 2007-11-08
US8126953B2 (en) 2012-02-28
EP2013772B1 (en) 2018-07-11
US20070288542A1 (en) 2007-12-13
WO2007127938A3 (en) 2009-02-12
EP2013772A2 (en) 2009-01-14
CN101454772B (zh) 2015-11-25
CN102541812A (zh) 2012-07-04
KR20090016680A (ko) 2009-02-17
JP4955756B2 (ja) 2012-06-20
JP2009535937A (ja) 2009-10-01
CN101454772A (zh) 2009-06-10
CN102541812B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
KR101045713B1 (ko) 멀티―포트 혼합―라딕스 fft
US7702712B2 (en) FFT architecture and method
US20050177608A1 (en) Fast Fourier transform processor and method using half-sized memory
Son et al. A high-speed FFT processor for OFDM systems
Takala et al. Conflict-free parallel memory access scheme for FFT processors
Lo et al. Design of an efficient FFT processor for DAB system
US20100128818A1 (en) Fft processor
EP2144172A1 (en) Computation module to compute a multi radix butterfly to be used in DTF computation
US7395293B1 (en) Memory segmentation for fast fourier transform
US7555512B2 (en) RAM-based fast fourier transform unit for wireless communications
JP4160564B2 (ja) 処理速度の向上した高速フーリエ変換装置およびその処理方法
US20150331634A1 (en) Continuous-flow conflict-free mixed-radix fast fourier transform in multi-bank memory
US8209485B2 (en) Digital signal processing apparatus
JP5486226B2 (ja) ルリタニアマッピングを用いるpfaアルゴリズムに従って種々のサイズのdftを計算する装置及び方法
EP2144173A1 (en) Hardware architecture to compute different sizes of DFT
Sorokin et al. Conflict-free parallel access scheme for mixed-radix FFT supporting I/O permutations
EP4011030A1 (en) Configuring a reduced instruction set computer processor architecture to execute a fully homomorphic encryption algorithm
US8484273B1 (en) Processing system and method for transform
US7675847B2 (en) Hardware implementation of a programmable FFT based on a half length FFT core
Baek et al. New address generation scheme for memory-based FFT processor using multiple radix-2 butterflies
Long et al. A low-complexity generalized memory addressing scheme for continuous-flow fast Fourier transform
Wu et al. Implementation of channel demodulator for DAB system
Camarda et al. Towards a reconfigurable FFT: application to digital communication systems
Park Design of a radix-8/4/2 FFT processor for OFDM systems
Ku et al. A design methodology of buffer-memory architectures for FFT computation

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: 20140529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 8