JP2003122736A - Matrix arithmetic unit - Google Patents

Matrix arithmetic unit

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
Japanese (ja)
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/en
Publication of JP2003122736A publication Critical patent/JP2003122736A/en
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

PROBLEM TO BE SOLVED: To perform an arithmetic operation for calculating a solution of a simultaneous linear equation to be expressed in a form including upper triangular matrix or a lower triangular matrix by forward substitution or backward substitution at extremely high speed by using a small-sized and low power consumption unit. SOLUTION: This matrix arithmetic unit constituted of hardware is provided with product-sum operation parts (101, 102, 103, 105, 106, 107, 108, 109, 110) and a linear operation part for performing a prescribed linear operation for a result of a product-sum operation. In a period when an arithmetic operation for finding out a solution of the n-th linear equation is performed in the linear operation part, a product-sum operation about a partial term without including the solution of the n-th linear equation among product-sum operation terms required for finding out a solution of the next (n+1)th linear operation is precedently executed by the product-sum operation parts and a plurality of multipliers of a multiplication part 107 are used on the time-sharing basis.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、上三角行列または
下三角行列を含んだ形式で表わされる連立一次方程式の
解を求めるために利用可能な行列演算装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a matrix calculation device that can be used to obtain a solution of a simultaneous linear equation expressed in a format including an upper triangular matrix or a lower triangular matrix.

【0002】[0002]

【従来の技術】電子計算機を用いて数値計算(行列演
算)を行う際に、対称行列をコレスキー分解して上三角
行列と下三角行列の積の形式とし、前進代入または後退
代入により連立一次方程式の解を順番に求めていく方法
が採られる場合がある。
2. Description of the Related Art When performing a numerical calculation (matrix operation) using an electronic computer, a symmetric matrix is Cholesky decomposed into a product form of an upper triangular matrix and a lower triangular matrix, and simultaneous linear equations are obtained by forward substitution or backward substitution. In some cases, the method of sequentially obtaining the solution of the equation may be adopted.

【0003】このような行列演算は、例えば、図12に
示すように、複数のプロセッサ(DSP1002,10
04)を具備するマルチプロセッサシステム1000を
用いて実行される。複数のプロセッサを用いる行列演算
については、例えば、特開2000−339296号公
報に記載されている。
Such matrix calculation is performed by a plurality of processors (DSP 1002, 10) as shown in FIG.
04). The matrix operation using a plurality of processors is described in, for example, Japanese Patent Laid-Open No. 2000-339296.

【0004】[0004]

【発明が解決しようとする課題】複数のプロセッサを用
いて行列演算を行う方法では、プロセッサ間の情報の伝
達を行う必要があるため処理が遅延し、また、基本的に
ソフトウエアによる演算であるため、高速化に限界があ
る。
In the method of performing a matrix operation using a plurality of processors, it is necessary to transfer information between the processors, so that the processing is delayed, and the operation is basically performed by software. Therefore, there is a limit to the speedup.

【0005】また、装置が大型化しがちであり、小型,
軽量化あるいは低消費電力化が厳しく求められる携帯電
話のような移動機に搭載するのは困難である。
In addition, the device tends to be large, small,
It is difficult to mount it on a mobile device such as a mobile phone, which is strictly required to be lightweight or low in power consumption.

【0006】本発明は、行列演算装置の処理能力の格段
の向上および装置の小型化,低消費電力化を実現するこ
とを目的とする。
It is an object of the present invention to significantly improve the processing capability of a matrix operation device, reduce the device size, and reduce power consumption.

【0007】[0007]

【課題を解決するための手段】本発明の行列演算装置
は、連立一次方程式の解を前進代入または後退代入によ
って順番に求めていく、ハードウエアで構成された巡回
型の演算処理回路であり、一次方程式の解を求めるため
に必要な乗算,除算,加算,減算を行うための回路要素
(実質的にそれらの演算を行う部分)を演算の手順(演
算の流れ)に沿うように配置して、無理のないデータの
流れを作りながら、パイプライン的に処理を行う。ハー
ドウエアによる処理であるため、LSI化されたハード
ウエアの最大の処理能力でもって演算処理を実行でき、
これにより、例えば、従来の10倍の高速化が達成され
る。
A matrix arithmetic unit of the present invention is a cyclic arithmetic processing circuit composed of hardware, which sequentially obtains solutions of simultaneous linear equations by forward substitution or backward substitution. Arrange the circuit elements for performing multiplication, division, addition, and subtraction (substantially performing the operations) necessary to obtain the solution of the linear equation along the operation procedure (operation flow). , Perform processing in a pipeline while creating a reasonable data flow. Since the processing is performed by hardware, the arithmetic processing can be executed with the maximum processing capacity of the hardware implemented as an LSI.
As a result, for example, a speedup 10 times faster than the conventional one is achieved.

【0008】また、本発明の行列演算装置では、乗算器
を時分割で使用することで、乗算器の数を、無理なく効
果的に削減して装置の小型化や低消費電力化を促進す
る。
Further, in the matrix operation device of the present invention, the number of multipliers is reasonably and effectively reduced by using the multipliers in a time-division manner, thereby promoting miniaturization and low power consumption of the device. .

【0009】つまり、n個の連立一次方程式を、例え
ば、前進代入により順番に解く場合、n番目の一次方程
式を解くためには、それ以前に求めた1番目〜(n−
1)番目の一次方程式の解を用いた演算(例えば、積和
演算)を行う必要があり、よって、直前の(n−1)番
目の一次方程式の解が定まらなければ、n番目の一次方
程式の解を求めることはできない。
That is, when n simultaneous linear equations are sequentially solved by forward substitution, for example, in order to solve the n-th linear equation, the first to (n-
1) It is necessary to perform an operation (for example, a product-sum operation) using the solution of the first-order linear equation. Therefore, if the solution of the immediately preceding (n−1) -th order linear equation cannot be determined, the n-th first-order equation Can't find the solution.

【0010】このことを厳密に考えると、直前の一次方
程式の解を求めている最中には、その直前の一次方程式
の解を含む項に関する処理は行うことはできない、とい
うことになるが、一方で、過去に求まっている1番目〜
(n−2)番目の一次方程式の解を含む項についての処
理は、実行可能である、ということである。
If this is strictly considered, it means that while the solution of the immediately preceding linear equation is being obtained, the processing concerning the term including the solution of the immediately preceding linear equation cannot be performed. On the other hand, the first one we've been looking for in the past
This means that the processing for the term including the solution of the (n-2) th linear equation is feasible.

【0011】この点に着目し、本発明の行列演算装置で
は、演算項を、直前の一次方程式の解を含む項をもつグ
ループと、含まない項のみのグループとに大別する。そ
して、直前の一次方程式の解を求めている最中に、次の
一次方程式を解くための演算項のうち、直前の一次方程
式の解を含まない項のみのグループの演算式を先行的に
実施し、結果を一時的に保持しておく。
Focusing on this point, in the matrix operation device of the present invention, the operation terms are roughly classified into a group having a term including a solution of the immediately preceding linear equation and a group having only a term not including the solution. Then, while seeking the solution of the immediately preceding linear equation, among the operating terms for solving the next linear equation, the arithmetic expression of a group of only the terms not including the solution of the immediately preceding linear equation is executed in advance. Then, the result is held temporarily.

【0012】そして、直前の一次方程式の解が求まった
段階で、その解を含む項について演算をして、その結果
を、先行実施された演算の結果と合算し、n番目の一次
方程式を解くために必要な、1番目から(n−1)番目
までの一次方程式の解のすべてを含む項に関する演算を
完結させる。
Then, when the solution of the immediately preceding linear equation is obtained, the term including the solution is operated, and the result is summed with the result of the previously executed operation to solve the n-th linear equation. This completes the operation related to the term including all the solutions of the linear equations from the 1st to (n-1) th, which are necessary for

【0013】乗算器を時分割使用せず、多数の乗算器を
用意したとしても、直前の一次方程式の解が求まるまで
は、結局、次の一次方程式の解の処理は待たされるので
あるから、処理時間は、時分割使用のときとほとんど同
じである。つまり、本発明によれば、高速な処理を行い
つつ、回路の小型化,低消費電力化を無理なく実現でき
る。
Even if a large number of multipliers are prepared without using the time division, the processing of the solution of the next linear equation is eventually waited until the solution of the immediately previous linear equation is obtained. The processing time is almost the same as when using time division. That is, according to the present invention, it is possible to reasonably realize miniaturization of a circuit and reduction of power consumption while performing high-speed processing.

【0014】本発明の行列演算装置は、下三角行列を含
む連立一次方程式の解を求める際の前進代入演算に適用
することができる。また、上三角行列を含む連立一次方
程式の解を求める際の後退代入演算に適用することがで
きる。また、対称行列を含む連立一次方程式の解を求め
る際に、対称行列をコレスキー分解あるいは変形コレス
キー分解によって変形された連立一次方程式の演算に適
用することができる。また、コレスキー分解を利用した
逆行列演算を行うことができる行列演算器に適用するこ
とができる。
The matrix calculation device of the present invention can be applied to the forward substitution calculation when obtaining the solution of the simultaneous linear equations including the lower triangular matrix. Further, it can be applied to backward substitution calculation when obtaining a solution of simultaneous linear equations including an upper triangular matrix. Further, when obtaining the solution of the simultaneous linear equations including the symmetric matrix, the symmetric matrix can be applied to the operation of the simultaneous linear equations modified by the Cholesky decomposition or the modified Cholesky decomposition. Further, it can be applied to a matrix calculator capable of performing an inverse matrix calculation utilizing Cholesky decomposition.

【0015】本発明の行列演算装置は、ジョイントディ
テクション復調機能を有している受信装置、最小2乗誤
差法に基づくAAA(アダプティブアレイ)が実装され
ている受信装置、あるいはトランスバーサルフィルタ等
を具備する適応等化器が実装されている受信装置に搭載
することができる。
The matrix operation device of the present invention includes a receiving device having a joint detection demodulation function, a receiving device having an AAA (adaptive array) based on the least square error method, a transversal filter, or the like. It can be installed in a receiving device in which the adaptive equalizer provided is installed.

【0016】本発明の行列演算装置は、小型,低消費電
力で、かつ超高速処理が可能であるため、携帯電話等の
移動局装置や無線基地局装置における演算処理装置とし
て、十分な能力を発揮し得るものである。
Since the matrix calculation device of the present invention is small in size, low in power consumption, and capable of ultra-high-speed processing, it has sufficient capability as a calculation processing device in a mobile station device such as a mobile phone or a wireless base station device. It can be demonstrated.

【0017】[0017]

【発明の実施の形態】まず、コレスキー分解(LU分解
(三角分解))を利用した連立一次方程式の解法につい
て説明する。ここでは、以下の(1)式で示されるよう
な大規模な連立一次方程式の解を求める場合について説
明する。 Fd=r……(1) ここで、Fは、n行×n列の既知行列であり、rは、n
行×1列の既知行列であり、dが求める行列(n行×1
列)である。
BEST MODE FOR CARRYING OUT THE INVENTION First, a method of solving simultaneous linear equations using Cholesky decomposition (LU decomposition (triangular decomposition)) will be described. Here, a case will be described in which a solution of a large-scale simultaneous linear equation as shown by the following equation (1) is obtained. Fd = r (1) where F is a known matrix of n rows × n columns, and r is n
It is a known matrix of rows x 1 columns, and the matrix that d finds (n rows x 1
Column).

【0018】LU分解法によると、既知である対称行列
Fは、下三角行列Lとその転置行列LTによって、下記
(2)式のように表わすことができる。 F=LLT……(2) LLTd=r………(3) 式(3)をdについて解くのであるが、この処理は、2
段階の計算に大別される。以下、第1段階の処理と第2
段階の処理について説明する。
According to the LU decomposition method, the known symmetric matrix F can be expressed by the following equation (2) by the lower triangular matrix L and its transposed matrix L T. F = LL T ...... (2) but LL T d = r ......... (3 ) Equation (3) is to solve for d, the process is 2
It is roughly divided into stage calculations. Below, the first stage process and the second
The process of steps will be described.

【0019】(第1段階)LTd=zとおくと、(3)
式は(4)式のように変形される。 Lz=r………(4) (4)式から行列zを求める。行列Lは下三角行列であ
るので、行列zを求める計算式は、以下の(5)式のよ
うに表わすことができる。
(First stage) When L T d = z is set, (3)
The equation is transformed into the equation (4). Lz = r (4) The matrix z is obtained from the equation (4). Since the matrix L is a lower triangular matrix, the calculation formula for obtaining the matrix z can be expressed as the following formula (5).

【0020】[0020]

【数1】 ただし、i=2,3…Nである。[Equation 1] However, i = 2, 3 ... N.

【0021】行列zは、以下のようにして求める。ま
ず、1行目の要素z1を算出する。次に、算出したz1
用いて(5)式にしたがって、2行目の要素z2を算出
する。以下、同様にして、z1〜zi-1の算出結果を用い
て、ziを算出する。このように、行列zの第1番目の
要素から第N番目の要素の順序に従って算出する演算
は、前進代入と呼ばれる。
The matrix z is obtained as follows. First, the element z 1 in the first row is calculated. Next, using the calculated z 1 , the element z 2 in the second row is calculated according to the equation (5). Thereafter, similarly, z i is calculated using the calculation results of z 1 to z i-1 . In this way, the operation of calculating in the order of the first element to the Nth element of the matrix z is called forward substitution.

【0022】(第2段階)第1段階で算出した行列zを
用いて、第1段階で置換した式LTd=zから解dを求
める。ここで、行列LTは、下三角行列Lの転置行列で
あるため上三角行列である。
(Second Step) Using the matrix z calculated in the first step, the solution d is obtained from the expression L T d = z replaced in the first step. Here, the matrix L T is an upper triangular matrix because it is a transposed matrix of the lower triangular matrix L.

【0023】従って、連立一次方程式の解dを求めるた
めの計算式は、以下の(6)式となる。
Therefore, the calculation formula for obtaining the solution d of the simultaneous linear equations is the following formula (6).

【0024】[0024]

【数2】 ただし、i=N−1,N−2……1である。行列dは、
第N番目の要素から逆順に第1番目の要素までを算出す
るため、後退代入の演算と呼ばれる。
[Equation 2] However, i = N-1, N-2 ... 1. The matrix d is
This is called a backward substitution operation because it calculates the Nth element to the first element in reverse order.

【0025】本発明の行列演算装置は、このような前進
代入,後退代入による連立一次方程式の解を求める演算
に広く利用することができる。
The matrix calculation apparatus of the present invention can be widely used for calculation for obtaining a solution of simultaneous linear equations by such forward substitution and backward substitution.

【0026】以下、本発明の実施の形態について、図面
を参照して説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0027】(実施の形態1)三角分解されたn行×n
列の行列に関する連立一次方程式の解を求める回路構成
について説明する。
(Embodiment 1) Triangular decomposition n rows × n
A circuit configuration for obtaining a solution of simultaneous linear equations regarding a matrix of columns will be described.

【0028】n行×n列の下三角行列をL,n行×1列
の既知行列をrとすると、前記連立一次方程式は、式
(7)で表される。 Lz=r………(7) ここでZは、連立一次方程式の解であるn行×1列の行
列である。連立一次方程式は、行列Lが下三角行列なの
で次式により、Z1からZNまで順次求めることができ
る。この演算の内容の一部が、図1に示される。
When the lower triangular matrix of n rows × n columns is L and the known matrix of n rows × 1 column is r, the simultaneous linear equations are expressed by the equation (7). Lz = r ... (7) Here, Z is a matrix of n rows × 1 column which is a solution of simultaneous linear equations. In the simultaneous linear equations, since the matrix L is a lower triangular matrix, Z 1 to Z N can be sequentially obtained by the following equation. Part of the contents of this calculation is shown in FIG.

【0029】図1の処理Aは、下三角行列を含む行列演
算の内容を示しており、処理Bは、1番目〜4番目まで
の連立一次方程式を示しており、処理Cは、1番目〜4
番目までの連立一次方程式の解を求めるための具体的な
演算内容を示している。各一次方程式の解を求めるため
の一般式は、前記(5)式で表わされる。
Process A in FIG. 1 shows the contents of the matrix operation including the lower triangular matrix, process B shows the simultaneous linear equations from the first to the fourth, and process C shows the first to the fourth. Four
The concrete calculation contents for obtaining the solution of the simultaneous linear equations up to the th are shown. The general formula for obtaining the solution of each linear equation is represented by the above formula (5).

【0030】図1の処理Aに示されるように、下三角行
列は、右上半分がすべて“0”であり、左下半分に行列
要素が配置された行列である。ここで、右上半分の
“0”の部分と接する境界線上に位置する行列要素を
「対角要素」といい(図1においては、丸で囲んで示さ
れている)、それ以外の行列要素を「一般要素」という
(図1では、三角で囲んで示されている)。対角要素お
よび一般要素の定義は、上三角行列についても同様であ
る。
As shown in the process A of FIG. 1, the lower triangular matrix is a matrix in which the upper right half is all "0" and the matrix elements are arranged in the lower left half. Here, the matrix elements located on the boundary line in contact with the "0" part in the upper right half are called "diagonal elements" (indicated by circles in FIG. 1), and the other matrix elements are It is called a "general element" (in FIG. 1, it is shown enclosed by a triangle). The definition of the diagonal element and the general element is the same for the upper triangular matrix.

【0031】図1の処理Cに示される、4番目の一次方
程式の解Z4を求める演算内容からも明らかなように、
解を求める演算は、過去に算出した各一次方程式の解
と、対応する下三角行列の一般要素との積の総和をとる
処理と、その総和を、既知の行列rの対応する要素か
ら減算する処理と、その結果を、対応する下三角行列
の対角要素で除算する処理とからなっている。
As is clear from the operation contents for obtaining the solution Z 4 of the fourth linear equation shown in the process C of FIG.
The solution is calculated by summing the products of the solutions of the respective linear equations calculated in the past and the corresponding general elements of the lower triangular matrix, and subtracting the sum from the corresponding elements of the known matrix r. It consists of a process and a process of dividing the result by a diagonal element of the corresponding lower triangular matrix.

【0032】図2は、このような行列演算を高速に実行
する行列演算装置の具体的な構成を示す図である。ま
た、図3は、図2の行列演算装置の特徴的な動作を説明
するためのタイミング図である。
FIG. 2 is a diagram showing a concrete configuration of a matrix calculation device for executing such matrix calculation at high speed. Further, FIG. 3 is a timing diagram for explaining a characteristic operation of the matrix operation device of FIG.

【0033】図2の行列演算装置は、連立一次方程式の
解を前進代入または後退代入によって順番に求めてい
く、ハードウエアで構成された巡回型の演算処理回路で
あり、一次方程式の解を求めるために必要な乗算,除
算,加算,減算を行うための回路要素を演算の手順(演
算の流れ)に沿うように配置して、無理のないデータの
流れを作りながら、パイプライン的に処理を行う。
The matrix operation device of FIG. 2 is a cyclic arithmetic processing circuit composed of hardware that sequentially obtains solutions of simultaneous linear equations by forward substitution or backward substitution, and obtains solutions of linear equations. Therefore, the circuit elements for performing multiplication, division, addition, and subtraction necessary for this are arranged along the operation procedure (operation flow), and the processing is performed in a pipeline while creating a reasonable data flow. To do.

【0034】図2の行列演算装置の構成は、大きく2つ
の部分に分けることができる。すなわち、n番目(nは
2以上の自然数)の一次方程式の解を求めるために必要
な、直前の一次方程式の解を含む過去に求められたすべ
ての解についての所定の積和演算を行うハードウエア構
成の積和演算部(101,102,103,105,1
06,107,108,109,110)と、この積和
演算部から出力される値について、所定の線形演算を行
って前記n番目の一次方程式の解を求めるハードウエア
構成の線形演算部(111,112,113,114)
とに分けることができる。
The structure of the matrix calculation device of FIG. 2 can be roughly divided into two parts. That is, a hardware for performing a predetermined product-sum operation for all solutions obtained in the past, including the solution of the immediately preceding linear equation, which is necessary for obtaining the solution of the n-th (n is a natural number of 2 or more) linear equation. Sum-of-products operation unit (101, 102, 103, 105, 1) of wear configuration
06, 107, 108, 109, 110) and a value output from the product-sum operation unit, a linear operation unit (111) having a hardware configuration for performing a predetermined linear operation to obtain a solution of the n-th linear equation. , 112, 113, 114)
Can be divided into

【0035】そして、この行列演算装置は、線形演算部
にて(n−1)番目の一次方程式の解を求める演算がな
されている期間において、積和演算部にて、n番目の一
次方程式の解を求めるために必要な積和演算項のうち
の、(n−1)番目の一次方程式の解を含まない部分的
な項についての積和演算を先行的に実施し、(n−1)
番目の一次方程式の解が求まった時点で、(n−1)番
目の一次方程式の解を含む部分的な項についての積和演
算を実行し、乗算部107の乗算器を時分割で使用す
る。
In the matrix computing device, the product-sum computing unit computes the n-th linear equation during the period in which the linear computing unit computes the solution of the (n-1) th linear equation. Among the product-sum operation terms required to obtain the solution, the product-sum operation is performed in advance for a partial term that does not include the solution of the (n-1) th linear equation, and (n-1)
When the solution of the th linear equation is obtained, the product-sum operation is performed on the partial terms including the solution of the (n-1) th linear equation, and the multiplier of the multiplication unit 107 is used in time division. .

【0036】以下、具体的な構成について説明する。図
2の行列演算装置において、レジスタ101は、直前の
一次方程式の解を蓄積するためのレジスタである。シフ
トレジスタ102は、過去に求められた一次方程式の解
を順次、蓄積するシフトレジスタである。
The specific structure will be described below. In the matrix operation device of FIG. 2, the register 101 is a register for accumulating the solution of the immediately preceding linear equation. The shift register 102 is a shift register that sequentially accumulates solutions of linear equations obtained in the past.

【0037】レジスタ101とシフトレジスタ2とを分
離しているのは、直前の一次方程式の解がレジスタ10
1にラッチ(セット)されるタイミングと、レジスタ1
01のデータおよびシフトレジスタの各タップのデータ
を1段シフトするタイミングとがずれていることを考慮
したからである。
The reason why the register 101 and the shift register 2 are separated is that the solution of the immediately preceding linear equation is in the register 10.
Latched (set) to 1 and register 1
This is because it is considered that the data of 01 and the data of each tap of the shift register are shifted by one stage.

【0038】直前の一次方程式の解がレジスタ101に
ラッチ(セット)されるタイミングは、図3にも示され
るように、レジスタラッチクロック(RC)により決定
される。
The timing at which the solution of the immediately preceding linear equation is latched (set) in the register 101 is determined by the register latch clock (RC) as shown in FIG.

【0039】また、レジスタ101のデータおよびシフ
トレジスタの各タップのデータを1段シフトするタイミ
ングは、シフトクロック(SCL)によって制御され
る。なお、レジスタラッチクロック(RC)およびシフ
トクロック(SCL)は、オアゲート(OR)を介して
レジスタ101に供給されるようになっている。
The timing of shifting the data of the register 101 and the data of each tap of the shift register by one stage is controlled by the shift clock (SCL). The register latch clock (RC) and shift clock (SCL) are supplied to the register 101 via an OR gate (OR).

【0040】ここで、注目すべきことは、シフトレジス
タ102が、途中で折り返された形状を有することであ
り、その結果として、シフトレジスタ102の前半部お
よび後半部における対応する位置にある遅延要素(記憶
要素)の出力同士が一組となり、各組の信号がそれぞ
れ、スイッチ部105に用意されているスイッチSW1
〜SW(N/2)の各々に入力されることである。
Here, it should be noted that the shift register 102 has a shape folded back on the way, and as a result, the delay elements at corresponding positions in the first half and the second half of the shift register 102 are located. The outputs of the (memory elements) form one set, and the signals of each set are provided to the switch SW1 provided in the switch unit 105.
To SW (N / 2).

【0041】このような構成を採るのは、乗算部107
に含まれる乗算器(MUL(1)〜MUL(n/2)を
時分割で使用することによって、その個数を減らすため
である。つまり、直前の一次方程式の解が、未だレジス
タ101にセットされていない期間において、レジスタ
101のデータおよびシフトレジスタの各タップのデー
タを1段シフトしてしまい、スイッチSW1〜SW(n
/2)をb端子側に切り換えて、シフトレジスタ102
の後半の遅延要素(記憶要素)から、すでに求まってい
る解のみを取り出し、先行的に演算を進めるものであ
る。この点については、後に具体的に説明する。
The multiplication unit 107 adopts such a configuration.
This is because the number of multipliers (MUL (1) to MUL (n / 2)) included in is reduced in a time division manner, that is, the solution of the immediately previous linear equation is still set in the register 101. In the non-operating period, the data of the register 101 and the data of each tap of the shift register are shifted by one stage and the switches SW1 to SW (n
/ 2) is switched to the terminal b side, and the shift register 102
From the delay element (memory element) in the latter half of the above, only the solution already obtained is extracted and the operation is advanced in advance. This point will be specifically described later.

【0042】第1のメモリ部103(メモリ(1)〜メ
モリ(n−1)をもつ)には、下三角行列の一般要素の
値が記憶されている。この下三角行列の一般要素の値
は、スイッチ部106に設けられている、複数のスイッ
チ(PW1〜PW(n/2)を介して、乗算部107に
設けられている乗算器(MUL(1)〜MUL(n/
2))に入力され、すでに求まっている、一次方程式の
解と下三角行列の一般要素との乗算がなされる。
The values of the general elements of the lower triangular matrix are stored in the first memory unit 103 (having memories (1) to (n-1)). The value of the general element of the lower triangular matrix is determined by the multiplier (MUL (1) provided in the multiplication unit 107 via the plurality of switches (PW1 to PW (n / 2)) provided in the switch unit 106. ) ~ MUL (n /
The solution of the linear equation, which has been input to 2)) and has already been obtained, is multiplied by the general element of the lower triangular matrix.

【0043】そして、加算器108で各乗算器からの出
力値を加算し、その結果を、加算器110を介してレジ
スタ109に送って、ここに一時的に蓄積しておく。そ
して、直前の一次方程式の解がレジスタ101にラッチ
された後に、スイッチ部105の各スイッチをa端子側
に切り換えて同様の積和演算を実行する。この積和演算
結果は、加算器110において、レジスタ109に蓄積
されていた先行処理の結果と合算される。
Then, the adder 108 adds the output values from the multipliers, sends the result to the register 109 via the adder 110, and temporarily stores it there. Then, after the solution of the immediately preceding linear equation is latched in the register 101, each switch of the switch unit 105 is switched to the a terminal side, and a similar product-sum operation is executed. The product-sum operation result is added up with the result of the preceding process accumulated in the register 109 in the adder 110.

【0044】第2のメモリ111には、既知の行列rの
行列要素が記憶されている。減算器112では、既知行
列rの要素から積和演算結果を減じる演算がなされる。
この結果について、さらに、除算器114にて、下三角
行列の対角要素の値で割り算が行われる。第3のメモリ
113には、下三角行列の対角要素の値が記憶されてい
る。
The second memory 111 stores the matrix elements of the known matrix r. The subtractor 112 performs an operation of subtracting the product-sum operation result from the elements of the known matrix r.
The result is further divided by the value of the diagonal element of the lower triangular matrix in the divider 114. Values of diagonal elements of the lower triangular matrix are stored in the third memory 113.

【0045】割り算の結果として求められた一次方程式
の解は,第4のメモリ(解の蓄積のためのメモリ)11
5に蓄積されると共に、レジスタ101にセットされ、
以下、同様の処理を繰り返し行う。
The solution of the linear equation obtained as a result of the division is stored in the fourth memory (memory for storing the solution) 11
Is stored in 5, and set in the register 101,
Hereinafter, the same process is repeated.

【0046】図3は、図2の行列演算装置の、積和演算
(各乗算器の出力の総和をとる演算)を行う部分の動作
を説明するためのタイミング図である。
FIG. 3 is a timing chart for explaining the operation of the part of the matrix operation device of FIG. 2 which performs the sum of products operation (operation for taking the sum of the outputs of the multipliers).

【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を求める期間である。
Here, for the sake of convenience, eight linear simultaneous equations are used.
Suppose you want to solve. Time t0 to t3 is the first one
Formula solution Z1Is the period for which
5, time t4 to t7, time t6 to t9, time t8 to t1
1, time t10 to t13, time t12 to time t15, hour
From time t14 to time t17, the solution z2, Z3
z Four, ZFive, Z6, Z7, Z8Is the period for which

【0048】スイッチ部105の各スイッチSW1〜S
W(n/2)は、a端子側、b端子側に交互に周期的に
切り換えられる。
The switches SW1 to S of the switch unit 105
W (n / 2) is alternately and periodically switched to the a terminal side and the b terminal side.

【0049】あるziを求めるときには、b端子側にス
イッチが切り換えられてから演算がスタートする。な
お、この切り換えは、スイッチ部106についても同様
である。a端子側に切り換えられたときには、シフトレ
ジスタ102の前半の遅延要素(記憶要素)およびレジ
スタ101からのデータの取り出しが行われ、b端子側
に切り換えられたときには、シフトレジスタ102の後
半の遅延要素からのデータの取り出しが行われる。
To obtain a certain z i , the calculation is started after the switch is switched to the terminal b side. Note that this switching also applies to the switch unit 106. When switched to the a terminal side, the first half delay element (storage element) of the shift register 102 and data from the register 101 are taken out, and when switched to the b terminal side, the latter half delay element of the shift register 102. Data is extracted from the.

【0050】シフトクロック(SCL)とレジスタラッ
チクロック(RC)の位相はずれており、シフトクロッ
ク(SCL)の方が位相が先行している。これは、直前
の一次方程式の解が求まる前に、データのシフトを行
い、シフトレジスタの状態を更新することを意味する。
The shift clock (SCL) and the register latch clock (RC) are out of phase with each other, and the shift clock (SCL) precedes the phase. This means that the data is shifted and the state of the shift register is updated before the solution of the immediately preceding linear equation is obtained.

【0051】図4は、8番目の方程式の解z8を求める
際の動作を模式的に示している。図示されるように、z
8を求めるためには、方程式の解を含む8つの項の加算
を行う必要があるが、直前の方程式の解であるz7が算
出されない限り、演算を実行することができない。
FIG. 4 schematically shows the operation for obtaining the solution z 8 of the eighth equation. Z as shown
In order to obtain 8 , it is necessary to add eight terms including the solution of the equation, but the operation cannot be executed unless the solution z 7 of the immediately preceding equation is calculated.

【0052】そこで、図4の上側に示すように、積和演
算の対象となる項を、直前の方程式の解を含まないグル
ープAと、直前の方程式の解を含むグループBとに大別
する。そして、直前の方程式の解z7を求めるための、
加算器110による加算演算が終了した後(すなわち、
積和演算部における演算が終了した後であって、減算器
112による演算や除算器114による割り算が行われ
ている期間)に、シフトレジスタの内容を更新して、シ
フトレジスタの後半部から、過去に求めたz1〜z3の解
を取り出して、グループAの積和演算を先行的に実施し
てしまう。
Therefore, as shown in the upper part of FIG. 4, the terms to be subjected to the sum-of-products operation are roughly classified into a group A that does not include the solution of the immediately preceding equation and a group B that includes the solution of the immediately preceding equation. . And to find the solution z 7 of the previous equation,
After the addition operation by the adder 110 is completed (that is,
The contents of the shift register are updated after the calculation in the product-sum calculation unit is completed and during the calculation by the subtractor 112 and the division by the divider 114). The solutions of z 1 to z 3 obtained in the past are taken out, and the product-sum calculation of group A is carried out in advance.

【0053】図3の下側に、各期間で実行される演算の
内容が記載されている。最初のうちは、シフトレジスタ
の後半部のデータは“0”のままであるので、スイッチ
をb側に切り換えて後半部からデータを取り出して積和
演算を行っても、その結果は“0”のままである。
At the bottom of FIG. 3, the contents of the calculation executed in each period are described. At the beginning, since the data in the latter half of the shift register remains "0", even if the switch is switched to the b side to take out the data from the latter half and carry out the product-sum operation, the result is "0". It remains.

【0054】しかし、演算が進行していくと、過去に求
めた一次方程式の解が、シフトレジスタの後半部にシフ
トされてきて、やがて、スイッチをb側に切り換えてい
る期間(つまり、シフトレジスタの後半部からの出力を
選択している期間)において、次の一次方程式を解くた
めに必要な積和演算の一部が先行的に実施されるように
なり、共通の乗算器を時分割で使用した、非常に効率的
な処理がなされるようになる。
However, as the calculation progresses, the solution of the linear equation obtained in the past is shifted to the latter half of the shift register, and eventually the switch is switched to the b side (that is, the shift register). In the period when the output from the latter half of is selected, some of the product-sum operations required to solve the following linear equations are performed in advance, and the common multiplier is time-divided. The very efficient processing used will be performed.

【0055】以上が、図2の演算装置の特徴部分の概略
である。以下、図2の行列演算装置について、さらに詳
しく説明する。
The above is the outline of the characteristic portion of the arithmetic unit of FIG. Hereinafter, the matrix calculation device of FIG. 2 will be described in more detail.

【0056】なお、以下の説明では、レジスタ101を
第1のレジスタと呼び、レジスタ104を第2のレジス
タと呼び、また、レジスタ109を第3のレジスタと呼
ぶ。さらに、加算器108を第1の加算器と呼び、加算
器110を第2の加算器と呼ぶ。また、スイッチ105
を第1のスイッチと呼び、スイッチ107を第2のスイ
ッチと呼ぶことにする。
In the following description, the register 101 is called the first register, the register 104 is called the second register, and the register 109 is called the third register. Further, the adder 108 is called a first adder, and the adder 110 is called a second adder. Also, the switch 105
Will be referred to as a first switch, and the switch 107 will be referred to as a second switch.

【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まで順次格納されていく。
The matrix calculation device of FIG. 2 has a first register 10 for storing the calculation result (z I ) found at the present time.
1 and the calculation result (z 1 ~
z i -1 ) of the (N-2) stage shift register 1
02, the first memory 103 in which all general elements except the diagonal elements of the known lower triangular matrix (L) are stored, and 0 at all times
Is stored in the second register 104 and the first half of the first register 101 and the shift register 102 (N / 2
-1) are combined to form the first half and the latter half of the shift register (N
/ 2-1) The first switch unit 1 which controls the reading of either the first half or the second half with the second half as the second half.
05 and the first half (N / 2) of the first memory 103 are used as the first half, and the second half (N / 2−) of the first memory 103 is
1) The second switch 106 for controlling the reading of either the first half or the second half of the memory and the second register 104 as the latter half, and the output value of the first switch 105 and the second switch 106. N / 2 multipliers 107 for performing multiplication with the output value of the switch 106 of
A first adder 108 for adding all the operation results output from the N / 2 multipliers 107, and the first adder 108 when the operation result of the first adder 108 is obtained by reading the latter half part. Third register 109 for storing the result of the first adder 108 and the operation result of the first adder 108 when the result of the first adder 108 is obtained by reading the first half part From the second adder 110 for adding the value stored in the third register 109, the second memory 111 for storing the elements of the known matrix of N rows × 1 column, and the second memory 111 From the value read out, the second adder 1
The subtracter 112 for subtracting the operation result of 10, the third memory 113 for storing the diagonal elements of the known lower triangular matrix, and the output value from the subtractor 112 for the third memory 1
Divider 114 for dividing by the value read from 13
And a fourth memory 115 for storing the calculation result output from the divider 114. As described above, z 1 to z N are sequentially stored in the fourth memory.

【0058】次に、図2の回路動作を説明する。Next, the circuit operation of FIG. 2 will be described.

【0059】演算開始時には、第1のメモリ103には
既知の下三角行列Lの一般要素が格納され、第2のメモ
リ111にはN行×1列の既知行列rの全要素が格納さ
れ、第3のメモリ113には下三角行列Lの対角要素
(L11,L22,…,LNN)が格納され、第2のレジスタ
104および第3のレジスタ109には0がセットされ
る。
At the start of calculation, the general elements of the known lower triangular matrix L are stored in the first memory 103, and all elements of the known matrix r of N rows × 1 column are stored in the second memory 111. The diagonal elements (L 11 , L 22 , ..., L NN ) of the lower triangular matrix L are stored in the third memory 113, and 0 is set in the second register 104 and the third register 109.

【0060】第1のメモリ103はN−1個のメモリか
ら構成されており、それぞれのメモリには下三角行列L
の一般要素が規則的に格納される。
The first memory 103 is composed of N-1 memories, and each memory has a lower triangular matrix L.
The general elements of are stored regularly.

【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がシフトするタイミン
グに従ってメモリアドレスがインクリメントされて順次
読み出されるという動作をする。
The memory (1) has (0, L 21 , L 32 ,
L 43 , ..., L N, N−1 ) are stored in the memory (2) as (0, 0,
L 31 , L 42 , L 53 , ..., L N, N-2 ) are ... Memory (N-
2) has (0, 0, ..., 0, L N-1 , 1 , L N, 2 ), and memory (N-1) has (0, 0, ..., 0, L N, 1 ). Is stored. Each memory has N addresses.
These operate so that the memory address is incremented and sequentially read according to the timing at which the shift register 102 shifts.

【0062】演算開始時(z1算出時)において、第1
のレジスタ101およびシフトレジスタ部102には、
初期値である0が格納されている状態である。
When the calculation is started (when z 1 is calculated), the first
The register 101 and the shift register unit 102 of
In this state, the initial value 0 is stored.

【0063】まず、シフトレジスタ102の後半部から
値を読み出すように第1のスイッチ部105が制御し、
第1のメモリ103の後半部から値を読み出すように第
2のスイッチ106が制御する。
First, the first switch section 105 controls so as to read the value from the latter half of the shift register 102,
The second switch 106 controls so as to read the value from the latter half of the first memory 103.

【0064】この時、シフトレジスタ102にはすべて
0が格納されているのでN/2個の乗算器107の演算
結果はすべて0となる。従って、第1の加算器108の
結果も0となり第3のレジスタ109には0が格納され
る。
At this time, since all 0s are stored in the shift register 102, the operation results of the N / 2 multipliers 107 are all 0s. Therefore, the result of the first adder 108 is also 0, and 0 is stored in the third register 109.

【0065】次に第1のスイッチ105を切り替えて第
1のレジスタ101およびシフトレジスタ102の前半
部から値を読み出すように制御し乗算器107に入力す
る。また、同時に、第1のメモリ103の前半部および
第2のレジスタ104を読み出すように制御し乗算器1
07に入力する。前半部の乗算の結果も全て0になるた
め、第1の加算器108の演算結果も0となる。第1の
加算器108の演算結果(前半部の乗算結果の総和)と
第3のレジスタ109に蓄えていた値(後半部の乗算結
果の総和)を第2の加算器110に入力する。
Next, the first switch 105 is switched to control to read the value from the first half of the first register 101 and the shift register 102, and the value is input to the multiplier 107. At the same time, the first half of the first memory 103 and the second register 104 are controlled so as to be read, and the multiplier 1
Enter in 07. Since the multiplication results of the first half are all 0, the calculation result of the first adder 108 is also 0. The calculation result of the first adder 108 (sum of multiplication results of the first half) and the value stored in the third register 109 (sum of multiplication results of the second half) are input to the second adder 110.

【0066】第2の加算器110の出力も0となる。第
2の加算器の演算が終わると第2のメモリ111から既
知行列rの第1要素r1を読み出して減算器112にお
いてr1から第2の加算器110の演算結果を減算す
る。
The output of the second adder 110 is also 0. When the operation of the second adder is completed, the first element r 1 of the known matrix r is read from the second memory 111, and the subtracter 112 subtracts the operation result of the second adder 110 from r 1 .

【0067】また、第3のレジスタ109を初期化して
おく。第2の加算器110の演算結果が0であることか
ら減算器112の出力はr1−0=r1である。減算器1
12の演算が終わると第3のメモリ113から下三角行
列の対角要素L11を読み出し、除算器114において減
算器112の出力値をL11で除算する。
Further, the third register 109 is initialized. Since the operation result of the second adder 110 is 0, the output of the subtractor 112 is r 1 −0 = r 1 . Subtractor 1
When the calculation of 12 is completed, the diagonal element L 11 of the lower triangular matrix is read from the third memory 113, and the output value of the subtractor 112 is divided by L 11 in the divider 114.

【0068】除算器114の出力はr1/L11であるこ
とから解z1がこの時点で求まる。得られた解z1は第4
のメモリ115に格納されると同時に第1のレジスタ1
01に格納される。
Since the output of the divider 114 is r 1 / L 11 , the solution z 1 can be obtained at this point. The obtained solution z 1 is the fourth
Of the first register 1 at the same time as being stored in the memory 115 of
It is stored in 01.

【0069】次に解z2を求める動作について説明す
る。解z1の演算過程において、第2の加算器110の
演算が終了した時点で、第1のレジスタ101の値をシ
フトレジスタ102に入力して1段シフトを行う。
Next, the operation of obtaining the solution z 2 will be described. In the calculation process of the solution z 1, when the calculation of the second adder 110 is completed, the value of the first register 101 is input to the shift register 102 to shift one stage.

【0070】また、(N−1)個の第1のメモリ103
の読み出しアドレスをインクリメントする。ここで、第
1のスイッチ105を切り替えてシフトレジスタ102
の後半部から値を読み出すように制御する。同時に第2
のスイッチ106を切り替えて第1のメモリ103の後
半部から値を読み出すように制御する。
In addition, (N-1) first memories 103
Increment the read address of. Here, the first switch 105 is switched to switch the shift register 102.
The value is controlled to be read from the latter half of the. Second at the same time
The switch 106 is switched to read the value from the latter half of the first memory 103.

【0071】シフトレジスタ102の後半部および第1
のメモリの後半部が乗算器107に入力されて乗算が行
われる。この時点においてもシフトレジスタ102の値
が全て0なので乗算結果は全て0になる。
The second half and the first of the shift register 102
The latter half of the memory is input to the multiplier 107 and multiplication is performed. Even at this point in time, the values in the shift register 102 are all 0, so the multiplication results are all 0.

【0072】乗算結果が第1の加算器108に入力され
て加算される。加算器の結果も0である。加算結果が第
3のレジスタ109に格納される。この時点において解
1が求まっていなければ、第1のスイッチ105およ
び第2のスイッチ106を切り替えず、解z2を求める
ための演算は待機状態に入る。
The multiplication result is input to the first adder 108 and added. The result of the adder is also 0. The addition result is stored in the third register 109. If the solution z 1 is not found at this point, the first switch 105 and the second switch 106 are not switched, and the calculation for finding the solution z 2 enters a standby state.

【0073】解z1が求まり第1のレジスタ101に格
納されると第1のスイッチ105を切り替えて第1のレ
ジスタ101およびシフトレジスタ102の前半部から
値を読み出すように制御し乗算器107に入力する。
When the solution z 1 is obtained and stored in the first register 101, the first switch 105 is switched to control the multiplier 107 to read the value from the first half of the first register 101 and the shift register 102. input.

【0074】また、同時に、第1のメモリ103の前半
部および第2のレジスタ104を読み出すように制御し
乗算器107に入力する。乗算器107では第1のスイ
ッチ105の出力と第2のスイッチ106の出力との乗
算を行う。
At the same time, the first half of the first memory 103 and the second register 104 are controlled to be read and input to the multiplier 107. The multiplier 107 multiplies the output of the first switch 105 and the output of the second switch 106.

【0075】第1のレジスタ101には解z1が格納さ
れており、また、第1のメモリ103の読み出しアドレ
スがインクリメントされているのでメモリ(1)からは
21が読み出される。従って、乗算器(MUL(1))
の演算結果はz1・L21となる。シフトレジスタ102
には全て0が格納されているので乗算器MUL(1)以
外の演算結果は0である。
Since the solution z 1 is stored in the first register 101 and the read address of the first memory 103 is incremented, L 21 is read from the memory (1). Therefore, the multiplier (MUL (1))
The calculation result of is z 1 · L 21 . Shift register 102
Since all 0s are stored in 0, the calculation result other than the multiplier MUL (1) is 0.

【0076】従って、第1の加算器108の演算結果は
1・L21となる。第2の加算器110で第3のレジス
タ109に蓄えられていた値と第1の加算器108の演
算結果の加算を行う。第3のレジスタ109には0が入
っていたので第2の加算器110の出力はz1・L21
なる。
Therefore, the calculation result of the first adder 108 is z 1 · L 21 . The second adder 110 adds the value stored in the third register 109 and the calculation result of the first adder 108. Since 0 has been entered in the third register 109, the output of the second adder 110 becomes z 1 .L 21 .

【0077】第2の加算器110の演算が終わると第2
のメモリ111の読み出しアドレスをインクリメントし
て値r2を読み出して減算器112に入力される。減算
器112では第2のメモリ111から読み出したr2
ら第2の加算器110の出力値z1・L21を減算する。
When the operation of the second adder 110 is completed, the second
The read address of the memory 111 is incremented, the value r 2 is read, and the value is input to the subtractor 112. The subtractor 112 subtracts the output value z 1 · L 21 of the second adder 110 from r 2 read from the second memory 111.

【0078】従って、減算器112の演算結果は(r2
−z1・L21)となる。減算器112の演算が終わると
第3のメモリ113の読み出しアドレスをインクリメン
トして下三角行列Lの対角要素L22を読み出して除算器
114に入力する。除算器114では、減算器112の
演算結果である(r2−z1・L21)を第3のメモリ11
3から読み出したL22で除算する。
Therefore, the calculation result of the subtracter 112 is (r 2
-Z 1 · L 21 ). When the calculation of the subtractor 112 is completed, the read address of the third memory 113 is incremented to read the diagonal element L 22 of the lower triangular matrix L and input to the divider 114. In the divider 114, the calculation result of the subtractor 112 (r 2 −z 1 · L 21 ) is stored in the third memory 11
Divide by L 22 read from 3.

【0079】除算器114の演算結果は、(r2−z1
21)/L22となる。前述の(5)式より、z2=(r2
−z1・L21)/L22である。つまり、除算器114の
出力はz2であり、第4のメモリ115および第1のレ
ジスタ101に入力される。以降z3,…,zNも同様に
して求めることができる。
The operation result of the divider 114 is (r 2 −z 1 ·
The L 21) / L 22. From the above equation (5), z 2 = (r 2
-Z 1 · L 21 ) / L 22 . That is, the output of the divider 114 is z 2 and is input to the fourth memory 115 and the first register 101. Thereafter, z 3 , ..., Z N can be similarly obtained.

【0080】以上説明した、本実施の形態の演算装置の
効果について述べる。
The effects of the arithmetic unit according to the present embodiment described above will be described.

【0081】第1のレジスタ101と(N−2)段のシ
フトレジスタ102から値を読み出して乗算を行うので
各段につき1個の乗算器があれば並列処理ができ処理時
間が短縮できるが、同時に並列処理を行う場合、第1の
レジスタ101に直前の解が格納されるまで待機しなけ
ればならない。
Since the values are read from the first register 101 and the (N-2) th stage shift register 102 to perform multiplication, if there is one multiplier for each stage, parallel processing can be performed and the processing time can be shortened. When performing parallel processing at the same time, it is necessary to wait until the immediately preceding solution is stored in the first register 101.

【0082】そこで、本発明の行列演算装置では既に求
まっている解が格納されているシフトレジスタ102の
後半部を先に演算を行い、直前の解が求まった時点で前
半部の演算を行うというように、乗算器の個数を半分に
削減し、時分割処理を行っている。
Therefore, in the matrix operation device of the present invention, the second half of the shift register 102 in which the solutions already obtained are stored is calculated first, and the first half is calculated when the immediately preceding solution is obtained. Thus, the number of multipliers is reduced to half and the time division processing is performed.

【0083】以上から、本発明の行列演算装置を用いれ
ば、高速かつ小規模な回路構成で前進代入演算処理を行
うことができる。
From the above, by using the matrix operation device of the present invention, the forward substitution operation process can be performed with a high-speed and small-scale circuit configuration.

【0084】(実施の形態2)上述の実施の形態では、
下三角行列を用いた演算について説明したが、本実施の
形態では、上三角行列を用いた演算を行う場合について
説明する。
(Embodiment 2) In the above-mentioned embodiment,
Although the calculation using the lower triangular matrix has been described, this embodiment will explain a case where the calculation using the upper triangular matrix is performed.

【0085】N行×N列の上三角行列をL,n行×1列
の既知行列をzとすると、前記連立一次方程式は、
(8)式で表わされる。 Ld=z………(8) 解であるdはn行×1列の行列である。上三角行列は、
例えば、図5に示すように、左下半分がオール0で、右
上半分に行列要素が配置されている行列である。
When the upper triangular matrix of N rows × N columns is L and the known matrix of n rows × 1 column is z, the simultaneous linear equations are
It is expressed by equation (8). Ld = z ... (8) The solution d is a matrix with n rows and 1 column. The upper triangular matrix is
For example, as shown in FIG. 5, the matrix has all 0s in the lower left half and matrix elements in the upper right half.

【0086】連立一次方程式は、行列Lが上三角行列な
ので、dNからd1まで逆順に求めることができる。この
場合の演算式は、前記式(6)で示される。
Since the matrix L is an upper triangular matrix, simultaneous linear equations can be obtained in reverse order from d N to d 1 . The arithmetic expression in this case is represented by the above expression (6).

【0087】このような演算を、図2の行列演算装置に
て実行する。
Such calculation is executed by the matrix calculation device of FIG.

【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まで順次格納されていく。
As described above, the matrix calculation device of FIG.
Calculation result (d I) To store the first
Register 101 and the operation result obtained up to the present time
Fruit (dN~ Di + 1) Is stored in the (N-2) th stage shift register
The star 102 and the diagonal elements of the known upper triangular matrix (L)
First memory 103 for storing all general elements except
And a second register 104 that always stores 0,
First half of the first register 101 and the shift register 102
(N / 2-1) are combined to form the first half of the shift register.
There are the first half of these as the latter half of the latter half (N / 2-1).
Or the first switch that controls the readout of either the latter half.
Switch 105 and the first half (N / 2) of the first memory 103
Memory of the first half of the first memory 103 (N
/ 2-1) memory and second register 104
Read either the first half or the second half as a half.
The second switch 106 for controlling the protrusion and the first switch
Output value of the switch 105 and the output value of the second switch 106
N / 2 multipliers 107 for multiplying
Add all operation results output from the multipliers 107
First adder 108 and the operation result of the first adder 108
Is obtained by reading the latter half of the first half, the first adder 10
A third register 109 for storing the result of 8;
The result of the first adder 108 is obtained by reading the first half
If the calculation result of the first adder 108 and the third register
The second for adding the value stored in register 109
Stores adder 110 and elements of a known matrix of N rows x 1 column
Read from the second memory 111 and the second memory 111
Subtract the operation result of the second adder 110 from the output value
Subtractor 112 and the diagonal elements of the known upper triangular matrix
A third memory 113 for storing the
Output value from the third memory 113 is read.
And a divider 114 for dividing by a value
Fourth memory 115 for storing the output operation result
It consists of and. From the above, d is stored in the fourth memory.
NTo d1Are sequentially stored until.

【0089】次に、回路動作を説明する。Next, the circuit operation will be described.

【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がシフトするタイミングに従っ
てメモリアドレスがデクリメントされて順次読み出され
るという動作をする。
At the start of the calculation, the general elements of the known upper triangular matrix L are stored in the first memory 103, and the known matrix z (z 1 , z 2 , ... z
N ) are stored, the diagonal elements (L 11 , L 22 , ..., L NN ) of the upper triangular matrix L are stored in the third memory 113, and the second register 104 and the third register are stored. 109
Is set to 0. The first memory 103 is composed of N-1 memories, and the general elements of the upper triangular matrix L are regularly stored in the respective memories. The memory (1) in the first memory 103 has (L 12 , L 23 , L
34 , ..., L N-1, N , 0) is stored in the memory (2) as (L 13 ,
L 24 , L 35 , ..., L N-2, N , 0, 0) are ... Memory (N
-2) stores (L 1, N-1 , L 2, N , 0, ..., 0), and memory (N-1) stores (L 1, N , 0, ..., 0). .
Each memory has N addresses. These operate such that the memory address is decremented and read sequentially according to the shift timing of the shift register 102.

【0091】演算開始時(dN算出時)において、第1
のレジスタ101およびシフトレジスタ102には初期
値である0が格納されている状態である。
When the calculation is started (d N is calculated), the first
The initial value 0 is stored in the register 101 and the shift register 102.

【0092】まずシフトレジスタ102の後半部から値
を読み出すように第1のスイッチ105が制御し、第1
のメモリ103の後半部から値を読み出すように第2の
スイッチ106が制御する。この時、シフトレジスタ1
02にはすべて0が格納されているのでN/2個の乗算
器107の演算結果はすべて0となる。
First, the first switch 105 controls so that the value is read out from the latter half of the shift register 102,
The second switch 106 controls so as to read the value from the latter half of the memory 103. At this time, shift register 1
Since all 0s are stored in 02, the operation results of the N / 2 multipliers 107 are all 0s.

【0093】従って第1の加算器108の結果も0とな
り第3のレジスタ109には0が格納される。
Therefore, the result of the first adder 108 also becomes 0, and 0 is stored in the third register 109.

【0094】次に、第1のスイッチ105を切り替えて
第1のレジスタ101およびシフトレジスタ102の前
半部から値を読み出すように制御し乗算器107に入力
する。また同時に、第1のメモリ103の前半部および
第2のレジスタ104を読み出すように制御し乗算器1
07に入力する。
Next, the first switch 105 is switched to control to read the value from the first half of the first register 101 and the shift register 102, and the value is input to the multiplier 107. At the same time, the first half of the first memory 103 and the second register 104 are controlled to be read so that the multiplier 1
Enter in 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を初期化しておく。
Since the multiplication results of the first half are all 0,
The calculation result of the first adder 108 is also 0. The calculation result of the first adder 108 (the sum of the multiplication results of the first half) and the third
The value stored in the register 109 (total sum of multiplication results in the latter half) is input to the second adder 110. The output of the second adder 110 is also 0. When the operation of the second adder is completed, the Nth element z N of the known matrix z is read from the second memory 111, and the subtracter 112 subtracts the operation result of the second adder 110 from z N. Also, the third register 1
09 is initialized.

【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に格納される。
Since the operation result of the second adder 110 is 0, the output of the subtractor 112 is z N = 0 = z N. When the operation of the subtractor 112 is completed, the diagonal element L NN of the upper triangular matrix is read from the third memory 113, and the divider 114 divides the output value of the subtractor 112 by L NN . Divider 1
Since the output of 14 is z N / L NN , the solution d N can be obtained at this point. The obtained solution d N is stored in the fourth memory 115 and simultaneously in the first register 101.

【0097】次に解dN-1を求める動作について説明す
る。解dNの演算過程において、第2の加算器110の
演算が終了した時点で、第1のレジスタ101の値をシ
フトレジスタ102に入力して1段シフトを行う。
Next, the operation of obtaining the solution d N-1 will be described. In the calculation process of the solution d N, when the calculation of the second adder 110 is completed, the value of the first register 101 is input to the shift register 102 to perform one-stage shift.

【0098】また、(N−1)個の第1のメモリ103
の読み出しアドレスをデクリメントする。ここで、第1
のスイッチ105を切り替えてシフトレジスタ102の
後半部から値を読み出すように制御する。
In addition, (N-1) first memories 103
Decrement the read address of. Where the first
The switch 105 is switched to read the value from the latter half of the shift register 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となる。
At the same time, the second switch 106 is switched to control to read the value from the latter half of the first memory 103. The latter half of the shift register 102 and the latter half of the first memory are input to the multiplier 107 and multiplication is performed. Even at this point in time, the values in the shift register 102 are all 0, so the multiplication results are all 0. The multiplication result is input to the first adder 108 and added. The result of the adder is also 0. The addition result is stored in the third register 109. If the solution d N is not found at this point, the first switch 105 and the second switch 106 are not switched, and the calculation for finding the solution d N- 1 enters the standby state. When the solution d N is obtained and stored in the first register 101, the first switch 105 is switched to change the first register 1
01 and the shift register 102 are controlled to read values from the first half of the shift register 102 and input to the multiplier 107. At the same time, the first half of the first memory 103 and the second register 104 are controlled to be read and input to the multiplier 107. The multiplier 107 multiplies the output of the first switch 105 and the output of the second switch 106. Since the solution d N is stored in the first register 101 and the read address of the first memory 103 is decremented, L N-1, N is read from the memory (1).
Therefore, the calculation result of the multiplier (MUL1) of the multiplication unit 107 is d N · L N-1, N. Since all 0s are stored in the shift register 102, the operation result other than the multiplier (MUL1) is 0. Therefore, the operation result of the first adder 108 is d N · L N−1 , N. The value stored in the third register 109 by the second adder 110 and the first adder 10
The calculation result of 8 is added. Since 0 has been entered in the third register 109, the output of the second adder 110 is d N
L 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に入力する。
When the operation of the second adder 110 is completed, the second
The read address of the memory 111 is decremented to read the value z N−1 and input to the subtractor 112. The subtracter 112 reads z N-1 read from the second memory 111.
Is subtracted from the output value d N · L N-1, N of the second adder 110. Therefore, the calculation result of the subtractor 112 is (z N-1 −d N ·
L N-1, N ). When the subtracter 112 has finished the operation, the third
The read address of the memory 113 is decremented and the diagonal elements L N-1, N-1 of the upper triangular matrix L are read and input to the divider 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] Divider At 114, a computation result of the subtracter 112 (z N-1 -d N · L N-1, N) of the third memory 11
Divide by L N-1, N-1 read from 3. Divider 114
The calculation result of is (z N-1 −d N · L N-1, N ) / L N-1, N-1 . From the formula (6), d N-1 = (z N-1 −d N · L N-1, N )
/ L N-1, N-1 . That is, the output of the divider 114 is d
N−1, which is input to the fourth memory 115 and the first register 101. Thereafter, d N-2 , ..., D 1 can be similarly obtained.

【0102】本実施の形態の効果について述べる。The effects of this embodiment will be described.

【0103】第1のレジスタ101と(N−2)段のシ
フトレジスタ102から値を読み出して乗算を行うので
各段につき1個の乗算器があれば並列処理ができ処理時
間が短縮できるが、同時に並列処理を行う場合、第1の
レジスタ101に直前の解が格納されるまで待機しなけ
ればならない。
Since the values are read from the first register 101 and the (N-2) th stage shift register 102 and the multiplication is performed, if there is one multiplier for each stage, parallel processing can be performed and the processing time can be shortened. When performing parallel processing at the same time, it is necessary to wait until the immediately preceding solution is stored in the first register 101.

【0104】そこで、本発明の行列演算装置では既に求
まっている解が格納されているシフトレジスタ102の
後半部を先に演算を行い、直前の解が求まった時点で前
半部の演算を行うというように、乗算器の個数を半分に
削減し、時分割処理を行っている。
Therefore, in the matrix operation device of the present invention, the second half of the shift register 102 in which the solutions already obtained are stored is calculated first, and the first half is calculated when the immediately preceding solution is obtained. Thus, the number of multipliers is reduced to half and the time division processing is performed.

【0105】以上から、本発明の行列演算装置を用いれ
ば、高速かつ小規模な回路構成で後退代入演算処理を行
うことができる。
As described above, by using the matrix calculation device of the present invention, the backward substitution calculation process can be performed with a high speed and small scale circuit configuration.

【0106】(実施の形態3)本発明の行列演算装置は、
無線通信で受信した信号の復調方法であるジョイントデ
ィテクション復調にも適用することができる。
(Embodiment 3) The matrix calculation device of the present invention is
It can also be applied to joint detection demodulation, which is a demodulation method of signals received by wireless communication.

【0107】ジョイントディテクション復調(以下、J
D復調という)は、W−CDMAのTDDモードの通信
に適した復調方法であり、拡散符号を乗算して自己相関
を検出して復調する方法と異なり、受信信号に重畳され
る複数のユーザーの信号のそれぞれについて相互相関を
検出し、自己の信号以外の成分を引き算することによ
り、各ユーザーの信号のみを取り出すという、干渉キャ
ンセルの原理を積極的に利用した復調方法であり、自己
相関のみでは除去できない干渉成分も正確に除去できる
ため、より精度の高い復調を行うことができる。また、
JD復調では、遅延波による相互相関も干渉除去するこ
とができる。
Joint detection demodulation (hereinafter J
D demodulation) is a demodulation method suitable for TDD mode communication of W-CDMA, and is different from the method of multiplying a spreading code and detecting autocorrelation to demodulate, and is different from that of a plurality of users superimposed on a received signal. This is a demodulation method that positively utilizes the principle of interference cancellation, in which only the signal of each user is extracted by detecting the cross-correlation of each signal and subtracting the components other than its own signal. Since the interference component that cannot be removed can be removed accurately, more accurate demodulation can be performed. Also,
In JD demodulation, interference can be eliminated even for cross-correlation due to delayed waves.

【0108】図7は、JD復調を行う信号の伝搬モデル
を示している。
FIG. 7 shows a propagation model of a signal for JD demodulation.

【0109】d(1)〜d(k)はk人のユーザーがそ
れぞれ送信した信号を示しており、これが復調の対象と
なる。c(1)〜c(k)は拡散コードであり、h
(1)〜h(k)は推定された伝搬特性(遅延プロファ
イル:推定した回線のインパルス応答)である。
D (1) to d (k) represent the signals transmitted by the k users, respectively, which are the targets of demodulation. c (1) to c (k) are spreading codes, and h
(1) to h (k) are estimated propagation characteristics (delay profile: estimated impulse response of the line).

【0110】b(1)〜b(k)は、拡散コードと伝搬
特性の畳み込み演算によって求められるべクトルであ
る。これにノイズnが加わったものが受信信号eであ
り、これをJD復調部203で復調して、各ユーザーの
送信信号d(1)〜d(k)を区別して復調する。
B (1) to b (k) are vectors obtained by the convolution operation of the spreading code and the propagation characteristic. The noise n added to this is the received signal e, which is demodulated by the JD demodulation unit 203, and the transmitted signals d (1) to d (k) of each user are distinguished and demodulated.

【0111】図8は、図7の伝搬モデルを行列表示した
図である。
FIG. 8 is a matrix display of the propagation model of FIG.

【0112】図8より、Ad+n=eという方程式から
行列dを算出するのが、JD復調である。両辺に、行列
Aの共役転置行列AHを左側から乗算すると、AHAd+
Hn=AHeと変形できる。ノイズnが無視できるくら
い小さい、あるいはAHn=σ2Id(Iはn行n列の単
位行列)で表わされるなら、方程式は、Fd=rという
形で表わされる。
From FIG. 8, it is the JD demodulation that calculates the matrix d from the equation Ad + n = e. Multiplying both sides by the conjugate transposed matrix A H of the matrix A from the left side, A H Ad +
It can be transformed into A H n = A H e. If the noise n is negligibly small, or is represented by A H n = σ 2 Id (I is an identity matrix of n rows and n columns), the equation is expressed as Fd = r.

【0113】すなわち、AHn=σ2Id(IはN行N列
の単位行列)とすると、(AHA+σ2I)d=AHeと
変形できる。ここで、AHeはRAKE合成後のシンボ
ルデータを表わしており、rと表記する。また、AH
+σ2I=Fとおく。すると、Fd=rと表わすことが
できる。
That is, assuming that A H n = σ 2 Id (I is a unit matrix of N rows and N columns), it can be transformed into (A H A + σ 2 I) d = A H e. Here, A H e represents the symbol data after RAKE combining, denoted as r. Also, A H A
Let + σ 2 I = F. Then, it can be expressed as Fd = r.

【0114】ここで、行列Fは相互相関行列であり、ノ
イズnが無視できるぐらい十分に小さい場合、拡散コー
ドと、推定した回線のインパルス応答とを畳み込んだベ
クトルB1(=B2=Bn)を規則的に配置して生成し
た行列Aと、その共役転置行列AHとの乗算を行って生
成された行列であり、対称行列である。
Here, the matrix F is a cross-correlation matrix, and when the noise n is small enough to be ignored, the vector B1 (= B2 = Bn) obtained by convolving the spreading code and the estimated impulse response of the line is used. It is a matrix generated by multiplying the matrix A generated by regularly arranging it and its conjugate transposed matrix A H, and is a symmetric matrix.

【0115】このような方程式から、行列dを求めるた
めには、行列Fの逆行列を生成して乗算すればよいが、
実際には、逆行列の算出は容易ではない。そこで、本実
施の形態のJD復調部では、行列Fをコレスキー分解
し、連立一次方程式を解くことで行列dの要素を求め
る。
In order to obtain the matrix d from such an equation, the inverse matrix of the matrix F may be generated and multiplied.
In reality, the calculation of the inverse matrix is not easy. Therefore, the JD demodulation unit of the present embodiment obtains the elements of the matrix d by performing Cholesky decomposition of the matrix F and solving the simultaneous linear equations.

【0116】図6(a)は、JD復調部を含むCDMA
受信装置の構成を示すブロック図であり、(b)は、送
信データのフォーマットを示す図である。
FIG. 6A shows a CDMA including a JD demodulation section.
It is a block diagram which shows the structure of a receiver, (b) is a figure which shows the format of transmission data.

【0117】アンテナ2で受信された信号は無線受信部
10で増幅され、回線推定部201および逆拡散部20
7に入力される。
The signal received by antenna 2 is amplified by radio receiving section 10 and channel estimating section 201 and despreading section 20 are amplified.
Input to 7.

【0118】回線推定部201では、受信信号に含まれ
る既知信号(ミッドアンブルコード)についてのインパ
ルス応答から、各ユーザーの信号の回線推定を行う。
Channel estimation section 201 estimates the channel of each user's signal from the impulse response of the known signal (midamble code) contained in the received signal.

【0119】ミッドアンブルコードは.図6(b)に示
すように、1つのスロットの中央部に挿入されている、
回線推定用の既知コードである。
The midamble code is. As shown in FIG. 6 (b), it is inserted in the center of one slot,
This is a known code for line estimation.

【0120】回線推定部201は、ミッドアンブル相関
処理部20と、ミッドアンブルコード生成部24と、パ
ス選択部22とを有する。
Channel estimating section 201 has a midamble correlation processing section 20, a midamble code generating section 24, and a path selecting section 22.

【0121】無線受信部10を経た信号は逆拡散部20
7にて逆拡散される。回線推定部201で得られた回線
推定値は、RAKE合成部202およびJD復調部20
3に入力される。逆拡散後のシンボルデータについて、
回線推定値を基にした位相補償を行い、RAKE合成部
202にてRAKE合成を行い、RAKE合成結果rを
JD復調部203に入力する。
The signal passed through the radio receiving section 10 is despreading section 20.
Despread at 7. The channel estimation value obtained by the channel estimation section 201 is used as the RAKE combining section 202 and the JD demodulation section 20.
Input to 3. Regarding the symbol data after despreading,
Phase compensation is performed based on the channel estimation value, RAKE combining section 202 performs RAKE combining, and RAKE combining result r is input to JD demodulating section 203.

【0122】JD復調部203は、拡散コード発生部3
0から与えられる拡散コードと推定された回線のインパ
ルス応答から相互相関行列(F)を求める相互相関行列
(F)生成部204と、相互相関行列をコスレキー分解
あるいは変形コレスキー分解して、下三角行列および上
三角行列の積の形式とするコレスキー分解部205と、
下三角行列または上三角行列を含む形式で表わされる連
立一次方程式について、前進代入あるいは後退代入を用
いて解を算出する連立方程式演算部206とを有する。
連立方程式演算部206は、図2の行列演算装置を具備
する。
The JD demodulation section 203 has a spreading code generating section 3
A cross-correlation matrix (F) generation unit 204 that obtains a cross-correlation matrix (F) from the spread code given from 0 and the impulse response of the estimated channel, and a cross-correlation matrix or a modified Cholesky decomposition to obtain a lower triangle. A Cholesky decomposition unit 205 in the form of a product of a matrix and an upper triangular matrix,
It has a simultaneous equation calculation unit 206 for calculating a solution for simultaneous linear equations expressed in a format including a lower triangular matrix or an upper triangular matrix by using forward substitution or backward substitution.
The simultaneous equation calculation unit 206 includes the matrix calculation device of FIG.

【0123】図9は、相互相関行列(F)生成部204
の機能を説明するための図である。図9の上側に示され
る、畳み込み演算処理X1では、拡散コードを蓄積して
いる部分900から出力される拡散コード(C1〜CQ
と、回線推定値を格納している部分902から出力され
る回線推定値のパラメータ(h1〜hw)を、加算器90
3(903a〜903c等)および加算器904を用い
て畳み込み、ベクトルb1〜bQ+W-1を求める。
FIG. 9 shows the cross-correlation matrix (F) generator 204.
3 is a diagram for explaining the function of FIG. In the convolution operation processing X1 shown on the upper side of FIG. 9, the spreading code (C 1 to C Q ) output from the portion 900 that stores the spreading code.
And the parameter (h 1 to h w ) of the line estimation value output from the portion 902 storing the line estimation value, the adder 90
3 (903a to 903c, etc.) and the adder 904 are used for convolution to obtain vectors b 1 to b Q + W-1 .

【0124】そして、図9の下側に示される処理Y1に
おいて、ベクトルbを規則的に配置して、行列Aを生成
する。さらに、処理Y2において、行列Aと行列Aの共
役転置行列である行列AHの乗算を行い、行列F(=AH
A)を生成する。
Then, in process Y1 shown on the lower side of FIG. 9, the vector b is regularly arranged to generate the matrix A. Further, in the process Y2, the matrix A and the matrix A H that is the conjugate transposed matrix of the matrix A are multiplied to obtain the matrix F (= A H
A) is generated.

【0125】ここで、JD復調の結果として得られる送
信信号の推定信号をdとすると、次の(9)式が成立す
る。 Fd=r……(9) この式を、連立方程式演算部206にて、dについて解
く。
Here, assuming that the estimated signal of the transmission signal obtained as a result of JD demodulation is d, the following expression (9) is established. Fd = r (9) This equation is solved for d by the simultaneous equation calculation unit 206.

【0126】ここで行列Fが対称行列であることからコ
レスキー分解(変形コレスキー分解を含む)ができ、行
列Fは下三角行列Lを用いて、F=LLHと分解でき
る。ただし、LHはLの共役転置行列である。コレスキ
ー分解部205でコレスキー分解(あるいは変形コレス
キー分解)を行う。
Since the matrix F is a symmetric matrix, Cholesky factorization (including modified Cholesky factorization) can be performed, and the matrix F can be factored into F = LL H using the lower triangular matrix L. However, L H is a conjugate transposed matrix of L. The Cholesky decomposition section 205 performs Cholesky decomposition (or modified Cholesky decomposition).

【0127】以上から、LLHd=rとなり、LHd=z
と置換することでLz=rでまず下三角行列に関する連
立方程式をz について解く。ここで行列zが既知にな
ることから、LHd=zの上三角行列に関する連立方程
式をdについて解くことができる。
From the above, LL H d = r and L H d = z
First, the simultaneous equations regarding the lower triangular matrix are solved for z with Lz = r. Now that the matrix z is known, a system of equations for the upper triangular matrix of L H d = z can be solved for d.

【0128】これら、下三角行列に関する連立1次方程
式、上三角行列に関する連立1次方程式を、図2の本発
明の行列演算装置を用いて解くことで、非常に高速に解
を求めることができる。
By solving these simultaneous linear equations for the lower triangular matrix and simultaneous linear equations for the upper triangular matrix using the matrix operation device of the present invention shown in FIG. 2, the solution can be obtained very quickly. .

【0129】(実施の形態4)本発明の行列演算装置
は、最小2乗誤差法(MMSE)に基づいたアダプティ
ブアレイが実装されている通信装置にも用いることがで
きる。
(Embodiment 4) The matrix operation device of the present invention can also be used in a communication device in which an adaptive array based on the least square error method (MMSE) is mounted.

【0130】最小2乗誤差法(MMSE)に基づいたア
ダプティブアレイが実装されている通信装置を図10に
示す。
FIG. 10 shows a communication device in which an adaptive array based on the least square error method (MMSE) is mounted.

【0131】例としてアンテナが3本の場合について説
明する。
As an example, a case where there are three antennas will be described.

【0132】アンテナ301、アンテナ302、アンテ
ナ303から受信信号が入力される。受信信号の復調器
304で最適な復調を行えるようにウェイト生成部30
5で生成されるウェイトを各アンテナから受信された信
号に乗算して最適な重み付けを行う。
Received signals are input from the antennas 301, 302 and 303. The weight generator 30 is provided so that the demodulator 304 of the received signal can perform optimum demodulation.
Optimal weighting is performed by multiplying the signal received from each antenna by the weight generated in 5.

【0133】アンテナ301、アンテナ302、アンテ
ナ303から入力される受信信号の自己相関行列をR、
受信信号と既知信号との相互相関行列をPとするとウェ
イトwは(10)式から求めることができる。Rw=P
・・・(10)ここで、Rは対称行列であることか
らコレスキー分解することができる。従って、上三角行
列に関する連立一次方程式、下三角行列に関する連立一
次方程式を解くことになる。
Let R be the autocorrelation matrix of the received signals input from antenna 301, antenna 302, and antenna 303.
When the cross-correlation matrix between the received signal and the known signal is P, the weight w can be calculated from the equation (10). Rw = P
(10) Here, since R is a symmetric matrix, Cholesky decomposition can be performed. Therefore, simultaneous linear equations regarding the upper triangular matrix and simultaneous linear equations regarding the lower triangular matrix are solved.

【0134】そこで、本発明の行列演算装置を用いるこ
とにより、最適なウェイトを高速に求めることができ
る。
Therefore, by using the matrix operation device of the present invention, the optimum weight can be obtained at high speed.

【0135】(実施の形態5)本発明の行列演算装置
は、適応等化器が実装されている通信装置にも用いるこ
とができる。適応等化器は伝送路の時間応答を精密に制
御を行って伝送路の振幅と遅延特性を平滑にするフィル
タである。適応等化器が実装されている通信装置を図1
1に示す。
(Embodiment 5) The matrix operation device of the present invention can be used also in a communication device in which an adaptive equalizer is mounted. The adaptive equalizer is a filter that precisely controls the time response of the transmission line to smooth the amplitude and delay characteristics of the transmission line. FIG. 1 shows a communication device in which an adaptive equalizer is mounted.
Shown in 1.

【0136】受信信号がトランスバーサルフィルタ(F
IR)401およびウェイト算出部402に入力され
る。
The received signal is a transversal filter (F
(IR) 401 and weight calculation section 402.

【0137】ウェイト算出部402では、トランスバー
サルフィルタ401の最適なタップ係数を算出する。ト
ランスバーサルフィルタ401のタップ数をMとする。
最適なタップ係数は、以下のようにして算出する。最
適なタップ係数をM行×1列の行列wとし、受信信号の
自己相関行列をRとし(M行×M列の行列)、受信信号
と既知信号に対応する望みの応答との相互相関行列をP
(M行×1列の行列)とすると以下の(11)式が成り
立つ。 RW=p……(11) ここで、時点iにおける受信信号r(i)とすると、受
信信号の自己相関行列は以下のように与えられる。
The weight calculator 402 calculates the optimum tap coefficient of the transversal filter 401. The number of taps of the transversal filter 401 is M.
The optimum tap coefficient is calculated as follows. The optimum tap coefficient is M row × 1 column matrix w, the received signal autocorrelation matrix is R (M row × M column matrix), and the cross-correlation matrix between the received signal and the desired response corresponding to the known signal. To P
(M rows × 1 column matrix), the following expression (11) is established. RW = p (11) Here, assuming that the received signal r (i) at the time point i, the autocorrelation matrix of the received signal is given as follows.

【0138】[0138]

【数3】 また、望みの応答d(n)と受信信号との相互相関行列
Pは以下のように与えられる。
[Equation 3] Further, the cross-correlation matrix P between the desired response d (n) and the received signal is given as follows.

【0139】[0139]

【数4】 [Equation 4]

【0140】(11)式を、wについて解き、最適なタ
ップ係数を求めて最適フィルタを生成する。ここで、R
は対称行列なのでコレスキー分解、変形コレスキー分解
を行うことができる。それ以降の前進代入、後退代入演
算を本発明の行列演算器を用いることにより、小規模な
回路構成で高速に演算を行うことができる。
The equation (11) is solved for w, the optimum tap coefficient is obtained, and the optimum filter is generated. Where R
Since is a symmetric matrix, Cholesky decomposition and modified Cholesky decomposition can be performed. By using the matrix calculator of the present invention, the subsequent forward substitution and backward substitution calculations can be performed at high speed with a small circuit configuration.

【0141】(実施の形態6)本発明の行列演算装置
は、アダプティブアレイが実装されている通信装置にお
いて、到来方向推定アルゴリズムの一種であるCapo
n法の演算にも有効である。
(Embodiment 6) The matrix calculation device of the present invention is a type of arrival estimation algorithm, Capo, in a communication device in which an adaptive array is mounted.
It is also effective for the n-method calculation.

【0142】受信信号の相関行列を、Rxx,アレイの
応答ベクトルをa(θ)とすると、Capon法角度ス
ペクトラムPcp(θ)は、(12)式で求めることがで
きる。
When the correlation matrix of the received signal is Rxx and the response vector of the array is a (θ), the Capon method angle spectrum P cp (θ) can be obtained by the equation (12).

【0143】[0143]

【数5】 ここで、受信信号の相関行列Rxxは対称行列であるので
コレスキー分解ができる。下三角行列をLとすると、R
xx=LLHと分解できる。従って、Rxx -1=(LLH-1
と変形できる。LLHの逆行列を求める際に(13)式
を用いて容易に求めることができる。LLHの逆行列を
x、単位行列をEとすると、(13)式で表わすことが
できる。 LLHx=E………(13) 数式11を x について解くのに本発明の行列演算器を
用いることにより、小規模な回路で高速に演算を行うこ
とができる。以上に示しているように本発明の行列演算
器は逆行列を高速に求めることができる。
[Equation 5] Here, since the correlation matrix R xx of the received signal is a symmetric matrix, Cholesky decomposition can be performed. If the lower triangular matrix is L, then R
It can be decomposed as xx = LL H. Therefore, R xx -1 = (LL H ) -1
Can be transformed. When the inverse matrix of LL H is obtained, it can be easily obtained by using the equation (13). When the inverse matrix of LL H is x and the identity matrix is E, it can be expressed by equation (13). LL H x = E (13) By using the matrix calculator of the present invention to solve Expression 11 for x, a small-scale circuit can perform high-speed calculations. As shown above, the matrix calculator of the present invention can obtain an inverse matrix at high speed.

【0144】[0144]

【発明の効果】以上説明したように本発明によれば、ハ
ードウエアで構成された巡回型の演算処理回路でもっ
て、超高速の行列演算を実行できる。これにより、例え
ば、従来の10倍の高速化が達成される。
As described above, according to the present invention, a super-high-speed matrix operation can be executed by a cyclic arithmetic processing circuit composed of hardware. As a result, for example, a speedup 10 times faster than the conventional one is achieved.

【0145】また、本発明では、乗算器を時分割で使用
することで、乗算器の数を、無理なく効果的に削減して
装置の小型化や低消費電力化を促進することができる。
すなわち、直前の一次方程式の解がまだ演算中の時に、
次の一次方程式の解の演算の積和演算を開始させる。た
だし積和演算にはこの時点でまだ算出中である直前の要
素も含まれるため全ての積和演算を行うことができな
い。そこで前半部と後半部(直前の要素が含まれる方)
にわけ、乗算を一斉に行えるように乗算器を複数並べ
て、後半部から乗算を開始させる。直前の要素が求まっ
てから前半部の乗算を開始させる。直前の要素が求まっ
てから一斉に乗算して積和演算するのに比べて、例え
ば、半分の乗算器で済む。処理時間もほとんど変わらな
い。
Further, according to the present invention, by using the multipliers in a time division manner, it is possible to effectively and effectively reduce the number of the multipliers, thereby promoting miniaturization of the device and reduction of power consumption.
That is, when the solution of the previous linear equation is still being calculated,
The product-sum calculation of the solution calculation of the following linear equation is started. However, the sum-of-products calculation cannot perform all the sum-of-products calculation because it includes the element immediately before being calculated at this point. So the first half and the second half (the one that includes the previous element)
Therefore, a plurality of multipliers are arranged so that the multiplication can be performed all at once, and the multiplication is started from the latter half. After the previous element is found, the first half multiplication is started. For example, half the number of multipliers is sufficient as compared with the case where the immediately preceding element is obtained and multiplication is performed all at once, and the product sum operation is performed. The processing time is almost unchanged.

【0146】このようにして、本発明によれば、高速な
行列演算を、小型かつ低消費電力のハードウエアでもっ
て効率的に実現できる。本発明の行列演算装置は、LS
I化に適しており、したがって、携帯電話等の移動体通
信機にも適用が可能である。
As described above, according to the present invention, a high-speed matrix operation can be efficiently realized with a small-sized and low power consumption hardware. The matrix calculation device of the present invention is
It is suitable for I-mode and is therefore applicable to mobile communication devices such as mobile phones.

【図面の簡単な説明】[Brief description of drawings]

【図1】下三角行列を含む行列演算の処理内容を示す図FIG. 1 is a diagram showing the processing contents of a matrix operation including a lower triangular matrix.

【図2】本発明の行列演算装置の一例の構成を示す回路
FIG. 2 is a circuit diagram showing a configuration of an example of a matrix calculation device of the present invention.

【図3】図2の行列演算装置の特徴的な動作を説明する
ためのタイミング図
FIG. 3 is a timing diagram for explaining a characteristic operation of the matrix operation device of FIG.

【図4】図2の行列演算装置により、一次方程式の解を
求める際の処理内容の一例を説明するための図
FIG. 4 is a diagram for explaining an example of processing contents when a solution of a linear equation is obtained by the matrix operation device of FIG.

【図5】上三角行列を含む行列演算の処理内容を示す図FIG. 5 is a diagram showing the processing contents of a matrix operation including an upper triangular matrix.

【図6】(a)JD復調部を含むCDMA受信装置の構
成を示すブロック図 (b)送信データのフォーマットを示す図
FIG. 6A is a block diagram showing a configuration of a CDMA receiving device including a JD demodulation unit, and FIG. 6B is a diagram showing a format of transmission data.

【図7】マルチユーザーの送信信号の伝搬モデルを示す
FIG. 7 is a diagram showing a propagation model of a multi-user transmission signal.

【図8】図7の伝搬モデルを行列の形式で表わした図8 is a diagram showing the propagation model of FIG. 7 in a matrix format.

【図9】相互相関行列(F)の生成について説明するた
めの図
FIG. 9 is a diagram for explaining generation of a cross correlation matrix (F).

【図10】本発明の行列演算装置を適用したアダプティ
ブアレイ装置の構成を示す図
FIG. 10 is a diagram showing the configuration of an adaptive array device to which the matrix calculation device of the present invention is applied.

【図11】本発明の行列演算装置を適用した適応等化器
の構成を示す図
FIG. 11 is a diagram showing the configuration of an adaptive equalizer to which the matrix calculation device of the present invention is applied.

【図12】従来のマルチプロセッサを利用した行列演算
方法を説明するための図
FIG. 12 is a diagram for explaining a matrix calculation method using a conventional multiprocessor.

【符号の説明】[Explanation of symbols]

101,104,109 レジスタ 102 シフトレジスタ 103,111,113,115 メモリ 105,106 スイッチ部 108,110 加算器 112 減算器 114 除算器 206 行列演算装置 101, 104, 109 registers 102 shift register 103,111,113,115 memory 105,106 switch part 108,110 adder 112 subtractor 114 divider 206 matrix computing device

───────────────────────────────────────────────────── フロントページの続き 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   ─────────────────────────────────────────────────── ─── Continued front page    F-term (reference) 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)

【特許請求の範囲】[Claims] 【請求項1】 既知の下三角行列を“L”,既知の上三
角行列を“U”としたとき、L(またはU)・X=Y
(Xは求める行列,Yは既知行列)で表わされる連立一
次方程式の解を、前進代入あるいは後退代入を用いて算
出して、前記求める行列Xの全要素の値を得る行列演算
装置であって、 n番目(nは2以上の自然数)の一次方程式の解を求め
るために必要な、直前の一次方程式の解を含む過去に求
められたすべての解についての所定の積和演算を行うハ
ードウエア構成の積和演算部と、 積和演算部から出力される値について、所定の線形演算
を行って前記n番目の一次方程式の解を求めるハードウ
エア構成の線形演算部と、を具備し、 前記線形演算部にて(n−1)番目の一次方程式の解を
求める演算がなされている期間において、前記積和演算
部にて、n番目の一次方程式の解を求めるために必要な
積和演算項のうちの、前記(n−1)番目の一次方程式
の解を含まない部分的な項についての積和演算を先行的
に実施することを特徴とする行列演算装置。
1. When a known lower triangular matrix is "L" and a known upper triangular matrix is "U", L (or U) .X = Y
A matrix operation device for calculating a solution of a simultaneous linear equation represented by (X is a matrix to be obtained and Y is a known matrix) by using forward substitution or backward substitution to obtain values of all the elements of the matrix X to be obtained. , N-th (n is a natural number greater than or equal to 2) hardware required to find the solution of the linear equation immediately before, including all solutions obtained in the past, including the solution of the previous linear equation And a linear operation unit having a hardware configuration for performing a predetermined linear operation on a value output from the product-sum operation unit to obtain a solution of the n-th linear equation, During the period in which the operation for obtaining the solution of the (n-1) th linear equation is performed in the linear operation unit, the product-sum operation required for obtaining the solution of the nth linear equation in the product-sum operation unit (N-1) of the item Matrix operation and wherein the preceding practiced product-sum operation for the partial terms the solution does not contain a linear equation of.
【請求項2】 請求項1において、 前記積和演算部を構成する乗算器を時分割で使用するこ
とを特徴とする行列演算装置。
2. The matrix operation device according to claim 1, wherein the multiplier forming the product-sum operation unit is used in a time division manner.
【請求項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のすべての要素を特定すること
を特徴とする行列演算装置。
3. When a known lower triangular matrix is "L" and a known upper triangular matrix is "U", L (or U) .X = Y
A matrix operation device for calculating a solution of a simultaneous linear equation represented by (X is a matrix to be obtained and Y is a known matrix) by using forward substitution or backward substitution to obtain values of all the elements of the matrix X to be obtained. , A first register for temporarily accumulating the solution of the immediately preceding linear equation necessary for finding the solution of the n-th (n is a natural number of 2 or more) linear equation, and the solution of the n-th linear equation A shift register having a configuration that temporarily accumulates each solution of a linear equation prior to the immediately preceding linear equation necessary for obtaining, and is divided into a first half portion and a second half portion by folding back in the middle. Of the folded back shift registers, the taps of the first half and the second half of the corresponding shifts are set as a set, or the register and the second half of the shift register are paired. And the position of the tap as one set, in each set, for switching whether to output either,
A plurality of switches provided for each set, and a general element of the lower triangular matrix L or the upper triangular matrix U,
As a coefficient for multiplying each of the values output from the plurality of switches, a coefficient generator that is generated in a predetermined order, a value that is output from each of the plurality of switches, and a coefficient that is generated from the coefficient generator A plurality of multipliers for multiplying the coefficient corresponding to each switch, an adder for adding the values output from each of the plurality of multipliers, and the n-th output from this adder. The value forming a part of the product-sum operation result required to obtain the solution of the linear equation is temporarily stored, and the stored value is stored when the next addition process is performed in the adder. A second register to be returned to the adder, and a necessary linear operation are performed on a value output from the adder, the value indicating a complete product-sum operation result necessary for obtaining a solution of the n-th linear equation. , The n-th primary A linear operation circuit for calculating the solution of the equation, and returning the solution of the obtained n-th linear equation to the first register, and the solution of the n-th linear equation to the first register. Shows a complete sum of products operation result required to shift the first register and the shift register by one stage and obtain the solution of the nth linear equation from the adder before being set. After the value is output and during the period when the operation is performed in the linear operation circuit, the plurality of switches are switched so that the value of the tap in the latter half portion of the shift register is output,
A part of the multiply-accumulate operation necessary for obtaining the solution of the next (n + 1) th linear equation is executed in advance, and then the obtained solution is returned to the first register to continue the operation. A matrix calculation device characterized by specifying all the elements of a matrix X to be obtained.
【請求項4】 請求項3において、 前記係数発生器は、下三角行列あるいは上三角行列の一
般要素の値を係数として出力し、また、前記線形演算回
路は、前記下三角行列あるいは上三角行列の対角要素を
除数とする除算演算あるいは、この除算演算と等価な乗
算演算を行う回路を含むことを特徴とする行列演算装
置。
4. The coefficient generator outputs the value of a general element of a lower triangular matrix or an upper triangular matrix as a coefficient, and the linear arithmetic circuit outputs the lower triangular matrix or the upper triangular matrix. A matrix operation device comprising a circuit for performing a division operation using a diagonal element of the above as a divisor or a multiplication operation equivalent to this division operation.
【請求項5】 拡散コードと、推定した回線のインパル
ス応答とを畳み込んだものを規則的に配置した行列と、
前記行列の共役転置行列とを乗算して相互相関行列を生
成する相互相関行列生成部と、 前記相互相関行列をコスレキー分解あるいは変形コレス
キー分解して、下三角行列および上三角行列の積の形式
とするコレスキー分解部と、 前記下三角行列または前記上三角行列を含んだ形式で表
わされる連立一次方程式について、前進代入あるいは後
退代入を用いて解を算出する演算を、請求項1〜請求項
4のいずれかに記載の行列演算装置を用いて行う連立方
程式演算部と、 を有することを特徴とするジョイントディテクション復
調装置。
5. A matrix in which a convolution of a spreading code and an estimated impulse response of the line is regularly arranged,
A cross-correlation matrix generator that multiplies the conjugate transposed matrix of the matrix to generate a cross-correlation matrix; and a cross-correlation matrix or a modified Cholesky decomposition of the cross-correlation matrix to form a product of a lower triangular matrix and an upper triangular matrix. Cholesky factorization section to be, and for a simultaneous linear equation represented in a format including the lower triangular matrix or the upper triangular matrix, the operation of calculating a solution using forward substitution or backward substitution, 4. A joint detection demodulation device, comprising: a simultaneous equation calculation unit that uses the matrix calculation device according to any one of items 4 to 4;
【請求項6】 アダプティブアレイにおける各アンテナ
の受信信号に乗算するためのウェイトを、請求項1〜請
求項4のいずれかに記載の行列演算装置を用いて求める
ことを特徴とするアダプティブアレイ装置。
6. An adaptive array device, characterized in that a weight for multiplying a received signal of each antenna in the adaptive array is obtained by using the matrix operation device according to any one of claims 1 to 4.
【請求項7】 トラスバーサルフィルタを具備する適応
等化器における、前記トランスバーサルフィルタのタッ
プ係数を、請求項1〜請求項4のいずれかに記載の行列
演算装置を用いて求めることを特徴とする適応等化器。
7. The tap coefficient of the transversal filter in an adaptive equalizer including a traversal filter is obtained by using the matrix operation device according to claim 1. Adaptive equalizer.
【請求項8】 コレスキー分解を利用した逆行列演算
を、請求項1〜請求項4のいずれかに記載の行列演算装
置を用いて行うことを特徴とする逆行列演算装置。
8. An inverse matrix calculation device, wherein the matrix calculation device according to any one of claims 1 to 4 is used to perform an inverse matrix calculation using Cholesky decomposition.
【請求項9】 請求項5記載のジョイントディテクショ
ン復調装置,請求項6記載のアダプティブアレイ装置,
請求項7記載の適応等化器または請求項8記載の逆行列
演算装置のいずれかを搭載した無線通信装置。
9. The joint detection demodulator according to claim 5, the adaptive array device according to claim 6,
A wireless communication device equipped with either the adaptive equalizer according to claim 7 or the inverse matrix operation device according to claim 8.
JP2001314389A 2001-10-11 2001-10-11 Matrix arithmetic unit Pending JP2003122736A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001314389A JP2003122736A (en) 2001-10-11 2001-10-11 Matrix arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001314389A JP2003122736A (en) 2001-10-11 2001-10-11 Matrix arithmetic unit

Publications (1)

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

Family

ID=19132712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001314389A Pending JP2003122736A (en) 2001-10-11 2001-10-11 Matrix arithmetic unit

Country Status (1)

Country Link
JP (1) JP2003122736A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003077150A1 (en) * 2002-02-19 2003-09-18 Matsushita Electric Industrial Co., Ltd. Matrix calculation device
WO2004079585A1 (en) * 2003-03-07 2004-09-16 Matsushita Electric Industrial Co., Ltd. Matrix operating device
JP2007531072A (en) * 2003-12-19 2007-11-01 マイクロユニティ システムズ エンジニアリング インコーポレイテッド Programmable processor and method with extended arithmetic
JP2008510323A (en) * 2004-08-12 2008-04-03 日本電気株式会社 A method for calculating the filter coefficient of the equalizer of a communication receiver using the Hermite optimization method.
JP2008131366A (en) * 2006-11-21 2008-06-05 Nippon Telegr & Teleph Corp <Ntt> Radio signal detecting method
CN106296469A (en) * 2016-09-12 2017-01-04 东南大学 A kind of pretreatment sub-optimized choice method of N 1 Fault load flow update equation group
CN111052111A (en) * 2017-09-14 2020-04-21 三菱电机株式会社 Arithmetic circuit, arithmetic method, and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003077150A1 (en) * 2002-02-19 2003-09-18 Matsushita Electric Industrial Co., Ltd. Matrix calculation device
WO2004079585A1 (en) * 2003-03-07 2004-09-16 Matsushita Electric Industrial Co., Ltd. Matrix operating device
JP2007531072A (en) * 2003-12-19 2007-11-01 マイクロユニティ システムズ エンジニアリング インコーポレイテッド Programmable processor and method with extended arithmetic
JP2008510323A (en) * 2004-08-12 2008-04-03 日本電気株式会社 A method for calculating the filter coefficient of the equalizer of a communication receiver using the Hermite optimization method.
JP4682983B2 (en) * 2004-08-12 2011-05-11 日本電気株式会社 A method for calculating the filter coefficient of the equalizer of a communication receiver using the Hermite optimization method.
JP2008131366A (en) * 2006-11-21 2008-06-05 Nippon Telegr & Teleph Corp <Ntt> Radio signal detecting method
CN106296469A (en) * 2016-09-12 2017-01-04 东南大学 A kind of pretreatment sub-optimized choice method of N 1 Fault load flow update equation group
CN111052111A (en) * 2017-09-14 2020-04-21 三菱电机株式会社 Arithmetic circuit, arithmetic method, and program

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 (en) Architecture for joint detection hardware accelerator
WO2005076493A1 (en) Post despreading interpolation in cdma systems
JP2003122736A (en) Matrix arithmetic unit
US7949925B2 (en) Fixed-point implementation of a joint detector
WO2004079585A1 (en) Matrix operating device
US20040181565A1 (en) Matrix calculation device
US7924948B2 (en) Pre-scaling of initial channel estimates in joint detection
JP4167112B2 (en) Method and apparatus for detection of data transmitted by spread spectrum
JP3503433B2 (en) Spread spectrum receiver
JP3173600B2 (en) Receiving machine
JP4387567B2 (en) Complex digital matched filter
JP4141550B2 (en) Multi-user receiver
US7916841B2 (en) Method and apparatus for joint detection
KR20020040643A (en) Path searcher for spread spectrum receiver
JP3684314B2 (en) Complex multiplier and complex correlator
US20060146759A1 (en) MIMO Kalman equalizer for CDMA wireless communication
KR20020000391A (en) WCDMA channel estimator using time-multiplexed pilot
SU1631555A1 (en) Arithmetic device for fast fourier transform processor
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 (en) WCDMA channel estimator using common pilot channel

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