JP4248027B2 - データ要素の系列を変換する装置 - Google Patents
データ要素の系列を変換する装置 Download PDFInfo
- Publication number
- JP4248027B2 JP4248027B2 JP55140099A JP55140099A JP4248027B2 JP 4248027 B2 JP4248027 B2 JP 4248027B2 JP 55140099 A JP55140099 A JP 55140099A JP 55140099 A JP55140099 A JP 55140099A JP 4248027 B2 JP4248027 B2 JP 4248027B2
- Authority
- JP
- Japan
- Prior art keywords
- data elements
- series
- output
- input data
- storage
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Description
このような装置は、文献:Lawrence R.Rabine、Bernard Gold共著の“Theory and application of digital signal processing”の第10章第10節に記載されている。デジタル信号処理の場合、離散フーリエ変換(DFT)は重要な役割を果たす。離散フーリエ変換を用いることにより、信号の時間域における表現が同じ信号の周波数域における表現に変換され得る。周波数域における表現は、時間域では非常に複雑な形式によらなければ実現できないような後続の特定の信号処理演算がかなり簡単な形式で実現できる点で有利である。
離散フーリエ変換の実行は非常に多数の算術プロセスを必要とするので、長年に亘って、離散フーリエ変換を高速かつ効率的に計算できる装置が設計されている。屡々、これらの装置は、離散フーリエ変換のために必要な特定のサブプロセスを高速に実行することができる多数の「バタフライ」装置を具備している。このバタフライにおいて、多数の入力データ要素は加算及び乗算を行って同数の出力データ要素に変換される。この乗算は乗算係数を用いて行われる。乗算係数は、トゥイドル(twiddle)係数WN kのように称される場合もある。
上記文献に記載された装置は、RAMメモリと、バタフライと、入れ替えネットワークとを具備する。RAMメモリは、各メモリワードがデータ要素の系列を格納するように実現され、系列内のデータ要素の数はバタフライによって変換できるデータ要素の数に等しい、例えば、従来の装置において、基数4のバタフライ、すなわち、4個の入力データ要素を4個の出力データ要素に変換できるバタフライが利用される場合、RAMメモリは、各メモリワードが4個のデータ要素の系列を収容できるように構成される。
RAMメモリから、すべての必要な入力データ要素の系列がメモリワードを読み取ることによってバタフライに供給される。バタフライでは、これらの入力データ要素が出力データ要素に変換される。この目的のために必要な乗算係数は、ROMメモリから読み出される。次に、入れ替えネットワークにおいて、これらの出力データ要素と、バタフライにより計算された他の出力データ要素は、多数の出力データ要素の系列の全体に配分される。これらの出力データ要素の系列は、最終的にRAMメモリに書き込まれ、後段で入力データ要素の系列として使用され得る。BがNよりも小さい場合に、バタフライの出力データ要素がそのバタフライの入力データ要素として異なる順序で供給される基数Bのバタフライを繰り返し実行することにより、N点離散フーリエ変換が計算される。このようにして、例えば、32点離散フーリエ変換が基数4のバタフライを用いて計算される。
しかし、従来の装置は、かなり多数の部品により構成され、これにより、上記従来の装置はかなり複雑で高価になる。
本発明の目的は、比較的簡単、かつ、安価である冒頭に記載したタイプの装置を提供することである。
上記目的を達成するため、本発明による装置は、少なくとも1台の更なる変換器が設けられ、上記変換器及び上記更なる変換器は、互いに並列になるよう配置され、上記第1の個数は上記第2の個数よりも多数であることを特徴とする。AがBよりも小さい数であるとき、単一の基数Bの変換器を使用する代わりに、複数台の並列に配置された基数Aの変換器を使用することにより、より簡単かつ安価な装置が実現される。これは、バタフライの複雑さ及びコストがバタフライの基数と共に指数関数的に増大することに起因している。例えば、基数4のバタフライの複雑さ及びコストは、2台の基数2のバタフライの複雑さ及びコストを上回る。また、単一の基数Bの変換器の代わりに複数台の並列の基数Aの変換器が使用される場合、より簡単な構造の入れ替えネットワークが使用できるようになる。
本発明による装置の一実施例は、記憶手段が単一のクロックサイクル中に入力データ要素の系列を読み出し、出力データ要素の系列を書き込むように実現されていることを特徴とする。N点離散フーリエ変換の計算中に、入力データ要素の系列は記憶手段から頻繁に読み出され、出力データ要素の系列は記憶手段に頻繁に書き込まれる必要がある。一般的に、読み出し動作又は書き込み動作毎に1クロックサイクルを必要とする。例えば、記憶手段にいわゆるリード・モディファイ・ライト機能を設けることによって、単一のクロックサイクル中に入力データ要素の系列の読み出しと、出力データ要素の系列の書き込みとが共に行えるように記憶手段を実現することにより、記憶手段へのアクセスが加速される。これにより、装置の消費エネルギーが減少するという付加的な利点が得られる。
本発明による装置の更なる一実施例は、バタフライに必要とされる乗算係数ができるだけ長い期間に亘って一定に保たれるように、入力データ要素の系列が出力データ要素の系列に変換される順序が選択されることを特徴とする。これらの乗算係数がメモリに記憶されている場合、この手段を用いることによって、装置がメモリからこの乗算係数を読み出す回数は最低限に抑えることができる。一方、乗算係数を装置によって計算しなければならない場合、この手段を用いることによって、装置がこの乗算係数を計算しなければならない回数は最低限に抑えられる。何れの場合でも、装置によって消費されるエネルギーは削減され、装置が入力データ要素を出力データ要素に変換する速度が増大する。
本発明による装置の他の実施例は、装置が少なくとも1台のビタビ・バタフライを有することを特徴とする。離散フーリエ変換が計算される方式は、いわゆるビタビ復号化アルゴリズムが計算される方式と多数の類似点を有する。少なくとも1台のビタビ・バタフライを使用することにより、本発明による装置はビタビ復号器を実現するために好適に使用され得る。
本発明による装置の更に別の実施例は、必要な入力データ要素の系列の読み取り後に出力データ要素の系列の書き込みができるだけ多量に行われるように、入力データ要素の系列が出力データ要素の系列に変換される順序が選択されることを特徴とする。単一クロックサイクル中に入力データ要素の読み出し及び出力データ要素の書き込みができるだけ多量に行われるように入力データ要素の系列が出力データ要素の系列に変換される順序を選択することにより、記憶手段がアクセスされるべき回数は最低限に抑えられる。また、この手段は、装置によるエネルギー消費を削減し、装置が入力データ要素を出力データ要素に変換する速度を増加させる。
本発明の上記の面及び他の面は、以下の実施例の説明を参照して明瞭にされ、解明される。
図面中、
図1は、本発明による装置の一例のブロック図であり、
図2は、本発明による装置で使用される入れ替えネットワークのブロック図であり、
図3は、本発明による装置の動作を説明するため使用される32点離散フーリエ変換のデータフロー図であり、
図4及び5は、本発明による装置の動作を説明するため使用される多数の図表である。
図1に示された装置は、入力データ要素の系列を出力データ要素の系列に変換するため好適に使用され得る。この目的のため、この装置は、例えば、RAMメモリとして実現できるような記憶手段110を含み、記憶手段には、入力データ要素及び出力データ要素の系列が保存され得る。本例の場合、記憶手段110は、4個のデータ要素を含む8個の系列により構成される。装置は、互いに並列的に拡張するよう配置された2台の変換器112及び114が更に有し、各変換器は2個の入力データ要素を2個の出力データ要素に変換することができる。記憶手段110から読み出された4個の入力データの系列は、装置によって、2個の入力データ要素を含む2組のグループに分割される。これらの入力データ要素のグループは、次に、変換器112及び114において、2個の出力データ要素を含む2組のグループ113及び115に同時に変換される。これらの出力データ要素は、記憶手段110から読み出された4個の入力データ要素の次の系列が、上記方式と同じ方式で装置によって、2個の出力データ要素を含む新しい2組のグループ113及び115に変換されるまで、入れ替えネットワーク116に保存される。入れ替えネットワーク116において、上記の最新の出力データ要素及び予め保存された出力データ要素は、出力データ要素の系列が入力データ要素の系列として引き続いて使用できるような形で、4個のデータ要素を含む2系列に分割される。入れ替えネットワークで編成された出力データ要素の系列は最終的に記憶手段110に書き込まれる。
図示された装置を用いることにより、多数の入力データ要素が高速かつ効率的に処理され、ここで、入力データ要素のグループを出力データ要素のグループに繰り返し変換することが必要である。このような処理動作は、いわゆるデータフローグラフを用いることによって表現することができる。一例として、図3には、2個の入力データ要素のグループが2個の出力データ要素のグループに変換されるデータフローグラフが示され、入力データ要素と出力データ要素は同じ参照番号で示されている。図示されたデータフローグラフは多数の連続したステージに分割される。最初に、ステージ0が実行され、次に、ステージ1が実行され、以下同様にステージ4が実行去れるまで続く。各ステージで、データフローグラフは、2個の入力データ要素を含むグループと、そのグループから変換された2個の出力データ要素を含むグループとの対応関係を示す。例えば、ステージ0において、入力データ要素0及び1は出力データ要素0及び1に変換され、入力データ要素2及び3は出力データ要素2及び3に変換され、以下同様である。1ステージ内の上記の変換の相対的な順序は重要ではない。各ステージで生成された出力データ要素は次のステージの入力データ要素として使用される。例えば、ステージ0で生成された出力データ要素0及び2は、ステージ1において入力データ要素として、出力データ要素0及び2に変換される。
このようなデータフローグラフは、離散フーリエ変換アルゴリズム、又は、ビタビ復号化アルゴリズムを記述するため使用できることが知られている。図3に示されたデータフローグラフは、32点、基数2の離散フーリエ変換アルゴリズムとして解釈することができ、入力データ要素はビットが逆順にされ、出力データ要素は正順にされる。このアルゴリズムが図1に示された装置で実現されるべき場合には、変換器112及び114は、基数2のフーリエ変換バタフライを含む必要がある。これらのバタフライは、時間域デシメーション形(DIT)、又は、周波数域デシメーション形(DIF)の何れのタイプでもよい。基数2の時間域デシメーション形バタフライの場合に、2個の入力データ要素A及びBは2個の出力データ要素X及びYに変換され、
X=A+B・WN k
及び
Y=A−B・WN k
が成り立つ。基数2の周波数域デシメーション形バタフライの場合、入力データ要素と出力データ要素の関係は、
X=A+B
及び
Y=(A−B)・WN k
によって表される。これらの2タイプのフーリエ変換バタフライの間の別の相違点は、時間域デシメーション形バタフライの場合に、周波数域デシメーション形バタフライとは別の乗算係数WN kが必要な点である。以下の説明では、時間域デシメーション形バタフライを使用する場合を考える。このバタフライに必要な乗算係数は、装置により計算してもよく、或いは、例えば、RAMメモリから読み出してもよい。図1に示された装置がビタビ復号化アルゴリズムを実施するため使用される場合、変換器112及び114は、基数2のビタビバタフライを含む必要がある。これらのビタビバタフライは、加算・比較・選択ユニットとも称される。本発明による装置は、他の基数、並びに、他の変換器の数を使用しても構わない。例えば、4台の基数2の変換器が基数2のアルゴリズムを実施するため使用され得る。或いは、基数4のアルゴリズムを実施するため、基数4の変換器を本発明による装置に適用してもよい。
装置が上記のいずれかのアルゴリズムを実行できるようになる前に、記憶手段110は、何らかの方法で必要な初期入力データ要素で埋められている必要があることがわかる。アルゴリズムが実行されたとき、その結果は記憶手段110から出力データ要素の形式で読み出され得る。
上記のアルゴリズムの中の一つのアルゴリズムが装置によって実行されたとき、入力データ要素の系列は記憶手段110から頻繁に読み出される必要があり、出力データ要素の系列は記憶手段110に頻繁に書き込まれなければならない。一般的に、このため、1回の読み出し動作又は書き込み動作毎に1クロックサイクルを要する。単一のクロックサイクル中に入力データ要素の系列を読み出し、かつ、出力データ要素の系列を書き込めるように記憶手段110を構成することによって、記憶手段110へのアクセスは加速される。これにより、装置の電力消費量が低減する利点が得られる。
図2に示された入れ替えネットワーク116は、本発明による装置に有利的に使用され得る。この入れ替えネットワーク116は、4個の入力113.1、113.2、115.1及び115.2が設けられている。2個のデータ要素を含む第1のグループは、入力113.1及び113.2を介して入れ替えネットワーク116に供給され得る。同様に、2個のデータ要素を含む第2のグループは、入力1151.及び115.2を介して供給され得る。2個のデータ要素を含む第1及び第2のグループは、一体的に4個のデータ要素を含む第1の系列を構成する。入れ替えネットワーク116は、4個のデータ要素を含む第2の系列を供給する4個の出力117.1乃至117.4を更に有する。入れ替えネットワーク116は、4個のレジスタ120、122、132及び134と、4個のマルチプレクサ124、126、128及び130とを更に含む。
入れ替えネットワーク116は、入力113.1、113.2、115.1及び115.2に連続して供給された4個のデータ要素を含む2組の第1の系列を、4個のデータ要素を含む2組の第2の系列に変換することができる。4個のデータ要素の第1の系列A−B−C−Dが入力113.1、113.2、115.1及び115.2に供給されたとき、すなわち、データ要素Aが入力113.1に供給され、データ要素Bが入力113.2に供給され、データ要素Cが入力115.1に供給され、データ要素Dが入力115.2に供給されたとき、データ要素A及びCは、それぞれのマルチプレクサ124及び128を介して、対応したレジスタ132及び134に保存され、データ要素B及びDは、対応したレジスタ120及び122に保存される。次に、データ要素の第1の系列E−F−G−Hが入力113.1、113.2、115.1及び115.2に供給され、最初に、レジスタ132及び134に保存されたデータ要素A及びCがそれぞれの出力117.1及び117.2を介して送出され、入力113.1及び115.1に供給されたデータ要素E及びGが対応したマルチプレクサ126及び130並びに対応した出力117.3及び117.4を介して送出される。次の段で、レジスタ120及び122に保存されているデータ要素B及びDがそれぞれのマルチプレクサ124及び128を介して対応したレジスタ132及び134に保存される。次に、入力113.2及び115.2を介して供給されたデータ要素F及びHはそれぞれのレジスタ120及び122に保存される。最後に、レジスタ132及び134に保存されたデータ要素B及びDがそれぞれの出力117.1及び117.2を介して送出され、レジスタ120及び122に保存されたデータ要素F及びHは、それぞれのマルチプレクサ126及び130、並びに、対応した出力117.3及び117.4を介して外部に供給される。このようにして、データ要素の第1の系列A−B−C−Dと、データ要素の第1の系列E−F−G−Hの2組の第1の系列は、入れ替えネットワーク116により、データ要素の第2の系列A−C−E−Gと、データ要素の第2の系列B−D−F−Hの2組の第2の系列に変換される。
本発明による装置の動作を図4及び5に示された図表を参照して詳細に説明する。これらの図表は、図1に示された装置が図3に示されたように32点の基数2の離散フーリエ変換アルゴリズムを実行する間の異なる時点での記憶手段110の内容を表現する。図表の枠外部の右側の数字は、データ要素の系列が記憶手段110から読み出される順序を示す。図表の枠外部の右側の両方向矢印は、矢印の先端で指定されたデータ要素の系列が入れ換えられるべきことを示す。
図4には、図1に示された装置が32点の基数2の離散フーリエ変換を実行する異なる時点での記憶手段110の内容が示され、入力データ要素の系列が出力データ要素の系列に変換されるシーケンスは、バタフライで必要とされる乗算係数ができるだけ長い期間に亘って一定に保たれるように選択されている。
図表150は、記憶手段110の初期内容を表現する。図表160、170、180、190及び200は、それぞれ、アルゴリズムのステージ0、1、2、3及び4の後における記憶手段110の内容を表現する。ステージ4の後で、アルゴリズムは完全に実行されている。図表200に示されるように、所望の結果が記憶手段110に格納される。
図表150に示されるように、ステージ0で、装置は、最初に、記憶手段110から入力データ要素の系列0−1−2−3を読み出し、2個の入力データ要素の2組のグループ0−1及び2−3に分割する。これらの2個の入力データ要素を含む2組のグループは、次に、基数2の離散フーリエ変換バタフライ112及び114において、2個の出力データ要素を含む2組のグループ0−1及び2−3に変換され、その後、これらの出力データ要素は、入れ替えネットワーク116に保存される。続いて、装置は、記憶手段110から入力データ要素の系列4−5−6−7を読み出し、2個の入力データ要素を含む2組のグループ4−5及び6−7に分割し、この2組のグループは、基数2の離散フーリエ変換バタフライ112及び114において、2個の出力データ要素を含む2組のグループ4−5及び6−7に変換される。入れ替えネットワーク116において、これらの出力データ要素及び既に入れ換えネットワークに保存されている出力データ要素は、4個の出力データ要素を含む2組の系列0−2−4−6及び1−3−5−7に変換される。4個の出力データ要素の1番目の系列0−2−4−6は、この時点でメモリに書き込まれるべきである。記憶手段110は、単一のクロックサイクル中に4個の入力データ要素の系列を読み出し、4個の出力データ要素の系列を書き込み得るので、4個の出力データ要素の1番目の系列0−2−4−6の書き込みと、4個の入力データ要素の3番目の系列8−9−10−11の読み出しとを組み合わせることが可能である。図表160を参照すると、4個の出力データ要素の1番目の系列0−2−4−7が記憶手段110に書き込まれる場所は、図表150において入力データ要素の3番目の系列8−9−10−11が読み出される場所であることがわかる。
本明細書の説明中、バタフライ112及び114におけるデータ要素の変換は、単一のクロックサイクル内で行える場合を考えていることに注意する必要がある。この変換に1クロックサイクルよりも長い時間が必要である場合、出力データ要素の1番目の系列0−2−4−6の書き込みは、入力データ要素の別の系列の読み出しと組み合わせる必要がある。例えば、変換が2クロックサイクルを要する場合、系列0−2−4−6の書き込みは、入力データ要素の4番目の系列12−13−14−15の読み出しと組み合わせることができる。
出力データ要素の1番目の系列0−2−4−6の書き込みと組み合わされた入力データ要素の3番目の系列8−9−10−11の読み出しの後、入力データ要素の4番目の系列12−13−14−15の読み出しは、出力データ要素の2番目の系列1−3−5−7の書き込みと組み合わされ得る。このプロセスは、上記の方式に従って、図表150に示されたシーケンス内の出力データ要素の8個の系列全部に対して続けられる。入力データ要素の全ての系列は既に読み出されているので、出力データ要素の7番目の系列24−26−28−30及び8番目の系列25−27−29−31の書き込みは、入力データ要素の系列の読み出しと組み合わせなくても構わない。
図表160及び170に示されているように、ステージ1において、出力データ要素の1番目の系列0−4−8−12及び2番目の系列2−6−10−14の書き込みは、入力データ要素の3番目の系列16−18−20−22及び4番目の系列24−26−28−30の読み出しと組み合わされる。しかし、ステージ1とは異なり、ステージ1において、入力データ要素の3番目の系列及び4番目の系列と対応した出力データ要素の3番目の系列16−20−24−28及び4番目の系列18−22−26−30は、入力データ要素の5番目の系列及び6番目の系列の読み出しと組み合わされない。出力データ要素の3番目の系列及び4番目の系列は、入力データ要素の1番目の系列及び2番目の系列が読み出された場所に書き込まれる。同様に、ステージ1において、出力データ要素の5番目の系列1−5−9−13及び6番目の系列3−7−11−15の書き込みは、入力データ要素の7番目の系列17−19−21−23及び8番目の系列25−27−29−31の読み出しと組み合わされる。出力データ要素の7番目の系列17−21−25−29及び8番目の系列19−23−27−31は、入力データ要素の5番目の系列及び6番目の系列が読み出された場所に書き込まれる。
図表170及び180に示されるように、ステージ2において、入力データ要素の系列の読み出しは、出力データ要素の書き込みと組み合わされない。出力データ要素の全ての系列は、対応した入力データ要素の系列が読み出された場所に書き込まれる。
図表180及び190では、ステージ3がステージ0と同様に処理されることが示されている。但し、ステージ3は、出力データ要素の7番目の系列及び8番目の系列の書き込みが入力データ要素の系列と組み合わされない点でステージ0と相違する。
最後に、ステージ4は、ステージ1と同じように処理される。出力データ要素の3番目の系列及び4番目の系列は、入力データ要素の1番目の系列及び2番目の系列が読み出された場所に書き込まれる。同様に、出力データ要素の7番目の系列及び8番目の系列は、入力データ要素の5番目の系列及び6番目の系列が読み出された場所に書き込まれる。
図4に示された動作のシーケンスは、バタフライに必要とされる乗算係数ができるだけ長い期間に亘って一定に保たれる点が有利である。その結果として、これらの乗算係数がメモリから読み出されるべき回数、或いは、計算されるべき回数は最低限に抑えられる。着目している乗算係数WN kは以下の式で与えられる。
ここで、Nは離散フーリエ変換処理が関係する点の数を表し(本例では、Nは32である)、jは√(−1)を表し、kはパラメータを表し、このパラメータkは図4を参照して以下に説明する。ステージ0の場合に必要な乗算係数は、入力データ要素のすべての系列に対し、k=0によって与えられる。ステージ1に必要な乗算係数は、入力データ要素の最初の4個の系列に対して、k=0によって与えられ、入力データ要素の最後の4個の系列に対しては、k=8によって与えられる。ステージ2の場合に、入力データ要素の1番目及び2番目の系列に対する乗算係数は、k=0によって与えられ、3番目及び4番目の系列に対する乗算係数は、k=4によって与えられ、5番目及び6番目の系列に対する乗算係数は、k=8によって与えられ、7番目及び8番目の系列に対する乗算係数は、k=12によって与えられる。ステージ3の場合に、入力データ要素の1番目の系列に対する乗算係数は、k=0によって与えられ、2番目の系列に対しては、k=2によって与えられ、3番目の系列に対しては、k=4によって与えられ、4番目の系列に対しては、k=6によって与えられ、5番目の系列に対しては、k=8によって与えられ、6番目の系列に対しては、k=10によって与えられ、7番目の系列に対しては、k=12によって与えられ、8番目の系列に対しては、k=14によって与えられる。ステージ0からステージ3において、二つのバタフライ112及び114に対する乗算係数は常に相互に一致する。しかし、ステージ4の場合、両方の乗算係数は一致しなくなる。ステージ4の場合、入力データ要素の1番目の系列に対する乗算係数は、k=0とk=1とにより与えられ、第2の系列に対し、k=2とk=3とにより与えられ、3番目の系列に対し、k=4とk=5とにより与えられ、4番目の系列に対し、k=6とk=7とにより与えられ、5番目の系列に対し、k=8とk=9とにより与えられ、6番目の系列に対し、k=10とk=11とにより与えられ、7番目の系列に対し、k=12とk=13とにより与えられ、8番目の系列に対し、k=14とk=15とにより与えられる。
図5には、図1に示された装置が32点の基数2の離散フーリエ変換を実行する異なる時点での記憶手段110の内容が示され、入力データ要素の系列が出力データ要素の系列に変換されるシーケンスは、図4の場合とは異なるように選択されている。
図5において、図表210は、記憶手段110の初期内容を表現する。図表220、230、250、270及び280は、それぞれ、アルゴリズムのステージ0、1、2、3及び4の後における記憶手段110の内容を表現する。図表240及び260は、それぞれ、ステージ2及びステージ3の開始前の記憶手段110の内容を表す。アルゴリズムが実行された後、結果は、図表290に示されるように記憶手段110に格納される。
図表210及び220に示されるように、ステージ0で、装置が出力データ要素の系列を書き込む場所は、入力データ要素の系列が読み出された場所に対応する。例えば、出力データ要素の系列0−2−4−6及び1−3−5−7は、対応した入力データ要素の系列0−1−2−3及び4−5−6−7が読み出された場所に書き込まれる。
ステージ1(図表220及び230を参照のこと)において、出力データ要素の1番目及び2番目の系列の書き込みは、入力データ要素の3番目及び4番目の系列の読み出しと組み合わされる。同様に、出力データ要素の5番目及び6番目の系列の書き込みは、入力データ要素の7番目及び8番目の系列の読み出しと組み合わされる。しかし、出力データ要素の3番目及び4番目の系列は、入力データ要素の1番目及び2番目の系列が読み出された場所に書き込まれる。同様に、出力データ要素の7番目及び8番目の系列は、入力データ要素の5番目及び6番目の系列が読み出された場所に書き込まれる。
ステージ1で獲得され出力データ要素を、図表230に示されているような方式で入れ替えることにより、ステージ2で、読み出し及び書き込みがなされるべきデータ要素の系列のアドレスを比較的容易に判定できるようになる。入れ替えの結果は図表240に示されている。
ステージ2において(図表240及び250を参照のこと)、出力データ要素の1番目及び2番目の系列の書き込みは、入力データ要素の5番目及び6番目の系列の読み出しと組み合わされ、出力データ要素の6番目及び6番目の系列の書き込みは、入力データ要素の7番目及び8番目の系列の読み出しと組み合わされる。出力データ要素の7番目及び8番目の系列は、入力データ要素の1番目及び2番目の系列が読み出された場所に書き込まれる。ステージ2の場合でも、データ要素の2個の系列が上記の理由と同じ理由のため入れ替えられる。その結果は図表260に示されている。
ステージ3(図表260及び270を参照のこと)において、ステージ0と同じように、出力データ要素の系列は、対応した入力データ要素の系列が読み出された場所に書き込まれる。
ステージ4(図表270及び280を参照のこと)において、データ要素の系列は、ステージ1と同じ形で読み出され、書き込まれる。ステージ4の場合でも、データ要素の2個の系列の多数回の相互入れ替えが行われる。その結果は図表290に示されている。
以下の表には、種々のステージで図4及び5に示された方法を実現するため必要とされるメモリ動作の回数が概略的に表されている。この表において、データ要素の系列の読み出し、データ要素の系列の書き込み、並びに、データ要素の系列の読み出し及び書き込みの組合せは、何れも単一のメモリ動作であると考えられる。データ要素の2個の系列の入れ替えは、読み出し動作、読み出し/書き込みの組合せ動作、及び、書き込み動作を用いて行われる。したがって、このような入れ替えは3回のメモリ動作を含む。
この表は、図4に示された方法のアプリケーションの方が図5に示された方法のアプリケーションよりも殆どのステージでメモリ動作の回数が少なくなることを表している。ステージ2の場合に限り、反対の結果が当てはまる。各ステージ毎にメモリ動作の回数が最小の回数になる方法を選択することにより、装置によるエネルギー消費が削減され、装置が入力データ要素を出力データ要素に変換する速度が高められる。
Claims (6)
- 入力データ要素の系列を順次処理して出力データ要素の系列に変換する変換装置であって、該変換装置は、
変換器入力部と変換器出力部を有し、所定のアルゴリズムに従って、入力データ要素を処理して出力データ要素を生成する少なくとも2個の変換器と、
前記各変換器に対応して設けられた第1記憶レジスタであって、該レジスタの各入力部は各対応する変換器の変換器出力部の一部に直接接続し、前記各第1記憶レジスタは少なくとも1つのレジスタ出力部を有する第1記憶レジスタと、
前記各変換器に対応して設けられた、第1マルチプレクサおよび第2マルチプレクサであって、前記各マルチプレクサの第1入力部は同一の変換器に対応する前記変換器出力部の残りの部分に接続され、前記各マルチプレクサの第2入力部は、同一の変換器に対応する前記第1記憶レジスタの前記少なくとも1つのレジスタ出力部に接続するように構成した第1および第2マルチプレクサと、
前記各変換器に対応して設けられた第2記憶レジスタであって、該第2記憶レジスタの入力部は同一の変換器に対応する前記第1マルチプレクサの出力部に接続するように構成した第2記憶レジスタと、
前記入力データ要素の系列と前記出力データ要素の系列とを格納する記憶手段であって、前記入力データ要素の系列を前記記憶手段の所定の位置から読み出し、前記読み出した入力データ要素の系列を異なる2つのグループのデータ要素に分割し、この分割した各データ要素を前記少なくとも2個の変換器のうち異なる1個の変換器の変換器入力部にそれぞれ供給するための記憶手段と、
前記少なくとも2個の変換器のそれぞれに対応する前記第2マルチプレクサおよび前記第2記憶レジスタの出力部に接続された入力部を備え、単一クロックサイクルの間に、前記少なくとも2個の変換器のそれぞれに対応する前記第2マルチプレクサおよび前記第2記憶レジスタの出力部から出力されるデータ要素からなる前記出力データ要素の系列を、前記記憶手段の前記入力データ要素の系列が読み出された位置に書き込む手段と
を備えたことを特徴とする装置。 - 前記各変換器出力データ要素は、2つのグループに均等に分割され、一方のグループを前記変換器に対応して設けられた前記第1および第2マルチプレクサが受信し、他方のグループを前記第1記憶レジスタが受信するように構成したことを特徴とする、請求項1に記載の装置。
- 前記変換器がビタビアルゴリズムに従ったバタフライ演算を行うことを特徴とする、請求項1または請求項2に記載の装置。
- 前記変換器がフーリエ変換アルゴリズムに従ったバタフライ演算を行うことを特徴とする請求項1または請求項2に記載の装置。
- 入力データ要素の系列を出力データ要素の系列に変換する変換方法であって、
記憶部から入力データ要素の系列を読み込むステップと、
前記読み込まれた入力データ要素の系列を2つのデータ要素のグループに分割するステップと、
前記入力データ要素のグループの各々を第1および第2の2つのサブグループに分割するステップと、
前記各第1および第2サブグループを、所定のアルゴリズムに従って変換部により変換して、変換後の第1サブグループおよび第2サブグループを生成するステップと、
前記変換後の第1サブグループを第1及び第2マルチプレクサの2つのマルチプレクサに並列に送信し、前記変換後の第2のサブグループを第1記憶レジスタに送信し、この第1記憶レジスタの出力を、前記2つのマルチプレクサに並列に送信するステップと、
前記第1のマルチプレクサ出力を、第2記憶レジスタに送信するステップと、
共通のクロックサイクルの間に、前記第2マルチプレクサおよび前記第2の記憶レジスタの前記出力を前記出力データ要素の系列として読み出すステップと、
前記出力データ要素の系列を、更なる入力データ要素の系列が読み出される前記記憶部内の記憶場所に書き込むステップであって、この記憶場所への書き込みおよび更なるデータ要素の系列の読み出しが、単一のクロックサイクルの間に実行される書き込みステップと
を備えることを特徴とする変換方法。 - 入力データ要素の系列を出力データ要素の系列に変換する変換方法であって、
記憶部から入力データ要素の系列を読み出し、この入力データ要素の系列を第1グループと第2グループとに分割するステップと、
前記第1および第2の各グループを、それぞれ第1サブグループと第2サブグループとに分割するステップと、
前記各第1および第2サブグループを、所定のアルゴリズムに従って変換部により変換して、変換後の第1および第2サブグループを生成するステップと、
記憶部から他の入力データ要素の系列を読み出し、この入力データ要素の系列を第3グループと第4グループとに分割するステップと、
前記第3および第4の各グループを、それぞれ第3サブグループと第4サブグループとに分割するステップと、
前記各第3および第4サブグループを、所定のアルゴリズムに従って変換部により変換して、変換後の第3および第4サブグループを生成するステップと、
前記各変換後の第1サブグループを、異なる2つの第1マルチプレクサを経て異なる2つの第2記憶レジスタに格納し、前記各変換後の第2サブグループを異なる2つの第1記憶レジスタに送信し、格納するステップと、
単一クロックサイクルの間に、前記各変換後の第1サブグループを前記各第2記憶レジスタから出力し、前記各変換後の第2サブグループを前記各第1記憶レジスタから出力し前記第1マルチプレクサを経て前記各第2記憶レジスタに格納し、前記各変換後の第3サブグループを、異なる2つの第2マルチプレクサを経て出力し、前記各変換後の第4サブグループを前記各第1記憶レジスタに格納することにより、前記変換後の第1サブグループと前記変換後の前記第3サブグループとから構成される出力データ要素の系列を出力するステップと、
前記各変換後の第2サブグループを前記各第2記憶レジスタから出力し、前記各変換後の第4サブグループを前記各第1記憶レジスタから前記各第2マルチプレクサを経て出力することにより、前記変換後の第2サブグループと前記変換後の第4サブグループとから構成される他の出力データ要素の系列を出力するステップと、
前記出力した出力データ要素の系列を、前記記憶部の入力データ要素の系列が読み出された位置に格納するステップと、
前記出力した他の出力データ要素の系列を、前記記憶部の他の入力データ要素の系列が読み出された位置に格納するステップと
を備え、
前記各出力データ要素の系列の格納を、更なる入力データ要素の系列の読み出しと単一のクロックサイクルの間に実行する
ことを特徴とする変換方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP98201101.7 | 1998-04-09 | ||
EP98201101 | 1998-04-09 | ||
PCT/IB1999/000572 WO1999053419A2 (en) | 1998-04-09 | 1999-04-01 | Device for converting series of data elements |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002507305A JP2002507305A (ja) | 2002-03-05 |
JP4248027B2 true JP4248027B2 (ja) | 2009-04-02 |
Family
ID=8233574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55140099A Expired - Fee Related JP4248027B2 (ja) | 1998-04-09 | 1999-04-01 | データ要素の系列を変換する装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6772183B1 (ja) |
EP (1) | EP0988605A2 (ja) |
JP (1) | JP4248027B2 (ja) |
WO (1) | WO1999053419A2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2804524B1 (fr) | 2000-01-31 | 2002-04-19 | Oberthur Card Systems Sas | Procede d'execution d'un protocole cryptographique entre deux entites electroniques |
US7561641B2 (en) * | 2006-02-06 | 2009-07-14 | Tatung Company | Method of Viterbi decoding with reduced butterfly operation |
US20080071848A1 (en) * | 2006-09-14 | 2008-03-20 | Texas Instruments Incorporated | In-Place Radix-2 Butterfly Processor and Method |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3702393A (en) * | 1970-10-21 | 1972-11-07 | Bell Telephone Labor Inc | Cascade digital fast fourier analyzer |
US3871577A (en) * | 1973-12-13 | 1975-03-18 | Westinghouse Electric Corp | Method and apparatus for addressing FFT processor |
US4298950A (en) * | 1979-10-12 | 1981-11-03 | Westinghouse Electric Corp. | Multipoint pipeline processor for computing the discrete fourier transform |
US4587626A (en) * | 1981-10-13 | 1986-05-06 | Trw Inc. | Sum and difference conjugate discrete Fourier transform |
US4491910A (en) * | 1982-02-22 | 1985-01-01 | Texas Instruments Incorporated | Microcomputer having data shift within memory |
US4689762A (en) * | 1984-09-10 | 1987-08-25 | Sanders Associates, Inc. | Dynamically configurable fast Fourier transform butterfly circuit |
FR2603719B1 (fr) * | 1986-09-04 | 1991-10-31 | Duhamel Pierre | Dispositif de determination de la transformee numerique d'un signal |
US4868776A (en) * | 1987-09-14 | 1989-09-19 | Trw Inc. | Fast fourier transform architecture using hybrid n-bit-serial arithmetic |
US5845093A (en) * | 1992-05-01 | 1998-12-01 | Sharp Microelectronics Technology, Inc. | Multi-port digital signal processor |
US5546569A (en) * | 1993-02-19 | 1996-08-13 | Intergraph Corporation | Apparatus for writing data to and reading data from a multi-port RAM in a single clock cycle |
US5890098A (en) * | 1996-04-30 | 1999-03-30 | Sony Corporation | Device and method for performing fast Fourier transform using a butterfly operation |
JP3821316B2 (ja) * | 1996-08-06 | 2006-09-13 | ソニー株式会社 | 演算装置および方法 |
-
1999
- 1999-04-01 WO PCT/IB1999/000572 patent/WO1999053419A2/en active Application Filing
- 1999-04-01 EP EP99909143A patent/EP0988605A2/en not_active Withdrawn
- 1999-04-01 JP JP55140099A patent/JP4248027B2/ja not_active Expired - Fee Related
- 1999-04-06 US US09/287,163 patent/US6772183B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002507305A (ja) | 2002-03-05 |
EP0988605A2 (en) | 2000-03-29 |
WO1999053419A2 (en) | 1999-10-21 |
WO1999053419A3 (en) | 2000-01-06 |
US6772183B1 (en) | 2004-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6035313A (en) | Memory address generator for an FFT | |
US6609140B1 (en) | Methods and apparatus for fast fourier transforms | |
US4893279A (en) | Storage arrangement having a pair of RAM memories selectively configurable for dual-access and two single-access RAMs | |
JP3740516B2 (ja) | 共分散行列を生成する方法および装置 | |
JPH11161637A (ja) | 高速フーリエ変換を用いて短い待ち時間でアレイ処理を行う並列システム | |
JP3938238B2 (ja) | 高速フーリエ変換処理装置 | |
US6189021B1 (en) | Method for forming two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations | |
US5430667A (en) | Hardware arrangement for fast fourier transform having improved addressing techniques | |
US20030200414A1 (en) | Address generators for mapping arrays in bit reversed order | |
JP2002351858A (ja) | 処理装置 | |
JPH033262B2 (ja) | ||
JP5549442B2 (ja) | Fft演算装置 | |
US4916649A (en) | Method and apparatus for transforming a bit-reversed order vector into a natural order vector | |
EP0589662A2 (en) | Digital signal processing system | |
JP4248027B2 (ja) | データ要素の系列を変換する装置 | |
US6728742B1 (en) | Data storage patterns for fast fourier transforms | |
US5056014A (en) | Network simulation system | |
JP4083387B2 (ja) | 離散フーリエ変換の計算 | |
JP2002504250A (ja) | データ要素の系列を変換する装置 | |
JPH07152730A (ja) | 離散コサイン変換装置 | |
US7447722B2 (en) | Low latency computation in real time utilizing a DSP processor | |
EP4307138A1 (en) | Self-ordering fast fourier transform for single instruction multiple data engines | |
KR100235537B1 (ko) | 디지털 필터의 가변탭 구조 및 그의 곱셈회로 | |
JP3675948B2 (ja) | データ変換方法及びその装置 | |
CN116136894A (zh) | 一种基于矩阵处理器的数据处理方法及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060330 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070823 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071204 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071227 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080918 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081027 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20081023 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081030 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081216 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120123 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130123 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |