JPH0746145A - Arithmetic unit - Google Patents

Arithmetic unit

Info

Publication number
JPH0746145A
JPH0746145A JP19109293A JP19109293A JPH0746145A JP H0746145 A JPH0746145 A JP H0746145A JP 19109293 A JP19109293 A JP 19109293A JP 19109293 A JP19109293 A JP 19109293A JP H0746145 A JPH0746145 A JP H0746145A
Authority
JP
Japan
Prior art keywords
latch circuit
contents
register
stored
alu
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
JP19109293A
Other languages
Japanese (ja)
Inventor
Nobuo Asano
延夫 浅野
Mitsuru Uesugi
充 上杉
Toshihiro Ishikawa
利広 石川
Minoru Okamoto
稔 岡本
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 JP19109293A priority Critical patent/JPH0746145A/en
Priority to AU47598/93A priority patent/AU652896B2/en
Priority to US08/126,563 priority patent/US5715470A/en
Priority to DE69333460T priority patent/DE69333460T2/en
Priority to EP00113488A priority patent/EP1049001B1/en
Priority to DE69331568T priority patent/DE69331568T2/en
Priority to EP93115631A priority patent/EP0590597B1/en
Priority to CN93118166A priority patent/CN1049778C/en
Publication of JPH0746145A publication Critical patent/JPH0746145A/en
Priority to CN99106651.0A priority patent/CN1237046A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Abstract

PURPOSE:To reduce the number of operation steps for branch metric calculation. CONSTITUTION:Two data memories 21 and 22 addressed by the same pointer 38, an ALU 30, an adder 31 which performs addition in parallel with the ALU 30, and registers 32 to 35 which are used as pairs at the time of simultaneous processing execution of the ALU 30 and the adder 31 are provided. Contents of addresses designated by the same pointer 38 are read out from two data memories 21 and 22 and are inputted to the ALU 30 and the adder 31. Contents of pairs of registers 32 and 35 are inputted to the other inputs of the ALU 30 and the adder 31 and are added, and respective operation results are stored in pairs of registers 32 to 35 again.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ディジタル信号処理プ
ロセッサなどに利用し、誤り訂正用畳み込み符号化デー
タのビタビ復号を行う演算装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic unit for use in a digital signal processor or the like for performing Viterbi decoding of convolutional coded data for error correction.

【0002】[0002]

【従来の技術】近年、ディジタル信号処理プロセッサ
(DSP)が、ディジタル移動通信装置、例えば、携帯
電話機の回路処理用として多用されている。ディジタル
移動無線ではビット誤りが頻繁に発生し、誤り訂正処理
を行う必要がある。この誤り訂正処理として畳み込み符
号のビタビ復号を用いるものがあり、この誤り訂正処理
にDSPを使用している。
2. Description of the Related Art In recent years, a digital signal processor (DSP) has been widely used for circuit processing of a digital mobile communication device such as a mobile phone. Bit errors frequently occur in digital mobile radio, and it is necessary to perform error correction processing. As this error correction processing, there is one using Viterbi decoding of a convolutional code, and a DSP is used for this error correction processing.

【0003】ビタビ復号は、加算、比較、選択という単
純な処理の繰り返し及び最終的にデータを復号するトレ
ースバック操作で畳み込み符号の最適な復号を行うもで
ある。ビタビ復号では、情報ビット1ビットに対応する
符号化データ(受信系列)を得るごとに、その時点の各
状態へ、一つ前の時点の状態から伸びるブランチ(枝)
についてのメトリック、すなわち、ブランチメトリック
を計算する必要がある。図2は、従来の畳み込み符号器
における状態遷移の説明のための図である。図2におい
て、この例は、符号化率1/N、拘束長kの畳み込み符
号器であり、一つ前の時点における状態S[i](i=
0〜2k-1 −1)に対して、現時点の状態S[2i]と
状態S[2i+1]への状態遷移を表す2本のブランチ
がのびている様子を示している。ここで状態Sの括弧
[ ]の内の数が2k-1 以上となる場合は2k-1 の剰余
を取る。
Viterbi decoding is an optimum decoding of a convolutional code by repeating a simple process of addition, comparison, and selection, and a traceback operation for finally decoding data. In Viterbi decoding, every time coded data (reception sequence) corresponding to one information bit is obtained, a branch extending from the previous state to each state at that time is obtained.
It is necessary to calculate the metric for i.e. the branch metric. FIG. 2 is a diagram for explaining state transitions in a conventional convolutional encoder. In FIG. 2, this example is a convolutional encoder with a coding rate of 1 / N and a constraint length of k. State S [i] (i =
0 to 2 k-1 -1), two branches representing state transitions to the current state S [2i] and state S [2i + 1] are shown. If the number of parentheses [] of the state S is 2 k-1 or more, the remainder of 2 k-1 is taken.

【0004】図2中のR0 1 ・・・RN-1 はNビット
分の受信信号であり、この受信信号は硬判定値、軟判定
値のいずれでも良い。また状態S[i]から状態S[2
i]に遷移する場合に得られる畳み込み符号化データを
0 1 ・・・EN-1 (E1,i=0〜N−1は0又は
1の2値信号)とすると、状態S[i]から状態S[2
i+1]に遷移する場合に得られる畳み込み符号化デー
タは必ずE0 1 ・・・EN-1 のように反転した関係と
なる。このときそれぞれのブランチのブランチメトリッ
クB[2i]は次式(数1)で求めることが出来る。
R 0 R 1 ... RN-1 in FIG. 2 is a received signal for N bits, and this received signal may be either a hard decision value or a soft decision value. Further, from the state S [i] to the state S [2
i], the convolutionally coded data obtained when transitioning to [i] is E 0 E 1 ... E N-1 (E 1 , i = 0 to N-1 is a binary signal of 0 or 1) From [i] to state S [2
The convolutionally coded data obtained when transitioning to [i + 1] always has an inverted relationship such as E 0 E 1 ... E N-1 . At this time, the branch metric B [2i] of each branch can be obtained by the following equation (Equation 1).

【0005】[0005]

【数1】 [Equation 1]

【0006】またブランチメトリックB[2i+1]は
次式(数2)で求めることが出来る。
The branch metric B [2i + 1] can be calculated by the following equation (Equation 2).

【0007】[0007]

【数2】 [Equation 2]

【0008】ここでd(A,B)はAとBとの距離を示
す。距離計算についてはハミング距離、ユークリッド距
離など多種の求め方があり、その方法については限定し
ない。また状態遷移するときに得られる畳み込み符号化
データのパタンは、2N 種類であり、この2N 種類に対
して距離計算を行えば、2k-1 個のブランチメトリック
それぞれについて必ずしも距離計算を行う必要はない。
例えば、N=2を例にとるとブランチメトリックの種類
は以下に示す4(22 )種類を求めておけば良い。
Here, d (A, B) indicates the distance between A and B. There are various methods for calculating the distance, such as Hamming distance and Euclidean distance, and the method is not limited. The pattern of convolutionally coded data obtained at the time of state transition is 2 N types, and if distance calculation is performed on this 2 N types, distance calculation is always performed for each of 2 k-1 branch metrics. No need.
For example, when N = 2 is taken as an example, the branch metric type may be the 4 (2 2 ) types shown below.

【0009】 R0 1 と00の距離 d(R0 ,0)+d(R1
0) R0 1 と01の距離 d(R0 ,0)+d(R1
1) R0 1 と10の距離 d(R0 ,1)+d(R1
0) R0 1 と11の距離 d(R0 ,1)+d(R1
1) 図3は従来の演算装置の構成を示すブロック図である。
図3において、この演算装置は、受信信号、距離などの
データを記憶するデータメモリ1と、データメモリ1に
接続されデータの供給や演算結果の格納等を行うための
バスライン2と、算術論理演算回路(以下、ALUと略
称する)5の右側入力の値を一時記憶するラッチ回路3
とを有している。さらに、この演算装置は、ALU5の
左側入力の値を一時記憶するラッチ回路4と、算術論理
演算を行うALU5と、演算結果を一時記憶するレジス
タ6,7,8,9と、このレジスタ6,7,8,9の出
力を選択するマルチプレクサ10と、データメモリ1の
読み出し番地又は格納番地を示すポインタ11とを有し
ている。
[0009] The distance of R 0 R 1 and 00 d (R 0, 0) + d (R 1,
0) R 0 The distance between R 1 and 01 d (R 0 , 0) + d (R 1 ,
1) R 0 The distance between R 1 and 10 d (R 0 , 1) + d (R 1 ,
0) distance between R 0 R 1 and 11 d (R 0 , 1) + d (R 1 ,
1) FIG. 3 is a block diagram showing the configuration of a conventional arithmetic unit.
In FIG. 3, this arithmetic unit includes a data memory 1 for storing data such as received signals and distances, a bus line 2 connected to the data memory 1 for supplying data and storing arithmetic results, and an arithmetic logic. Latch circuit 3 for temporarily storing the value on the right side of an arithmetic circuit (hereinafter abbreviated as ALU) 5
And have. Further, this arithmetic unit has a latch circuit 4 for temporarily storing the value of the left input of the ALU 5, an ALU 5 for performing arithmetic logic operation, registers 6, 7, 8, 9 for temporarily storing the operation result, and this register 6, It has a multiplexer 10 for selecting the outputs 7, 8 and 9 and a pointer 11 for indicating a read address or a storage address of the data memory 1.

【0010】次に、この従来例の構成の動作について説
明する。ある時点の2N 種類のブランチメトリックを求
める場合を説明する。データメモリ1には受信信号及び
現実性のある規模であれば受信信号Rの取り得る全ての
値について距離d(R,0)、d(R,1)を予め求め
たテーブルとして格納する。このテーブルは距離d
(R,1)は距離d(R,0)の次の番地に格納してあ
る。また受信信号はそのテーブルを引くための番地とす
る。
Next, the operation of this conventional configuration will be described. A case of obtaining 2 N kinds of branch metrics at a certain time will be described. The data memory 1 stores the received signal and the distances d (R, 0) and d (R, 1) for all possible values of the received signal R in a realistic scale as a table obtained in advance. This table is distance d
(R, 1) is stored in the next address of the distance d (R, 0). Also, the received signal is an address for pulling the table.

【0011】次にブランチメトリックを求める動作概要
をN=0の場合について処理順に説明する。 (1)受信信号R0 をデータメモリ1から読み出してポ
インタ11に格納する。 (2)ポインタ11が指すデータメモリ1の番地から距
離d(R0 ,0)を読み出して、ラッチ回路3に格納す
る。ALU5はラッチ回路3の内容を通過させてレジス
タ6に格納する。 (3)ポインタ11が指すデータメモリ1の番地から距
離d(R0 ,0)を読み出し、ラッチ回路3に格納す
る。ALU5はラッチ回路3の内容を通過させてレジス
タ7に格納する。 (4)ポインタ11をインクリメント後、ポインタ11
が指すデータメモリ1の番地から距離d(R0 ,1)を
読み出し、ラッチ回路3に格納する。ALU5はラッチ
回路3の内容を通過させてレジスタ8に格納する。 (5)ポインタ11が指すデータメモリ1の番地から距
離d(R0 ,1)を読み出し、ラッチ回路3に格納す
る。ALU5はラッチ回路3の内容を通過させてレジス
タ9に格納する。 (6)受信信号R1 をデータメモリ1から読み出してポ
インタ11に格納する。 (7)ポインタ11が指すデータメモリ1の番地から距
離d(R1 ,0)を読み出し、ラッチ回路3に格納す
る。一方レジスタ6の内容をラッチ回路4に格納する。
ALU5はラッチ回路3の内容とラッチ回路4の内容を
加算し、その結果をレジスタ6に格納する。すなわち、
レジスタ6ではR0 1 と00の距離が求められてい
る。 (8)ポインタ11が指すデータメモリ1の番地から距
離d(R1 ,0)を読み出し、ラッチ回路3に格納す
る。一方レジスタ8の内容をラッチ回路4に格納する。
ALU5はラッチ回路3の内容とラッチ回路4の内容を
加算し、その結果をレジスタ8に格納する。すなわち、
レジスタ8ではR0 1 と10の距離が求められてい
る。 (9)ポインタ11をインクリメント後、ポインタ11
が指すデータメモリ1の番地から距離d(R1 ,1)を
読み出し、ラッチ回路3に格納する。一方レジスタ7の
内容をラッチ回路4に格納する。ALU5はラッチ回路
3の内容とラッチ回路4の内容を加算し、その結果をレ
ジスタ7に格納する。すなわち、レジスタ7ではR0
1 と01の距離が求められている。 (10)ポインタ11が指すデータメモリ1の番地から
距離d(R1 ,1)を読み出し、ラッチ回路3に格納す
る。一方レジスタ9の内容をラッチ回路4に格納する。
ALU5はラッチ回路3の内容とラッチ回路4の内容を
加算し、その結果をレジスタ9に格納する。すなわち、
レジスタ9ではR0 1 と11の距離が求められてい
る。
Next, the outline of the operation for obtaining the branch metric will be described in the order of processing when N = 0. (1) The received signal R 0 is read from the data memory 1 and stored in the pointer 11. (2) The distance d (R 0 , 0) is read from the address of the data memory 1 pointed to by the pointer 11 and stored in the latch circuit 3. The ALU 5 allows the content of the latch circuit 3 to pass and stores it in the register 6. (3) The distance d (R 0 , 0) is read from the address of the data memory 1 pointed to by the pointer 11 and stored in the latch circuit 3. The ALU 5 allows the content of the latch circuit 3 to pass and stores it in the register 7. (4) After incrementing the pointer 11, the pointer 11
The distance d (R 0 , 1) is read from the address of the data memory 1 pointed to by and is stored in the latch circuit 3. The ALU 5 allows the content of the latch circuit 3 to pass and stores it in the register 8. (5) The distance d (R 0 , 1) is read from the address of the data memory 1 pointed by the pointer 11 and stored in the latch circuit 3. The ALU 5 allows the content of the latch circuit 3 to pass and stores it in the register 9. (6) Read the received signal R 1 from the data memory 1 and store it in the pointer 11. (7) The distance d (R 1 , 0) is read from the address of the data memory 1 pointed to by the pointer 11 and stored in the latch circuit 3. Meanwhile, the contents of the register 6 are stored in the latch circuit 4.
The ALU 5 adds the contents of the latch circuit 3 and the contents of the latch circuit 4, and stores the result in the register 6. That is,
In the register 6, the distance between R 0 R 1 and 00 is obtained. (8) The distance d (R 1 , 0) is read from the address of the data memory 1 pointed by the pointer 11 and stored in the latch circuit 3. Meanwhile, the contents of the register 8 are stored in the latch circuit 4.
The ALU 5 adds the contents of the latch circuit 3 and the contents of the latch circuit 4, and stores the result in the register 8. That is,
In the register 8, the distance between R 0 R 1 and 10 is obtained. (9) After incrementing the pointer 11, the pointer 11
The distance d (R 1 , 1) is read from the address of the data memory 1 pointed to by and is stored in the latch circuit 3. Meanwhile, the contents of the register 7 are stored in the latch circuit 4. The ALU 5 adds the contents of the latch circuit 3 and the contents of the latch circuit 4, and stores the result in the register 7. That is, in register 7, R 0 R
A distance of 1 and 01 is required. (10) The distance d (R 1 , 1) is read from the address of the data memory 1 pointed to by the pointer 11 and stored in the latch circuit 3. Meanwhile, the contents of the register 9 are stored in the latch circuit 4.
The ALU 5 adds the contents of the latch circuit 3 and the contents of the latch circuit 4, and stores the result in the register 9. That is,
In the register 9, the distance between R 0 R 1 and 11 is obtained.

【0012】このように上記従来の演算装置では、N=
2の場合に22 種類のブランチメトリックを求める場合
に10ステップ程度で処理することが出来る。一般にN
=Nの場合に2N 種類のブランチメトリックを求めるの
にN(2N +1)ステップ程度の処理で行うことが出来
る。ただしNが大きく、レジスタの本数の制限等がある
場合は多少のステップ増加を見込む必要がある。またテ
ーブルを持つことが現実的でない場合は、受信信号か
ら、その都度、距離d(R,0)、d(R,1)を求め
ることが必要となり、その分のステップが増加する。
Thus, in the above conventional arithmetic unit, N =
In the case of 2, it can be processed in about 10 steps when obtaining 2 2 types of branch metrics. Generally N
In the case of = N, 2 N kinds of branch metrics can be obtained by processing in about N (2 N +1) steps. However, when N is large and the number of registers is limited, it is necessary to expect some increase in steps. If it is not realistic to have a table, it is necessary to obtain the distances d (R, 0) and d (R, 1) from the received signal each time, and the number of steps increases accordingly.

【0013】[0013]

【発明が解決しようとする課題】ところで上記従来の演
算装置がディジタル移動通信に適用される場合、1フレ
ーム数百ビットに対して畳み込み符号化されている場合
が多い。したがって、ブランチメトリック計算がビット
ごとに必要になり、その演算量が多くなるという欠点が
ある。
By the way, when the above-mentioned conventional arithmetic unit is applied to digital mobile communication, it is often the case that convolutional coding is performed for several hundred bits per frame. Therefore, the branch metric calculation is required for each bit, and there is a drawback that the amount of calculation is large.

【0014】本発明は、このような従来の問題を解決す
るものであり、ブランチメトリック計算を行う演算ステ
ップ数を軽減できる優れた演算装置の提供を目的とす
る。
The present invention solves such a conventional problem, and an object thereof is to provide an excellent arithmetic unit capable of reducing the number of arithmetic steps for performing branch metric calculation.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するため
に、本発明の演算装置は、同一のポインタで番地指定を
行う二つのデータメモリと、算術論理演算手段と、この
算術論理演算手段と並行して加算を行う加算手段と、算
術論理演算手段と加算手段が同時に処理実施する場合に
一対で使用する複数の記憶手段とを備え、二つのデータ
メモリから同一のポインタで指す番地の内容をそれぞれ
読み出して算術論理演算手段及び加算手段に入力すると
ともに、一対の記憶手段の内容をそれぞれ算術論理演算
手段及び加算手段の他方に入力して算術論理演算手段及
び加算手段で加算し、それぞれの演算結果を再び一対の
記憶手段に格納する構成としている。
In order to achieve the above object, the arithmetic unit of the present invention comprises two data memories for designating addresses with the same pointer, an arithmetic logic operation means, and an arithmetic logic operation means. It is provided with an adding means for performing addition in parallel and a plurality of storage means used in a pair when the arithmetic logic operation means and the adding means perform processing simultaneously, and stores the contents of the address pointed by the same pointer from the two data memories. Each of them is read and input to the arithmetic logic operation means and the addition means, and the contents of the pair of storage means are input to the other of the arithmetic logic operation means and the addition means, respectively, and added by the arithmetic logic operation means and the addition means, and each operation is performed. The result is stored again in the pair of storage means.

【0016】[0016]

【作用】このような構成により、本発明の演算装置は、
算術論理演算手段及び加算手段で同時に加算を行うこと
が出来るため、同時に二つのブランチメトリック計算が
行われる。したがって、データメモリを二つに分割する
ものの、データメモリのサイズ増加がなく、ブランチメ
トリック計算を行う演算ステップ数が軽減される。
With such a configuration, the arithmetic unit of the present invention is
Since the addition can be performed simultaneously by the arithmetic logic operation means and the addition means, two branch metric calculations are performed at the same time. Therefore, although the data memory is divided into two, the size of the data memory does not increase and the number of calculation steps for branch metric calculation is reduced.

【0017】[0017]

【実施例】以下、本発明の演算装置の実施例を図面を参
照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The embodiments of the arithmetic unit of the present invention will be described below in detail with reference to the drawings.

【0018】図1は本発明の演算装置の実施例における
構成を示すブロック図である。図1において、この演算
装置は、受信信号、距離などを記憶するデータメモリ2
1,22と、このデータメモリ21,22に接続されデ
ータの供給や演算結果の格納等を行うためのバスライン
23,24と、バスライン24からの入力とマルチプレ
クサ36からの入力とを選択するマルチプレクサ25と
を有している。さらに、この演算装置は、算術論理演算
回路(以下、ALUと略称する)30の右側入力の値を
一時記憶するラッチ回路26と、ALU30の左側入力
の値を一時記憶するラッチ回路27と、加算器31の右
側入力の値を一時記憶するラッチ回路28と、加算器3
1の左側入力の値を一時記憶するラッチ回路29とを有
している。また、この演算装置は、算術論理演算を行う
ALU30と、加算器31と、演算結果を一時記憶する
レジスタ32,33,34,35と、このレジスタレジ
スタ32,33,34,35の出力を選択するマルチプ
レクサ36,37と、データメモリ21,22の読み出
し番地又は格納番地を示すポインタ38とを有してい
る。
FIG. 1 is a block diagram showing the configuration of an embodiment of the arithmetic unit of the present invention. In FIG. 1, this arithmetic unit has a data memory 2 for storing received signals, distances and the like.
1 and 22 and bus lines 23 and 24 connected to the data memories 21 and 22 for supplying data and storing operation results, and selecting an input from the bus line 24 and an input from the multiplexer 36. And a multiplexer 25. Further, the arithmetic unit further includes a latch circuit 26 for temporarily storing the value of the right side input of an arithmetic logic operation circuit (hereinafter referred to as ALU) 30, a latch circuit 27 for temporarily storing the value of the left side input of ALU 30, and an addition circuit. The latch circuit 28 for temporarily storing the value on the right side of the adder 31 and the adder 3
The latch circuit 29 temporarily stores the value of the left input of 1. Further, this arithmetic unit selects an ALU 30 for performing arithmetic logic operation, an adder 31, registers 32, 33, 34, 35 for temporarily storing the arithmetic result, and outputs of the register registers 32, 33, 34, 35. It has multiplexers 36 and 37 and a pointer 38 indicating a read address or a storage address of the data memories 21 and 22.

【0019】次に、この実施例の構成における動作につ
いて説明する。ここでは、ある時点の2N 種類のブラン
チメトリックを求める動作について示す。データメモリ
21には受信信号及び現実性のある規模であれば受信信
号Rの取り得る全ての値について距離d(R,0)を、
予め求めたテーブルとして格納する。データメモリ22
には受信信号Rの取り得る全ての値について距離d
(R,1)を予め求めたテーブルとして格納する。デー
タメモリ21,22では、d(R,0)とd(R,1)
とを同一番地に格納する。またデータメモリ21に格納
する受信信号はテーブルを引くための番地である。AL
U30と加算器31を同時に使用する場合は、レジスタ
32とレジスタ35及びレジスタ33とレジスタ34を
それぞれ一対で使用する。
Next, the operation of the configuration of this embodiment will be described. Here, an operation for obtaining 2 N kinds of branch metrics at a certain time will be shown. The data memory 21 stores the distance d (R, 0) for the received signal and all possible values of the received signal R if the scale is realistic,
It is stored as a table obtained in advance. Data memory 22
Is the distance d for all possible values of the received signal R.
(R, 1) is stored as a table obtained in advance. In the data memories 21 and 22, d (R, 0) and d (R, 1)
And are stored in the same address. The received signal stored in the data memory 21 is an address for drawing a table. AL
When the U30 and the adder 31 are used at the same time, a pair of the register 32 and the register 35 and a pair of the register 33 and the register 34 are used.

【0020】次にブランチメトリックを求める動作概要
をN=2の場合について処理順に説明する。 (1)受信信号R0 をデータメモリ21から読み出しポ
インタ38に格納する。 (2)ポインタ38が指すデータメモリ21の番地から
距離d(R0 ,0)を読み出してラッチ回路26に格納
する。ALU30はラッチ回路26の内容を通過させて
レジスタ32に格納する。一方ポインタ38が指すデー
タメモリ22の番地から距離d(R0 ,1)を読み出し
てラッチ回路29に格納する。加算器31はラッチ回路
29の内容を通過させてレジスタ35に格納する。 (3)ALU30はラッチ回路26の上記(2)の処理
をもって格納した内容を通過させてレジスタ33に格納
する。一方加算器31はラッチ回路29の上記(2)の
処理をもって格納した内容を通過させてレジスタ34に
格納する。 (4)受信信号R1 をデータメモリ21から読み出しポ
インタ38に格納する。 (5)ポインタ38が指すデータメモリ21の番地から
距離d(R1 ,0)を読み出してラッチ回路26に格納
する。レジスタ32の内容をラッチ回路27に格納す
る。ALU30はラッチ回路26の内容とラッチ回路2
7の内容を加算し、その結果をレジスタ32に格納す
る。一方ポインタ38が指すデータメモリ22の番地か
ら距離d(R1 ,1)を読み出し,ラッチ回路29に格
納する。レジスタ35の内容をラッチ回路28に格納す
る。加算器31はラッチ回路28の内容とラッチ回路2
9の内容を加算し、その結果をレジスタ35に格納す
る。
Next, the outline of the operation for obtaining the branch metric will be described in the order of processing when N = 2. (1) The received signal R 0 is read from the data memory 21 and stored in the pointer 38. (2) The distance d (R 0 , 0) is read from the address of the data memory 21 pointed to by the pointer 38 and stored in the latch circuit 26. The ALU 30 allows the contents of the latch circuit 26 to pass and stores the contents in the register 32. On the other hand, the distance d (R 0 , 1) is read from the address of the data memory 22 pointed to by the pointer 38 and stored in the latch circuit 29. The adder 31 passes the content of the latch circuit 29 and stores it in the register 35. (3) The ALU 30 allows the contents stored by the processing of (2) of the latch circuit 26 to be passed and stored in the register 33. On the other hand, the adder 31 passes the contents stored by the latch circuit 29 in the process (2) and stores them in the register 34. (4) The received signal R 1 is read from the data memory 21 and stored in the pointer 38. (5) The distance d (R 1 , 0) is read from the address of the data memory 21 pointed to by the pointer 38 and stored in the latch circuit 26. The contents of the register 32 are stored in the latch circuit 27. The ALU 30 includes the contents of the latch circuit 26 and the latch circuit 2
The contents of 7 are added and the result is stored in the register 32. On the other hand, the distance d (R 1 , 1) is read from the address of the data memory 22 pointed to by the pointer 38 and stored in the latch circuit 29. The contents of the register 35 are stored in the latch circuit 28. The adder 31 includes the contents of the latch circuit 28 and the latch circuit 2
The contents of 9 are added and the result is stored in the register 35.

【0021】したがって、レジスタ32ではR0 1
00との距離が求められ、さらに、レジスタ35にはR
0 1 と11との距離が求められている。 (6)レジスタ34の内容をラッチ回路27に格納す
る。ALU30はラッチ回路26の上記(5)の処理を
もって格納した内容とラッチ回路27の内容を加算し、
その結果をレジスタ34に格納する。一方レジスタ33
の内容をラッチ回路28に格納する。加算器31はラッ
チ回路29の上記(5)の処理をもって格納した内容と
ラッチ回路28の内容を加算し、その結果をレジスタ3
3に格納する。したがって、レジスタ33にはR0 1
と01との距離が求められており、また、レジスタ34
にはR0 1 と10との距離が求められている。
Therefore, the register 32 obtains the distance between R 0 R 1 and 00, and the register 35 stores R 0.
The distance between 0 R 1 and 11 is sought. (6) The contents of the register 34 are stored in the latch circuit 27. The ALU 30 adds the contents stored in the latch circuit 26 in the above process (5) and the contents of the latch circuit 27,
The result is stored in the register 34. Meanwhile, the register 33
The content of is stored in the latch circuit 28. The adder 31 adds the contents stored in the latch circuit 29 in the above process (5) and the contents of the latch circuit 28, and outputs the result to the register 3
Store in 3. Therefore, R 0 R 1 is stored in the register 33.
And the distance between 01 and 01 is calculated, and the register 34
Requires the distance between R 0 R 1 and 10.

【0022】以上のように本実施例によれば、N=2の
場合に22 種類のブランチメトリックを求める際の処理
が6ステップ程度で可能になる。一般にN=Nの場合に
N種類のブラウスメトリックを求めるのにN(2N
2+1)ステップ処理で行うことが出来る。ただしNが
大きく、レジスタの本数の制限等があるときは多少のス
テップ処理の増加を見込む必要がある。またテーブルを
備えることが現実的でない場合は、受信信号からその都
度、距離d(R,0)、d(R,1)を求めることが必
要となり、その分のステップは増加する。すなわち、慣
用的な処理同様である。
As described above, according to this embodiment, when N = 2, the process for obtaining 2 2 types of branch metrics can be performed in about 6 steps. Generally for obtaining the 2 N kinds of blouse metric in the case of N = N N (2 N /
2 + 1) step processing can be performed. However, when N is large and the number of registers is limited, it is necessary to expect some increase in step processing. If it is not practical to provide the table, it is necessary to obtain the distances d (R, 0) and d (R, 1) from the received signal each time, and the steps are increased accordingly. That is, it is the same as the conventional processing.

【0023】[0023]

【発明の効果】以上の説明から明らかなように、本発明
の演算装置は、ALU及び加算器で同時に加算を行うこ
とが出来るため、同時に二つのブランチメトリック計算
が行われる。この場合、データメモリを二つに分割する
ものの、データメモリのサイズ増加がなく、ブランチメ
トリック計算を行う演算ステップ数を軽減できるという
効果を有する。
As is apparent from the above description, the arithmetic unit of the present invention can simultaneously perform addition by the ALU and the adder, so that two branch metric calculations are performed at the same time. In this case, although the data memory is divided into two, there is an effect that the size of the data memory does not increase and the number of operation steps for branch metric calculation can be reduced.

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

【図1】本発明の演算装置の実施例における構成を示す
ブロック図
FIG. 1 is a block diagram showing a configuration in an embodiment of an arithmetic unit of the present invention.

【図2】従来の畳み込み符号器における状態遷移の説明
のための説明図
FIG. 2 is an explanatory diagram for explaining state transitions in a conventional convolutional encoder.

【図3】従来の演算装置の構成を示すブロック図FIG. 3 is a block diagram showing a configuration of a conventional arithmetic unit.

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

21,22 データメモリ 23,24 バスライン 25,36,37 マルチプレクサ 30 ALU 26,27,28,29 ラッチ回路 31 加算器 32,33,34,35 レジスタ 38 ポインタ 21, 22 Data memory 23, 24 Bus line 25, 36, 37 Multiplexer 30 ALU 26, 27, 28, 29 Latch circuit 31 Adder 32, 33, 34, 35 Register 38 Pointer

フロントページの続き (72)発明者 岡本 稔 大阪府門真市大字門真1006番地 松下電器 産業株式会社内Front page continuation (72) Inventor Minoru Okamoto 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 同一のポインタで番地指定を行う二つの
データメモリと、算術論理演算手段と、この算術論理演
算手段と並行して加算を行う加算手段と、上記算術論理
演算手段と上記加算手段が同時に処理実施する場合に一
対で使用する複数の記憶手段とを備え、上記二つのデー
タメモリから同一のポインタで指す番地の内容をそれぞ
れ読み出して上記算術論理演算手段及び上記加算手段に
入力するとともに、一対の上記記憶手段の内容をそれぞ
れ上記算術論理演算手段及び上記加算手段の他方に入力
して上記算術論理演算手段及び上記加算手段で加算し、
それぞれの演算結果を再び一対の上記記憶手段に格納す
ることを特徴とする演算装置。
1. A data memory for specifying an address with the same pointer, an arithmetic logic operation means, an addition means for performing an addition in parallel with the arithmetic logic operation means, the arithmetic logic operation means and the addition means. Is provided with a plurality of storage means to be used in the case of simultaneously performing processing, and reads out the contents of the addresses pointed to by the same pointer from the two data memories and inputs them to the arithmetic logic operation means and the addition means. , The contents of the pair of storage means are respectively input to the other of the arithmetic logic operation means and the addition means, and added by the arithmetic logic operation means and the addition means,
An arithmetic unit characterized in that the respective arithmetic results are stored again in the pair of storage means.
JP19109293A 1992-09-29 1993-08-02 Arithmetic unit Pending JPH0746145A (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP19109293A JPH0746145A (en) 1993-08-02 1993-08-02 Arithmetic unit
AU47598/93A AU652896B2 (en) 1992-09-29 1993-09-27 Arithmetic apparatus
US08/126,563 US5715470A (en) 1992-09-29 1993-09-27 Arithmetic apparatus for carrying out viterbi decoding at a high speed
DE69333460T DE69333460T2 (en) 1992-09-29 1993-09-28 Arithmetic device
EP00113488A EP1049001B1 (en) 1992-09-29 1993-09-28 Arithmetic apparatus
DE69331568T DE69331568T2 (en) 1992-09-29 1993-09-28 Arithmetic device
EP93115631A EP0590597B1 (en) 1992-09-29 1993-09-28 Arithmetic apparatus
CN93118166A CN1049778C (en) 1992-09-29 1993-09-29 Calculator
CN99106651.0A CN1237046A (en) 1992-09-29 1999-05-18 Operator of Witt ratio encoding of convolutional code for realizing code error correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19109293A JPH0746145A (en) 1993-08-02 1993-08-02 Arithmetic unit

Publications (1)

Publication Number Publication Date
JPH0746145A true JPH0746145A (en) 1995-02-14

Family

ID=16268725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19109293A Pending JPH0746145A (en) 1992-09-29 1993-08-02 Arithmetic unit

Country Status (1)

Country Link
JP (1) JPH0746145A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889736A (en) * 1995-09-26 1999-03-30 Citizen Watch Co., Ltd. Electronic watch
US6343105B1 (en) 1997-06-10 2002-01-29 Nec Corporation Viterbi decoder

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889736A (en) * 1995-09-26 1999-03-30 Citizen Watch Co., Ltd. Electronic watch
USRE41686E1 (en) 1995-09-26 2010-09-14 Citizen Holdings Co., Ltd. Electronic watch
US6343105B1 (en) 1997-06-10 2002-01-29 Nec Corporation Viterbi decoder

Similar Documents

Publication Publication Date Title
US5715470A (en) Arithmetic apparatus for carrying out viterbi decoding at a high speed
JPH10107651A (en) Viterbi decoder
KR20030036845A (en) A Decoder For Trellis-Based Channel Encoding
EP1111798A1 (en) Digital signal processor
JP2798123B2 (en) Viterbi decoding device
JPWO2005117272A1 (en) Viterbi decoding apparatus and Viterbi decoding method
JP2003526988A (en) Viterbi decoding in path metric update performed in bit-slice order
JPH0746145A (en) Arithmetic unit
US7031407B1 (en) Apparatus and method for decoding and trace back of convolution codes using the viterbi decoding algorithm
EP1322041A1 (en) Viterbi decoder using restructured trellis
JP3203941B2 (en) Viterbi decoding device
JP2591332B2 (en) Error correction decoding device
JP3235333B2 (en) Viterbi decoding method and Viterbi decoding device
JPH0722969A (en) Arithmetic unit
JPH07245567A (en) Viterbi decoding arithmetic unit
JP3191442B2 (en) Arithmetic unit for Viterbi decoding
JP2917577B2 (en) Arithmetic unit
EP0944173A2 (en) Add-compare selection circuit for a Viterbi decoder
JP3231647B2 (en) Viterbi decoder
JP3337950B2 (en) Error correction decoding method and error correction decoding device
JP3984790B2 (en) Viterbi decoding processor
JP3250363B2 (en) Arithmetic unit
JPS63129714A (en) Viterbi decoder
CN114172524A (en) Data storage method, system, storage medium and electronic equipment
JP3288328B2 (en) Apparatus and method for speeding up traceback processing of Viterbi decoder