JPH06112848A - ビタビ復号用演算装置 - Google Patents

ビタビ復号用演算装置

Info

Publication number
JPH06112848A
JPH06112848A JP25956392A JP25956392A JPH06112848A JP H06112848 A JPH06112848 A JP H06112848A JP 25956392 A JP25956392 A JP 25956392A JP 25956392 A JP25956392 A JP 25956392A JP H06112848 A JPH06112848 A JP H06112848A
Authority
JP
Japan
Prior art keywords
data
shift
register
viterbi decoding
path
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.)
Granted
Application number
JP25956392A
Other languages
English (en)
Other versions
JP3191442B2 (ja
Inventor
Nobuo Asano
延夫 浅野
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 JP25956392A priority Critical patent/JP3191442B2/ja
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/de
Priority to DE69331568T priority patent/DE69331568T2/de
Priority to EP93115631A priority patent/EP0590597B1/en
Priority to CN93118166A priority patent/CN1049778C/zh
Publication of JPH06112848A publication Critical patent/JPH06112848A/ja
Priority to CN99106651.0A priority patent/CN1237046A/zh
Application granted granted Critical
Publication of JP3191442B2 publication Critical patent/JP3191442B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)
  • Dc Digital Transmission (AREA)

Abstract

(57)【要約】 【目的】 ビタビ復号を行うディジタル信号プロセッサ
において、少ないハードウェアを追加することによって
ビタビ復号処理を高速に、しかも少ないメモリ量で行う
ことができる演算装置を提供する。 【構成】 ビタビ復号におけるトレースバック操作を行
うために、データメモリ1から読み出したパスメモリデ
ータをバレルシフタ3でシフトすることにより選択する
パスセレクト信号を、シフトレジスタ4に入力するだけ
で1つ前の状態を求めることができ、シフトレジスタ4
の特定のレジスタの出力を反転するインバータ5により
バレルシフタ3の次のシフトビット数が決定でき、さら
にシフトレジスタ4に格納されていくパスセレクト信号
を復号データとすることができる構成であり、ビタビ復
号演算を少ない演算ステップ数と少ないデータメモリ量
で行うことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、誤り訂正用畳込み符号
化データのビタビ復号を行うディジタル信号処理プロセ
ッサ内部のビタビ復号用演算装置に関する。
【0002】
【従来の技術】近年、ディジタル信号処理プロセッサ
(以下DSPと略称する)は、移動通信分野におけるデ
ィジタル化の動きに伴い、例えば携帯電話等の機器に組
込まれる用途のプロセッサとして注目されている。移動
無線回線におけるデータ通信ではビット誤りが頻繁に発
生し、誤り訂正処理を行う必要がある。誤り訂正の手法
には畳込み符号にビタビ復号を用いるものがあり、この
誤り訂正処理にDSPを使用することがある。
【0003】ビタビ復号は、加算,比較,選択という単
純な処理の繰り返しと、最終的にデータを復号するトレ
ースバック操作で畳込み符号の最尤復号(最ゆう復号)
を実現するものである。このビタビ復号では、情報ビッ
ト1ビットに対応する符号化データ(受信データ系列)
を得るごとに、その時点での各状態のパスの信号間距離
(メトリック)を計算し、生き残りパスを求める。
【0004】図4は拘束長kの畳込み符号器にいて、あ
る時点における状態S2n(nは正整数)に対し、1つ前
の時点の状態Snと状態(数1)から状態遷移を表す2
本のパスがのびている様子を示している
【0005】
【数1】
【0006】パスメトリックaは、状態S2nに入力する
パスの出力シンボルと受信データ系列との信号間距離
(ブランチメトリック)と1つ前の時点の状態Snまで
の生き残りパスのブランチメトリックの総和であるパス
メトリックとの和である。同様にパスメトリックbは、
状態S2nに入力するパスの出力シンボルと受信データ系
列との距離(ブランチメトリック)と、1つ前の時点の
状態(数1)までの生き残りパスのブランチメトリック
の総和であるパスメトリックとの和である。
【0007】状態S2nに入力するパスメトリックa,b
を比較し、小さい方を生き残りパスとして選択する。こ
のようにパスメトリックを求めるための加算、パスメト
リックの比較、パスの選択の各処理を各時点で2k-1
の状態に対して行う。さらにパスの選択においてどちら
を選択したかという履歴をパスセレクト信号PS
[S i],(i=0〜{2k-1−1})として残しておく
必要がある。選ばれたパスの1つ前の状態の添え字が他
方よりも小さければPS[Si]=0、小さくなければ
PS[Si]=1とする。最終的にトレースバックによ
り復号する際に、このパスセレクト信号をもとに生き残
りパスを遡りながらデータが復号される。
【0008】図5はある時点における状態S2n(nは正
整数)に対し、パスセレクト信号PS[S2n]をもとに
1つ前の時点の状態Snまたは状態(数1)へパスを遡
る様子を示している。
【0009】一般に状態Siとパスセレクト信号PS
[Si]から1つ前の状態は(数2)で表せる。
【0010】
【数2】
【0011】この時、末尾ビットで終端されている畳込
み符号を使用している場合は、パスセレクト信号を復号
データとしてよい。
【0012】図6は従来のビタビ復号用DSP内部の演
算装置のブロック図を示すものである。
【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の補数体系で示し、正の数の時は右シフトとなり、
負の数の時は左シフトとなる。
【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)})の形でデータメモリ
に格納されているとする。
【0015】
【数3】
【0016】復号されたデータY[i],(i=0〜
{n−1})は1ビット1ワードでデータメモリ1に格
納する。
【0017】次にトレースバックの動作をステップに分
けて説明する。 (1)固定値[0]を第2のラッチ10に格納する。A
LU8は第2のラッチ10の値をそのまま第2のレジス
タ11に格納する。
【0018】[状態0から開始する。]次のステップ
(2)〜(10)についてiを{(n−1)+(k−
1)}〜(k−1)でダウンカウントしながらn回繰り
返す。
【0019】(2)第2のレジスタ11の値を第2のバ
ス13を介して、第1のラッチ9に格納する。ALU8
で第1のラッチ9の値の2の補数を求め、第2のレジス
タ12に格納する。
【0020】(3)第2のレジスタ12の値を第1のバ
ス6を介して、第1のレジスタ7に格納する。
【0021】[次のパスセレクト信号を選択するための
シフトビット数となる。] (4)データメモリ1よりパスメモリPM[i]を読み
出し、バレルシフタ3で第1のレジスタ7が指定するシ
フトビット数分シフトし、第2のラッチ10に格納す
る。ALU8は第2のラッチ10の値をそのまま第2の
レジスタ12に格納する。
【0022】[選択するパスセレクト信号を最下位ビッ
ト(LSB)に寄せる。] (5)第2のレジスタ12の値を第2のバス13を介し
て第1のラッチ9に格納し、固定値[1]を第2のラッ
チ10に格納する。ALU8において第1のラッチ9と
第2のラッチ10との論理積を求め、第2のレジスタ1
2に格納する。
【0023】[LSBのみを抜き出す。] (6)第2のレジスタ12の値を復号データY[i−
(k−1)]としてデータメモリに格納する。
【0024】[LSBが復号データとなる。] (7)第1のレジスタ7に固定値[k]を格納する。
【0025】(8)レジスタ12の値を第2のバス13
を介して第1のラッチ9に格納し、第2のレジスタ12
の値を第1のバス6を介してバレルシフタ3で第1のレ
ジスタ7が指定するシフトビット数の分シフトした出力
を第2のラッチ10に格納する。ALU8において第1
のラッチ9と第2のラッチ10との論理和を求め、第2
のレジスタ12に格納する。
【0026】(9)第1のレジスタ7に固定値[−1]
を格納する。 (10)第2のレジスタ12の値をバレルシフタ3で第
1のレジスタ7が指定するシフトビット数の分シフトし
た出力を第2のラッチ10に格納する。ALU8は第2
のラッチ10の値をそのままレジスタ12に格納する。
【0027】[ステップ(6)〜(10)で1つ前の状
態を計算する。]このように上記従来の演算装置では、
バレルシフタ3とALU8を組み合わせて演算すること
により、nビットの情報ビットのビタビ復号におけるト
レースバック操作を(9n+1)ステップかけて行うこ
とができる。
【0028】なお、演算ビット幅が状態数2k-1より小
さい場合、または末尾のビットで終端せず連続で畳込み
符号を使用する場合のトレースバック操作も同様に行え
る。
【0029】
【発明が解決しようとする課題】しかしながら、上記従
来の演算装置では、1つ前の状態を求めるのに要する演
算ステップが多く、また復号データを1ビット1ワード
で格納していくので、データメモリの容量が大きくなる
という問題があった。
【0030】本発明はこのような従来の問題点を解決す
るものであり、少ない演算ステップ数と少ないデータメ
モリでビタビ復号におけるトレースバック操作を行うこ
とができる優れた演算装置を提供することを目的とする
ものである。
【0031】
【課題を解決するための手段】本発明は上記目的を達成
するために、データを記憶するメモリと、そのメモリか
ら読み出された前記データをシフトするバレルシフタ
と、そのバレルシフタの出力信号であるデータの特定の
1ビットをシフト入力として前記メモリからのデータロ
ードおよび前記メモリへのデータ格納の機能も持つシフ
トレジスタと、そのシフトレジスタの特定のレジスタの
出力を反転するインバータとを備え、前記インバータの
出力信号であるデータを前記バレルシフタのシフトビッ
ト数とし、前記メモリから読み出された前記データを前
記バレルシフタで前記インバータの出力であるデータで
示されるシフトビット数でシフトしながら、前記バレル
シフタの出力信号であるデータを前記シフトレジスタに
入力するようにしたものである。
【0032】
【作用】したがって本発明によれば、データメモリから
読み出したパスメモリをバレルシフタでシフトすること
により選択するパスセレクト信号をシフトレジスタに入
力するだけで1つ前の状態を求めることができ、また次
のバレルシフタのシフトビット数が決定でき、さらにシ
フトレジスタに格納されていくパスセレクト信号を復号
データとすることができるので、少ない演算ステップ数
と少ないデータメモリによってビタビ復号におけるトレ
ースバック操作が行われる。
【0033】
【実施例】図1は本発明の一実施例におけるビタビ復号
用演算装置の構成を示すブロック図である。
【0034】図1において、1はデータメモリであり、
パスメトリック,パスセレクト信号,復号データなどを
記憶する。2はバスであり、データメモリ1に接続され
データの供給や演算結果の格納等を行う。3はバレルシ
フタであり、データメモリ1から読み出されたデータを
シフトする。4はシフトレジスタであり、バレルシフタ
3の出力の特定の1ビットをシフト入力でき、かつバス
2を介してデータメモリ1からのデータロードまたはデ
ータメモリ1へのデータ格納を行う。5はインバータで
あり、シフトレジスタ4の特定のレジスタの値を反転し
てバレルシフタ3にシフトビット数を与える。バレルシ
フタ3のシフトビット数は2の補数体系で示し、正の数
の時右シフトとなり、負の数の時左シフトとなる。シフ
トレジスタ4はシフト入力側を最上位ビット(MSB)
とする。
【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に格納されているとする。
【0036】復号されたデータY[i],(i=0〜
{n−1})は2k-1ビットを1ワードに詰め、データ
メモリ1に格納する。次にトレースバックの動作をステ
ップに分けて説明する。
【0037】(1)シフトレジスタ4に固定値[0]を
格納する。 [状態0から開始する。]次のステップ(2)〜(3)
についてiを{(n−1)+(k−1)}〜(k−1)
でダウンカウントしながらn回繰り返す。
【0038】(2)データメモリ1より、パスメモリP
M[i]を読み出し、バレルシフタ3でインバータ5の
出力kビットが指定するシフトビット数分シフトし、バ
レルシフタ3出力のMSBをシフトレジスタ4にシフト
入力する。
【0039】[選択するパスセレクト信号をMSBに寄
せる。] [シフト入力後上位(k−1)ビットが1つ前の状態を
示す。][同時に上位(k−1)ビットの反転が次のパ
スセレクト信号を選択するためのシフトビット数のもと
となる。] (3)2k-1ビット復号されるごとに1回、シフトレジ
スタ4の内容をデータメモリに格納する。
【0040】[選択されたパスセレクト信号が復号デー
タとなる。]以上のように本実施例によれば、ステップ
(2)でパスセレクト信号の選択および1つ前の状態の
計算が行えるので、nビットの情報ビットのビタビ復号
におけるトレースバック操作を{n+(n/2k-1)+
1}ステップで行うことができる。
【0041】図2,図3は本発明の他の実施例における
演算装置の構成を示すブロック図である。図2,図3
は、図1に示す構成に第1のレジスタ7、ALU8、第
1のラッチ9、第2のラッチ10、第2のラッチ11,
12、第2のバス13を加えたものであり、ビタビ復号
のトレースバック操作以外の処理を行うにはこれらの構
成が必要である。
【0042】なお、演算ビット幅が状態数2k-1より小
さい場合、または末尾のビットで終端せず連続で畳込み
符号を使用する場合のトレースバック操作も同様に行う
ことができる。
【0043】
【発明の効果】本発明は上記実施例より明らかなよう
に、データメモリから読み出したパスメモリをバレルシ
フタでシフトすることにより選択するパスセレクト信号
を、シフトレジスタに入力するだけで1つ前の状態を求
めることができ、次のバレルシフタのシフトビット数が
決定でき、さらにシフトレジスタに格納されて行くパス
セレクト信号を復号データとすることができるので、ビ
タビ復号におけるトレースバック操作を行うために、少
ない演算ステップ数と少ない容量のデータメモリで行う
ことができる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるビタビ復号用演算装
置の構成を示すブロック図
【図2】同じく他の実施例におけるビタビ復号用演算装
置の構成を示すブロック図
【図3】同じくさらに他の実施例におけるビタビ復号用
演算装置の構成を示すブロック図
【図4】ビタビ復号における畳込み符号器の状態遷移の
パスを示す状態遷移図(トレリス線図)
【図5】ビタビ復号におけるトレースバック時のパスの
遡りを示す状態遷移図(トレリス線図)
【図6】従来のビタビ復号用演算装置の構成を示すブロ
ック図
【符号の説明】
1 データメモリ 2 バス 3 バレルシフタ 4 シフトレジスタ 5 インバータ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 データを記憶するメモリと、そのメモリ
    から読み出された前記データをシフトするバレルシフタ
    と、そのバレルシフタの出力信号であるデータの特定の
    1ビットをシフト入力として前記メモリからのデータロ
    ードおよび前記メモリへのデータ格納を行うシフトレジ
    スタと、そのシフトレジスタの特定のレジスタの出力を
    反転するインバータとを備え、前記インバータの出力信
    号であるデータを前記バレルシフタのシフトビット数と
    し、前記メモリから読み出された前記データを前記バレ
    ルシフタで前記インバータの出力信号であるデータで指
    定されるシフトビット数でシフトしながら前記バレルシ
    フタの出力信号であるデータを前記シフトレジスタに入
    力することを特徴とするビタビ復号用演算装置。
JP25956392A 1992-09-29 1992-09-29 ビタビ復号用演算装置 Expired - Fee Related JP3191442B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP25956392A JP3191442B2 (ja) 1992-09-29 1992-09-29 ビタビ復号用演算装置
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 (de) 1992-09-29 1993-09-28 Arithmetisches Gerät
EP00113488A EP1049001B1 (en) 1992-09-29 1993-09-28 Arithmetic apparatus
DE69331568T DE69331568T2 (de) 1992-09-29 1993-09-28 Arithmetisches Gerät
EP93115631A EP0590597B1 (en) 1992-09-29 1993-09-28 Arithmetic apparatus
CN93118166A CN1049778C (zh) 1992-09-29 1993-09-29 用于实现误码纠错用卷积码的维特比译码的运算装置
CN99106651.0A CN1237046A (zh) 1992-09-29 1999-05-18 用于实现误码纠错用卷积码的维特比译码的运算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25956392A JP3191442B2 (ja) 1992-09-29 1992-09-29 ビタビ復号用演算装置

Publications (2)

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

Family

ID=17335867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25956392A Expired - Fee Related JP3191442B2 (ja) 1992-09-29 1992-09-29 ビタビ復号用演算装置

Country Status (1)

Country Link
JP (1) JP3191442B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6337890B1 (en) 1997-08-29 2002-01-08 Nec Corporation Low-power-consumption Viterbi decoder
KR100439211B1 (ko) * 1996-10-15 2004-10-26 마쯔시다덴기산교 가부시키가이샤 연산처리장치
JP2008541498A (ja) * 2005-01-20 2008-11-20 マーベル ワールド トレード リミテッド 高記憶効率スライディングウィンドウ加算

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439211B1 (ko) * 1996-10-15 2004-10-26 마쯔시다덴기산교 가부시키가이샤 연산처리장치
US6337890B1 (en) 1997-08-29 2002-01-08 Nec Corporation Low-power-consumption Viterbi decoder
JP2008541498A (ja) * 2005-01-20 2008-11-20 マーベル ワールド トレード リミテッド 高記憶効率スライディングウィンドウ加算

Also Published As

Publication number Publication date
JP3191442B2 (ja) 2001-07-23

Similar Documents

Publication Publication Date Title
EP0590597B1 (en) Arithmetic apparatus
US5946361A (en) Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
KR100439211B1 (ko) 연산처리장치
JPH10107651A (ja) ビタビ復号装置
JP3274668B2 (ja) 演算処理装置及び演算処理方法
US7131055B2 (en) Fast bit-parallel Viterbi decoder add-compare-select circuit
KR20030036845A (ko) 트렐리스에 기초한 채널 부호화를 위한 복호기
JP3191442B2 (ja) ビタビ復号用演算装置
US6910177B2 (en) Viterbi decoder using restructured trellis
JP2917577B2 (ja) 演算装置
JP2000311096A (ja) 演算処理装置
JPH0722969A (ja) 演算装置
JP3235333B2 (ja) ビタビ復号方法およびビタビ復号化装置
JP3259343B2 (ja) ビタビ復号器
JP3250363B2 (ja) 演算装置
KR100414152B1 (ko) 프로그래머블 프로세서에서의 비터비 디코딩 연산방법 및그 연산방법을 실행하기 위한 연산회로
JP3269845B2 (ja) ヴィタビ復号器
JP3351414B2 (ja) ビタビ復号装置
JP3996858B2 (ja) 演算処理装置
JPH0746145A (ja) 演算装置
JP3634333B2 (ja) ディジタル信号処理プロセッサ
WO2002056480A1 (fr) Decodeur de viterbi
Jamal et al. Design and FPGA Implementation of Low Power Punctured Soft Decision Viterbi Decoder
JPH10178356A (ja) 演算処理装置及びそれを用いた無線局装置
JP2001094443A (ja) Acs演算装置及びビタビ復号装置

Legal Events

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