(57)【要約】  本発明は、反復アルゴリズムを用いることにより複数の受信信号についてマルチブランチ並列処理を行う方法であって、受信信号は、固有の相関を有しかつ特定のパラメータの複数のグループにそれぞれ対応し、（ａ）複数のグループの特定のパラメータの各々及び同じ初期値をそれぞれ複数の反復計算ブランチに入力するステップと、（ｂ）予め規定された処理関数及び固有の相関に応じて各反復計算ブランチにおいて反復計算を行い、各反復計算ブランチの反復結果であってそれぞれが複数の受信信号の情報に対応する反復結果を得るようにしたステップと、を有し、各反復結果は、複数の受信信号における反復結果との固有の相関を有する後続の受信信号の反復計算のために用いられる、方法を提案する。
2008516507.tif 000002
【特許請求の範囲】
【請求項１】
反復アルゴリズムを用いることにより複数の受信信号についてマルチブランチ並列処理を行う方法であって、前記受信信号は、固有の相関を有しかつ特定のパラメータの複数のグループにそれぞれ対応し、
（ａ）前記複数のグループの特定のパラメータ及び同じ初期値をそれぞれ複数反復計算ブランチに入力するステップと、
（ｂ）予め規定された処理関数及び固有の相関に応じて各反復計算ブランチにおいて反復計算を行い、各反復計算ブランチの各々の反復結果であってそれぞれが前記複数の受信信号の情報に対応する反復結果を得るようにしたステップと、
を有し、
前記反復結果の各々は、前記複数の受信信号における反復結果との固有の相関を有する後続の受信信号の反復計算のために用いられる、
方法。
【請求項２】
請求項１に記載のマルチブランチ並列処理方法であって、前記反復結果は、前記後続の反復計算における次の計算ステップのための入力として用いられる、方法。
【請求項３】
請求項１又は２に記載のマルチブランチ並列処理方法であって、
前記受信信号の特性を推定するステップと、
前記受信信号の推定された特性に応じて固有の相関を有する受信信号の数を判定するステップと、
前記複数の受信信号の数に応じて前記反復計算ブランチの数を判定するステップと、
をさらに有する方法。
【請求項４】
請求項３に記載のマルチブランチ並列処理方法であって、前記ステップ（ｂ）は、各反復計算が各反復計算ブランチにおいて完了したときに反復計算のために対応する反復計算結果及び他のグループの特定のパラメータを前記反復計算ブランチに入力するステップをさらに有し、前記他のグループの特定のパラメータは、前記複数の受信信号における他の後続の受信信号に対応する、方法。
【請求項５】
請求項４に記載のマルチブランチ並列処理方法であって、前記反復計算ブランチの数は、固有の相関を有する前記受信信号の数と等しい、方法。
【請求項６】
請求項５に記載のマルチブランチ並列処理方法であって、前記処理関数は、畳み込み関数、相関関数、並びにフィルタリング及びマッチング関数のうち少なくとも１つである、方法。
【請求項７】
反復アルゴリズムを用いることにより受信信号にマルチブランチ並列処理を行う装置であって、当該複数の受信信号は、固有の相関を有し特定のパラメータの複数のグループにそれぞれ対応し、当該装置は、
前記複数のグループの特定のパラメータをそれぞれ受信し、同じ初期値、予め規定された処理関数及び固有相関に応じた反復計算を行って、各処理部の反復結果であって、前記複数の受信信号の情報にそれぞれ対応する反復結果を得るようにした複数の処理部と、
前記反復結果の各々を、前記複数の受信信号における反復結果との固有の相関を有する後続の受信信号の反復計算に用いられるよう制御する制御ユニットと、
を有する装置。
【請求項８】
請求項７に記載のマルチブランチ並列処理装置であって、
前記受信信号の特性を推定し、前記受信信号の推定された特性に応じて固有の相関を有する受信信号の数を判定し、前記処理部の数を判定するようにした推定ユニットをさらに有する装置。
【請求項９】
請求項７又は８に記載のマルチブランチ並列処理装置であって、
前記処理ユニットの各々が反復計算を完了したとき、前記制御ユニットは、対応する反復計算結果及び他のグループの特定のパラメータを反復計算のために前記処理部に入力し、前記他のグループの特定のパラメータは、前記複数の受信信号における他の後続の受信信号に対応する、装置。
【請求項１０】
請求項９に記載のマルチブランチ並列処理装置であって、前記処理部は、
前記予め規定された処理関数に応じて、当該入力された特定のパラメータグループ及び前記初期値について計算を行う計算ユニットと、
前記固有の相関に応じて前記計算ユニットの計算結果を累算する累算器と、
を有し、
前記制御ユニットは、前記処理部が前記反復結果を得たときに前記累算器をリセットする、
装置。
【請求項１１】
請求項１０に記載のマルチブランチ並列処理装置であって、前記累算器は、
前記累算器の累算結果を記憶するバッファと、
前記累算結果と前記計算ユニットから出力される計算結果を累算し、その累算結果を前記バッファに記憶しそれを次の計算において当該加算器に供給する加算器と、
を有し、
前記制御ユニットは、前記処理部が前記反復結果を得たときに前記バッファをリセットする、
装置。
【請求項１２】
請求項１１に記載のマルチブランチ並列処理装置であって、前記制御ユニットは、前記反復結果をデータバスを介して前記複数の処理部に伝達する、装置。
【請求項１３】
請求項１２に記載のマルチブランチ並列処理装置であって、前記制御ユニットは、前記複数の処理部の反復結果を前記複数の処理部に順次伝達する、装置。
【請求項１４】
請求項１３に記載のマルチブランチ並列処理装置であって、前記処理部の数は、固有の相関を有する受信信号の数に等しい、装置。
【請求項１５】
請求項１４に記載のマルチブランチ並列処理装置であって、前記処理関数は、畳み込み関数、相関関数、並びにフィルタリング及びマッチング関数のうち少なくとも１つである、装置。
【請求項１６】
ユーザ機器であって、
ＲＦ信号を受信し送信するアンテナと、
前記アンテナにより受信されたＲＦ信号をベースバンド信号に、送信すべきベースバンド信号をＲＦ信号に変換するＲＦ信号処理部と、
当該受信したベースバンド信号及び送信すべき信号にベースバンド処理を行うベースバンド処理部と、
を有し、
前記ベースバンド処理部は、当該受信したベースバンド信号にマルチブランチ並列処理を行うマルチブランチ並列処理装置を有し、前記複数の受信信号は、固有の相関を有しかつ特定のパラメータの複数のグループにそれぞれ対応し、
前記マルチブランチ並列処理装置は、
前記複数のグループの特定のパラメータをそれぞれ受信し、各部の同じ初期入力値、予め規定された処理関数及び固有の相関に従って反復計算を行って各処理部の反復結果を得、その際に当該反復結果が前記複数の受信信号の情報にそれぞれ対応しているものとする、複数の処理部と、
前記反復結果の各々を、前記複数の受信信号における反復結果との固有の相関を有する後続の受信信号の反復計算において用いるよう制御する制御ユニットと、
を有する、
ユーザ機器。
【請求項１７】
請求項１６に記載のユーザ機器であって、前記受信信号の特性を推定し、前記受信信号のその推定される特性に応じて固有の相関を有する受信信号の数を判定し、前記処理部の数を判定する推定ユニットをさらに有するユーザ機器。
【請求項１８】
請求項１６又は１７に記載のユーザ機器であって、前記処理部の各々が反復計算を完了したとき、前記制御ユニットは、対応する反復計算結果及び他のグループの特定パラメータを反復計算のために前記処理部に入力し、前記他のグループの特定パラメータは、前記複数の受信信号における他の後続の受信信号に対応する、ユーザ機器。
【請求項１９】
請求項１８に記載のユーザ機器であって、前記制御ユニットは、前記複数の処理部の反復結果をデータバスを介して前記複数の処理部に順次伝達する、ユーザ機器。
【請求項２０】
請求項１９に記載のユーザ機器であって、前記処理部の数は、固有の相関を有する前記受信信号の数に等しい、ユーザ機器。
【請求項２１】
ラジオ基地局であって、
ラジオ信号を受信し送信するアンテナと、
前記アンテナを介して送信すべき信号を処理する送信部と、
前記アンテナを介して受信されたラジオ信号を処理する受信部と、
を有し、前記受信部は、前記受信部により処理された信号にマルチブランチ並列処理を行うマルチブランチ並列処理装置を有し、前記複数の受信信号は、固有の相関を有しかつ特定のパラメータの複数のグループにそれぞれ対応し、前記マルチブランチ並列処理装置は、
前記複数のグループの特定パラメータをそれぞれ受信し、各処理部の同じ初期入力値、予め規定された処理関数及び当該固有の相関に応じて反復計算を行い、各処理部の反復結果を得るようにした複数の処理部であって、前記反復結果は、前記複数の受信信号の情報にそれぞれ対応するようにした、複数の処理部と、
前記反復結果の各々を、前記複数の受信信号における反復結果との固有の相関を有する後続の受信信号の反復計算において用いられるように制御する制御ユニットと、
を有する、基地局。
【請求項２２】
請求項２１に記載のラジオ基地局であって、
前記受信信号の特徴を推定し、前記受信信号のその推定された特徴に応じて固有の相関を有する受信信号の数を判定し、前記処理部の数を判定する推定ユニットをさらに有する、基地局。
【請求項２３】
請求項２１又は２２に記載のラジオ基地局であって、前記処理部の各々が反復計算を終了したとき、前記制御ユニットは、対応する反復計算結果及び他のグループの特定パラメータを反復計算のために前記処理部に入力するよう制御を行い、前記他のグループの特定パラメータは、前記複数の受信信号における他の後続の受信信号に対応する、基地局。
【請求項２４】
請求項２３に記載のラジオ基地局であって、前記制御ユニットは、前記複数の処理部の反復結果をデータバスを介して前記複数の処理部に順次伝達する、基地局。
【請求項２５】
請求項２４に記載のラジオ基地局であって、前記処理部の数は、固有の相関を有する受信信号の数に等しい、基地局。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広く信号処理方法及び装置に関し、特に、反復アルゴリズムを用いた信号処理方法及び装置に関する。
【背景技術】
【０００２】
反復計算方法は、一般的に用いられているアルゴリズムであり、最適化設計、シミュレーションモデル化その他の態様において広く適用される。反復計算方法において、元のデータは、反復計算を行うために、固定された反復計算式に代入される。各計算の後に、計算された値は、次の計算を行うよう当該式に再び代入されることになる。数回の反復計算の後に、当該反復計算が求める反復結果が計算可能となる。前のデータが新しいデータを計算するために用いられるこの反復計算方法は、ディジタル信号処理及び関連の分野に等しく適用可能である。例えば、無線通信、信号検出及び認識システムでは、混合信号から有用な情報を再生するために反復計算方法がしばしば用いられる。これらのうちで、代表的な例に、無線通信システムにおけるマルチパス効果がある。
【０００３】
図１は、無線信号がマルチパスチャネルを通じて送信されたときに生じる歪を示している。図１の左のタイムチャートに示されるように、３つのシンボル１〜３は時間間隔単位Δをもって連続的に無線チャネルに伝送され、各シンボルがΔのパルス幅のパルス信号となっている。シンボルがマルチパスを通じた後は、３つのシンボルに歪が生じ、信号の尾引きが現われ、図１の右の波形図に示されるような歪んだ信号となる。マルチパス効果は、或る固有の持続期間を有するので、各シンボルがマルチパスチャネルを通過した後は、パルスシンボルの形状が変わり、パルス幅が時間領域で伸ばされる。歪んだシンボルが受信側で重なることが図１から分かる。その理由は、マルチパスチャネルにより伸ばされたパルス持続期間は、シンボル間の伝送間隔Δよりも長いからである。これら重なり合った信号から正確に現在のシンボルを再生するため、前のシンボルからの影響が排除されるのがよい。シンボル２が再生されようとするとき、シンボル１の歪んだ信号からの影響をキャンセルするのがよく、シンボル３８が再生されようとするときは、シンボル３に対するシンボル２及び１の歪んだ信号からの影響を排除するのがよい。このような動作は、前の信号が現信号を計算するために用いられる処理になることが分かる。したがって、反復の思想は、この問題を非常に良好に解消するために用いられることができる。
【０００４】
実際の用途において、反復の思想は、図１に示されるようなマルチパス伝搬状況に適切なだけでなく、他のタイプのシステムにも適用可能である。種々のシステムに対して、反復計算のアルゴリズムが異なるものとなるが、これらシステムは、図１に示されるシステムと同じ特徴を有する。第１に、当該システムは、全ての信号に均一な影響をもたらすことになり、第２に、システムを通じた後には信号と信号との間に固有の相関が存在し、さらに、固有の相関を有する信号の数が制限され、すなわち現信号が限られた数の前に取得した信号だけに相関がある。こうした特徴によれば、固有の相関を有する信号の数が当該システムを通過した後にＬであると仮定すると、これら信号（データ）を計算する反復計算方法は、次のように表現することができる。
【０００５】
2008516507.tif 000003
【０００６】
上記等式において、ｘ１ないしｘＮは、反復計算により計算された反復結果、すなわち再生すべきデータである。上記等式において、抽出処理関数ｆ（・）は、種々の反復アルゴリズム、すなわちシステム効果により選択されたデータ再生方法における固定の演算を表している。異なるシステムに対して、ｆ（・）は、非常に簡単か又は高度に複雑なものとなる可能性があり、例えばｆ（・）を畳み込み関数、相関関数又は照合（マッチング）及びフィルタリング関数などとすることができる。関数ｆ（・）の全てのパラメータは、当該処理関数ｆ（・）が簡単か又は複雑かにかかわらず、２つの演算単位に抽出されることができる。１つは、反復値としてｆ（・）に代入されるべき前に計算された反復結果であり、これにはｘ２を計算するために用いられる反復値ｘ０及びｘ１などがある。他のものとしては、例えば無線通信システムにおいてｘｉに対応し他のデータと関係のないパラメータのグループを抽出するパラメータベクトルＰｉ（１≦ｉ≦Ｎ）であり、このパラメータベクトルは、Ｐｉが１つ以上のパラメータを含みうる場合の無線チャネルのチャネルパラメータとすることができる。
【０００７】
上記式から、各データｘｉ（１≦ｉ≦Ｎ）は、処理関数ｆ（・）がｘｉ及びパラメータベクトルＰｉに関係する前のＬ個（又は利用可能なデータの数がＬより小さいときは前に計算されたデータの全て）の反復データを計算し、その後に処理関数ｆ（・）の計算結果が共に累積されるように、計算される。例えばｘ２については、初期値ｘ０とｘ０から計算された反復結果ｘ１だけが利用可能（例えば、図１のマルチパス効果）なので、これら２つの双方は、反復値として、ｘ２を計算するための式に代入される。他の例では、ｘＮ−１について、関係するデータの数はＬであり、前に計算されたＬ個のデータｘＮ−Ｌ−１〜ｘＮ−２は、処理関数ｆ（・）の計算のためにパラメータベクトルＰＮ−１と共に用いられ、その後ｘＮ−１を累算により求めることができる。上記式に示される方法によれば、ｘＮが求まるまで計算は何度も繰り返されてからその反復は終了する。
【０００８】
従来技術においては、上記式で表される反復計算を行うのに大抵はスカラ処理アーキテクチャが用いられている。図２は、スカラ処理アーキテクチャを示している。図２に示されるように反復計算のスカラアーキテクチャは、処理関数ｆ（・）の計算を行うための計算ユニット２１０と、累算器２２０と、中間の反復結果（ｘ０，ｘ１，…）を記憶するためのレジスタファイル２４０とを有し、累算器２２０は、加算器２２１と、この加算器の出力結果を記憶する累積レジスタ２２４とを有している。図２に示されるように、システムがｎ番目のデータｘｎを計算する必要があるとき、ｘｎの前の（ｎ−１）個のデータが当該初期値を用いることにより計算されレジスタファイル２４０に記憶される。そして、Ｌ個のデータｘｎ−Ｌ，ｘｎ−Ｌ＋１，ｘｎ−Ｌ＋２，…，ｘｎ−１がレジスタファイル２４０から１つずつ順に取り出され計算のためのパラメータベクトルＰｉと共に計算ユニット２１０に送られ、計算ユニット２１０のどの計算結果も累算のために累算器２２０に送られる。ここで加算器２２１は、計算ユニット２１０の計算結果と累積レジスタ２２４に記憶された最後の累算結果を加算し、この加算結果を累積レジスタ２２４に記憶し、これにより、所望のデータｘｎの値を得、その後、それをｘｎに後続するデータの計算において用いるようにレジスタファイル２４０に記憶する。
【０００９】
図２に示されるようなスカラアーキテクチャでは、唯一の演算（すなわちｆ（・）又は累算）が毎ステップで行われるので、データ依存制限がない。言い換えれば、各ステップにおける演算は、他の演算からの出力データを待つ必要がない。一方、ｘｎの計算中、全ての前のデータ（例えばｘ１，…，ｘｎ−１）は、正規順序で計算に応じて求められ、レジスタファイル２４０に記憶されることが可能である。しかしながら、反復のための回数の急増が重い計算負荷を導く幾つかの先進的な反復アルゴリズムが、この種のスカラアーキテクチャを用いることにより行われる場合、反復計算の処理速度は大幅に落ちることになる。これは、スカラアーキテクチャが依然として採用されると、当該処理速度を上げるために高いクロック周波数の素子が必要とされる一方、追加の電力消費とコストが解決すべき問題となってくることを意味している。したがって、スカラアーキテクチャは、その重い計算負荷のために先進の反復計算には適していない。
【００１０】
スカラアーキテクチャのこうした短所について、並列の（例えばベクトル処理アーキテクチャに基づいた）反復計算アーキテクチャが提案されている。データ依存性が無いか又は低い場合、この並列アーキテクチャは、同時に異なるデータを処理し、これによりクロック周波数及び電力消費を低減することができる。しかし、新しいデータを計算するために前のデータを用いる反復計算においては、データは非常に密接な相関性がある。従来の並列アーキテクチャが採用される場合、幾つかの意味の無い演算（例えばゼロのパディング又はアイドルサイクル）が挿入されることになり、前のデータ出力を待つこととなる。従来の並列アーキテクチャは、非常に限られた程度において反復計算の性能を向上させることができるに過ぎず、過剰なゼロパディング動作及び低い並列性程度のためにメモリコストを追加することもある。
【００１１】
したがって、反復計算のために高い並列性の程度を有する方法を提案する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、並列な反復計算及びこれによる短い反復処理時間を可能とする反復計算方法を用いた信号処理方法及び装置を提供することである。
【００１３】
本発明の他の目的は、データ依存制限による並列計算中の待機動作を行う必要がなく、これにより反復計算の性能を向上させることのできる、反復計算方法を用いた信号処理方法及び装置を提供することである。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明により、反復アルゴリズムを用いることにより複数の受信信号にマルチブランチ並列処理を行う方法が提供され、この複数の受信信号は、固有の相関を有し、特定のパラメータの複数のグループにそれぞれ対応しており、当該方法は、（ａ）前記複数のグループの各々の特定のパラメータ及び同じ初期値をそれぞれ複数反復計算ブランチに入力するステップと、（ｂ）予め規定された処理関数及び固有の相関に応じて各反復計算ブランチにおいて反復計算を行い、各反復計算ブランチの各々の反復結果であってそれぞれが前記複数の受信信号の情報に対応する反復結果を得るようにしたステップと、
を有し、前記反復結果の各々は、前記複数の受信信号における反復結果との固有の相関を有する後続の受信信号の反復計算のために用いられる、方法としている。
【００１５】
上記目的を達成するため、本発明により、反復アルゴリズムを用いることにより受信信号に対してマルチブランチ並列処理を行う装置が提供され、当該複数の受信信号は、固有の相関を有し特定のパラメータの複数のグループにそれぞれ対応し、当該装置は、前記複数のグループの特定のパラメータをそれぞれ受信し、各部の同じ初期入力値、予め規定された処理関数及び固有相関に応じた反復計算を行って、各処理部の反復結果であって、前記複数の受信信号の情報にそれぞれ対応する反復結果を得るようにした複数の処理部と、前記反復結果の各々を、前記複数の受信信号における反復結果との固有の相関を有する後続の受信信号の反復計算に用いられるよう制御する制御ユニットと、を有する装置としている。
【００１６】
上記目的を達成するため、本発明によりユーザ機器が提供され、ＲＦ信号を受信し送信するアンテナと、前記アンテナにより受信されたＲＦ信号をベースバンド信号に、送信すべきベースバンド信号をＲＦ信号に変換するＲＦ信号処理部と、当該受信したベースバンド信号及び送信すべき信号にベースバンド処理を行うベースバンド処理部と、を有し、前記ベースバンド処理部は、当該受信したベースバンド信号にマルチブランチ並列処理を行うマルチブランチ並列処理装置を有し、前記複数の受信信号は、固有の相関を有しかつ特定のパラメータの複数のグループにそれぞれ対応し、前記マルチブランチ並列処理装置は、前記複数のグループの特定のパラメータをそれぞれ受信し、各部の同じ初期入力値、予め規定された処理関数及び固有の相関に従って反復計算を行って各処理部の反復結果を得、その際に当該反復結果が前記複数の受信信号の情報にそれぞれ対応しているものとする、複数の処理部と、前記反復結果の各々を、前記複数の受信信号における反復結果との固有の相関を有する後続の受信信号の反復計算において用いるよう制御する制御ユニットと、を有する、ユーザ機器としている。
【００１７】
上記目的を達成するため、本発明によりラジオ基地局が提供され、ラジオ信号を受信し送信するアンテナと、前記アンテナを介して送信すべき信号を処理する送信部と、前記アンテナを介して受信されたラジオ信号を処理する受信部と、を有し、前記受信部は、前記受信部により処理された信号にマルチブランチ並列処理を行うマルチブランチ並列処理装置を有し、前記複数の受信信号は、固有の相関を有しかつ特定のパラメータの複数のグループにそれぞれ対応し、前記マルチブランチ並列処理装置は、前記複数のグループの特定パラメータをそれぞれ受信し、各処理部の同じ初期入力値、予め規定された処理関数及び当該固有の相関に応じて反復計算を行い、各処理部の反復結果を得るようにした複数の処理部であって、前記反復結果は、前記複数の受信信号の情報にそれぞれ対応するようにした、複数の処理部と、前記反復結果の各々を、前記複数の受信信号における反復結果との固有の相関を有する後続の受信信号の反復計算において用いられるように制御する制御ユニットと、を有する、基地局としている。
【００１８】
他の目的及び目的達成形態は、本発明の十分な理解とともに、添付図面により次の詳細な説明及び請求項を参照することによって明らかとなる。
【００１９】
本発明は、添付図面に基づいて例示によりさらに詳しく説明される。
【００２０】
図面を通じて、同じ参照符号は同様又は対応する特徴又は機能を示している。
【発明を実施するための最良の形態】
【００２１】
上述したように、従来の並列アーキテクチャは、反復計算において効率的に機能することができない。これは主として、反復計算のデータ依存性といった固有の特徴のためである。実際の並列処理を行うため、克服すべき第１は、データ依存制限である。上記反復計算式の特性に対する分析に基づいて、以下では、本発明により提供されるマルチブランチ並列データ処理方法について、またどのようにして反復計算におけるデータ依存性により生じる問題を解消するかについて、さらに最後は本発明により提供されるマルチブランチ並列データ処理方法を行うためのハードウェアアーキテクチャについて、添付図面とともに詳しく説明する。
【００２２】
ｘ１ないしｘＮを計算するための反復計算式の上述したグループからは、当該システム固有の持続期間がＬ個の連続したデータの間の相関を導くことが分かるので、データｘｉが計算される場合、以前に得られたＬ個（Ｌ個のデータが利用可能な場合）のデータがそれを計算するために用いられる。換言すれば、計算すべきデータの数は十分に多く、ｘｉは後続のｘｉからｘｉ＋Ｌを計算するためにＬ回用いられることになる。但し、計算すべきデータの限定数Ｎがあるため、ｘＮ−Ｌに続くデータを用いる回数は規則的に減ることになる。概して計算すべきデータの数Ｎは相関のあるデータの数Ｌよりもかなり大きいので、反復計算の間に多くのデータはＬ回再使用されることになる。したがって、データを同時に処理するためにＬ個の並列反復計算ブランチを用いることは、反復計算の理想的実現である。これに加え、ｘ１ないしｘＮを計算するための反復計算式の上述したグループからは、当該システムが信号に対して均等な作用を呈し、ｆ（ｘｉ，Ｐｉ）の計算単位及び累算されるべきｆ（・）の数が各データにつき異なるものとなることを除き、各データの反復計算は、同じ処理関数ｆ（・）及びデータ再生のための累算演算を含む。したがって、各反復計算ブランチにおいてｆ（・）計算及び累算演算を行うために同じアーキテクチャのＰＥ（Processing Element；処理要素）を用いることを考える。
【００２３】
上述した反復計算式に対する上記分析に基づいて、本発明では、複数の並列反復計算ユニットを用いた反復計算を行うための方法が提案され、特定データ処理手順が図３に示される。図３において、各反復計算ブランチにおけるデータ処理タイミングを示すため、横軸は複数の並列反復計算ブランチを表し、縦軸は時間を表している。図３において、当該反復計算式においては、固有の相関を有するデータの数がＬであることを前提にしているので、並列の反復計算ブランチの数がＬに選定され、ｘ１ないしｘＮに対応するパラメータベクトルがＰ１〜ＰＮであると仮定する。しかし、実際の応用例では、第１に、固有の相関を有する受信信号の数すなわち相関データの数Ｌを判定するため、受信信号の特性（無線チャネルのチャネルパラメータ）を推定するために推定ユニット（ここでは示されていない）が必要である。次に、相関データの推定数Ｌに応じて反復計算を行うためのブランチの数及び各データに対応するパラメータベクトルが判定され、その後、反復計算処理に入る。
【００２４】
図３に示されるように、Ｌ個の並列反復計算ブランチは、先ず、初期データｘ０と相関のあるデータｘ１からｘＬの反復計算を開始し、これにより、各ブランチがｘ１〜ｘＬに対応するパラメータベクトルＰ１〜ＰＬにより構成される。上記式によれば、初期データｘ０及びＬ個のパラメータベクトルは、Ｌ個の反復計算ブランチに入力され、第１のステップの処理関数ｆ（・）すなわちｆ（ｘ０，Ｐｉ）（ｉ＝１，２，…，Ｌ）を計算するようにしている。ここで、初期データｘ０は、Ｌ個の反復計算ブランチに伝達バスを介して送られることが可能である。上記式から分かるように、第１の反復計算ブランチは、第１のステップにおいて処理関数ｆ（・）の計算を通じてｘ１（図における実線矢印によりその計算されたデータが示される）を計算するが、他のブランチは、当該第１のステップにおいて処理関数ｆ（・）の計算を通じて中間結果だけを得ることができ、対応する反復結果を計算することができないので、他のブランチは、他のｆ（・）の計算結果との累算のため、専ら第１のステップにおいて処理関数ｆ（・）により計算された中間結果を記憶することとなる。
【００２５】
次に、計算されたｘ１及び構成されるパラメータベクトルＰ２〜ＰＬは、２番目からＬ番目までの反復計算ブランチに送られ、ｘ１に相関するｘ２〜ｘＬを計算するようにしている。上記反復計算式からは、積算されるべきｆ（・）の数は、データｘ１〜ｘＬが計算されるときに互いに異なる。したがって、第２のステップの処理関数ｆ（・）の計算、すなわちｆ（ｘ１，Ｐｉ）（ｉ＝２，…，Ｌ）の計算の後、第２の反復計算ブランチは、第１のステップにおいて記憶されたｆ（ｘ０，Ｐ２）を第２のステップにおいて計算されたｆ（ｘ１，Ｐ２）に加算し、反復結果ｘ２を計算するようにしている。一方、他のブランチは、後の使用のために、第１及び第２のステップにおいてｆ（・）の計算結果により累算された中間結果を記憶する。その後、データｘ２は、他のブランチに伝達され、他のデータを計算することを維持するようにしている。このようにして連続的に計算が行われ、Ｌステップの計算を通じてデータｘ１〜ｘＬを得ることができる。
【００２６】
データｘ１を計算する第１のブランチは、計算の第２のステップにおいて、これもｘ１に相関しているデータｘＬ＋１の反復計算を開始することができる。上述したように、ｘＬ＋１の計算は、Ｌ個のデータｘ１〜ｘＬを必要とし、ここでのｘ１は、第１のステップでの計算を通じて求められる一方、他のデータは、今度は各反復計算ブランチの処理により得られることとなる。したがって、ｘＬ＋１の計算は、第２のステップにおいて第１の反復計算ブランチの計算を開始することができる。故に、第２のステップの計算を行うときには、ｘ１及びｘＬ＋１に対応するパラメータベクトルＰＬ＋１が計算のために第１の反復計算ブランチへ送られる。同様に、第２の反復計算ブランチがｘ２を計算するときには、パラメータベクトルＰＬ＋２は、ｘＬ＋２の反復計算を開始するために第３のステップの計算に用いることができる。このようにして、各反復計算ブランチがデータｘｉの反復計算を完了するとき、パラメータベクトルＰＬ＋ｉは、当該ブランチに対して構成され、ｘＬ＋ｉの反復計算を直ちに開始するようにすることができる。この方法によれば、各ステップ計算は、時間遅延又はゼロパディング動作における待機を伴うことなく、反復結果（再生された信号）を得ることとなり、例えば、ｘＬがＬ番目のステップで計算された後に、ｘＬ＋１を（Ｌ＋１）番目のステップで計算することができる。
【００２７】
上述したように、ｘＮ−Ｌに後続するデータを用いるための回数は、反復計算において次第に減少することになるので、並列な反復計算ブランチの並列性の程度は、次第に下がり始め、ｘＮ−Ｌ＋１の反復計算から排出フェーズに入る。図３に示されるように、第１の反復計算ブランチがｘＮ−Ｌ＋１を計算する場合は、他のブランチに伝達される。ここで、第１反復計算ブランチがデータ計算の連続性を要しないので、計算を停止させる。次のステップの計算において、第２のブランチがｘＮ−Ｌ＋２を計算する場合も、計算を停止し、３番目ないしＬ番目のブランチだけが伝達されたｘＮ−Ｌ＋２を用いて後続のデータの計算を継続する。この態様において、ｘＮが最後に計算されるまで反復は終了する。ここで注記するに、図３は、ＮがＬの整数倍である場合の排出フェーズにおけるデータ処理手順を専ら示している。ＮがＬの整数倍でない場合、排出原理は、図３におけるものと同様であり、最終的に計算されるｘＮは、必ずしもＬ番目の反復計算ブランチにより計算されないが、いずれかのブランチにより計算されることができる。
【００２８】
上述においては、本発明により提供されるような反復計算を行う並列処理方法について詳しく説明している。図３に示される並列処理方法を実現するため、本発明は、図３に示される処理手術に準じてデータを処理するためのマルチブランチ並列処理アーキテクチャも提案する。以下の説明では、本発明により提供されるような図３に示される並列処理方法を行うためのハードウェアアーキテクチャについて述べることにする。
【００２９】
図４に示されるように、反復計算を行うための並列処理アーキテクチャは、データバス３１０を介して伝達されるデータｘｉを処理するための、データバス３１０に接続されるＬ個のＰＥ３２０と、データバス３１０を介して転送されるＰＥの計算結果を受信しその後に特定の反復計算方法に応じて受信した計算結果からＰＥの計算結果ｘｉを選択し当該データｘｉをデータバス３１０を介して全てのＰＥに伝達する制御ユニット３３０と、を有する。ここで、各ＰＥ３２０は、同一の内部構成を有しており、データバス３１０において伝達されるデータｘｉを受信し構成されるパラメータベクトルＰｊを用いることによりｆ（・）演算を行う計算ユニット３２１と、計算ユニット３２１の出力結果を累算する累算器３２３とを有する。累算器３２３は、加算器３２４とバッファ３２５とを有する。ここで、バッファ３２５は、累算器３２３から出力された累算結果を記憶するとともに、加算器３２４は、計算ユニット３２１から出力された計算結果をバッファ３２５に記憶された最後の累算結果に加算して当該累算器の累算結果を得るようにし、それを次の計算に用いるためにバッファ３２５に記憶する。各ＰＥの累算器３２３はまた、制御ユニット３３０からの制御信号を受信し当該制御信号に応じて累算器３２３におけるバッファ３２５に対しゼロリセット動作を行うためのゼロリセット入力も有する。勿論、レジスタファイル（図示せず）は、計算中に幾つかの一時的データを記憶するために、全てのＰＥにおいて必要である。
【００３０】
図４に示される並列処理アーキテクチャの動作手順を説明するため、データｘ１及びｘ２の計算は、以下の例のように行われる。図３に示されるステップを行う前に、全体制御ユニット３３０は、制御信号を全てのＰＥ３２０に送り、全てのＰＥの累算器におけるバッファ３２５をクリアし、反復計算の準備をする。そして、図３に示されるように、パラメータベクトルＰ１〜ＰＬは、対応するＬ個のＰＥにロードされ、これと同時に、制御ユニット３３０は、データバス３１０を介して全てのＰＥに初期データｘ０を伝達しＬ個の反復計算ブランチの動作を同時に開始させるので、ＰＥ１〜ＰＥＬにおける計算ユニット３２１はｆ（ｘ０，Ｐｉ）（ｉ＝１，２，…，Ｌ）の第１のステップの計算をそれぞれ完了させることができる。ここで、各ＰＥ３２０におけるバッファ３２５の初期値はゼロなので、全てのＰＥにおける計算ユニット３２１の計算結果の累算結果は、ｆ（ｘ０，Ｐｉ）（ｉ＝１，２，…，Ｌ）であり、バッファ３２５に記憶され、その累算結果はデータバス３１０にも送られる。ｘ１からｘＮを計算するための反復計算式の上記グループによれば、ＰＥ１は、第１のステップの計算を通じてｘ１を得ることができる。制御ユニット３３０は、データバス３１０を通じて各ＰＥから出力された計算結果を受信し、ｘ１を全てのＰＥに伝達する。同時に、制御ユニット３３０も、図３に示される処理手順に従って、制御信号をＰＥ１に送り、ＰＥ１のバッファ３２５をゼロにリセットし、パラメータベクトルＰＬ＋１をＰＥ１に構成する。ここで、他のＰＥｓと同様に、ＰＥ１もデータバス３１０によりデータを受信しｘＬ＋１の計算を開始させることができる。
【００３１】
ＰＥ１と同様に、ＰＥ２では、第１のステップの計算の後、ＰＥ２におけるバッファ３２５がＰＥ２による第１のステップの計算の結果ｆ（ｘ０，Ｐ２）を記憶する。次に第２のステップの計算においては、ＰＥ２は、データバス３１０により伝達されたデータｘ１を受信し、それとパラメータベクトルＰ２を、処理関数ｆ（・）の計算のためにＰＥ２の計算ユニット３２１に入力する。そして、計算ユニット３２１の計算結果ｆ（ｘ１，Ｐ２）は、加算器３２４に送られ、バッファ３２５において最後に記憶された累算結果ｆ（ｘ０，Ｐ２）と累算され、現在の累算結果ｆ（ｘ０，Ｐ２）＋ｆ（ｘ１，Ｐ２）すなわちｘ２を得るようにしている。この態様において、ＰＥ２は、第２のステップの計算によりデータｘ２の値を得る。ＰＥ２により計算された結果ｘ２及び他のＰＥによる第２のステップの計算結果は、データバス３１０に出力される。このとき、制御ユニット３３０は、ｘ２を全てのＰＥに伝達し、同時にＰＥ２のバッファ３２５をゼロにリセットし、パラメータＰＬ＋２をＰＥ２に構成するので、ＰＥ２はデータｘＬ＋２の計算を開始することができる。以後、この態様において、各ＰＥが反復結果を計算すると、リセットされ新しいパラメータベクトルにより構成されることになり、新しいデータの計算を開始する。例えば、ＰＥ２がリセットされた後、各ステップ計算において他のＰＥにより求められたデータｘ３〜ｘＬ＋１は、（Ｌ＋２）番目のステップにおいてデータｘＬ＋２を計算し、その後にｘ２Ｌ＋２を計算するよう再びリセットされるために用いることができ、こうして各データを計算することができる。
【００３２】
図４に示される反復計算を行うための並列処理アーキテクチャを参照すると、制御ユニット３３０は、データ伝達バスにより伝達されるデータを制御し各ＰＥの累算器をリセットする役目を担っている。この方法において、どのデータが伝達されるべきかを判定するための選択方法は、反復アルゴリズムにより構成可能である。大抵は、多くの反復アルゴリズムは、制御ユニット３３０がＰＥ１からＰＥＬに順にかつ周期的に伝達することが必要とされる。例えば、現在の計算ステップにおいて、バスにより伝達されたデータがＰＥ１からのものであり、ＰＥ２の計算結果はＰＥＬの計算結果が伝達されるまで次のステップの計算において伝達されることになり、その後に制御ユニット３３０は、ＰＥ１のデータを次のステップの計算において再び伝達することとなる。周期的伝達方法は、周期的カウンタ及びデコーダにより実現可能である。
【００３３】
加えて、特定のＰＥの計算結果が伝達されるとき、当該ＰＥにおける対応する計算ユニットは、次のデータの計算に備えてゼロにリセットされることになる。この態様において、累算器の制御及びデータバスの制御を１つの制御ユニットに組み込むことができる。
【００３４】
データ処理の分野では、並列性の程度は、並列データ処理の能力を測るためにしばしば用いられる。並列性の程度は、或る時間サイクルに対する当該時間サイクル内で完了した演算数の比として定義される。例えば、４つの並列処理ブランチが時間サイクルにおいて各々動作を完了する場合、並列性の程度は４である。反復計算について考えると、固有の相関を有するデータの数がＬ個で全部でＮ個のデータの計算が必要とされる場合、Ｌ個の並列ＰＥが本発明により提案されるような並列処理方法に従って反復計算を行うために採用されているときには、並列性の程度は、Ｌ−Ｌ２／（２Ｎ）である。また、相関のあるデータの数Ｌは大抵はＮよりもかなり少ないので、本発明により提供されるような並列処理方法の実際の並列性の程度は、理想の並列性の程度Ｌに極めて近く、これは従来の並列アーキテクチャにおける理想の並列性の程度Ｌ／２よりも非常に高いものである。
【００３５】
本発明により提供されるような反復計算を行う並列処理方法及び装置は、無線通信、信号検出、信号認識その他の分野に広く適用することができる。
【００３６】
本発明により提案されるようなマルチブランチ並列処理方法及び装置が無線通信分野に適用される場合、変形されるユーザ機器は、ＲＦ信号を受信し送信するアンテナと、このアンテナにより受信されたＲＦ信号をベースバンド信号に、送信すべきベースバンド信号をＲＦ信号に変換するＲＦ信号処理部と、ベースバンド信号を処理するためのベースバンド処理部とを有するものとしてもよく、本発明により提供されるようなマルチブランチ並列処理装置は、受信したベースバンド信号に対してマルチブランチ並列処理を行うために当該ベースバンド処理部に適用可能であり、データ再生速度及びベースバンド処理部の性能を向上させるようにしている。同様に、本発明により提供されるようなマルチブランチ並列処理装置も、ラジオ（無線）基地局のレシーバに適用可能であり、データ再生速度及び当該レシーバの性能を向上させることができる。
【００３７】
同様に、本発明により提案されるマルチブランチ並列処理方法及び装置が信号検出の分野に適用される場合、変換信号検出機器のデータ処理速度を効果的に向上させることができる。
【００３８】
例えば、製品を製造するとき、製造機器により選定される製造パラメータは、温度や湿度などの環境ファクタの変化に応じて適時の調整が必要とされることがしばしばある。この場合、本発明におけるマルチブランチ並列処理方法を採用し、信号検出装置により検出される固有の相関を有する製品性能パラメータと共に特定のパラメータ群として温度及び湿度のような推定されるパラメータを、予め規定される処理関数に応じた反復計算のために複数のＰＥに入力することができる。対応する回数の計算がそれぞれ行われた後は、各ＰＥから発生された反復計算結果は、次の反復計算のために反復値として選択され、次の反復計算のために各ＰＥに対してそれぞれ入力されるので、反復結果は、その入力された性能パラメータの並列処理を通じて一定に発生される。この発生された反復結果は、関係する製造機器の再生される製造パラメータとするか、又は製品性能に影響を与える温度や湿度のような他の情報とすることができる。発生したこれらの反復計算結果に応じて、信号検出装置は、各処理における製造機器の製造パラメータが適切か否かを迅速かつ正確に判定することができ、もって製造パラメータを適時に変更し、変形又は劣化した製品の製造を減らすことができる。
【００３９】
無線通信及び信号検出という上記２つの応用分野は、本発明における反復計算を用いた並列処理方法及び装置を例証したものである。他の分野における方法及び装置との組み合わせでは、提案の方法及び装置は、様々な具体的実施例をもたらしうるものであり、その詳しい説明はここでは示さない。
[発明の効果]
【００４０】
本発明における反復計算を行う並列処理方法及び装置に関しては、命令フィールドにおけるパイプライン概念がデータ処理のための並列アーキテクチャに導入される。本発明の並列処理アーキテクチャでは、Ｌ個の並列な反復計算ブランチが同時に構成され、並列性の程度は、始まりにおいて最大に達するので、漸進的な構成手順がない。
【００４１】
本発明により提供されるような反復計算を行う並列処理方法は、初期のＬ個のデータの計算のためのｆ（・）を行う数が次第に増大するという、反復計算における特徴を最大限に活用している。Ｌ個の並列ブランチは、各ステップ計算を実行するときに必要なデータを各々が得ることになり、その得られたデータは正確に、各ブランチの次のステップの計算のために用いることができる。この方法は、反復計算におけるデータとデータとの時間相関を、複数の並列反復計算ブランチの同期に巧みに変換するので、それなりにデータ依存制限を回避することができる。
【００４２】
さらに、本発明により提供されるような並列処理方法では、データを計算した後は、各反復計算プランチは、時間を待ったり、前のデータを節約したり、ゼロパディング動作をしたりすることなく、新しいデータの計算を直ちに開始することができるので、メモリ消費及びサイクルタイムが節減でき、データ処理の並列性の程度を高い値に達成させることができる。
【００４３】
以上、本発明を特定の実施例について説明してきたが、これまでの説明を考慮すれば、当業者であれば、数多くの代替例、変更例、変形例が明らかとなる。したがって、添付の請求項の主旨及び範囲内に留まるような代替例、変更例、変形例の全てを含むことを意図しているのである。
【図面の簡単な説明】
【００４４】
【図１】マルチパスチャネルによる伝送後の重複された信号を示す概略図。
【図２】反復計算を実行するためのスカラアーキテクチャを示す図。
【図３】本発明の実施例による反復計算を行う並列データ処理手順を示す図。
【図４】本発明の実施例による反復計算を行う並列データ処理手順を示す図。
【図１】
2008516507.tif 000004
【図２】
2008516507.tif 000005
【図３】
2008516507.tif 000006
【図４】
2008516507.tif 000007