JP2003122736A - 行列演算装置 - Google Patents

行列演算装置

Info

Publication number
JP2003122736A
JP2003122736A JP2001314389A JP2001314389A JP2003122736A JP 2003122736 A JP2003122736 A JP 2003122736A JP 2001314389 A JP2001314389 A JP 2001314389A JP 2001314389 A JP2001314389 A JP 2001314389A JP 2003122736 A JP2003122736 A JP 2003122736A
Authority
JP
Japan
Prior art keywords
matrix
solution
linear equation
register
linear
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
JP2001314389A
Other languages
English (en)
Inventor
Katsuyoshi Naka
勝義 中
Keiichi Kitagawa
恵一 北川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001314389A priority Critical patent/JP2003122736A/ja
Publication of JP2003122736A publication Critical patent/JP2003122736A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Variable-Direction Aerials And Aerial Arrays (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Radio Transmission System (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 上三角行列または下三角行列を含んだ形
式で表わされる連立一次方程式の解を前進代入あるいは
後退代入で求める演算を、小型,低消費電力の装置を用
いて超高速に行うこと。 【解決手段】 ハードウエアで構成された行列演算装置
は、積和演算部(101,102,103,105,1
06,107,108,109,110)と、積和演算
の結果について所定の線形演算を施す線形演算部とを有
する。線形演算部にて前記n番目の一次方程式の解を求
める演算がなされている期間において、積和演算部に
て、次の(n+1)番目の一次方程式の解を求めるため
に必要な積和演算項のうちの、n番目の一次方程式の解
を含まない部分的な項についての積和演算を先行的に実
施し、乗算部107の複数の乗算器を時分割で使用す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、上三角行列または
下三角行列を含んだ形式で表わされる連立一次方程式の
解を求めるために利用可能な行列演算装置に関する。
【0002】
【従来の技術】電子計算機を用いて数値計算(行列演
算)を行う際に、対称行列をコレスキー分解して上三角
行列と下三角行列の積の形式とし、前進代入または後退
代入により連立一次方程式の解を順番に求めていく方法
が採られる場合がある。
【0003】このような行列演算は、例えば、図12に
示すように、複数のプロセッサ(DSP1002,10
04)を具備するマルチプロセッサシステム1000を
用いて実行される。複数のプロセッサを用いる行列演算
については、例えば、特開2000−339296号公
報に記載されている。
【0004】
【発明が解決しようとする課題】複数のプロセッサを用
いて行列演算を行う方法では、プロセッサ間の情報の伝
達を行う必要があるため処理が遅延し、また、基本的に
ソフトウエアによる演算であるため、高速化に限界があ
る。
【0005】また、装置が大型化しがちであり、小型,
軽量化あるいは低消費電力化が厳しく求められる携帯電
話のような移動機に搭載するのは困難である。
【0006】本発明は、行列演算装置の処理能力の格段
の向上および装置の小型化,低消費電力化を実現するこ
とを目的とする。
【0007】
【課題を解決するための手段】本発明の行列演算装置
は、連立一次方程式の解を前進代入または後退代入によ
って順番に求めていく、ハードウエアで構成された巡回
型の演算処理回路であり、一次方程式の解を求めるため
に必要な乗算,除算,加算,減算を行うための回路要素
(実質的にそれらの演算を行う部分)を演算の手順(演
算の流れ)に沿うように配置して、無理のないデータの
流れを作りながら、パイプライン的に処理を行う。ハー
ドウエアによる処理であるため、LSI化されたハード
ウエアの最大の処理能力でもって演算処理を実行でき、
これにより、例えば、従来の10倍の高速化が達成され
る。
【0008】また、本発明の行列演算装置では、乗算器
を時分割で使用することで、乗算器の数を、無理なく効
果的に削減して装置の小型化や低消費電力化を促進す
る。
【0009】つまり、n個の連立一次方程式を、例え
ば、前進代入により順番に解く場合、n番目の一次方程
式を解くためには、それ以前に求めた1番目〜(n−
1)番目の一次方程式の解を用いた演算(例えば、積和
演算)を行う必要があり、よって、直前の(n−1)番
目の一次方程式の解が定まらなければ、n番目の一次方
程式の解を求めることはできない。
【0010】このことを厳密に考えると、直前の一次方
程式の解を求めている最中には、その直前の一次方程式
の解を含む項に関する処理は行うことはできない、とい
うことになるが、一方で、過去に求まっている1番目〜
(n−2)番目の一次方程式の解を含む項についての処
理は、実行可能である、ということである。
【0011】この点に着目し、本発明の行列演算装置で
は、演算項を、直前の一次方程式の解を含む項をもつグ
ループと、含まない項のみのグループとに大別する。そ
して、直前の一次方程式の解を求めている最中に、次の
一次方程式を解くための演算項のうち、直前の一次方程
式の解を含まない項のみのグループの演算式を先行的に
実施し、結果を一時的に保持しておく。
【0012】そして、直前の一次方程式の解が求まった
段階で、その解を含む項について演算をして、その結果
を、先行実施された演算の結果と合算し、n番目の一次
方程式を解くために必要な、1番目から(n−1)番目
までの一次方程式の解のすべてを含む項に関する演算を
完結させる。
【0013】乗算器を時分割使用せず、多数の乗算器を
用意したとしても、直前の一次方程式の解が求まるまで
は、結局、次の一次方程式の解の処理は待たされるので
あるから、処理時間は、時分割使用のときとほとんど同
じである。つまり、本発明によれば、高速な処理を行い
つつ、回路の小型化,低消費電力化を無理なく実現でき
る。
【0014】本発明の行列演算装置は、下三角行列を含
む連立一次方程式の解を求める際の前進代入演算に適用
することができる。また、上三角行列を含む連立一次方
程式の解を求める際の後退代入演算に適用することがで
きる。また、対称行列を含む連立一次方程式の解を求め
る際に、対称行列をコレスキー分解あるいは変形コレス
キー分解によって変形された連立一次方程式の演算に適
用することができる。また、コレスキー分解を利用した
逆行列演算を行うことができる行列演算器に適用するこ
とができる。
【0015】本発明の行列演算装置は、ジョイントディ
テクション復調機能を有している受信装置、最小2乗誤
差法に基づくAAA(アダプティブアレイ)が実装され
ている受信装置、あるいはトランスバーサルフィルタ等
を具備する適応等化器が実装されている受信装置に搭載
することができる。
【0016】本発明の行列演算装置は、小型,低消費電
力で、かつ超高速処理が可能であるため、携帯電話等の
移動局装置や無線基地局装置における演算処理装置とし
て、十分な能力を発揮し得るものである。
【0017】
【発明の実施の形態】まず、コレスキー分解(LU分解
(三角分解))を利用した連立一次方程式の解法につい
て説明する。ここでは、以下の(1)式で示されるよう
な大規模な連立一次方程式の解を求める場合について説
明する。 Fd=r……(1) ここで、Fは、n行×n列の既知行列であり、rは、n
行×1列の既知行列であり、dが求める行列(n行×1
列)である。
【0018】LU分解法によると、既知である対称行列
Fは、下三角行列Lとその転置行列LTによって、下記
(2)式のように表わすことができる。 F=LLT……(2) LLTd=r………(3) 式(3)をdについて解くのであるが、この処理は、2
段階の計算に大別される。以下、第1段階の処理と第2
段階の処理について説明する。
【0019】(第1段階)LTd=zとおくと、(3)
式は(4)式のように変形される。 Lz=r………(4) (4)式から行列zを求める。行列Lは下三角行列であ
るので、行列zを求める計算式は、以下の(5)式のよ
うに表わすことができる。
【0020】
【数1】 ただし、i=2,3…Nである。
【0021】行列zは、以下のようにして求める。ま
ず、1行目の要素z1を算出する。次に、算出したz1
用いて(5)式にしたがって、2行目の要素z2を算出
する。以下、同様にして、z1〜zi-1の算出結果を用い
て、ziを算出する。このように、行列zの第1番目の
要素から第N番目の要素の順序に従って算出する演算
は、前進代入と呼ばれる。
【0022】(第2段階)第1段階で算出した行列zを
用いて、第1段階で置換した式LTd=zから解dを求
める。ここで、行列LTは、下三角行列Lの転置行列で
あるため上三角行列である。
【0023】従って、連立一次方程式の解dを求めるた
めの計算式は、以下の(6)式となる。
【0024】
【数2】 ただし、i=N−1,N−2……1である。行列dは、
第N番目の要素から逆順に第1番目の要素までを算出す
るため、後退代入の演算と呼ばれる。
【0025】本発明の行列演算装置は、このような前進
代入,後退代入による連立一次方程式の解を求める演算
に広く利用することができる。
【0026】以下、本発明の実施の形態について、図面
を参照して説明する。
【0027】(実施の形態1)三角分解されたn行×n
列の行列に関する連立一次方程式の解を求める回路構成
について説明する。
【0028】n行×n列の下三角行列をL,n行×1列
の既知行列をrとすると、前記連立一次方程式は、式
(7)で表される。 Lz=r………(7) ここでZは、連立一次方程式の解であるn行×1列の行
列である。連立一次方程式は、行列Lが下三角行列なの
で次式により、Z1からZNまで順次求めることができ
る。この演算の内容の一部が、図1に示される。
【0029】図1の処理Aは、下三角行列を含む行列演
算の内容を示しており、処理Bは、1番目〜4番目まで
の連立一次方程式を示しており、処理Cは、1番目〜4
番目までの連立一次方程式の解を求めるための具体的な
演算内容を示している。各一次方程式の解を求めるため
の一般式は、前記(5)式で表わされる。
【0030】図1の処理Aに示されるように、下三角行
列は、右上半分がすべて“0”であり、左下半分に行列
要素が配置された行列である。ここで、右上半分の
“0”の部分と接する境界線上に位置する行列要素を
「対角要素」といい(図1においては、丸で囲んで示さ
れている)、それ以外の行列要素を「一般要素」という
(図1では、三角で囲んで示されている)。対角要素お
よび一般要素の定義は、上三角行列についても同様であ
る。
【0031】図1の処理Cに示される、4番目の一次方
程式の解Z4を求める演算内容からも明らかなように、
解を求める演算は、過去に算出した各一次方程式の解
と、対応する下三角行列の一般要素との積の総和をとる
処理と、その総和を、既知の行列rの対応する要素か
ら減算する処理と、その結果を、対応する下三角行列
の対角要素で除算する処理とからなっている。
【0032】図2は、このような行列演算を高速に実行
する行列演算装置の具体的な構成を示す図である。ま
た、図3は、図2の行列演算装置の特徴的な動作を説明
するためのタイミング図である。
【0033】図2の行列演算装置は、連立一次方程式の
解を前進代入または後退代入によって順番に求めてい
く、ハードウエアで構成された巡回型の演算処理回路で
あり、一次方程式の解を求めるために必要な乗算,除
算,加算,減算を行うための回路要素を演算の手順(演
算の流れ)に沿うように配置して、無理のないデータの
流れを作りながら、パイプライン的に処理を行う。
【0034】図2の行列演算装置の構成は、大きく2つ
の部分に分けることができる。すなわち、n番目(nは
2以上の自然数)の一次方程式の解を求めるために必要
な、直前の一次方程式の解を含む過去に求められたすべ
ての解についての所定の積和演算を行うハードウエア構
成の積和演算部(101,102,103,105,1
06,107,108,109,110)と、この積和
演算部から出力される値について、所定の線形演算を行
って前記n番目の一次方程式の解を求めるハードウエア
構成の線形演算部(111,112,113,114)
とに分けることができる。
【0035】そして、この行列演算装置は、線形演算部
にて(n−1)番目の一次方程式の解を求める演算がな
されている期間において、積和演算部にて、n番目の一
次方程式の解を求めるために必要な積和演算項のうち
の、(n−1)番目の一次方程式の解を含まない部分的
な項についての積和演算を先行的に実施し、(n−1)
番目の一次方程式の解が求まった時点で、(n−1)番
目の一次方程式の解を含む部分的な項についての積和演
算を実行し、乗算部107の乗算器を時分割で使用す
る。
【0036】以下、具体的な構成について説明する。図
2の行列演算装置において、レジスタ101は、直前の
一次方程式の解を蓄積するためのレジスタである。シフ
トレジスタ102は、過去に求められた一次方程式の解
を順次、蓄積するシフトレジスタである。
【0037】レジスタ101とシフトレジスタ2とを分
離しているのは、直前の一次方程式の解がレジスタ10
1にラッチ(セット)されるタイミングと、レジスタ1
01のデータおよびシフトレジスタの各タップのデータ
を1段シフトするタイミングとがずれていることを考慮
したからである。
【0038】直前の一次方程式の解がレジスタ101に
ラッチ(セット)されるタイミングは、図3にも示され
るように、レジスタラッチクロック(RC)により決定
される。
【0039】また、レジスタ101のデータおよびシフ
トレジスタの各タップのデータを1段シフトするタイミ
ングは、シフトクロック(SCL)によって制御され
る。なお、レジスタラッチクロック(RC)およびシフ
トクロック(SCL)は、オアゲート(OR)を介して
レジスタ101に供給されるようになっている。
【0040】ここで、注目すべきことは、シフトレジス
タ102が、途中で折り返された形状を有することであ
り、その結果として、シフトレジスタ102の前半部お
よび後半部における対応する位置にある遅延要素(記憶
要素)の出力同士が一組となり、各組の信号がそれぞ
れ、スイッチ部105に用意されているスイッチSW1
〜SW(N/2)の各々に入力されることである。
【0041】このような構成を採るのは、乗算部107
に含まれる乗算器(MUL(1)〜MUL(n/2)を
時分割で使用することによって、その個数を減らすため
である。つまり、直前の一次方程式の解が、未だレジス
タ101にセットされていない期間において、レジスタ
101のデータおよびシフトレジスタの各タップのデー
タを1段シフトしてしまい、スイッチSW1〜SW(n
/2)をb端子側に切り換えて、シフトレジスタ102
の後半の遅延要素(記憶要素)から、すでに求まってい
る解のみを取り出し、先行的に演算を進めるものであ
る。この点については、後に具体的に説明する。
【0042】第1のメモリ部103(メモリ(1)〜メ
モリ(n−1)をもつ)には、下三角行列の一般要素の
値が記憶されている。この下三角行列の一般要素の値
は、スイッチ部106に設けられている、複数のスイッ
チ(PW1〜PW(n/2)を介して、乗算部107に
設けられている乗算器(MUL(1)〜MUL(n/
2))に入力され、すでに求まっている、一次方程式の
解と下三角行列の一般要素との乗算がなされる。
【0043】そして、加算器108で各乗算器からの出
力値を加算し、その結果を、加算器110を介してレジ
スタ109に送って、ここに一時的に蓄積しておく。そ
して、直前の一次方程式の解がレジスタ101にラッチ
された後に、スイッチ部105の各スイッチをa端子側
に切り換えて同様の積和演算を実行する。この積和演算
結果は、加算器110において、レジスタ109に蓄積
されていた先行処理の結果と合算される。
【0044】第2のメモリ111には、既知の行列rの
行列要素が記憶されている。減算器112では、既知行
列rの要素から積和演算結果を減じる演算がなされる。
この結果について、さらに、除算器114にて、下三角
行列の対角要素の値で割り算が行われる。第3のメモリ
113には、下三角行列の対角要素の値が記憶されてい
る。
【0045】割り算の結果として求められた一次方程式
の解は,第4のメモリ(解の蓄積のためのメモリ)11
5に蓄積されると共に、レジスタ101にセットされ、
以下、同様の処理を繰り返し行う。
【0046】図3は、図2の行列演算装置の、積和演算
(各乗算器の出力の総和をとる演算)を行う部分の動作
を説明するためのタイミング図である。
【0047】ここでは、便宜上、8個の一次連立方程式
を解く場合を想定する。時刻t0〜t3が、1番目の方
程式の解Z1を求める期間であり、以下、時刻t2〜t
5,時刻t4〜t7,時刻t6〜t9,時刻t8〜t1
1,時刻t10〜t13,時刻t12〜時刻t15,時
刻t14〜時刻t17は、それぞれ、解z2,z3
4,z5,z6,z7,z8を求める期間である。
【0048】スイッチ部105の各スイッチSW1〜S
W(n/2)は、a端子側、b端子側に交互に周期的に
切り換えられる。
【0049】あるziを求めるときには、b端子側にス
イッチが切り換えられてから演算がスタートする。な
お、この切り換えは、スイッチ部106についても同様
である。a端子側に切り換えられたときには、シフトレ
ジスタ102の前半の遅延要素(記憶要素)およびレジ
スタ101からのデータの取り出しが行われ、b端子側
に切り換えられたときには、シフトレジスタ102の後
半の遅延要素からのデータの取り出しが行われる。
【0050】シフトクロック(SCL)とレジスタラッ
チクロック(RC)の位相はずれており、シフトクロッ
ク(SCL)の方が位相が先行している。これは、直前
の一次方程式の解が求まる前に、データのシフトを行
い、シフトレジスタの状態を更新することを意味する。
【0051】図4は、8番目の方程式の解z8を求める
際の動作を模式的に示している。図示されるように、z
8を求めるためには、方程式の解を含む8つの項の加算
を行う必要があるが、直前の方程式の解であるz7が算
出されない限り、演算を実行することができない。
【0052】そこで、図4の上側に示すように、積和演
算の対象となる項を、直前の方程式の解を含まないグル
ープAと、直前の方程式の解を含むグループBとに大別
する。そして、直前の方程式の解z7を求めるための、
加算器110による加算演算が終了した後(すなわち、
積和演算部における演算が終了した後であって、減算器
112による演算や除算器114による割り算が行われ
ている期間)に、シフトレジスタの内容を更新して、シ
フトレジスタの後半部から、過去に求めたz1〜z3の解
を取り出して、グループAの積和演算を先行的に実施し
てしまう。
【0053】図3の下側に、各期間で実行される演算の
内容が記載されている。最初のうちは、シフトレジスタ
の後半部のデータは“0”のままであるので、スイッチ
をb側に切り換えて後半部からデータを取り出して積和
演算を行っても、その結果は“0”のままである。
【0054】しかし、演算が進行していくと、過去に求
めた一次方程式の解が、シフトレジスタの後半部にシフ
トされてきて、やがて、スイッチをb側に切り換えてい
る期間(つまり、シフトレジスタの後半部からの出力を
選択している期間)において、次の一次方程式を解くた
めに必要な積和演算の一部が先行的に実施されるように
なり、共通の乗算器を時分割で使用した、非常に効率的
な処理がなされるようになる。
【0055】以上が、図2の演算装置の特徴部分の概略
である。以下、図2の行列演算装置について、さらに詳
しく説明する。
【0056】なお、以下の説明では、レジスタ101を
第1のレジスタと呼び、レジスタ104を第2のレジス
タと呼び、また、レジスタ109を第3のレジスタと呼
ぶ。さらに、加算器108を第1の加算器と呼び、加算
器110を第2の加算器と呼ぶ。また、スイッチ105
を第1のスイッチと呼び、スイッチ107を第2のスイ
ッチと呼ぶことにする。
【0057】図2の行列演算装置は、現時点において求
まった演算結果(zI)を格納する第1のレジスタ10
1と、現時点までに求まっている演算結果(z1
i-1)を格納する、(N−2)段のシフトレジスタ1
02と、既知の下三角行列(L)の対角要素を除く全て
の一般要素が格納される第1のメモリ103と、常時0
が格納されている第2のレジスタ104と、前記第1の
レジスタ101とシフトレジスタ102の前半(N/2
−1)個を併せて前半部としシフトレジスタの後半(N
/2−1)個を後半部としてこれら前半部あるいは後半
部のいずれかの読み出しを制御する第1のスイッチ部1
05と、第1のメモリ103の前半(N/2)個のメモ
リを前半部とし第1のメモリ103の後半(N/2−
1)個のメモリおよび前記第2のレジスタ104を後半
部としてこれら前半部あるいは後半部のいずれかの読み
出しを制御する第2のスイッチ106と、前記第1のス
イッチ105の出力値と前記第2のスイッチ106の出
力値との乗算を行うためのN/2個の乗算器107と、
N/2個の乗算器107から出力される全演算結果を加
算する第1の加算器108と、第1の加算器108の演
算結果が前記後半部を読み出して得られた場合に前記第
1の加算器108の結果を蓄えておくための第3のレジ
スタ109と、第1の加算器108の結果が前記前半部
を読み出して得られた場合に第1の加算器108の演算
結果と前記第3のレジスタ109に蓄えている値とを加
算するための第2の加算器110と、N行×1列の既知
行列の要素を格納する第2のメモリ111と、第2のメ
モリ111から読み出される値から前記第2の加算器1
10の演算結果を減算するための減算器112と、既知
の下三角行列の対角要素を格納するための第3のメモリ
113と、減算器112からの出力値を第3のメモリ1
13から読み出される値で除算するための除算器114
と、除算器114が出力する演算結果を格納するための
第4のメモリ115と、から構成される。以上より、第
4のメモリには、z1からzNまで順次格納されていく。
【0058】次に、図2の回路動作を説明する。
【0059】演算開始時には、第1のメモリ103には
既知の下三角行列Lの一般要素が格納され、第2のメモ
リ111にはN行×1列の既知行列rの全要素が格納さ
れ、第3のメモリ113には下三角行列Lの対角要素
(L11,L22,…,LNN)が格納され、第2のレジスタ
104および第3のレジスタ109には0がセットされ
る。
【0060】第1のメモリ103はN−1個のメモリか
ら構成されており、それぞれのメモリには下三角行列L
の一般要素が規則的に格納される。
【0061】メモリ(1)には(0,L21,L32
43,…,LN,N-1)が、メモリ(2)には(0,0,
31,L42,L53,…,LN,N-2)が、…メモリ(N−
2)には(0,0,…,0,LN-11,LN,2)が、メ
モリ(N−1)には(0,0,…,0,LN,1)が格納
される。各メモリは全てN個のアドレスを持っている。
これらはシフトレジスタ102がシフトするタイミン
グに従ってメモリアドレスがインクリメントされて順次
読み出されるという動作をする。
【0062】演算開始時(z1算出時)において、第1
のレジスタ101およびシフトレジスタ部102には、
初期値である0が格納されている状態である。
【0063】まず、シフトレジスタ102の後半部から
値を読み出すように第1のスイッチ部105が制御し、
第1のメモリ103の後半部から値を読み出すように第
2のスイッチ106が制御する。
【0064】この時、シフトレジスタ102にはすべて
0が格納されているのでN/2個の乗算器107の演算
結果はすべて0となる。従って、第1の加算器108の
結果も0となり第3のレジスタ109には0が格納され
る。
【0065】次に第1のスイッチ105を切り替えて第
1のレジスタ101およびシフトレジスタ102の前半
部から値を読み出すように制御し乗算器107に入力す
る。また、同時に、第1のメモリ103の前半部および
第2のレジスタ104を読み出すように制御し乗算器1
07に入力する。前半部の乗算の結果も全て0になるた
め、第1の加算器108の演算結果も0となる。第1の
加算器108の演算結果(前半部の乗算結果の総和)と
第3のレジスタ109に蓄えていた値(後半部の乗算結
果の総和)を第2の加算器110に入力する。
【0066】第2の加算器110の出力も0となる。第
2の加算器の演算が終わると第2のメモリ111から既
知行列rの第1要素r1を読み出して減算器112にお
いてr1から第2の加算器110の演算結果を減算す
る。
【0067】また、第3のレジスタ109を初期化して
おく。第2の加算器110の演算結果が0であることか
ら減算器112の出力はr1−0=r1である。減算器1
12の演算が終わると第3のメモリ113から下三角行
列の対角要素L11を読み出し、除算器114において減
算器112の出力値をL11で除算する。
【0068】除算器114の出力はr1/L11であるこ
とから解z1がこの時点で求まる。得られた解z1は第4
のメモリ115に格納されると同時に第1のレジスタ1
01に格納される。
【0069】次に解z2を求める動作について説明す
る。解z1の演算過程において、第2の加算器110の
演算が終了した時点で、第1のレジスタ101の値をシ
フトレジスタ102に入力して1段シフトを行う。
【0070】また、(N−1)個の第1のメモリ103
の読み出しアドレスをインクリメントする。ここで、第
1のスイッチ105を切り替えてシフトレジスタ102
の後半部から値を読み出すように制御する。同時に第2
のスイッチ106を切り替えて第1のメモリ103の後
半部から値を読み出すように制御する。
【0071】シフトレジスタ102の後半部および第1
のメモリの後半部が乗算器107に入力されて乗算が行
われる。この時点においてもシフトレジスタ102の値
が全て0なので乗算結果は全て0になる。
【0072】乗算結果が第1の加算器108に入力され
て加算される。加算器の結果も0である。加算結果が第
3のレジスタ109に格納される。この時点において解
1が求まっていなければ、第1のスイッチ105およ
び第2のスイッチ106を切り替えず、解z2を求める
ための演算は待機状態に入る。
【0073】解z1が求まり第1のレジスタ101に格
納されると第1のスイッチ105を切り替えて第1のレ
ジスタ101およびシフトレジスタ102の前半部から
値を読み出すように制御し乗算器107に入力する。
【0074】また、同時に、第1のメモリ103の前半
部および第2のレジスタ104を読み出すように制御し
乗算器107に入力する。乗算器107では第1のスイ
ッチ105の出力と第2のスイッチ106の出力との乗
算を行う。
【0075】第1のレジスタ101には解z1が格納さ
れており、また、第1のメモリ103の読み出しアドレ
スがインクリメントされているのでメモリ(1)からは
21が読み出される。従って、乗算器(MUL(1))
の演算結果はz1・L21となる。シフトレジスタ102
には全て0が格納されているので乗算器MUL(1)以
外の演算結果は0である。
【0076】従って、第1の加算器108の演算結果は
1・L21となる。第2の加算器110で第3のレジス
タ109に蓄えられていた値と第1の加算器108の演
算結果の加算を行う。第3のレジスタ109には0が入
っていたので第2の加算器110の出力はz1・L21
なる。
【0077】第2の加算器110の演算が終わると第2
のメモリ111の読み出しアドレスをインクリメントし
て値r2を読み出して減算器112に入力される。減算
器112では第2のメモリ111から読み出したr2
ら第2の加算器110の出力値z1・L21を減算する。
【0078】従って、減算器112の演算結果は(r2
−z1・L21)となる。減算器112の演算が終わると
第3のメモリ113の読み出しアドレスをインクリメン
トして下三角行列Lの対角要素L22を読み出して除算器
114に入力する。除算器114では、減算器112の
演算結果である(r2−z1・L21)を第3のメモリ11
3から読み出したL22で除算する。
【0079】除算器114の演算結果は、(r2−z1
21)/L22となる。前述の(5)式より、z2=(r2
−z1・L21)/L22である。つまり、除算器114の
出力はz2であり、第4のメモリ115および第1のレ
ジスタ101に入力される。以降z3,…,zNも同様に
して求めることができる。
【0080】以上説明した、本実施の形態の演算装置の
効果について述べる。
【0081】第1のレジスタ101と(N−2)段のシ
フトレジスタ102から値を読み出して乗算を行うので
各段につき1個の乗算器があれば並列処理ができ処理時
間が短縮できるが、同時に並列処理を行う場合、第1の
レジスタ101に直前の解が格納されるまで待機しなけ
ればならない。
【0082】そこで、本発明の行列演算装置では既に求
まっている解が格納されているシフトレジスタ102の
後半部を先に演算を行い、直前の解が求まった時点で前
半部の演算を行うというように、乗算器の個数を半分に
削減し、時分割処理を行っている。
【0083】以上から、本発明の行列演算装置を用いれ
ば、高速かつ小規模な回路構成で前進代入演算処理を行
うことができる。
【0084】(実施の形態2)上述の実施の形態では、
下三角行列を用いた演算について説明したが、本実施の
形態では、上三角行列を用いた演算を行う場合について
説明する。
【0085】N行×N列の上三角行列をL,n行×1列
の既知行列をzとすると、前記連立一次方程式は、
(8)式で表わされる。 Ld=z………(8) 解であるdはn行×1列の行列である。上三角行列は、
例えば、図5に示すように、左下半分がオール0で、右
上半分に行列要素が配置されている行列である。
【0086】連立一次方程式は、行列Lが上三角行列な
ので、dNからd1まで逆順に求めることができる。この
場合の演算式は、前記式(6)で示される。
【0087】このような演算を、図2の行列演算装置に
て実行する。
【0088】図2の行列演算装置は、上述のとおり、現
時点において求まった演算結果(d I)を格納する第1
のレジスタ101と、現時点までに求まっている演算結
果(dN〜di+1)を格納する(N−2)段のシフトレジ
スタ102と、既知の上三角行列(L) の対角要素を
除く全ての一般要素が格納される第1のメモリ103
と、常時0が格納されている第2のレジスタ104と、
第1のレジスタ101とシフトレジスタ102の前半
(N/2−1)個を併せて前半部としシフトレジスタの
後半(N/2−1)個を後半部としてこれら前半部ある
いは後半部のいずれかの読み出しを制御する第1のスイ
ッチ105と、第1のメモリ103の前半(N/2)個
のメモリを前半部とし、第1のメモリ103の後半(N
/2−1)個のメモリおよび第2のレジスタ104を後
半部としてこれら前半部あるいは後半部のいずれかの読
み出しを制御する第2のスイッチ106と、第1のスイ
ッチ105の出力値と第2のスイッチ106の出力値と
の乗算を行うためのN/2個の乗算器107と、N/2
個の乗算器107から出力される全演算結果を加算する
第1の加算器108と、第1の加算器108の演算結果
が後半部を読み出して得られた場合に第1の加算器10
8の結果を蓄えておくための第3のレジスタ109と、
第1の加算器108の結果が前半部を読み出して得られ
た場合に第1の加算器108の演算結果と前記第3のレ
ジスタ109に蓄えている値とを加算するための第2の
加算器110と、N行×1列の既知行列の要素を格納す
る第2のメモリ111と、第2のメモリ111から読み
出される値から第2の加算器110の演算結果を減算す
るための減算器112と、既知の上三角行列の対角要素
を格納するための第3のメモリ113と、減算器112
からの出力値を前記第3のメモリ113から読み出され
る値で除算するための除算器114と、除算器114が
出力する演算結果を格納するための第4のメモリ115
と、から構成される。以上より、第4のメモリには、d
Nからd1まで順次格納されていく。
【0089】次に、回路動作を説明する。
【0090】演算開始時には、第1のメモリ103には
既知の上三角行列Lの一般要素が格納され、第2のメモ
リ111にはn行×1列の既知行列z(z1,z2,…z
N)の全要素が格納され、第3のメモリ113には上三
角行列Lの対角要素(L11,L22,…,LNN)が格納さ
れ、第2のレジスタ104および第3のレジスタ109
には0がセットされる。第1のメモリ103はN−1個
のメモリから構成されており、それぞれのメモリには上
三角行列Lの一般要素が規則的に格納される。第1のメ
モリ103におけるメモリ(1)には(L12,L23,L
34,…,LN-1, N,0)が、メモリ(2)には(L13
24,L35,…,LN-2,N,0,0)が、…メモリ(N
−2)には(L1,N-1,L2,N,0,…,0)が、メモリ
(N−1)には(L1,N,0,…,0)が格納される。
各メモリは全てN個のアドレスを持っている。 これら
はシフトレジスタ102がシフトするタイミングに従っ
てメモリアドレスがデクリメントされて順次読み出され
るという動作をする。
【0091】演算開始時(dN算出時)において、第1
のレジスタ101およびシフトレジスタ102には初期
値である0が格納されている状態である。
【0092】まずシフトレジスタ102の後半部から値
を読み出すように第1のスイッチ105が制御し、第1
のメモリ103の後半部から値を読み出すように第2の
スイッチ106が制御する。この時、シフトレジスタ1
02にはすべて0が格納されているのでN/2個の乗算
器107の演算結果はすべて0となる。
【0093】従って第1の加算器108の結果も0とな
り第3のレジスタ109には0が格納される。
【0094】次に、第1のスイッチ105を切り替えて
第1のレジスタ101およびシフトレジスタ102の前
半部から値を読み出すように制御し乗算器107に入力
する。また同時に、第1のメモリ103の前半部および
第2のレジスタ104を読み出すように制御し乗算器1
07に入力する。
【0095】前半部の乗算の結果も全て0になるため、
第1の加算器108の演算結果も0となる。第1の加算
器108の演算結果(前半部の乗算結果の総和)と第3
のレジスタ109に蓄えていた値(後半部の乗算結果の
総和)を第2の加算器110に入力する。第2の加算器
110の出力も0となる。第2の加算器の演算が終わる
と第2のメモリ111から既知行列zの第N要素zN
読み出して減算器112においてzNから第2の加算器
110の演算結果を減算する。また、第3のレジスタ1
09を初期化しておく。
【0096】第2の加算器110の演算結果が0である
ことから減算器112の出力はzN−0=zNである。減
算器112の演算が終わると第3のメモリ113から上
三角行列の対角要素LNNを読み出し、除算器114にお
いて減算器112の出力値をLNNで除算する。除算器1
14の出力はzN/LNNであることから解dNがこの時点
で求まる。得られた解dNは第4のメモリ115に格納
されると同時に第1のレジスタ101に格納される。
【0097】次に解dN-1を求める動作について説明す
る。解dNの演算過程において、第2の加算器110の
演算が終了した時点で、第1のレジスタ101の値をシ
フトレジスタ102に入力して1段シフトを行う。
【0098】また、(N−1)個の第1のメモリ103
の読み出しアドレスをデクリメントする。ここで、第1
のスイッチ105を切り替えてシフトレジスタ102の
後半部から値を読み出すように制御する。
【0099】同時に第2のスイッチ106を切り替えて
第1のメモリ103の後半部から値を読み出すように制
御する。シフトレジスタ102の後半部および第1のメ
モリの後半部が乗算器107に入力されて乗算が行われ
る。この時点においてもシフトレジスタ102の値が全
て0なので乗算結果は全て0になる。乗算結果が第1の
加算器108に入力されて加算される。加算器の結果も
0である。加算結果が第3のレジスタ109に格納され
る。この時点において解dNが求まっていなければ、第
1のスイッチ105および第2のスイッチ106を切り
替えず、解dN- 1を求めるための演算は待機状態に入
る。解dNが求まり第1のレジスタ101に格納される
と第1のスイッチ105を切り替えて第1のレジスタ1
01およびシフトレジスタ102の前半部から値を読み
出すように制御し乗算器107に入力する。また同時
に、第1のメモリ103の前半部および第2のレジスタ
104を読み出すように制御し乗算器107に入力す
る。乗算器107では第1のスイッチ105の出力と第
2のスイッチ106の出力との乗算を行う。第1のレジ
スタ101には解dNが格納されており、また、第1の
メモリ103の読み出しアドレスがデクリメントされて
いるのでメモリ(1)からはLN-1,Nが読み出される。
従って、乗算部107の乗算器(MUL1)の演算結果
はdN・LN-1,Nとなる。シフトレジスタ102には全て
0が格納されているので乗算器(MUL1)以外の演算
結果は0である。従って、第1の加算器108の演算結
果はdN・LN-1 ,Nとなる。第2の加算器110で第3の
レジスタ109に蓄えられていた値と第1の加算器10
8の演算結果の加算を行う。第3のレジスタ109には
0が入っていたので第2の加算器110の出力はdN
N-1,Nとなる。
【0100】第2の加算器110の演算が終わると第2
のメモリ111の読み出しアドレスをデクリメントして
値zN-1を読み出して減算器112に入力される。減算
器112では第2のメモリ111から読み出したzN-1
から第2の加算器110の出力値dN・LN-1,Nを減算す
る。従って、減算器112の演算結果は(zN-1−dN
N-1,N)となる。減算器112の演算が終わると第3
のメモリ113の読み出しアドレスをデクリメントして
上三角行列Lの対角要素LN-1,N-1を読み出して除算器
114に入力する。
【0101】除算器114では、減算器112の演算結
果である(zN-1−dN・LN-1,N)を第3のメモリ11
3から読み出したLN-1,N-1で除算する。除算器114
の演算結果は、(zN-1−dN・LN-1,N)/LN-1,N-1
なる。(6)式より、dN-1=(zN-1−dN・LN-1,N
/LN-1,N-1である。つまり、除算器114の出力はd
N-1であり、第4のメモリ115および第1のレジスタ
101に入力される。以降dN-2,…,d1も同様にして
求めることができる。
【0102】本実施の形態の効果について述べる。
【0103】第1のレジスタ101と(N−2)段のシ
フトレジスタ102から値を読み出して乗算を行うので
各段につき1個の乗算器があれば並列処理ができ処理時
間が短縮できるが、同時に並列処理を行う場合、第1の
レジスタ101に直前の解が格納されるまで待機しなけ
ればならない。
【0104】そこで、本発明の行列演算装置では既に求
まっている解が格納されているシフトレジスタ102の
後半部を先に演算を行い、直前の解が求まった時点で前
半部の演算を行うというように、乗算器の個数を半分に
削減し、時分割処理を行っている。
【0105】以上から、本発明の行列演算装置を用いれ
ば、高速かつ小規模な回路構成で後退代入演算処理を行
うことができる。
【0106】(実施の形態3)本発明の行列演算装置は、
無線通信で受信した信号の復調方法であるジョイントデ
ィテクション復調にも適用することができる。
【0107】ジョイントディテクション復調(以下、J
D復調という)は、W−CDMAのTDDモードの通信
に適した復調方法であり、拡散符号を乗算して自己相関
を検出して復調する方法と異なり、受信信号に重畳され
る複数のユーザーの信号のそれぞれについて相互相関を
検出し、自己の信号以外の成分を引き算することによ
り、各ユーザーの信号のみを取り出すという、干渉キャ
ンセルの原理を積極的に利用した復調方法であり、自己
相関のみでは除去できない干渉成分も正確に除去できる
ため、より精度の高い復調を行うことができる。また、
JD復調では、遅延波による相互相関も干渉除去するこ
とができる。
【0108】図7は、JD復調を行う信号の伝搬モデル
を示している。
【0109】d(1)〜d(k)はk人のユーザーがそ
れぞれ送信した信号を示しており、これが復調の対象と
なる。c(1)〜c(k)は拡散コードであり、h
(1)〜h(k)は推定された伝搬特性(遅延プロファ
イル:推定した回線のインパルス応答)である。
【0110】b(1)〜b(k)は、拡散コードと伝搬
特性の畳み込み演算によって求められるべクトルであ
る。これにノイズnが加わったものが受信信号eであ
り、これをJD復調部203で復調して、各ユーザーの
送信信号d(1)〜d(k)を区別して復調する。
【0111】図8は、図7の伝搬モデルを行列表示した
図である。
【0112】図8より、Ad+n=eという方程式から
行列dを算出するのが、JD復調である。両辺に、行列
Aの共役転置行列AHを左側から乗算すると、AHAd+
Hn=AHeと変形できる。ノイズnが無視できるくら
い小さい、あるいはAHn=σ2Id(Iはn行n列の単
位行列)で表わされるなら、方程式は、Fd=rという
形で表わされる。
【0113】すなわち、AHn=σ2Id(IはN行N列
の単位行列)とすると、(AHA+σ2I)d=AHeと
変形できる。ここで、AHeはRAKE合成後のシンボ
ルデータを表わしており、rと表記する。また、AH
+σ2I=Fとおく。すると、Fd=rと表わすことが
できる。
【0114】ここで、行列Fは相互相関行列であり、ノ
イズnが無視できるぐらい十分に小さい場合、拡散コー
ドと、推定した回線のインパルス応答とを畳み込んだベ
クトルB1(=B2=Bn)を規則的に配置して生成し
た行列Aと、その共役転置行列AHとの乗算を行って生
成された行列であり、対称行列である。
【0115】このような方程式から、行列dを求めるた
めには、行列Fの逆行列を生成して乗算すればよいが、
実際には、逆行列の算出は容易ではない。そこで、本実
施の形態のJD復調部では、行列Fをコレスキー分解
し、連立一次方程式を解くことで行列dの要素を求め
る。
【0116】図6(a)は、JD復調部を含むCDMA
受信装置の構成を示すブロック図であり、(b)は、送
信データのフォーマットを示す図である。
【0117】アンテナ2で受信された信号は無線受信部
10で増幅され、回線推定部201および逆拡散部20
7に入力される。
【0118】回線推定部201では、受信信号に含まれ
る既知信号(ミッドアンブルコード)についてのインパ
ルス応答から、各ユーザーの信号の回線推定を行う。
【0119】ミッドアンブルコードは.図6(b)に示
すように、1つのスロットの中央部に挿入されている、
回線推定用の既知コードである。
【0120】回線推定部201は、ミッドアンブル相関
処理部20と、ミッドアンブルコード生成部24と、パ
ス選択部22とを有する。
【0121】無線受信部10を経た信号は逆拡散部20
7にて逆拡散される。回線推定部201で得られた回線
推定値は、RAKE合成部202およびJD復調部20
3に入力される。逆拡散後のシンボルデータについて、
回線推定値を基にした位相補償を行い、RAKE合成部
202にてRAKE合成を行い、RAKE合成結果rを
JD復調部203に入力する。
【0122】JD復調部203は、拡散コード発生部3
0から与えられる拡散コードと推定された回線のインパ
ルス応答から相互相関行列(F)を求める相互相関行列
(F)生成部204と、相互相関行列をコスレキー分解
あるいは変形コレスキー分解して、下三角行列および上
三角行列の積の形式とするコレスキー分解部205と、
下三角行列または上三角行列を含む形式で表わされる連
立一次方程式について、前進代入あるいは後退代入を用
いて解を算出する連立方程式演算部206とを有する。
連立方程式演算部206は、図2の行列演算装置を具備
する。
【0123】図9は、相互相関行列(F)生成部204
の機能を説明するための図である。図9の上側に示され
る、畳み込み演算処理X1では、拡散コードを蓄積して
いる部分900から出力される拡散コード(C1〜CQ
と、回線推定値を格納している部分902から出力され
る回線推定値のパラメータ(h1〜hw)を、加算器90
3(903a〜903c等)および加算器904を用い
て畳み込み、ベクトルb1〜bQ+W-1を求める。
【0124】そして、図9の下側に示される処理Y1に
おいて、ベクトルbを規則的に配置して、行列Aを生成
する。さらに、処理Y2において、行列Aと行列Aの共
役転置行列である行列AHの乗算を行い、行列F(=AH
A)を生成する。
【0125】ここで、JD復調の結果として得られる送
信信号の推定信号をdとすると、次の(9)式が成立す
る。 Fd=r……(9) この式を、連立方程式演算部206にて、dについて解
く。
【0126】ここで行列Fが対称行列であることからコ
レスキー分解(変形コレスキー分解を含む)ができ、行
列Fは下三角行列Lを用いて、F=LLHと分解でき
る。ただし、LHはLの共役転置行列である。コレスキ
ー分解部205でコレスキー分解(あるいは変形コレス
キー分解)を行う。
【0127】以上から、LLHd=rとなり、LHd=z
と置換することでLz=rでまず下三角行列に関する連
立方程式をz について解く。ここで行列zが既知にな
ることから、LHd=zの上三角行列に関する連立方程
式をdについて解くことができる。
【0128】これら、下三角行列に関する連立1次方程
式、上三角行列に関する連立1次方程式を、図2の本発
明の行列演算装置を用いて解くことで、非常に高速に解
を求めることができる。
【0129】(実施の形態4)本発明の行列演算装置
は、最小2乗誤差法(MMSE)に基づいたアダプティ
ブアレイが実装されている通信装置にも用いることがで
きる。
【0130】最小2乗誤差法(MMSE)に基づいたア
ダプティブアレイが実装されている通信装置を図10に
示す。
【0131】例としてアンテナが3本の場合について説
明する。
【0132】アンテナ301、アンテナ302、アンテ
ナ303から受信信号が入力される。受信信号の復調器
304で最適な復調を行えるようにウェイト生成部30
5で生成されるウェイトを各アンテナから受信された信
号に乗算して最適な重み付けを行う。
【0133】アンテナ301、アンテナ302、アンテ
ナ303から入力される受信信号の自己相関行列をR、
受信信号と既知信号との相互相関行列をPとするとウェ
イトwは(10)式から求めることができる。Rw=P
・・・(10)ここで、Rは対称行列であることか
らコレスキー分解することができる。従って、上三角行
列に関する連立一次方程式、下三角行列に関する連立一
次方程式を解くことになる。
【0134】そこで、本発明の行列演算装置を用いるこ
とにより、最適なウェイトを高速に求めることができ
る。
【0135】(実施の形態5)本発明の行列演算装置
は、適応等化器が実装されている通信装置にも用いるこ
とができる。適応等化器は伝送路の時間応答を精密に制
御を行って伝送路の振幅と遅延特性を平滑にするフィル
タである。適応等化器が実装されている通信装置を図1
1に示す。
【0136】受信信号がトランスバーサルフィルタ(F
IR)401およびウェイト算出部402に入力され
る。
【0137】ウェイト算出部402では、トランスバー
サルフィルタ401の最適なタップ係数を算出する。ト
ランスバーサルフィルタ401のタップ数をMとする。
最適なタップ係数は、以下のようにして算出する。最
適なタップ係数をM行×1列の行列wとし、受信信号の
自己相関行列をRとし(M行×M列の行列)、受信信号
と既知信号に対応する望みの応答との相互相関行列をP
(M行×1列の行列)とすると以下の(11)式が成り
立つ。 RW=p……(11) ここで、時点iにおける受信信号r(i)とすると、受
信信号の自己相関行列は以下のように与えられる。
【0138】
【数3】 また、望みの応答d(n)と受信信号との相互相関行列
Pは以下のように与えられる。
【0139】
【数4】
【0140】(11)式を、wについて解き、最適なタ
ップ係数を求めて最適フィルタを生成する。ここで、R
は対称行列なのでコレスキー分解、変形コレスキー分解
を行うことができる。それ以降の前進代入、後退代入演
算を本発明の行列演算器を用いることにより、小規模な
回路構成で高速に演算を行うことができる。
【0141】(実施の形態6)本発明の行列演算装置
は、アダプティブアレイが実装されている通信装置にお
いて、到来方向推定アルゴリズムの一種であるCapo
n法の演算にも有効である。
【0142】受信信号の相関行列を、Rxx,アレイの
応答ベクトルをa(θ)とすると、Capon法角度ス
ペクトラムPcp(θ)は、(12)式で求めることがで
きる。
【0143】
【数5】 ここで、受信信号の相関行列Rxxは対称行列であるので
コレスキー分解ができる。下三角行列をLとすると、R
xx=LLHと分解できる。従って、Rxx -1=(LLH-1
と変形できる。LLHの逆行列を求める際に(13)式
を用いて容易に求めることができる。LLHの逆行列を
x、単位行列をEとすると、(13)式で表わすことが
できる。 LLHx=E………(13) 数式11を x について解くのに本発明の行列演算器を
用いることにより、小規模な回路で高速に演算を行うこ
とができる。以上に示しているように本発明の行列演算
器は逆行列を高速に求めることができる。
【0144】
【発明の効果】以上説明したように本発明によれば、ハ
ードウエアで構成された巡回型の演算処理回路でもっ
て、超高速の行列演算を実行できる。これにより、例え
ば、従来の10倍の高速化が達成される。
【0145】また、本発明では、乗算器を時分割で使用
することで、乗算器の数を、無理なく効果的に削減して
装置の小型化や低消費電力化を促進することができる。
すなわち、直前の一次方程式の解がまだ演算中の時に、
次の一次方程式の解の演算の積和演算を開始させる。た
だし積和演算にはこの時点でまだ算出中である直前の要
素も含まれるため全ての積和演算を行うことができな
い。そこで前半部と後半部(直前の要素が含まれる方)
にわけ、乗算を一斉に行えるように乗算器を複数並べ
て、後半部から乗算を開始させる。直前の要素が求まっ
てから前半部の乗算を開始させる。直前の要素が求まっ
てから一斉に乗算して積和演算するのに比べて、例え
ば、半分の乗算器で済む。処理時間もほとんど変わらな
い。
【0146】このようにして、本発明によれば、高速な
行列演算を、小型かつ低消費電力のハードウエアでもっ
て効率的に実現できる。本発明の行列演算装置は、LS
I化に適しており、したがって、携帯電話等の移動体通
信機にも適用が可能である。
【図面の簡単な説明】
【図1】下三角行列を含む行列演算の処理内容を示す図
【図2】本発明の行列演算装置の一例の構成を示す回路
【図3】図2の行列演算装置の特徴的な動作を説明する
ためのタイミング図
【図4】図2の行列演算装置により、一次方程式の解を
求める際の処理内容の一例を説明するための図
【図5】上三角行列を含む行列演算の処理内容を示す図
【図6】(a)JD復調部を含むCDMA受信装置の構
成を示すブロック図 (b)送信データのフォーマットを示す図
【図7】マルチユーザーの送信信号の伝搬モデルを示す
【図8】図7の伝搬モデルを行列の形式で表わした図
【図9】相互相関行列(F)の生成について説明するた
めの図
【図10】本発明の行列演算装置を適用したアダプティ
ブアレイ装置の構成を示す図
【図11】本発明の行列演算装置を適用した適応等化器
の構成を示す図
【図12】従来のマルチプロセッサを利用した行列演算
方法を説明するための図
【符号の説明】
101,104,109 レジスタ 102 シフトレジスタ 103,111,113,115 メモリ 105,106 スイッチ部 108,110 加算器 112 減算器 114 除算器 206 行列演算装置
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B056 AA05 BB01 BB31 BB71 5J021 AA05 AA09 CA06 DB02 DB03 EA04 FA13 FA14 FA15 FA16 FA17 FA20 FA26 FA29 FA30 FA32 GA02 HA04 HA05 JA10 5K046 AA05 BA01 BA07 EE05 EE06 EE32 EE47 EF15 5K059 AA08 AA12 CC01 CC04 DD31

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 既知の下三角行列を“L”,既知の上三
    角行列を“U”としたとき、L(またはU)・X=Y
    (Xは求める行列,Yは既知行列)で表わされる連立一
    次方程式の解を、前進代入あるいは後退代入を用いて算
    出して、前記求める行列Xの全要素の値を得る行列演算
    装置であって、 n番目(nは2以上の自然数)の一次方程式の解を求め
    るために必要な、直前の一次方程式の解を含む過去に求
    められたすべての解についての所定の積和演算を行うハ
    ードウエア構成の積和演算部と、 積和演算部から出力される値について、所定の線形演算
    を行って前記n番目の一次方程式の解を求めるハードウ
    エア構成の線形演算部と、を具備し、 前記線形演算部にて(n−1)番目の一次方程式の解を
    求める演算がなされている期間において、前記積和演算
    部にて、n番目の一次方程式の解を求めるために必要な
    積和演算項のうちの、前記(n−1)番目の一次方程式
    の解を含まない部分的な項についての積和演算を先行的
    に実施することを特徴とする行列演算装置。
  2. 【請求項2】 請求項1において、 前記積和演算部を構成する乗算器を時分割で使用するこ
    とを特徴とする行列演算装置。
  3. 【請求項3】 既知の下三角行列を“L”,既知の上三
    角行列を“U”としたとき、L(またはU)・X=Y
    (Xは求める行列,Yは既知行列)で表わされる連立一
    次方程式の解を、前進代入あるいは後退代入を用いて算
    出して、前記求める行列Xの全要素の値を得る行列演算
    装置であって、 n番目(nは2以上の自然数)の一次方程式の解を求め
    るために必要な、直前の一次方程式の解を一時的に蓄積
    する第1のレジスタと、 前記n番目の一次方程式の解を求めるために必要な、前
    記直前の一次方程式よりも以前の一次方程式の各解を一
    時的に蓄積すると共に、途中で折り返されることによっ
    て前半部分と後半部分とに区別される構成をもつシフト
    レジスタと、 前記折り返されたシフトレジスタのうちの、対応する位
    置にある前半部分のタップおよび後半部分の各タップを
    一組とし、あるいは、前記レジスタと前記シフトレジス
    タの後半部分の対応する位置のタップとを一組とし、各
    組において、いずれを出力するかを切り換えるための、
    各組に対応して設けられている複数のスイッチと、 前記下三角行列Lあるいは上三角行列Uの一般要素を、
    前記複数のスイッチから出力される値の各々に乗算する
    ための係数として、所定の順番で発生する係数発生器
    と、 前記複数のスイッチの各々から出力される値と、前記係
    数発生器から発生する各スイッチに対応した係数とを乗
    算するための、複数の乗算器と、 前記複数の乗算器の各々から出力される値を加算する加
    算器と、 この加算器から出力される、前記n番目の一次方程式の
    解を求めるために必要な積和演算結果の一部をなす値を
    一時的に蓄積すると共に、前記加算器において次の加算
    処理が行われる際に、その蓄積している値を前記加算器
    に戻す第2のレジスタと、 前記加算器から出力される、前記n番目の一次方程式の
    解を求めるために必要な完全な積和演算結果を示す値に
    ついて、必要な線形演算を施して、前記n番目の一次方
    程式の解を算出する線形演算回路と、を具備し、 求められたn番目の一次方程式の解を前記第1のレジス
    タに戻すと共に、 前記n番目の一次方程式の解が前記第1のレジスタにセ
    ットされる以前において、前記第1のレジスタおよび前
    記シフトレジスタを1段分シフトさせ、かつ、前記加算
    器から前記n番目の一次方程式の解を求めるために必要
    な完全な積和演算結果を示す値が出力された後であって
    前記線形演算回路において演算が行われている期間にお
    いて、前記複数のスイッチを前記シフトレジスタの前記
    後半部分のタップの値が出力されるように切り換えて、
    次の(n+1)番目の一次方程式の解を求めるために必
    要な積和演算の一部を先行的に実行し、 以下、求められた解を第1のレジスタに戻して演算を続
    行し、前記求める行列Xのすべての要素を特定すること
    を特徴とする行列演算装置。
  4. 【請求項4】 請求項3において、 前記係数発生器は、下三角行列あるいは上三角行列の一
    般要素の値を係数として出力し、また、前記線形演算回
    路は、前記下三角行列あるいは上三角行列の対角要素を
    除数とする除算演算あるいは、この除算演算と等価な乗
    算演算を行う回路を含むことを特徴とする行列演算装
    置。
  5. 【請求項5】 拡散コードと、推定した回線のインパル
    ス応答とを畳み込んだものを規則的に配置した行列と、
    前記行列の共役転置行列とを乗算して相互相関行列を生
    成する相互相関行列生成部と、 前記相互相関行列をコスレキー分解あるいは変形コレス
    キー分解して、下三角行列および上三角行列の積の形式
    とするコレスキー分解部と、 前記下三角行列または前記上三角行列を含んだ形式で表
    わされる連立一次方程式について、前進代入あるいは後
    退代入を用いて解を算出する演算を、請求項1〜請求項
    4のいずれかに記載の行列演算装置を用いて行う連立方
    程式演算部と、 を有することを特徴とするジョイントディテクション復
    調装置。
  6. 【請求項6】 アダプティブアレイにおける各アンテナ
    の受信信号に乗算するためのウェイトを、請求項1〜請
    求項4のいずれかに記載の行列演算装置を用いて求める
    ことを特徴とするアダプティブアレイ装置。
  7. 【請求項7】 トラスバーサルフィルタを具備する適応
    等化器における、前記トランスバーサルフィルタのタッ
    プ係数を、請求項1〜請求項4のいずれかに記載の行列
    演算装置を用いて求めることを特徴とする適応等化器。
  8. 【請求項8】 コレスキー分解を利用した逆行列演算
    を、請求項1〜請求項4のいずれかに記載の行列演算装
    置を用いて行うことを特徴とする逆行列演算装置。
  9. 【請求項9】 請求項5記載のジョイントディテクショ
    ン復調装置,請求項6記載のアダプティブアレイ装置,
    請求項7記載の適応等化器または請求項8記載の逆行列
    演算装置のいずれかを搭載した無線通信装置。
JP2001314389A 2001-10-11 2001-10-11 行列演算装置 Pending JP2003122736A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001314389A JP2003122736A (ja) 2001-10-11 2001-10-11 行列演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001314389A JP2003122736A (ja) 2001-10-11 2001-10-11 行列演算装置

Publications (1)

Publication Number Publication Date
JP2003122736A true JP2003122736A (ja) 2003-04-25

Family

ID=19132712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001314389A Pending JP2003122736A (ja) 2001-10-11 2001-10-11 行列演算装置

Country Status (1)

Country Link
JP (1) JP2003122736A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003077150A1 (fr) * 2002-02-19 2003-09-18 Matsushita Electric Industrial Co., Ltd. Dispositif de calcul de matrice
WO2004079585A1 (ja) * 2003-03-07 2004-09-16 Matsushita Electric Industrial Co., Ltd. 行列演算装置
JP2007531072A (ja) * 2003-12-19 2007-11-01 マイクロユニティ システムズ エンジニアリング インコーポレイテッド プログラム可能なプロセッサ及び拡張演算を伴う方法
JP2008510323A (ja) * 2004-08-12 2008-04-03 日本電気株式会社 エルミート最適化法を用いて通信用受信機のイコライザのフィルタ係数を計算する方法
JP2008131366A (ja) * 2006-11-21 2008-06-05 Nippon Telegr & Teleph Corp <Ntt> 無線信号検出方法
CN106296469A (zh) * 2016-09-12 2017-01-04 东南大学 一种n‑1故障潮流修正方程组的预处理子优化选择方法
CN111052111A (zh) * 2017-09-14 2020-04-21 三菱电机株式会社 运算电路、运算方法以及程序

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003077150A1 (fr) * 2002-02-19 2003-09-18 Matsushita Electric Industrial Co., Ltd. Dispositif de calcul de matrice
WO2004079585A1 (ja) * 2003-03-07 2004-09-16 Matsushita Electric Industrial Co., Ltd. 行列演算装置
JP2007531072A (ja) * 2003-12-19 2007-11-01 マイクロユニティ システムズ エンジニアリング インコーポレイテッド プログラム可能なプロセッサ及び拡張演算を伴う方法
JP2008510323A (ja) * 2004-08-12 2008-04-03 日本電気株式会社 エルミート最適化法を用いて通信用受信機のイコライザのフィルタ係数を計算する方法
JP4682983B2 (ja) * 2004-08-12 2011-05-11 日本電気株式会社 エルミート最適化法を用いて通信用受信機のイコライザのフィルタ係数を計算する方法
JP2008131366A (ja) * 2006-11-21 2008-06-05 Nippon Telegr & Teleph Corp <Ntt> 無線信号検出方法
CN106296469A (zh) * 2016-09-12 2017-01-04 东南大学 一种n‑1故障潮流修正方程组的预处理子优化选择方法
CN111052111A (zh) * 2017-09-14 2020-04-21 三菱电机株式会社 运算电路、运算方法以及程序

Similar Documents

Publication Publication Date Title
US6937676B2 (en) Interference-signal removing apparatus
US7751512B2 (en) Method and apparatus for parallel midamble cancellation
US7711765B2 (en) Method and apparatus to perform multiply-and-accumulate operations
CN101663829A (zh) 联合检测硬件加速器的架构
WO2005076493A1 (en) Post despreading interpolation in cdma systems
JP2003122736A (ja) 行列演算装置
US7949925B2 (en) Fixed-point implementation of a joint detector
WO2004079585A1 (ja) 行列演算装置
US20040181565A1 (en) Matrix calculation device
US7924948B2 (en) Pre-scaling of initial channel estimates in joint detection
JP4167112B2 (ja) スペクトル拡散によって送信されたデータの検出のための方法および装置
JP3503433B2 (ja) スペクトル拡散受信機
JP3173600B2 (ja) 受信機
JP4387567B2 (ja) 複素ディジタル整合フィルタ
JP4141550B2 (ja) マルチユーザ受信機
US7916841B2 (en) Method and apparatus for joint detection
KR20020040643A (ko) 확산 스펙트럼 수신기용 경로 탐색기
JP3684314B2 (ja) 複素乗算器および複素相関器
US20060146759A1 (en) MIMO Kalman equalizer for CDMA wireless communication
KR20020000391A (ko) 시간 다중화된 파일럿을 이용한 광대역 시디엠에이채널응답 추정장치
SU1631555A1 (ru) Арифметическое устройство дл процессора быстрого преобразовани Фурье
BehnaamAazhang Efficient Algorithms and Architectures for Multiuser Channel Estimation and Detection in Wireless Base-Station Receivers
Premkumar et al. A real time correlator architecture using distributed arithmetic principles
KR20020000456A (ko) 공통파일럿채널을 이용한 광대역 시디엠에이 채널응답추정장치

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060307