JP2008506191A - 可変サイズの高速直交変換を実施する方法および機器 - Google Patents

可変サイズの高速直交変換を実施する方法および機器 Download PDF

Info

Publication number
JP2008506191A
JP2008506191A JP2007520491A JP2007520491A JP2008506191A JP 2008506191 A JP2008506191 A JP 2008506191A JP 2007520491 A JP2007520491 A JP 2007520491A JP 2007520491 A JP2007520491 A JP 2007520491A JP 2008506191 A JP2008506191 A JP 2008506191A
Authority
JP
Japan
Prior art keywords
architecture
butterfly
stage
unit
reconfigurable
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2007520491A
Other languages
English (en)
Other versions
JP2008506191A5 (ja
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
Priority claimed from US11/071,340 external-priority patent/US7568059B2/en
Application filed by アソクス リミテッド filed Critical アソクス リミテッド
Publication of JP2008506191A publication Critical patent/JP2008506191A/ja
Publication of JP2008506191A5 publication Critical patent/JP2008506191A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • 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

Abstract

ベクトルの高速直交変換を多段階で実施する、再構成可能なアーキテクチャおよび方法であって、ベクトルのサイズはNであり、Nは変化してよく、段階の数はNの関数であり、アーキテクチャは、1つまたは複数のバタフライ・ユニットを含むように構成され配置された計算ユニット(182)と、計算ユニットの出力に結合され、変換の少なくとも1つの段階向けのバタフライ演算をすべて実施するように構成され配置された1つまたは複数の乗算器(184)を含むブロックと、各バタフライ演算を実施する計算ユニットによる使用のために、バタフライ演算の中間結果および所定の係数を格納するように構成され配置された記憶ユニット(180)であって、メモリおよび多重化アーキテクチャを(180)含む記憶ユニットとを含む。

Description

本出願は、以下の優先権を主張するものである。
2004年7月8日に出願した「Low−Power Reconfigurable Architecture for Simultaneous Implementation of Distinct Communication Standards」という名称の米国特許仮出願第60/586,390号(整理番号66940−016)、
2004年7月8日に出願した「Method and Architecture for Implementation of Reconfigurable Matrix−Vector Computations」という名称の米国特許仮出願第60/586,391号(整理番号66940−017)、
2004年7月8日に出願した「Method and Architecture for Implementation of Reconfigurable Orthogonal Transformations」という名称の米国特許仮出願第60/586,389号(整理番号66940−018)、
2004年7月8日に出願した「Method and Architecture for Implementation of Reconfigurable Trellis−Type Coding」という名称の米国特許仮出願第60/586,353号(整理番号66940−019)、
2004年8月25日に出願した「A Method And Device For On−line Reconfigurable Vitter Decoding Of Recursive And Non−recursive Systematic Convolution Codes With Varying Parameters」という名称の米国特許仮出願第60/604,258号(整理番号66940−020)、ならびに
2005年3月3日に出願した「Low−Power Reconfigurable Architecture For Simultaneous Implementation Of Distinct Communication Standards」という名称の米国特許出願第11/071,340号(整理番号66940−021)。
本開示は、たとえばFFT/IFFT(逆FFT)変換、ウォルシュ/アダマール変換など、およびこのような変換の複数のタイプの組合せを含む、変動サイズのベクトルの直交変換の実施を可能にするように、ハードウェアのオンライン再構成可能性を提供するシステムおよび方法に関する。本システムおよび方法は、このような変換を用いる通信装置において特に有用である。
一般的な直交変換は、ワイヤレス通信システムにおいて伝送される情報をエンコードする際の強力なツールを提供し、このような変換の様々なものが、情報を伝送するのに使われるプロトコルに応じて用いられる。たとえば、FFT(高速フーリエ変換)/IFFT(逆FFT)は、たとえばOFDMシステムおよびフィルタ・バンクにおけるクリティカル計算ブロックである。たとえば、N.West、D.J.Skellernの「VLSI for OFDM」(IEEE Communications Magazine、127〜31頁、vol.36、(no.10)、1998年10月)、およびR.van Nee及びR.Prasadの「OFDM for Wireless Multimedia Communications」(Artech House Publishers、2000年)を参照されたい。
FFT/IFFTの魅力的な特徴は、IFFTが、FFTブロックを使って、FFTの入力および出力を結合させ、処理されたベクトルのサイズで出力を割ることによって実施することができることである。したがって、同じハードウェアを、FFTおよびIFFT両方に使うことができる。FFT/IFFTを実施するいくつかの標準実装形態が公知であり、その一部は、再構成可能性をもたらす。ある標準FFT/IFFT実装形態は、FFTカーネル演算を用いている。
FFTカーネル演算
NポイントDFT(離散フーリエ変換)(たとえば、A.V.Oppenheim及びR.W.Schaferの「Discrete−Time Signal Processing」(Prentice Hill、New Jersey、1989)を参照されたい)のデジタル計算は、
Figure 2008506191

であり、上式で、複素指数係数は、
Figure 2008506191

である。
(全kに対する)DFTの直接計算は、N×N乗算およびN×(N−1)加算を必要とする。FFTアルゴリズムは、乗算の回数をNlogNに削減する、より効率的な実装である。基本的な考え方は、長さNのFFTを、長さN/2の2つのFFT構成要素に分割することであり、次いで、こうした構成要素はそれぞれ、長さN/2の2つのFFT構成要素にさらに分割され、以下同様に続く。このプロセスは、各FFT構成要素の長さが2に減じられるまで継続し、この長さは、いわゆる「バタフライ」ユニットによって直接計算することができる。このようなバタフライ・ユニットのトレリスを、図1に示してある。
一般的に使われる他の2つのFFTアルゴリズムは、周波数分割(DIF)および時間分割(DIT)アルゴリズムであり、この2つは、性質が似ている。DIFアルゴリズムは、FFT中間結果が、
Figure 2008506191

および同様に、
Figure 2008506191

を有する偶部および奇部に分割されるアーキテクチャの実装を示すのに用いられる。
標準実装
標準的な従来技術の手法において、関数特有の再構成可能性を実現するためには、計算構造を分析することが第1に必要である。FFTは、バタフライ・ブロックからなる、シャッフル交換相互連結ネットワークと見なすことができ、このネットワークは、FFTのサイズと共に変化し、したがって、最もエネルギー効率がよい完全並列実装の柔軟性のサポートを困難にする。完全並列実装において、シグナル・フロー・グラフは、ハードウェア上に直接マップすることができる。たとえば、16ポイントFFTの場合、合計で32個のバタフライ・ユニットがあり、こうしたユニットは、図2のトレリスで示すように相互連結される。概して、NポイントFFTは、(N/2)logN個のバタフライ・ユニットを必要とする。この最大並列アーキテクチャには、高性能および低電力消費の可能性があるが、特に大きいFFTサイズに対しては、コストが高い、大きいシリコン域をもっている。
DIF FFTによって生成された出力は、ビットを逆順にされる。たとえば、
X[10]=X[1010]=Y[0101]=Y[5]
となる。
実装が、固定小数点演算で行われるとき、スケーリングおよびオーバーフローを扱うことは、変換器の正しい挙動にとって不可欠である。FFTの各段階でのバタフライ演算は、複素加算および複素乗算両方を伴う。各複素加算は、2回の実数加算からなり、こうした加算は、入力ワード長を1ビットだけ拡張する。各複素乗算は、4回の実数乗算および2回の実数加算からなる。実数乗算は、入力ワード長を2倍にする。このように、正しい挙動を確実にするために、出力ワード長が(M+1)ビットまで増加されるか、あるいは出力が、Mビットまで切り捨てられ、または丸められる必要がある。切捨てが実施される場合、出力の最上位ビットは、Mビットで記述することができる最大値まで値を切り捨てることによって破棄されるに過ぎない。丸めが実施される場合、出力が右に1ビットだけシフトされ、最下位ビットが破棄される前に、最初に「1」が正の出力に加算される。最大数および最小数(a+b)は、その最下位ビットを、加算の後でゼロ(偶数)にさせるので、丸めは、加算器のオーバーフローを引き起こさない。丸めの後、出力は、aおよびbと同じ範囲、たとえばMビット内にある。
列ベースの手法
列ベースのFFTアーキテクチャにおいて、計算は、相互連結が、図3のトレリスで示されるすべての段階において同一に保たれるように再構成される。バタフライへの入力は、出力が演算されるともはや必要とされないので、出力は、同じバタフライの入力に経路指定することができ、同じバタフライはしたがって、反復方式で次および後続の段階用に再利用される(インプレース計算)。その結果、ただ一列のバタフライが必要とされ、この列は、異なる計算段階によって再利用される(時分割される)。ただし、FFT係数は、段階ごとに変更される必要がある。概して、NポイントFFTは、N/2個のバタフライ・ユニットを必要とし、たとえば8個のバタフライが、16ポイントFFT用に必要とされる。その電力消費は、完全並列アーキテクチャに非常に近いが、より小さい区域を必要とする。再構成可能な設計にさらに変換することは、単純な反復構造が特定のサイズ向けに最適化されるので、複雑なタスクである。並列から列ベースの実装への転換は、FFTフレームを処理するより多くのクロックを必要とする。実際、並列手法は、1クロック・サイクルでのフルFFTフレームの処理を可能にするが、列手法は、反復時分割構造により、logN個(radix−2ベースのバタフライ・アーキテクチャを用いるとき)のクロック周期を必要とする。
再構成可能な設計
FFTアルゴリズムを稼動するために正規のパイプライン型アーキテクチャを選ぶことによって、FFT変換の計算量の標準下方境界によって提供されるものと比較してもエネルギー・オーバーヘッドが非常に低い、再構成可能な設計を実装することが可能である。
パイプライン型手法
正規のパイプライン型アーキテクチャでは、ただ1つのバタフライ・ユニットが各段階ごとに使われ、完全並列手法での(N/2)logNおよび列ベースの手法でのN/2と比較して、合計でlogNの計算量となる。16ポイントFFTの長さに対するパイプライン手法の例を、図4に示してある。各段階42a、42bおよび42cの乗算器40は、ハードウェア要件同士を区別するために、バタフライ・ユニット44a、44bおよび44cとは区別される。バタフライ・ユニット44a、44b、44cおよび44dはそれぞれ、各段階ごとのN/2回のバタフライ演算の中で時分割される。バタフライ・ユニット44cを含む段階の場合、乗算器40cは「j」である。最後のバタフライ・ユニット44dの外には、乗算器は必要ない。パイプライン型ベースの実装は、列ベースの手法よりも、FFTフレームごとに、より多くのクロック周期を必要とする。というのは、パイプライン型ベースの手法は、N(radix−2ベースのバタフライ・アーキテクチャを用いるとき)クロック周期中にフルFFTフレームを実装することができ、列手法は、反復時分割構造により、logN(radix−2ベースのバタフライ・アーキテクチャを用いるとき)クロック周期を必要とするからである。全段階のハードウェア実装において、FFTフレームを処理するクロック数は、障害とはならない。というのは、データは、直列に1フレームずつ挿入され、フレームごとのクロック周期数は、スループットが高いまま、一定の初期遅延に変換されるからである。
単一パス遅延フィードバック(SDF)実装については、たとえば、E.H.Wald及びA.M.Despainの「Pipelined and parallel−pipeline FFT processors for VLSI implementation」(IEEE Trans.Comput.、414〜426頁、1984年5月)を参照されたい。この実装は、バタフライ出力をフィードバック・シフト・レジスタまたはFIFO46(そのサイズは図4に与えられており、この例では、レジスタの長さは、相応して8、4、2および1である)に格納することによって、メモリをより効率的に使う。1個のデータ・ストリームが、すべての段階で乗算器を通過する。
ハイブリッド手法
ハイブリッド手法は、列およびフィードバック手法の利益を兼ね備える。この手法は、フィードバック手法の要素を使ってメモリを保存し、列段階は、より優れたハードウェア使用に使われる。4ビット幅の列段階バタフライ・ユニットの使用は、より広いBUS幅および適正な再構成可能乗算器の利用と組み合わせることができる。このアーキテクチャは、高い空間使用率およびアルゴリズム効率のために必要な、正確なBUS幅をもつものにコンバートすることもできる。
反復プロセスを稼動するポピュラーなアーキテクチャを、図5に示す。このFFT実装は、単一のバタフライ・ユニット50を使用する。この単一バタフライ・ユニット設計は主に、スケジューリングおよびメモリ・アクセス方式の最適化、すなわち、繰り返し時分割された同じバタフライ・ユニットを再利用することによって段階それぞれを実装する際の、パイプライン手法の提供に注力している。Spiffeeプロセッサについては、たとえば、B.M.Baasの「A Low−power、high−performance、1024 point FFT processor」(IEEE Journal of Solid−State Circuits、1999年3月)を参照されたい。このプロセッサは、低電力消費を達成するために、RAM52および乗算器56を含むキャッシュ・メモリ・アーキテクチャを用いて、FFTアルゴリズムの正規のメモリ・アクセス・パターンを活用する例である。コントローラ54として示されるこのプロセッサは、どの長さのFFTも実施するようにプログラミングすることができるが、RAM52によって与えられるキャッシュ・サイズなど、特定の特徴は、特定のFFTサイズ向けにのみ最適化され、この手法は、非常に低い速度で作用する。というのは、Nクロック周期が、パイプライン・アルゴリズムの完全実装によるFFTフレームの計算に必要とされ、一定の初期遅延をもたらすからである。このことは、再利用されるバタフライ・ユニット50による段階の反復時間分割により、フル・フレームは、次のFFTフレームの扱いを始めることができるようになる前に、計算される必要がある(radix−2ベースのバタフライ・ユニットを使うとき、Nクロック周期を必要とする)ことを意味する。
比較的大きいradixベースのバタフライ・ユニット、たとえばRadix−4ベースのアーキテクチャを使うことによって、より効率的なFFTプロセッサを作ることができる。これにより、フルFFTフレームの処理に必要とされる計算クロック・サイクルが、N/2に削減される。高度なDSPおよびチップ内に実装されるFFTアクセラレータのほとんどは、Radix−2またはRadix−4 FFTプロセッサに基づく。こうしたアクセラレータは、使用が限られ(FFT変換用のみ)、非常に低い速度を使用し、高いクロック・レート設計の必要性に苦しむ。
多重パイプライン型手法に基づくフィルタ実装
図6に示すような再構成可能な反復方式を用いると、効率が高いどの種類のフィルタも相関関数も実装することができる。この実装は、図6の60を見ると最もよく分かる、IFFTがその後に続く、フィルタ係数での乗算(時間領域乗算)用の、FFT変換の最終段階の乗算器を使うことによって遂行される。この実装は、FFT/IFFT、たとえば離散コサイン/サイン変換(DCTおよびDST)のどのサブプロダクト、ならびに(等化、予測、補間および相関の計算にも用いることができる)カスケード式FFTおよびIFFTアルゴリズムを用いるフィルタリングのような、上述したアルゴリズムの組合せであるどのアルゴリズムの実装においても効率的である。
異なるradixを用いるFFT
radix−2アルゴリズムは、特に関心をもたれている。このアルゴリズムは、radix−4およびsplit−radixアルゴリズムそれぞれと乗算計算量が同じであり、同時に規則的なradix−2バタフライ構造を保持する。この空間的規則性は、VLSI実装用の他のアルゴリズムに勝る、構造上の大きな利点をもたらす。radix−2アルゴリズムの背景にある基本的な考え方は、正規のDIF FFTアルゴリズムの2段階をとり、実数/虚数スワップおよび符号反転のみを伴うW(N/4) =Jによる自明な乗算の回数を最大にすることにある。言い換えると、FFT係数は再構成され、非自明な乗算は、すべての2段階においてただ1つの複素乗算器が必要とされるように一段階にまとめられる(全体的論理区域を削減する)。図7は、このような係数再構成を表すトレリスを(並列形で)示す。すなわち、どの2つのバタフライ係数、W およびW(i+(N/4)) に対しても、W が除かれ、次の段階に転送され、この段階は、係数1および
Figure 2008506191

を、対応する位置に残す。この係数再構成を、係数ペアすべてに対して実施した後、一段階が、非自明な乗算なしで残される。
ハイブリッド・パイプライン/多重化手法
この10年間、いくつかのパイプライン型FFTアーキテクチャが提案されている。シグナル・フロー・グラフの空間規則性は、パイプライン型アーキテクチャにおいて保たれるので、高度にモジュール式であり拡張が容易である。シャッフル・ネットワーク80は、図8Aに示される単一パス遅延フィードバックを介して実装され、ここで、データは、単一パス中の段階82の間で処理され、フィードバックFIFOレジスタ84は、新たな入力および中間結果を格納するのに用いられる。この方式の背景にある基本的な考え方は、データを格納し、次の段階がデータを正しい順序で受け取ることができるようにスクランブルすることである。FIFOレジスタ84が、入力の前半部分で一杯になると、直前の結果の後半部分が、次の段階へシフトアウトされる。この間、演算要素は迂回される。入力の前半部分は、FIFOレジスタからシフトアウトされると、到着した入力の後半と共に処理要素に供給される。この間、演算要素は、2つの出力を操作し生成しており、1つは次の段階82に直接供給され、もう1つは、対応するFIFOレジスタにシフトインされる。乗算器(図示せず)は、必要な場合、radix−2またはradix−2アルゴリズムいずれかに従って、段階の間に挿入される。このような実装において使用するためのトレリスおよびデータ・パケットを、それぞれ図8B、8Cに示してある。
添付の図面に対して参照が行われるが、同じ参照文字指定をもつ要素は、全体を通して同じ要素を表す。
米国特許仮出願第60/586,390号 米国特許仮出願第60/586,391号 米国特許仮出願第60/586,389号 米国特許仮出願第60/586,353号 米国特許仮出願第60/604,258号 米国特許出願第11/071,340号 N.West、D.J.Skellern、「VLSI for OFDM」、IEEE Communications Magazine、127〜31頁、vol.36、(no.10)、1998年10月 R.van Nee、R.Prasad、「OFDM for Wireless Multimedia Communications」、Artech House Publishers、2000年 A.V.Oppenheim、R.W.Schafer、「Discrete−Time Signal Processing」、Prentice Hill、New Jersey、1989 E.H.Wald、A.M.Despain、「Pipelined and parallel−pipeline FFT processors for VLSI implementation」、IEEE Trans.Comput.、414〜426頁、1984年5月 B.M.Baas、「A Low−power、high−performance、1024 point FFT processor」、IEEE Journal of Solid−State Circuits、1999年3月
以下の開示では、変動サイズを有するベクトル(実数ベクトルおよび複素ベクトル)の高速フーリエ変換(FFT)などの直交変換を実施する方法およびシステムを説明する。変換のサイズが、オン・ラインで決定することができ、アルゴリズムへの入力に依存する適合アルゴリズムが実装される。このような適合アルゴリズムの例は、(1)FFT、(2)逆FFT(IFFT)、(3)FFTおよびIFFT、たとえば離散コサイン/サイン変換(DCTおよびDST)の任意のサブプロダクト、(4)ウォルシュ/アダマール変換およびその任意のサブプロダクト、たとえばCDMA、DSSS、拡散/逆拡散コア・アルゴリズム、ならびに上述したアルゴリズムの任意の組合せである。本方法およびシステムは、フィルタリングおよび他の機能に対しても使うことができ、たとえば、FFTおよびIFFTアルゴリズム(このアルゴリズムは、等化、ヒルベルト変換、予測および補間ならびに相関に対しても用いることができる)をカスケードするときに実現することができる。本方法およびシステムは、FFT/IFFTおよび上述したアルゴリズムすべての、高い効率での、かつハードウェアの高速オンライン再構成による広範なパラメータでの実装を可能にする。この実装は、上述した、異なるサイズのいくつかのFFT変換またはアルゴリズムの並列または直列実装用に指定される、装置内のハードウェアの量を大幅に減少させる。
開示する手法は、FFTベクトルの長さに適合し、それに従ってメモリのサイズを決め、たとえば、シフト・レジスタ(またはFIFO)の長さを変え、相互接続バスを必要に応じて修正し、I/Oブロックの単純な多重化を実現することによって、柔軟性を実現しやすくする簡素化された相互接続構造を提供するように、直交変換プロセッサを修正するものである。入力サンプル・レートでのクロック周波数を使って、FFTの範囲全体を、ハードウェアに直接マップし、より短い長さのFFTには不必要なブロックを無効にすることによって、またはより長い(ただし、より低いシンボル・レートの)ケースの場合は処理段階をたたみ、ハードウェアを時分割することによって、調節することができる。このアーキテクチャは、バッファリングも直列/並列変換も必要としない。
このアーキテクチャは、Radix2、Radix2、Radix2、Radix4、Radix8、または同様の形式を使って、またはそれに従って実装することができる。radix−4(回転係数の乗数なし)は、図9に示すように行列演算として表し、図10のトレリスで示すように実施することもできる。
図11に示してある、再構成可能なradix2段階の実装の実施形態は、入力マルチプレクサ111と、2段階のバタフライ・ユニット110aおよび110bと、(符号反転能力をもつ)ただ1つの汎用乗算器114および1つの交差接合ブロック116を有する2つのフィードバック・メモリ112aおよび112bと、コントローラ118とを備える。ブロック116は、IFFTとFFT処理の間を切り換えるのに使われ、そうすることによって、バタフライ・ユニット110aの出力で、乗算器の必要がなくなる。実装において、メモリ112aおよび112bの使用可能メモリのサイズは、処理されるFFTの長さを調節するために、コントローラ118によって修正することができる。変換ベクトルの長さは、検出装置117によって検出し、コントローラ118によって判定することができる。さらに、各計算段階向けの、乗算器114によって使用するための係数を格納するメモリ119が提供される。
図12は、16ポイントFFTの、パイプライン型Radix−2(N=16)に基づく実装の実施形態を示す。本実施形態では、コントローラ128は、メモリ、この場合は各段階向けのシフト・レジスタ124それぞれのサイズを設定するための入力を与える。マルチプレクサ121も、第1段階のバタフライ・ユニット122aの入力に所望の順次入力を与えるように設定される。乗算器126a、126bおよび126cは、最初の3段階それぞれの出力の所に別々に位置付けられ、最後の段階は、乗算器を必要としない。図を見ると分かるように、乗算器126aおよび126cは、虚複素「j」に結合される段階の出力を、jで乗算することによって変換する。
反復プロセスを実施するアーキテクチャを組み込む代替実施形態を、図13に示す。具体的には、図13は、16ポイントFFTを処理する半パイプライン/反復Radix−2(N=16)に基づく実装の例を示す。本実施形態では、フィードバックを提供する乗算器130bの出力、ならびに変換プロセッサの出力を有する2つのバタフライ段階130aおよび130bのみが必要とされる。具体的には、マルチプレクサ131の出力は、バタフライ・ユニット132aの入力に与えられる。後者は、メモリ(たとえばシフト・レジスタ134aにフィードバックを、および「j」乗算器136aに出力を提供する。「j」乗算器136aの出力は、バタフライ・ユニット132bの入力に加えられる。後者は、メモリ(たとえば、シフト・レジスタ134b)にフィードバックを、および乗算器136bに出力を提供する。出力136bは、フィードバック・パスを介して、バタフライ・ユニット132aの入力に接続される。動作の際、コントローラ138が、メモリ134のサイズを、処理段階に応じて制御する。信号ベクトルが最初に受け取られる第1の事例において、レジスタ134aおよび134bは、それぞれ「8」、「4」で設定され、信号は、2段階を介して処理される。プロセッサの出力は無効にされ、第2段階のバタフライ・ユニット132bの出力は、フィードバック・パスを介して、バタフライ・ユニット132aの入力に加えられる。次の反復中、メモリは、コントローラによって「2」、「1」に設定される。信号は次いで、第2のバタフライ・ユニット132bの出力まで連続して処理される。プロセッサの出力は次いで、有効にされ、フィードバック・パスは、プロセッサの出力が139で与えられるように無効にされる。
図14は、16ポイント・フィルタの、パイプラインRadix−2(N=16)に基づく実装の例の実施形態を示す。やはり、メモリのサイズは、コントローラ148によって各段階ごとに設定される。フィルタ係数は、乗算器140に加えられる。このアーキテクチャは、反復でもあるいはパイプライン/反復または並列の混合物でもよい。
繰り返しになるが、図14のアーキテクチャは、反復あるいはパイプライン/反復または並列アーキテクチャの混合物となるように修正することができる。
ウォルシュ/アダマール変換の有効化
行列演算としてのradix−4変換に関する上記の考察から、アーキテクチャは、ウォルシュ拡散/逆拡散関数など、他の直交信号方式を処理するように容易に変えることができることがすぐにに分かる。後者は、乗算係数を、±1の自明なもので単に代用することによって、既存のアーキテクチャを用いて容易に実装することができる。さらに検討すると、非自明な係数および−jで乗算される係数のみが、変更される必要があることが分かる。さらに、非自明な乗算係数は、ウォルシュ拡散/逆拡散関数に必要とされる自明な乗算器の実装に必要なものをすべて、すなわちFFT←→IFFTと、−jでの乗算との間で変化するための能力を、既にもっている。ハードウェアに対する唯一の特別な要件は、コントローラ148を管理することにある。
一例として、「Radix4」ウォルシュ拡散/逆拡散バタフライ・ユニットは、以下のように、行列演算として表すことができる。
Figure 2008506191

2つの行列表現を比較することによって、2つの変換の間の関係を理解することができる。
Figure 2008506191

radix−4変換は複素演算なので、実数ベクトルに対する2つの独立ウォルシュ拡散/逆拡散プロセスを取得する。というのは、±1での自明な乗数は、IとQ信号の間を入れ替わらないからである。したがって、この特徴は、たとえば、新しいWCDMA標準でのように、2finger RAKE受信機、または複素ウォルシュ拡散/逆拡散関数の実装用に用いることができる。また、第2の独立ウォルシュ拡散/逆拡散関数を、特別段階として使うことも、あるいは、適正な場所で、用意されたIおよびQによって、より大きいウォルシュ拡散/逆拡散用に使うこともできる(この可能性は、図9〜14に示す再構成可能なRadix2アーキテクチャにおいて既に実現されている)。
図14に提示される実装は、たとえば、NLog(N)回の演算のみを用いて実施されるFFTアルゴリズムを必要とし、したがって、いくつかのコードを併せもつCDMA変調/復調のような演算、すなわち、重いデータ・ロードにとっては非常に効率的である。
ここで、複素乗算器は、擬似ランダム・シーケンスを有するウォルシュ・シーケンスを、非常に高い効率でランダム化し/非ランダム化する、周波数領域内でのフィルタの実装において使うことができる(いくつかのコードを併せもつCDMA変調/復調を扱うとき、すなわち、重いデータ・ロードの場合(CDMA/WCDMA標準において見られるように)。この効率性は、変調されたデータを(コードすべてに対して)一度だけ乗算する必要があり、すべてのコードが別々に乗算されるのではないおかげで実現される。
図15は、ウォルシュ・コードをランダム化する回転乗数が、並列アーキテクチャの最初および最後で使われるときのウォルシュ拡散/逆拡散関数へのradix−4段階の変換の実施形態の例のトレリスを示す。図15は具体的には、16ポイント・ウォルシュ拡散/逆拡散関数の並列Radix−2(N=16)に基づく実装の例を示す。
かっkお
回転乗数を使ってradix−2ベースのFFTを実施すると、乗数は、「1」にのみ変えることができる。図16は、16ポイントの、ウォルシュ拡散/逆拡散シーケンスの並列Radix−2(N=16)に基づく実装のトレリスの例、すなわち、変調/復調中の一連の16チップのウォルシュ拡散/逆拡散シーケンスの例を示す。
やはり、複素乗算器を上で説明したように、たとえば周波数領域内のフィルタの実装に、または擬似ランダム・シーケンスを有するウォルシュ・シーケンスのランダム化/非ランダム化に使うことができる。効率性は、変調されたデータを(コードすべてに対して)一度だけ乗算する必要があり、したがって各コードが別々に乗算されるわけではないおかげで実現される。
再構成可能なハイブリッド・パイプライン列の多重化手法
図17に示すように、4ビット幅の小さいradix2バタフライ・ユニットの「バンク」を組み合わせて、より広いBUS radix2を形成することができ、小さいRadixはそれぞれ、組合せ/分裂することができる、RAMの再構成可能な制御された「バンク」に接続される。BUS分裂用の再構成可能な乗算器は、上記方法に基づいて、非常に高い使用率および低電力消費である、任意の長さのIFFT/FFT/フィルタ/相関器およびウォルシュ/アダマール変換またはその任意の下位プロダクト、たとえば、CDMA DSSSコアもしくはDDS周波数フィルタも有する、再構成可能な「処理」コアを用いて実装することもでき、様々な並列/パイプライン/反復アルゴリズム・アーキテクチャ方式を含むいくつかのアルゴリズムがどの構成中でも稼動することができるとき、任意のBUS幅が必要になる。シリコンでのコアの実装は、最大クロック・レートを有するので、必要性による再構成は、任意の数の並列/パイプライン/反復アルゴリズム・アーキテクチャ方式をもたらし、各々が、いつでもアルゴリズムおよびシリコン実装資源用に、かつモデム実装のどの標準に対しても最適化され、したがって、高い使用性能を有する非常に小型の再構成アーキテクチャをもたらす。図17は、FFT/IFFTベクトルを処理する再構成可能なME−Iコアの例を示す。
本開示を要約すると、現在の手法は、簡素化された相互接続構造を用いることによる、基本FFTプロセッサの修正を含む。こうすることにより、メモリのシフト・レジスタ(またはFIFO)の長さを単に変えること、バス・サイズを必要に応じて変えること、I/Oブロックのシンプル多重化によってFFTのサイズを調整する際の柔軟性が実現される。入力サンプル・レートでのクロック周波数を使って、FFTの範囲全体を、ハードウェアに直接マップし、より短い長さのFFTには不必要なブロックを無効にすることによって、またはより長い(ただし、より遅いシンボル・レートの)ケースの場合は処理段階をたたみ、ハードウェアを時分割することによって、調節することができる。このアーキテクチャは、バッファリングも直列/並列変換も必要としない。
一例として、Radix2アーキテクチャを用いると、(回転係数の乗数のない)radix−4は、図9に見られる行列演算としても表すことができる。対応するバタフライ構造を、図10に提示してある。したがって、上記の例に示すように、radix2段階の実装は、ただ1つの汎用乗算器を有する2段階のバタフライ・ユニットと、符号乗算を伴う1つの交差接合(IFFT/FFT変化にも必要とされる)とを必要とし、こうすることにより、乗算器の必要がなくなる。対応する構造を、図11に提示してある。16ポイントFFTのRadix2実装の対応する多段階実装(図4を参照)が、図12で与えられる。同じであるが、再構成可能な反復スイッチ機構を用いて実装される変換を、図13(一段階)および図14(多段階)に提示してある。
ウォルシュ/アダマール変換の有効化:FFT/IFFTに関連して以上のように説明したプロセッサおよび方法は、他の変換用のプロセッサおよび方法を実装するのに使うこともできる。行列演算としてのradix−4変換の上記提示から、演算をウォルシュ拡散/逆拡散関数に変えるために必要とされることは、FFT用に使われる乗数を、±1の自明な乗数で代用することだけである。さらに検討すると、非自明なもの、および−jで乗算されるものだけが、変更される必要があることが分かる。さらに、FFT←→IFFTの間で変化させ、−jで乗算するための能力をもつ、非自明な乗数だけが、ウォルシュ拡散/逆拡散に必要とされる自明な乗数の実装に必要である。ハードウェアに対するただ1つの特別な要件は、プロセッサの動作を管理し制御するコントローラにある。
「Radix4」ウォルシュ拡散/逆拡散バタフライは、下に示すように、行列演算としても表すことができる。
Figure 2008506191
2つの行列表現を比較することによって、2つの変換の間の関係を理解することができる。
Figure 2008506191
radix−4変換は複素演算なので、実数ベクトル拡散/逆拡散に対する2つの独立ウォルシュ拡散/逆拡散プロセスを得る(というのは、±1での自明な乗算器は、IとQ信号の間を交替しないからである)。この側面は、新しいWCDMA標準において提供されるような、2finger RAKE受信機、または複素ウォルシュ拡散/逆拡散プロセッサの実装において有用である。第2の独立ウォルシュ拡散/逆拡散プロセッサは、特別段階として使い、適正な場所で、用意されたIおよびQによって、より大きいウォルシュ拡散/逆拡散用に使うこともできる(この可能性は、再構成可能なRadix2アーキテクチャにおいて容易に実装することができる)。
図17に提示される実装は、たとえば、NLog(N)回の演算のみを必要とし、いくつかのコードを併せもつCDMA変調/復調、すなわち、重いデータ・ロードにとっては非常に効率的である。
ここで、複素乗算器は、擬似ランダム・シーケンスを有するウォルシュ・シーケンスを、非常に高い効率でランダム化し/非ランダム化する、周波数領域内でのフィルタのような構成の実装に使うことができる(いくつかのコードを併せもつCDMA変調/復調を扱うとき、すなわち、重いデータ・ロードの場合(CDMA/WCDMA標準において見られるように)。この効率は、変調されたデータを(コードすべてに対して)一度だけ乗算する必要があり、すべてのコードが別々に乗算されるのではないおかげで達成される。
図15は、ウォルシュ・コードをランダム化する回転乗数が並列アーキテクチャにおいて必要とされるとき(開始/最後)のウォルシュ拡散/逆拡散関数へのradix−4段階の変換を提示する。Radix−2ベースのFFTの例の場合、回転乗数は、「1」にのみ変更される必要がある。変調/復調処理のための16チップのウォルシュ拡散/逆拡散シーケンスの例を、図16に示す。複素乗算器を上で説明したように、たとえば周波数領域内のフィルタの実装に、または擬似ランダム・シーケンスを有するウォルシュ・シーケンスのランダム化/非ランダム化に使うことができる。変調されたデータを(コードすべてに対して)一度だけ乗算する必要があるおかげで、効率性が実現される。各コードは、別々に乗算される必要がない。
再構成可能なハイブリッド・パイプライン列多重化手法
最後に、一般直交変換を実装する再構成可能な装置の全体アーキテクチャを、Radix2/xバタフライ変換の場合の図18に簡単に示す。計算ユニットは、Radix2、Radix2、Radix2、Radix4、Radix8などのバタフライ・ユニットを使用して実装することができる。この装置は好ましくは、再構成可能なRAMクラスタおよび再構成可能なBUSマルチプレクサ・ブロック180、1つまたは複数のバタフライ・ユニットを備える計算ユニット182、再構成可能な乗算器ブロック184、制御および記憶ユニット186ならびに検出装置188を備える。変換の各段階で、ユニット186は、2のバタフライ・ユニット内の乗算器の係数を、変換に従って修正する(対応する係数は、値{−1,1,j,−j}をとり得る)。ユニット182による演算の結果は、ユニット180(やはりユニット186によって制御される)のレジスタに格納される。レジスタのサイズは、段階ごとに変更される。格納されたデータの一部は、再構成可能な乗算器ブロック184に挿入され、データは、段階およびアルゴリズムに従って、制御および記憶ユニット186によって確立された係数で乗算される。乗算の結果は、ブロック180に格納される。ブロック180のマルチプレクサは、格納されたデータの多重化に使われる。各段階ごとにわずか1つのバタフライ・ユニットおよび1つのマルチプレクサを使えばよく、この1つのバタフライ・ユニットおよび乗算器は、ハードウェアを単に再構成することによって、各段階向けに再利用することができることが明らかであろう。
上述した内容の具体的なアプリケーションが、参照によって組み込まれている、2005年3月3日に出願した、「Low−Power Reconfigurable Architecture For Simultaneous Implementation Of Distinct Communication Standards」という名称の、我々の同時継続出願第11/071,340号(整理番号66940−021)に記載されている。図18は、この同時継続出願において記載され権利請求されているシステムのブロック図を示す。
したがって、図19に示すように、上で述べたチップ・アーキテクチャ要件に従うようになされた集積チップの実施形態は、以下の基本的な機能構成要素を備える。
CPU190は好ましくは、(a)装置のconfigware部、すなわち、ネット・バス192、I/Oブロック194、RAMブロック196、メガファンクション・ブロック(群)198、相互接続ブロック200、フラッシュ・メモリ・ブロック202およびクロック204を制御し、(b)メガファンクション・ブロック(群)198、ならびにバス192、I/Oブロック194、RAMブロック196、相互接続ブロック200、フラッシュ・メモリ・ブロック202およびクロック204の構成を、チップによって処理される信号のプロトコルに応じて固定するのに必要とされる、比較的小さいコンピュータ処理ユニットである。CPU190は、比較的重要でなく単純な割当てまたはタスクを計算し、メガファンクションおよびI/Oブロックを相互接続するのに使われるバスを構成するのを助けることもできる。
ネット・バス192は、プロトコルに応じて再構成可能である。I/Oブロック194は好ましくは、チップを外界と接続する、構成可能なI/Oブロックである。そのタスクは、アプリケーション・アルゴリズムの「コンパイルされたソフトウェア」を受け取ること、および入力データを受け取り、出力処理されたデータを届けることを含む。RAM196は、好ましくは「コンパイルされたソフトウェア命令」を格納するように、かつデータをキャッシュに入れバッファに入れるように構成されたランダム・アクセス・メモリである。メガファンクション・ブロック198は好ましくは、2つ以上のアプリケーション、すなわち、アプリケーション機能の各ドメインを、一機能として並外れた効率で計算することによって処理されるプロトコルからなる比較的重要なアプリケーション機能を含むように構成される。本ケースでは、メガファンクション・ブロック198は、本明細書において説明した直交変換の1つまたは複数、あるいはそのどの組合せも含むように構成される。相互接続ブロック200は好ましくは、CPU190、I/Oブロック194、RAM196、メガファンクション・ブロック198、ならびにフラッシュ・メモリ202およびクロック・ブロック204を含む、チップの構成要素をすべて接続する再構成可能なネット・バスを含む。相互接続ブロックは、比較的重要でなく単純な割当てまたはタスクを、好ましくは余分メモリ内で実施するように構成することもできる。最後に、フラッシュ・メモリ200は好ましくは、チップがそのプログラムを介して稼動するとき、データを格納するように働く。フラッシュ・メモリは好ましくは、一度のプログラミング動作で多数の記憶場所を消去させ、またはそこに書き込ませ、そうすることによって、それを使うシステムが、異なる場所で同時に読み取り、書き込むときに、より高い実効速度で動作することができるEEPROMの形である。より少ない複素演算用には、他のタイプのメモリを使ってよいことが理解されるべきである。情報は好ましくは、チップ内に情報を維持するのに電力を必要としないやり方で情報をシリコン・チップ上に格納することによって、フラッシュ・メモリに格納される。したがって、チップへの電力を絶つことができ、電力を全く消費することなく、情報がフラッシュ・メモリに保持される。さらに、フラッシュ・メモリは、高速読取りアクセス時間および固体衝撃抵抗を提供し、フラッシュ・メモリを、セルラー電話およびPDAのような、電池で動く装置におけるデータ記憶装置などのアプリケーションにおいて特に望ましいものにする。
ここまで説明したアーキテクチャはしたがって、集積回路として実装することができる。本アーキテクチャは、ベクトル(実数ベクトルおよび複素ベクトル両方)がサイズを変化させ得る、どのタイプの直交信号方式にも適合可能と考えられる。このような直交信号方式は、FFT変換、逆FFT変換(IFFT)または離散コサイン/サイン変換(DCTおよびDST)のようなその任意のサブプロダクト、ウォルシュ/アダマール変換またはCDMA DSSS拡散/逆拡散のようなその任意のサブプロダクト、こうしたアルゴリズムの2つ以上の組合せである任意のアルゴリズム、ならびに、等化、ヒルベルト変換、予測、補間、相関などにも使うことができる、このような他の機能、たとえば、FFTおよびIFFT変換の連結を用いることによるフィルタリングを含み得るが、それに制約されない。
本明細書で開示した本開示のアーキテクチャ、およびその全要素は、添付の特許請求の範囲の少なくとも1つの範囲内に含まれる。ここで開示したチップ・アーキテクチャのどの要素も、権利放棄されることも意味しているのではなく、必ずしも特許請求の範囲の解釈を制限することも意図していない。
FFTバタフライ演算トレリスを示す図である。 周波数分割16ポイントFFTトレリスを示す図である。 列ベースの16ポイントFFTトレリスを示す図である。 パイプラインベースのRadix−2(N=16)16ポイントFFTを実装するアーキテクチャを示すブロック図である。 簡易Radix−2 FFTプロセッサを実装するアーキテクチャを示すブロック図である。 パイプラインベースのRadix−2(N=16)16ポイント・フィルタのアーキテクチャを示すブロック図である。 係数の再構成を介した乗算除去技法のトレリスを示す図である。 シャッフル交換相互接続変換器のパイプライン型実装を示すトレリス、ブロック図およびパケット図である。 本開示の方法およびシステムの一態様による、radix−4バタフライ・アーキテクチャで使用するための行列演算を示す図である。 本開示の方法およびシステムの一態様によるradix−2段階トレリスを示す図である。 本開示の方法およびシステムの一態様による、再構成可能なRadix−2段階バタフライ配置のアーキテクチャを示すブロック図である。 本開示の方法およびシステムの一態様による、パイプラインベースのRadix−2(N=16)16ポイント・フィルタを示す図である。 本開示の方法およびシステムの一態様による、16ポイントFFTの半パイプライン/反復Radix2(N=16)ベースの実装を示す図である。 本開示の方法およびシステムの一態様による、16ポイント・フィルタのパイプライン型Radix−2(N=16)ベースの実装を示す図である。 本開示の方法およびシステムの一態様による、16ポイント・ウォルシュ拡散/逆拡散関数の並列Radix−2(N=16)ベースの実装のトレリスを示す図である。 本開示の方法およびシステムの一態様による、16ポイント・ウォルシュ拡散/逆拡散関数の並列Radix−2(N=16)ベースの実装のトレリスを示す図である。 本開示の方法およびシステムの一態様による、再構成可能なMF−Iコア・プロセッサを実現するアーキテクチャを示すブロック図である。 本開示の方法およびシステムの一態様による、再構成可能なMF−Iコア・プロセッサを実現するアーキテクチャを示すブロック図である。 本明細書に記載されるいずれのタイプの変換器も備えるように構成された通信システムを示すブロック図である。

Claims (30)

  1. ベクトルの高速直交変換を多段階で実施する、再構成可能なアーキテクチャであって、ベクトルのサイズがNであり、Nは変化してよく、段階の数がNの関数であり、
    1つまたは複数のバタフライ・ユニットを含むように構成され配置された計算ユニットと、
    前記計算ユニットの出力に結合され、前記変換の少なくとも1つの段階向けの前記バタフライ演算をすべて実施するように構成され配置された1つまたは複数の乗算器を含むブロックと、
    各バタフライ演算を実施する前記計算ユニットによる使用のために、前記バタフライ演算の中間結果および所定の係数を格納するように構成され配置された記憶ユニットであって、メモリおよび多重化アーキテクチャを含む前記記憶ユニットと、前記変換の前記バタフライ演算すべてを、前記段階用にただ1つの計算ユニットが必要とされるように前記一段階向けの前記計算ユニットを使って時分割するように構成され配置されたマルチプレクサ・ユニットと、
    前記計算ユニットに係数を与え、前記記憶ユニット内のメモリのサイズおよび多重化アーキテクチャを制御するように構成され配置されたコントローラとを備え、
    各段階用の、前記乗算器の係数、前記計算ユニットの前記係数、メモリのサイズ、および多重化アーキテクチャが、Nの値に応じて修正される、再構成可能なアーキテクチャ。
  2. 前記バタフライ・ユニットが、Radix2、Radix2、Radix2、Radix4、またはRadix8のアーキテクチャの1つで構成される、請求項1に記載の再構成可能なアーキテクチャ。
  3. 前記メモリ・レジスタがFIFOシフト・レジスタである、請求項1に記載の再構成可能なアーキテクチャ。
  4. 前記メモリ・レジスタの長さが、前記変換の前記段階の関数である、請求項1に記載の再構成可能なアーキテクチャ。
  5. 前記メモリ・レジスタの長さが、各後続段階と共に減少する、請求項1に記載の再構成可能なアーキテクチャ。
  6. 前記メモリ・レジスタの長さが、Nの値に応じて各段階ごとに調整される、請求項5に記載の再構成可能なアーキテクチャ。
  7. 前記マルチプレクサ・ユニットが、前記計算ユニットへの入力/出力ブロックを含む、請求項6に記載の再構成可能なアーキテクチャ。
  8. Nが、事前定義された範囲内で変化し、事前定義された範囲全体に入力サンプル・レートでのクロッキング周波数を提供するように構成され配置されたクロック・ユニットをさらに含む、請求項1に記載の再構成可能なアーキテクチャ。
  9. 前記アーキテクチャが、前記事前定義された範囲M全体が、ハードウェアに対する事前定義された範囲の前記変換をマップし、前記変換がM未満のときは不必要な計算ユニットを無効にすることによって調節されるように、前記ハードウェアとして配置された多数の計算ユニットを含む、請求項8に記載の再構成可能なアーキテクチャ。
  10. 前記アーキテクチャが、前記事前定義された範囲M全体より小さい「m」が調節されるように、ハードウェアとして配置された多数の計算ユニットを含み、前記段階が、「m」より大きい変換用の、少なくとも部分的に共有されたハードウェアである、請求項8に記載の再構成可能なアーキテクチャ。
  11. 各段階が、N/2回の計算を必要とする、請求項1に記載の再構成可能なアーキテクチャ。
  12. 複数の計算ユニットをさらに含み、1つが前記段階それぞれ用であり、前記計算ユニットが、パイプライン型アーキテクチャを提供するように実装される、請求項1に記載の再構成可能なアーキテクチャ。
  13. 複数の計算ユニットをさらに含み、1つが前記段階それぞれ用であり、前記計算ユニットが、パイプライン型、反復および並列のタイプの1つまたは複数で構成されたアーキテクチャを提供するように実装される、請求項1に記載の再構成可能なアーキテクチャ。
  14. 前記変換のフル・フレームが、Nクロック周期中で実装される、請求項1に記載の再構成可能なアーキテクチャ。
  15. 前記バタフライ・ユニットが、Radix2アーキテクチャを含む、請求項1に記載の再構成可能なアーキテクチャ。
  16. 前記バタフライ・ユニットが、Radix4アーキテクチャを含む、請求項1に記載の再構成可能なアーキテクチャ。
  17. 前記変換のフル・フレームが、N/2クロック周期中で実施される、請求項16に記載の再構成可能なアーキテクチャ。
  18. 変換アクセラレータをさらに含み、前記アクセラレータが、前記計算ユニット、記憶ユニット、およびマルチプレクサ・ユニットを含み、前記アクセラレータが、前記段階すべてに対する各バタフライ演算を、反復プロセスで実施するように構成され配置された、請求項1に記載の再構成可能なアーキテクチャ。
  19. 前記記憶ユニットが、フィルタ係数を含むように構成され配置され、前記変換の最終段階の前記計算ユニットの前記乗算器が、最終段階の出力を、フィルタリングされた出力を生じるように前記フィルタ係数の1つまたは複数で乗算するように適合される、請求項1に記載の再構成可能なアーキテクチャ。
  20. 前記フィルタリングされた出力が、直交変換の逆である変換の多段階の入力に加えられ、前記段階がそれぞれ、計算ユニットを含み、前記ユニットが、パイプライン型アーキテクチャを形成する、請求項19に記載の再構成可能なアーキテクチャ。
  21. 前記変換が高速フーリエ変換である、請求項1に記載の再構成可能なアーキテクチャ。
  22. 前記高速フーリエ変換が、異なるradixを含む、請求項21に記載の再構成可能なアーキテクチャ。
  23. 前記ベクトルが、実数ベクトルおよび複素ベクトル両方を含む、請求項1に記載の再構成可能なアーキテクチャ。
  24. 前記変換がウォルシュ直交変換を含む、請求項1に記載の再構成可能なアーキテクチャ。
  25. ベクトルの高速直交変換を多段階で実施する、再構成可能なアーキテクチャを備える集積チップであって、ベクトルのサイズがNであり、Nは変化してよく、段階の数がNの関数であり、前記アーキテクチャが、
    1つまたは複数のバタフライ・ユニットを含むように構成され配置された計算ユニットと、
    前記計算ユニットの出力に結合され、前記変換の少なくとも1つの段階向けの前記バタフライ演算をすべて実施するように構成され配置された1つまたは複数の乗算器を含むブロックと、
    各バタフライ演算を実施する前記計算ユニットによる使用のために、前記バタフライ演算の中間結果および所定の係数を格納するように構成され配置された記憶ユニットであって、メモリおよび多重化アーキテクチャを含む前記記憶ユニットと、
    メモリおよび多重化アーキテクチャを含む前記記憶ユニットと、
    前記変換の前記バタフライ演算すべてを、前記段階用にただ1つの計算ユニットが必要とされるように前記一段階向けの前記計算ユニットを使って時分割するように構成され配置されたマルチプレクサ・ユニットと、
    前記計算ユニットに係数を与え、前記記憶ユニット内のメモリのサイズおよび多重化アーキテクチャを制御するように構成され配置されたコントローラとを備え、
    各段階用の、前記乗算器の係数、前記計算ユニットの前記係数、メモリのサイズ、および多重化アーキテクチャが、Nの値に応じて修正される集積チップ。
  26. 請求項25に記載の集積チップを含む通信システム。
  27. 前記ベクトルのサイズを判定する検出装置をさらに備える、請求項26に記載の通信システム。
  28. ベクトルの高速直交変換を多段階で実施する方法であって、ベクトルのサイズがNであり、Nは変化してよく、段階の数がNの関数であり、
    計算ユニットを、1つまたは複数のバタフライ・ユニットを含むように、ブロックを、前記計算ユニットの出力に結合された1つまたは複数の乗算器を含むように構成し配列し、前記1つまたは複数のバタフライ・ユニットおよび1つまたは複数の乗算器を、前記変換の少なくとも1つの段階向けの前記バタフライ演算をすべて実施するように構成し配列すること、
    各バタフライ演算を実施する前記計算ユニットによる使用のために、前記バタフライ演算の中間結果および所定の係数を記憶ユニットに格納することであって、前記記憶ユニットは、メモリおよび多重化アーキテクチャを含むこと、
    前記変換の前記バタフライ演算すべてを、前記段階用にただ1つの計算ユニットが必要とされるように前記一段階向けの前記計算ユニットを使って時分割すること、ならびに
    前記計算ユニットに係数を与え、前記記憶ユニット内のメモリのサイズおよび多重化アーキテクチャを制御することを含み、
    各段階用の、前記乗算器の係数、前記計算ユニットの前記係数、メモリのサイズ、および多重化アーキテクチャが、Nの値に応じて修正される方法。
  29. ベクトルの高速直交変換を多段階で実施する方法であって、ベクトルのサイズがNであり、Nは変化してよく、段階の数がNの関数であり、
    前記計算ユニットが、前記変換の少なくとも1つの段階向けの前記バタフライ演算すべてを実施することができるように、少なくとも1つの計算ユニットを、少なくとも1つのバタフライ・ユニットおよび前記バタフライ・ユニットの出力に結合された乗算器を含むように構成し配列することができるように構成され配置された、再構成可能な一群のバタフライ・ユニットおよび再構成可能な1組の乗算器、ならびに前記バタフライ演算の中間結果および各バタフライ演算の実施において使用するための所定の係数を格納するように前記計算ユニットに結合された再構成可能なメモリを使用することを含み、
    各段階用の係数およびメモリのサイズが、Nの値に応じて修正される方法。
  30. ベクトルの高速直交変換を多段階で実施するシステムであって、ベクトルのサイズがNであり、Nは変化してよく、段階の数がNの関数であり、
    前記計算ユニットが、前記変換の少なくとも1つの段階向けの前記バタフライ演算すべてを実施することができるように、少なくとも1つの計算ユニットを、少なくとも1つのバタフライ・ユニットおよび前記バタフライ・ユニットの出力に結合された乗算器を含むように構成し配列することができるように構成され配置された、再構成可能な一群のバタフライ・ユニットおよび再構成可能な1組の乗算器、ならびに前記バタフライ演算の中間結果および各バタフライ演算の実施において使用するための所定の係数を格納するように前記計算ユニットに結合された再構成可能なメモリを使用することを含み、
    各段階用の係数およびメモリのサイズが、Nの値に応じて修正されるシステム。
JP2007520491A 2004-07-08 2005-07-08 可変サイズの高速直交変換を実施する方法および機器 Pending JP2008506191A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US58639104P 2004-07-08 2004-07-08
US58639004P 2004-07-08 2004-07-08
US58635304P 2004-07-08 2004-07-08
US58638904P 2004-07-08 2004-07-08
US60425804P 2004-08-25 2004-08-25
US11/071,340 US7568059B2 (en) 2004-07-08 2005-03-03 Low-power reconfigurable architecture for simultaneous implementation of distinct communication standards
PCT/US2005/024063 WO2006014528A1 (en) 2004-07-08 2005-07-08 A method of and apparatus for implementing fast orthogonal transforms of variable size

Publications (2)

Publication Number Publication Date
JP2008506191A true JP2008506191A (ja) 2008-02-28
JP2008506191A5 JP2008506191A5 (ja) 2008-08-21

Family

ID=35787416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007520491A Pending JP2008506191A (ja) 2004-07-08 2005-07-08 可変サイズの高速直交変換を実施する方法および機器

Country Status (6)

Country Link
EP (1) EP1769391A1 (ja)
JP (1) JP2008506191A (ja)
KR (1) KR101162649B1 (ja)
AU (1) AU2005269896A1 (ja)
CA (1) CA2563450A1 (ja)
WO (1) WO2006014528A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009110022A1 (ja) * 2008-03-03 2009-09-11 富士通株式会社 無線通信装置
WO2013042249A1 (ja) * 2011-09-22 2013-03-28 富士通株式会社 高速フーリエ変換回路
WO2014013726A1 (ja) * 2012-07-18 2014-01-23 日本電気株式会社 Fft回路
JPWO2013042249A1 (ja) * 2011-09-22 2015-03-26 富士通株式会社 高速フーリエ変換回路
US9880975B2 (en) 2013-12-13 2018-01-30 Nec Corporation Digital filter device, digital filter processing method, and storage medium having digital filter program stored thereon
US9934199B2 (en) 2013-07-23 2018-04-03 Nec Corporation Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon
JP2019511056A (ja) * 2016-04-01 2019-04-18 エイアールエム リミテッド 複素数乗算命令
WO2021157172A1 (ja) * 2020-02-06 2021-08-12 三菱電機株式会社 複素乗算回路

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2935819B1 (fr) * 2008-09-05 2010-09-10 Commissariat Energie Atomique Dispositif de traitement numerique pour transformee de fourier et filtrage a reponse impulsionnelle finie
CN102737007B (zh) * 2011-04-07 2015-01-28 中兴通讯股份有限公司 一种支持多个数据单元任意置换的方法和装置
KR101275087B1 (ko) 2011-10-28 2013-06-17 (주)에프씨아이 오에프디엠 수신기
KR102155770B1 (ko) * 2018-11-27 2020-09-14 한국항공대학교산학협력단 레이다 응용을 위한 이중 완전 셔플 네트워크 기반 가변 푸리에 변환 장치 및 방법
CN113111300B (zh) * 2020-01-13 2022-06-03 上海大学 具有优化资源消耗的定点fft实现系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02504682A (ja) * 1987-08-21 1990-12-27 コモンウエルス・サイエンティフィック・アンド・インダストリアル・リサーチ・オーガニゼイション 変換処理回路
US5293330A (en) * 1991-11-08 1994-03-08 Communications Satellite Corporation Pipeline processor for mixed-size FFTs
WO1997019412A1 (en) * 1995-11-17 1997-05-29 Teracom Svensk Rundradio Improvements in or relating to real-time pipeline fast fourier transform processors
JP2001514771A (ja) * 1997-01-06 2001-09-11 ジョンソン、ロバート・ダブリュ 無次元高速フーリエ変換法及び装置
JP2002501253A (ja) * 1998-01-21 2002-01-15 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パイプライン高速フリーエ変換プロセッサ
JP2002215605A (ja) * 2001-01-19 2002-08-02 Sony Corp 演算システム
JP2004153800A (ja) * 2002-10-07 2004-05-27 Matsushita Electric Ind Co Ltd 通信装置及び通信装置再構築方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143860A (ja) * 1997-11-07 1999-05-28 Matsushita Electric Ind Co Ltd 直交変換装置
JP2001156644A (ja) * 1999-11-29 2001-06-08 Fujitsu Ltd 直交変換装置
US20030055861A1 (en) * 2001-09-18 2003-03-20 Lai Gary N. Multipler unit in reconfigurable chip

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02504682A (ja) * 1987-08-21 1990-12-27 コモンウエルス・サイエンティフィック・アンド・インダストリアル・リサーチ・オーガニゼイション 変換処理回路
US5293330A (en) * 1991-11-08 1994-03-08 Communications Satellite Corporation Pipeline processor for mixed-size FFTs
WO1997019412A1 (en) * 1995-11-17 1997-05-29 Teracom Svensk Rundradio Improvements in or relating to real-time pipeline fast fourier transform processors
JP2001514771A (ja) * 1997-01-06 2001-09-11 ジョンソン、ロバート・ダブリュ 無次元高速フーリエ変換法及び装置
JP2002501253A (ja) * 1998-01-21 2002-01-15 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パイプライン高速フリーエ変換プロセッサ
JP2002215605A (ja) * 2001-01-19 2002-08-02 Sony Corp 演算システム
JP2004153800A (ja) * 2002-10-07 2004-05-27 Matsushita Electric Ind Co Ltd 通信装置及び通信装置再構築方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009110022A1 (ja) * 2008-03-03 2009-09-11 富士通株式会社 無線通信装置
WO2013042249A1 (ja) * 2011-09-22 2013-03-28 富士通株式会社 高速フーリエ変換回路
JPWO2013042249A1 (ja) * 2011-09-22 2015-03-26 富士通株式会社 高速フーリエ変換回路
WO2014013726A1 (ja) * 2012-07-18 2014-01-23 日本電気株式会社 Fft回路
JPWO2014013726A1 (ja) * 2012-07-18 2016-06-30 日本電気株式会社 Fft回路
US9525579B2 (en) 2012-07-18 2016-12-20 Nec Corporation FFT circuit
US9934199B2 (en) 2013-07-23 2018-04-03 Nec Corporation Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon
US9880975B2 (en) 2013-12-13 2018-01-30 Nec Corporation Digital filter device, digital filter processing method, and storage medium having digital filter program stored thereon
JP2019511056A (ja) * 2016-04-01 2019-04-18 エイアールエム リミテッド 複素数乗算命令
WO2021157172A1 (ja) * 2020-02-06 2021-08-12 三菱電機株式会社 複素乗算回路
JP7317151B2 (ja) 2020-02-06 2023-07-28 三菱電機株式会社 複素乗算回路

Also Published As

Publication number Publication date
AU2005269896A1 (en) 2006-02-09
WO2006014528A1 (en) 2006-02-09
CA2563450A1 (en) 2006-02-09
KR101162649B1 (ko) 2012-07-06
EP1769391A1 (en) 2007-04-04
KR20070060074A (ko) 2007-06-12

Similar Documents

Publication Publication Date Title
US7870176B2 (en) Method of and apparatus for implementing fast orthogonal transforms of variable size
JP2008506191A (ja) 可変サイズの高速直交変換を実施する方法および機器
KR101842061B1 (ko) 필터 벡터 프로세싱 연산들을 위해 탭핑-지연 라인을 이용하는 벡터 프로세싱 엔진, 및 관련된 벡터 프로세서 시스템들 및 방법들
KR101781057B1 (ko) 실행 유닛들과 벡터 데이터 메모리 사이에 병합 회로를 갖는 벡터 프로세싱 엔진, 및 관련된 방법
US9977676B2 (en) Vector processing engines (VPEs) employing reordering circuitry in data flow paths between execution units and vector data memory to provide in-flight reordering of output vector data stored to vector data memory, and related vector processor systems and methods
US9880845B2 (en) Vector processing engines (VPEs) employing format conversion circuitry in data flow paths between vector data memory and execution units to provide in-flight format-converting of input vector data to execution units for vector processing operations, and related vector processor systems and methods
US7720897B2 (en) Optimized discrete fourier transform method and apparatus using prime factor algorithm
US9619227B2 (en) Vector processing engines (VPEs) employing tapped-delay line(s) for providing precision correlation / covariance vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
EP0329023A2 (en) Apparatus for performing digital signal processing including fast fourier transform radix-4 butterfly computations
US20150143076A1 (en) VECTOR PROCESSING ENGINES (VPEs) EMPLOYING DESPREADING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT DESPREADING OF SPREAD-SPECTRUM SEQUENCES, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS
EP1546863B1 (en) Computationally efficient mathematical engine
Revanna et al. A scalable FFT processor architecture for OFDM based communication systems
CN100547580C (zh) 用于实现可变大小的快速正交变换的方法和装置
Vergara et al. A 195K FFT/s (256-points) high performance FFT/IFFT processor for OFDM applications
EP0942379A1 (en) Pipelined fast fourier transform processor
KR100416641B1 (ko) 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로
Sakthivel et al. Design of dynamically reconfigurable fully optimized low power FFT architecture for MC-CDMA receiver

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110228

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110531

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120502

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130423