JP3191442B2 - Arithmetic unit for Viterbi decoding - Google Patents

Arithmetic unit for Viterbi decoding

Info

Publication number
JP3191442B2
JP3191442B2 JP25956392A JP25956392A JP3191442B2 JP 3191442 B2 JP3191442 B2 JP 3191442B2 JP 25956392 A JP25956392 A JP 25956392A JP 25956392 A JP25956392 A JP 25956392A JP 3191442 B2 JP3191442 B2 JP 3191442B2
Authority
JP
Japan
Prior art keywords
data
register
shift
path
barrel shifter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP25956392A
Other languages
Japanese (ja)
Other versions
JPH06112848A (en
Inventor
延夫 浅野
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 Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP25956392A priority Critical patent/JP3191442B2/en
Priority to AU47598/93A priority patent/AU652896B2/en
Priority to US08/126,563 priority patent/US5715470A/en
Priority to EP00113488A priority patent/EP1049001B1/en
Priority to DE69333460T priority patent/DE69333460T2/en
Priority to DE69331568T priority patent/DE69331568T2/en
Priority to EP93115631A priority patent/EP0590597B1/en
Priority to CN93118166A priority patent/CN1049778C/en
Publication of JPH06112848A publication Critical patent/JPH06112848A/en
Priority to CN99106651.0A priority patent/CN1237046A/en
Application granted granted Critical
Publication of JP3191442B2 publication Critical patent/JP3191442B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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 Viterbi decoding in a digital signal processor for performing Viterbi decoding of convolutionally encoded data for error correction.

【0002】[0002]

【従来の技術】近年、ディジタル信号処理プロセッサ
(以下DSPと略称する)は、移動通信分野におけるデ
ィジタル化の動きに伴い、例えば携帯電話等の機器に組
込まれる用途のプロセッサとして注目されている。移動
無線回線におけるデータ通信ではビット誤りが頻繁に発
生し、誤り訂正処理を行う必要がある。誤り訂正の手法
には畳込み符号にビタビ復号を用いるものがあり、この
誤り訂正処理にDSPを使用することがある。
2. Description of the Related Art In recent years, digital signal processors (hereinafter abbreviated as DSPs) have been attracting attention as processors for use in devices such as mobile phones, for example, following the trend of digitization in the mobile communication field. Bit errors frequently occur in data communication on a mobile radio line, and it is necessary to perform error correction processing. Some error correction techniques use Viterbi decoding as a convolutional code, and a DSP may be used for this error correction processing.

【0003】ビタビ復号は、加算,比較,選択という単
純な処理の繰り返しと、最終的にデータを復号するトレ
ースバック操作で畳込み符号の最尤復号(最ゆう復号)
を実現するものである。このビタビ復号では、情報ビッ
ト1ビットに対応する符号化データ(受信データ系列)
を得るごとに、その時点での各状態のパスの信号間距離
(メトリック)を計算し、生き残りパスを求める。
In Viterbi decoding, maximum likelihood decoding (maximum likelihood decoding) of a convolutional code is performed by repeating a simple process of addition, comparison and selection, and finally by a traceback operation for decoding data.
Is realized. In this Viterbi decoding, encoded data (received data sequence) corresponding to one information bit
Is obtained, the inter-signal distance (metric) of the path in each state at that time is calculated, and the surviving path is obtained.

【0004】図4は拘束長kの畳込み符号器にいて、あ
る時点における状態S2n(nは正整数)に対し、1つ前
の時点の状態Snと状態(数1)から状態遷移を表す2
本のパスがのびている様子を示している
FIG. 4 shows a convolutional encoder having a constraint length k, and a state transition from a state S n and a state (Equation 1) at a previous time to a state S 2n (n is a positive integer) at a certain time. 2 for
Shows the path of the book extending

【0005】[0005]

【数1】 (Equation 1)

【0006】パスメトリックaは、状態S2nに入力する
パスの出力シンボルと受信データ系列との信号間距離
(ブランチメトリック)と1つ前の時点の状態Snまで
の生き残りパスのブランチメトリックの総和であるパス
メトリックとの和である。同様にパスメトリックbは、
状態S2nに入力するパスの出力シンボルと受信データ系
列との距離(ブランチメトリック)と、1つ前の時点の
状態(数1)までの生き残りパスのブランチメトリック
の総和であるパスメトリックとの和である。
The path metric a is the sum of the signal-to-signal distance (branch metric) between the output symbol of the path input to the state S 2n and the received data sequence and the branch metric of the surviving path up to the previous state S n. And the path metric. Similarly, the path metric b is
The sum of the distance (branch metric) between the output symbol of the path input to the state S 2n and the received data sequence (branch metric) and the path metric that is the sum of the branch metrics of the surviving path up to the previous state (Equation 1) It is.

【0007】状態S2nに入力するパスメトリックa,b
を比較し、小さい方を生き残りパスとして選択する。こ
のようにパスメトリックを求めるための加算、パスメト
リックの比較、パスの選択の各処理を各時点で2k-1
の状態に対して行う。さらにパスの選択においてどちら
を選択したかという履歴をパスセレクト信号PS
[S i],(i=0〜{2k-1−1})として残しておく
必要がある。選ばれたパスの1つ前の状態の添え字が他
方よりも小さければPS[Si]=0、小さくなければ
PS[Si]=1とする。最終的にトレースバックによ
り復号する際に、このパスセレクト信号をもとに生き残
りパスを遡りながらデータが復号される。
[0007] State S2nPath metrics a and b input to
And select the smaller one as the surviving path. This
Addition to find path metric like
Rick comparison and path selectionk-1Pieces
Perform for the state of. Whichever way you choose your pass
The path selection signal PS
[S i], (I = 0 to $ 2k-1-1})
There is a need. Subscript of the previous state of the selected path is other
PS [Si] = 0, if not small
PS [Si] = 1. Eventually due to traceback
Survive based on this path select signal when decoding.
The data is decrypted while going back up the path.

【0008】図5はある時点における状態S2n(nは正
整数)に対し、パスセレクト信号PS[S2n]をもとに
1つ前の時点の状態Snまたは状態(数1)へパスを遡
る様子を示している。
FIG. 5 shows that the state S 2n (n is a positive integer) at a certain point in time is passed to the state S n or state (Equation 1) at the immediately preceding point based on the path select signal PS [S 2n ]. Is shown.

【0009】一般に状態Siとパスセレクト信号PS
[Si]から1つ前の状態は(数2)で表せる。
Generally, the state Si and the path select signal PS
The state immediately before [S i ] can be expressed by (Equation 2).

【0010】[0010]

【数2】 (Equation 2)

【0011】この時、末尾ビットで終端されている畳込
み符号を使用している場合は、パスセレクト信号を復号
データとしてよい。
At this time, if a convolutional code terminated by the last bit is used, the path select signal may be used as decoded data.

【0012】図6は従来のビタビ復号用DSP内部の演
算装置のブロック図を示すものである。
FIG. 6 is a block diagram showing an arithmetic unit inside a conventional DSP for Viterbi decoding.

【0013】図6において、1はデータメモリであり、
パスメトリック,パスセレクト信号,復号データなどを
記憶する。3はバレルシフタであり、データメモリ1か
ら読み出されたデータをシフトする。6は第1のバスで
あり、データメモリ1に接続されてデータの供給や演算
結果の格納等を行う。7は第1のレジスタであり、バレ
ルシフタ3でシフトする時のシフトビット数を保持す
る。8は算術理論演算回路(以下ALUと略称する)で
あり、算術理論演算を行う。9は第1のラッチであり、
ALU8の左側入力の値を一時記憶する。10は第2の
ラッチであり、ALU8の右側入力の値を一時記憶す
る。11,12はそれぞれ第2のレジスタであり、複数
で構成されており、演算結果を一時記憶する。13は第
2のバスであり、レジスタ11またはレジスタ12から
のデータ供給を行う。バレルシフタ3のシフトビット数
は2の補数体系で示し、正の数の時は右シフトとなり、
負の数の時は左シフトとなる。
In FIG. 6, 1 is a data memory,
It stores a path metric, a path select signal, decoded data, and the like. Reference numeral 3 denotes a barrel shifter that shifts data read from the data memory 1. Reference numeral 6 denotes a first bus, which is connected to the data memory 1 and supplies data and stores calculation results. Reference numeral 7 denotes a first register, which holds the number of shift bits when shifting by the barrel shifter 3. Reference numeral 8 denotes an arithmetic logic operation circuit (hereinafter abbreviated as ALU), which performs an arithmetic logic operation. 9 is a first latch,
The value of the left input of the ALU 8 is temporarily stored. A second latch 10 temporarily stores the value of the right input of the ALU 8. Reference numerals 11 and 12 denote second registers, each of which is composed of a plurality of registers and temporarily stores a calculation result. Reference numeral 13 denotes a second bus for supplying data from the register 11 or the register 12. The number of shift bits of the barrel shifter 3 is shown in a two's complement system.
A negative value indicates a left shift.

【0014】以上のように構成された演算装置につい
て、末尾ビットで終端する畳込み符号化を行った符号化
データをビタビ復号する時のトレースバック操作の動作
について示す。条件は畳込み符号の拘束長をk、符号化
されている情報ビット数をn、データメモリ1、第1の
バス6、第2のバス13、第1のラッチ9、第2のラッ
チ10、ALU8、第2のレジスタ11,12のビット
幅をそれぞれ2k-1ビットとする。さらに時点tのパス
セレクト信号PSt[Si],(t=0〜{(n−1)+
(k−1)},i=0〜{2k-1−1})はパスメモリ
(数3)のように1ワードに詰めてPM[t],(t=
0〜{(n−1)+(k−1)})の形でデータメモリ
に格納されているとする。
The operation of a traceback operation when Viterbi decoding is performed on coded data that has been subjected to convolutional coding ending with the last bit in the arithmetic device configured as described above will be described. The conditions are as follows: the constraint length of the convolutional code is k, the number of encoded information bits is n, the data memory 1, the first bus 6, the second bus 13, the first latch 9, the second latch 10, The bit widths of the ALU 8 and the second registers 11 and 12 are each 2 k-1 bits. Further, the path select signal PS t [S i ] at time t, (t = 0 to {(n−1) +
(K-1)}, i = 0 to {2 k-1 -1} are packed into one word as in the path memory (Equation 3) and PM [t], (t =
It is assumed that the data is stored in the data memory in the form of 0 ({(n-1) + (k-1)}).

【0015】[0015]

【数3】 (Equation 3)

【0016】復号されたデータY[i],(i=0〜
{n−1})は1ビット1ワードでデータメモリ1に格
納する。
The decoded data Y [i], (i = 0 to
{N-1} is stored in the data memory 1 in one bit and one word.

【0017】次にトレースバックの動作をステップに分
けて説明する。 (1)固定値[0]を第2のラッチ10に格納する。A
LU8は第2のラッチ10の値をそのまま第2のレジス
タ11に格納する。
Next, the traceback operation will be described in steps. (1) The fixed value [0] is stored in the second latch 10. A
The LU 8 stores the value of the second latch 10 in the second register 11 as it is.

【0018】[状態0から開始する。]次のステップ
(2)〜(10)についてiを{(n−1)+(k−
1)}〜(k−1)でダウンカウントしながらn回繰り
返す。
[Start from State 0] ] For the next steps (2) to (10), i is defined as {(n−1) + (k−
1) Repeat n times while counting down in} to (k-1).

【0019】(2)第2のレジスタ11の値を第2のバ
ス13を介して、第1のラッチ9に格納する。ALU8
で第1のラッチ9の値の2の補数を求め、第2のレジス
タ12に格納する。
(2) The value of the second register 11 is stored in the first latch 9 via the second bus 13. ALU8
To obtain the two's complement of the value of the first latch 9 and store it in the second register 12.

【0020】(3)第2のレジスタ12の値を第1のバ
ス6を介して、第1のレジスタ7に格納する。
(3) The value of the second register 12 is stored in the first register 7 via the first bus 6.

【0021】[次のパスセレクト信号を選択するための
シフトビット数となる。] (4)データメモリ1よりパスメモリPM[i]を読み
出し、バレルシフタ3で第1のレジスタ7が指定するシ
フトビット数分シフトし、第2のラッチ10に格納す
る。ALU8は第2のラッチ10の値をそのまま第2の
レジスタ12に格納する。
[It becomes the number of shift bits for selecting the next path select signal. (4) The path memory PM [i] is read from the data memory 1, shifted by the number of shift bits specified by the first register 7 by the barrel shifter 3, and stored in the second latch 10. The ALU 8 stores the value of the second latch 10 in the second register 12 as it is.

【0022】[選択するパスセレクト信号を最下位ビッ
ト(LSB)に寄せる。] (5)第2のレジスタ12の値を第2のバス13を介し
て第1のラッチ9に格納し、固定値[1]を第2のラッ
チ10に格納する。ALU8において第1のラッチ9と
第2のラッチ10との論理積を求め、第2のレジスタ1
2に格納する。
[The path select signal to be selected is shifted to the least significant bit (LSB). (5) The value of the second register 12 is stored in the first latch 9 via the second bus 13, and the fixed value [1] is stored in the second latch 10. In the ALU 8, the logical product of the first latch 9 and the second latch 10 is obtained, and the second register 1
2 is stored.

【0023】[LSBのみを抜き出す。] (6)第2のレジスタ12の値を復号データY[i−
(k−1)]としてデータメモリに格納する。
[Extract only LSB. (6) The value of the second register 12 is converted to the decoded data Y [i−
(K-1)] in the data memory.

【0024】[LSBが復号データとなる。] (7)第1のレジスタ7に固定値[k]を格納する。[LSB becomes decoded data. (7) The fixed value [k] is stored in the first register 7.

【0025】(8)レジスタ12の値を第2のバス13
を介して第1のラッチ9に格納し、第2のレジスタ12
の値を第1のバス6を介してバレルシフタ3で第1のレ
ジスタ7が指定するシフトビット数の分シフトした出力
を第2のラッチ10に格納する。ALU8において第1
のラッチ9と第2のラッチ10との論理和を求め、第2
のレジスタ12に格納する。
(8) The value of the register 12 is transferred to the second bus 13
And stored in the first latch 9 through the second register 12
Is output by the barrel shifter 3 via the first bus 6 by the number of shift bits specified by the first register 7 and stored in the second latch 10. First in ALU8
Of the second latch 10 and the second latch 10 is calculated.
In the register 12.

【0026】(9)第1のレジスタ7に固定値[−1]
を格納する。 (10)第2のレジスタ12の値をバレルシフタ3で第
1のレジスタ7が指定するシフトビット数の分シフトし
た出力を第2のラッチ10に格納する。ALU8は第2
のラッチ10の値をそのままレジスタ12に格納する。
(9) Fixed value [-1] in the first register 7
Is stored. (10) The value obtained by shifting the value of the second register 12 by the number of shift bits specified by the first register 7 by the barrel shifter 3 is stored in the second latch 10. ALU8 is second
Is stored in the register 12 as it is.

【0027】[ステップ(6)〜(10)で1つ前の状
態を計算する。]このように上記従来の演算装置では、
バレルシフタ3とALU8を組み合わせて演算すること
により、nビットの情報ビットのビタビ復号におけるト
レースバック操作を(9n+1)ステップかけて行うこ
とができる。
[Steps (6) to (10) calculate the previous state. As described above, in the conventional arithmetic device,
By performing a calculation by combining the barrel shifter 3 and the ALU 8, a traceback operation in Viterbi decoding of n information bits can be performed in (9n + 1) steps.

【0028】なお、演算ビット幅が状態数2k-1より小
さい場合、または末尾のビットで終端せず連続で畳込み
符号を使用する場合のトレースバック操作も同様に行え
る。
A traceback operation when the operation bit width is smaller than the number of states 2 k -1 or when a convolutional code is used continuously without terminating at the last bit can be similarly performed.

【0029】[0029]

【発明が解決しようとする課題】しかしながら、上記従
来の演算装置では、1つ前の状態を求めるのに要する演
算ステップが多く、また復号データを1ビット1ワード
で格納していくので、データメモリの容量が大きくなる
という問題があった。
However, in the above-mentioned conventional arithmetic unit, there are many arithmetic steps required to find the immediately preceding state, and the decoded data is stored in one bit and one word. However, there is a problem that the capacity of the battery becomes large.

【0030】本発明はこのような従来の問題点を解決す
るものであり、少ない演算ステップ数と少ないデータメ
モリでビタビ復号におけるトレースバック操作を行うこ
とができる優れた演算装置を提供することを目的とする
ものである。
An object of the present invention is to solve such a conventional problem and to provide an excellent arithmetic unit capable of performing a traceback operation in Viterbi decoding with a small number of operation steps and a small data memory. It is assumed that.

【0031】[0031]

【課題を解決するための手段】本発明は上記目的を達成
するために、データを記憶するメモリと、そのメモリか
ら読み出された前記データをシフトするバレルシフタ
と、そのバレルシフタの出力信号であるデータの特定の
1ビットをシフト入力として前記メモリからのデータロ
ードおよび前記メモリへのデータ格納の機能も持つシフ
トレジスタと、そのシフトレジスタの特定のレジスタの
出力を反転するインバータとを備え、前記インバータの
出力信号であるデータを前記バレルシフタのシフトビッ
ト数とし、前記メモリから読み出された前記データを前
記バレルシフタで前記インバータの出力であるデータで
示されるシフトビット数でシフトしながら、前記バレル
シフタの出力信号であるデータを前記シフトレジスタに
入力するようにしたものである。
According to the present invention, there is provided a memory for storing data, a barrel shifter for shifting the data read from the memory, and a data which is an output signal of the barrel shifter. A shift register also having a function of loading data from the memory and storing data in the memory by using a specific 1 bit as a shift input, and an inverter for inverting an output of a specific register of the shift register. The output signal of the barrel shifter is shifted while the data that is the output signal is the shift bit number of the barrel shifter and the data read from the memory is shifted by the barrel shifter by the shift bit number indicated by the data that is the output of the inverter. Is input to the shift register. Than it is.

【0032】[0032]

【作用】したがって本発明によれば、データメモリから
読み出したパスメモリをバレルシフタでシフトすること
により選択するパスセレクト信号をシフトレジスタに入
力するだけで1つ前の状態を求めることができ、また次
のバレルシフタのシフトビット数が決定でき、さらにシ
フトレジスタに格納されていくパスセレクト信号を復号
データとすることができるので、少ない演算ステップ数
と少ないデータメモリによってビタビ復号におけるトレ
ースバック操作が行われる。
Therefore, according to the present invention, the previous state can be obtained only by inputting a path select signal to be selected by shifting the path memory read from the data memory by the barrel shifter to the shift register. The number of shift bits of the barrel shifter can be determined, and the path select signal stored in the shift register can be used as decoded data. Therefore, the traceback operation in Viterbi decoding is performed with a small number of operation steps and a small data memory.

【0033】[0033]

【実施例】図1は本発明の一実施例におけるビタビ復号
用演算装置の構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of an arithmetic unit for Viterbi decoding according to an embodiment of the present invention.

【0034】図1において、1はデータメモリであり、
パスメトリック,パスセレクト信号,復号データなどを
記憶する。2はバスであり、データメモリ1に接続され
データの供給や演算結果の格納等を行う。3はバレルシ
フタであり、データメモリ1から読み出されたデータを
シフトする。4はシフトレジスタであり、バレルシフタ
3の出力の特定の1ビットをシフト入力でき、かつバス
2を介してデータメモリ1からのデータロードまたはデ
ータメモリ1へのデータ格納を行う。5はインバータで
あり、シフトレジスタ4の特定のレジスタの値を反転し
てバレルシフタ3にシフトビット数を与える。バレルシ
フタ3のシフトビット数は2の補数体系で示し、正の数
の時右シフトとなり、負の数の時左シフトとなる。シフ
トレジスタ4はシフト入力側を最上位ビット(MSB)
とする。
In FIG. 1, 1 is a data memory,
It stores a path metric, a path select signal, decoded data, and the like. Reference numeral 2 denotes a bus which is connected to the data memory 1 and supplies data and stores calculation results. Reference numeral 3 denotes a barrel shifter that shifts data read from the data memory 1. Reference numeral 4 denotes a shift register which can shift-input a specific bit of the output of the barrel shifter 3 and loads data from the data memory 1 via the bus 2 or stores data in the data memory 1. Reference numeral 5 denotes an inverter which inverts the value of a specific register of the shift register 4 and gives the barrel shifter 3 the number of shift bits. The number of shift bits of the barrel shifter 3 is shown in a two's complement system. When the number is a positive number, the shift bit is shifted right, and when the number is negative, the bit is shifted left. The shift register 4 sets the shift input side to the most significant bit (MSB).
And

【0035】以上のように構成された演算装置につい
て、末尾ビットで終端する畳込み符号を行った符号化デ
ータをビタビ復号する時のトレースバック操作の動作に
ついて説明する。条件は畳込み符号の拘束長をk、符号
化されている情報ビット数をn、データメモリ1、バス
2、シフトレジスタ4のビット幅を2k-1ビットとす
る。シフトレジスタ4のシフト入力にはバレルシフタ3
の出力のMSBが入力するようにし、インバータ5はシ
フトレジスタ4の上位(k−1)ビットを反転し、その
出力(k−1)ビットにMSBに0を付加したkビット
でバレルシフタ3のシフトビット数となるようにする。
さらに時点tのパスセレクト信号PSt[Si],(t=
0〜{(n−1)+(k−1)},i=0〜{2k-1
1})はパスメモリ(数3)のように1ワードに詰めて
PM[t],(t=0〜{(n−1)+(k−1)})
の形でメモリに1に格納されているとする。
A description will be given of the operation of the traceback operation when Viterbi decoding is performed on coded data that has been subjected to convolutional code ending with the last bit in the arithmetic unit configured as described above. The condition is that the constraint length of the convolutional code is k, the number of encoded information bits is n, and the bit width of the data memory 1, bus 2, and shift register 4 is 2 k-1 bits. The barrel shifter 3 is connected to the shift input of the shift register 4.
, And the inverter 5 inverts the upper (k-1) bits of the shift register 4 and shifts the barrel shifter 3 by k bits obtained by adding 0 to the MSB of the output (k-1) bits. Make it the number of bits.
Further, the path select signals PS t [S i ], (t =
0 to {(n-1) + (k-1)}, i = 0 to {2 k-1
1}) is packed into one word as in the path memory (Equation 3) and PM [t], (t = 0 to {(n-1) + (k-1)})
Is stored in the memory in the form of

【0036】復号されたデータY[i],(i=0〜
{n−1})は2k-1ビットを1ワードに詰め、データ
メモリ1に格納する。次にトレースバックの動作をステ
ップに分けて説明する。
The decoded data Y [i], (i = 0 to
{N−1}) packs 2 k−1 bits into one word and stores it in the data memory 1. Next, the traceback operation will be described in steps.

【0037】(1)シフトレジスタ4に固定値[0]を
格納する。 [状態0から開始する。]次のステップ(2)〜(3)
についてiを{(n−1)+(k−1)}〜(k−1)
でダウンカウントしながらn回繰り返す。
(1) A fixed value [0] is stored in the shift register 4. [Start from state 0. ] Next steps (2) to (3)
I for {(n-1) + (k-1)} to (k-1)
Repeat n times while counting down with.

【0038】(2)データメモリ1より、パスメモリP
M[i]を読み出し、バレルシフタ3でインバータ5の
出力kビットが指定するシフトビット数分シフトし、バ
レルシフタ3出力のMSBをシフトレジスタ4にシフト
入力する。
(2) From the data memory 1, the path memory P
M [i] is read, and the k bits output from the inverter 5 are shifted by the number of shift bits designated by the barrel shifter 3, and the MSB output from the barrel shifter 3 is shifted and input to the shift register 4.

【0039】[選択するパスセレクト信号をMSBに寄
せる。] [シフト入力後上位(k−1)ビットが1つ前の状態を
示す。][同時に上位(k−1)ビットの反転が次のパ
スセレクト信号を選択するためのシフトビット数のもと
となる。] (3)2k-1ビット復号されるごとに1回、シフトレジ
スタ4の内容をデータメモリに格納する。
[Send the path select signal to be selected to the MSB. [The upper (k-1) bits after the shift input indicate the previous state. [At the same time, the inversion of the upper (k-1) bits becomes the basis of the number of shift bits for selecting the next path select signal. (3) Store the contents of the shift register 4 in the data memory once each time 2 k-1 bits are decoded.

【0040】[選択されたパスセレクト信号が復号デー
タとなる。]以上のように本実施例によれば、ステップ
(2)でパスセレクト信号の選択および1つ前の状態の
計算が行えるので、nビットの情報ビットのビタビ復号
におけるトレースバック操作を{n+(n/2k-1)+
1}ステップで行うことができる。
[The selected path select signal becomes the decoded data. As described above, according to the present embodiment, the selection of the path select signal and the calculation of the immediately preceding state can be performed in step (2). Therefore, the traceback operation in the Viterbi decoding of the n-bit information bits can be performed by using {n + ( n / 2 k-1 ) +
It can be done in 1 $ steps.

【0041】図2,図3は本発明の他の実施例における
演算装置の構成を示すブロック図である。図2,図3
は、図1に示す構成に第1のレジスタ7、ALU8、第
1のラッチ9、第2のラッチ10、第2のラッチ11,
12、第2のバス13を加えたものであり、ビタビ復号
のトレースバック操作以外の処理を行うにはこれらの構
成が必要である。
FIGS. 2 and 3 are block diagrams showing the configuration of an arithmetic unit according to another embodiment of the present invention. Figures 2 and 3
Has the first register 7, the ALU 8, the first latch 9, the second latch 10, the second latch 11,
12, a second bus 13 is added, and these configurations are necessary for performing processing other than the traceback operation of Viterbi decoding.

【0042】なお、演算ビット幅が状態数2k-1より小
さい場合、または末尾のビットで終端せず連続で畳込み
符号を使用する場合のトレースバック操作も同様に行う
ことができる。
A traceback operation can be performed in the same manner when the operation bit width is smaller than the number of states 2 k -1 or when the convolutional code is used continuously without terminating at the last bit.

【0043】[0043]

【発明の効果】本発明は上記実施例より明らかなよう
に、データメモリから読み出したパスメモリをバレルシ
フタでシフトすることにより選択するパスセレクト信号
を、シフトレジスタに入力するだけで1つ前の状態を求
めることができ、次のバレルシフタのシフトビット数が
決定でき、さらにシフトレジスタに格納されて行くパス
セレクト信号を復号データとすることができるので、ビ
タビ復号におけるトレースバック操作を行うために、少
ない演算ステップ数と少ない容量のデータメモリで行う
ことができる。
According to the present invention, as is apparent from the above embodiment, a path select signal selected by shifting a path memory read from a data memory by a barrel shifter is inputted to a shift register by a previous state. Can be determined, the number of shift bits of the next barrel shifter can be determined, and the path select signal stored in the shift register can be used as decoded data. This can be performed with a data memory having a small number of operation steps and a small capacity.

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

【図1】本発明の一実施例におけるビタビ復号用演算装
置の構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of an arithmetic unit for Viterbi decoding according to an embodiment of the present invention.

【図2】同じく他の実施例におけるビタビ復号用演算装
置の構成を示すブロック図
FIG. 2 is a block diagram showing a configuration of a Viterbi decoding operation device according to another embodiment.

【図3】同じくさらに他の実施例におけるビタビ復号用
演算装置の構成を示すブロック図
FIG. 3 is a block diagram showing a configuration of a Viterbi decoding operation device according to still another embodiment.

【図4】ビタビ復号における畳込み符号器の状態遷移の
パスを示す状態遷移図(トレリス線図)
FIG. 4 is a state transition diagram (trellis diagram) showing a state transition path of a convolutional encoder in Viterbi decoding.

【図5】ビタビ復号におけるトレースバック時のパスの
遡りを示す状態遷移図(トレリス線図)
FIG. 5 is a state transition diagram (trellis diagram) showing a trace of a path at the time of traceback in Viterbi decoding.

【図6】従来のビタビ復号用演算装置の構成を示すブロ
ック図
FIG. 6 is a block diagram showing a configuration of a conventional Viterbi decoding operation device.

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

1 データメモリ 2 バス 3 バレルシフタ 4 シフトレジスタ 5 インバータ 1 data memory 2 bus 3 barrel shifter 4 shift register 5 inverter

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 データを記憶するメモリと、そのメモリ
から読み出された前記データをシフトするバレルシフタ
と、そのバレルシフタの出力信号であるデータの特定の
1ビットをシフト入力として前記メモリからのデータロ
ードおよび前記メモリへのデータ格納を行うシフトレジ
スタと、そのシフトレジスタの特定のレジスタの出力を
反転するインバータとを備え、前記インバータの出力信
号であるデータを前記バレルシフタのシフトビット数と
し、前記メモリから読み出された前記データを前記バレ
ルシフタで前記インバータの出力信号であるデータで指
定されるシフトビット数でシフトしながら前記バレルシ
フタの出力信号であるデータを前記シフトレジスタに入
力することを特徴とするビタビ復号用演算装置。
1. A memory for storing data, a barrel shifter for shifting the data read from the memory, and a data load from the memory using a specific 1 bit of data as an output signal of the barrel shifter as a shift input. And a shift register for storing data in the memory, and an inverter for inverting an output of a specific register of the shift register, wherein data as an output signal of the inverter is the number of shift bits of the barrel shifter, and Wherein the data which is an output signal of the barrel shifter is input to the shift register while shifting the read data by a shift bit number designated by the data which is an output signal of the inverter by the barrel shifter. An arithmetic unit for decoding.
JP25956392A 1992-09-29 1992-09-29 Arithmetic unit for Viterbi decoding Expired - Fee Related JP3191442B2 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP25956392A JP3191442B2 (en) 1992-09-29 1992-09-29 Arithmetic unit for Viterbi decoding
US08/126,563 US5715470A (en) 1992-09-29 1993-09-27 Arithmetic apparatus for carrying out viterbi decoding at a high speed
AU47598/93A AU652896B2 (en) 1992-09-29 1993-09-27 Arithmetic apparatus
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
JP25956392A JP3191442B2 (en) 1992-09-29 1992-09-29 Arithmetic unit for Viterbi decoding

Publications (2)

Publication Number Publication Date
JPH06112848A JPH06112848A (en) 1994-04-22
JP3191442B2 true JP3191442B2 (en) 2001-07-23

Family

ID=17335867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25956392A Expired - Fee Related JP3191442B2 (en) 1992-09-29 1992-09-29 Arithmetic unit for Viterbi decoding

Country Status (1)

Country Link
JP (1) JP3191442B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69719141T2 (en) * 1996-10-15 2003-07-24 Matsushita Electric Ind Co Ltd Device for tracing the path in a Viterbi decoder
JP3277856B2 (en) 1997-08-29 2002-04-22 日本電気株式会社 Viterbi decoder
US7496167B2 (en) * 2005-01-20 2009-02-24 Marvell World Trade Ltd. Storage efficient sliding window sum

Also Published As

Publication number Publication date
JPH06112848A (en) 1994-04-22

Similar Documents

Publication Publication Date Title
EP0590597B1 (en) Arithmetic apparatus
KR100439211B1 (en) The arithmetic processing unit
JP3241210B2 (en) Viterbi decoding method and Viterbi decoding circuit
JPH10107651A (en) Viterbi decoder
US7131055B2 (en) Fast bit-parallel Viterbi decoder add-compare-select circuit
JP3250550B2 (en) Path memory circuit and Viterbi decoding circuit
JP3266182B2 (en) Viterbi decoder
KR20030036845A (en) A Decoder For Trellis-Based Channel Encoding
JP3191442B2 (en) Arithmetic unit for Viterbi decoding
EP1322041A1 (en) Viterbi decoder using restructured trellis
JP2917577B2 (en) Arithmetic unit
JPH0722969A (en) Arithmetic unit
JP3250363B2 (en) Arithmetic unit
JP3235333B2 (en) Viterbi decoding method and Viterbi decoding device
JP2002521907A (en) Fast metric calculation for Viterbi decoder
JP3259343B2 (en) Viterbi decoder
JP3237267B2 (en) Arithmetic unit
KR100531840B1 (en) Method for computing branch metric in viterbi decoder and circuit thereof
JP3269845B2 (en) Viterbi decoder
JP3343217B2 (en) Viterbi comparison / selection operation for 2-bit traceback coding
JP3996858B2 (en) Arithmetic processing unit
JP3634333B2 (en) Digital signal processor
WO2002056480A1 (en) Viterbi decoder
Jamal et al. Design and FPGA Implementation of Low Power Punctured Soft Decision Viterbi Decoder
JPH06204894A (en) Majority deciding circuit and viterbi decoder

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees