JPH088762A - ビタビ復号方法及びビタビ復号回路 - Google Patents

ビタビ復号方法及びビタビ復号回路

Info

Publication number
JPH088762A
JPH088762A JP6141480A JP14148094A JPH088762A JP H088762 A JPH088762 A JP H088762A JP 6141480 A JP6141480 A JP 6141480A JP 14148094 A JP14148094 A JP 14148094A JP H088762 A JPH088762 A JP H088762A
Authority
JP
Japan
Prior art keywords
path
time
bit
state
comparison result
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
JP6141480A
Other languages
English (en)
Other versions
JP3241210B2 (ja
Inventor
Satoru Araki
哲 荒木
Yoshihito Shimazaki
良仁 島▲崎▼
Shigeru Ono
茂 小野
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP14148094A priority Critical patent/JP3241210B2/ja
Priority to KR1019950015564A priority patent/KR100403035B1/ko
Priority to US08/489,933 priority patent/US5946361A/en
Priority to CA002152238A priority patent/CA2152238A1/en
Publication of JPH088762A publication Critical patent/JPH088762A/ja
Application granted granted Critical
Publication of JP3241210B2 publication Critical patent/JP3241210B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【目的】 復号に必要な演算を少なくすると共に、構成
要素を削減する。 【構成】 ある時刻のある状態に遷移し得る前時刻の状
態が2個であって、前時刻のその2個の状態に至るまで
の2つのパスメトリック値と、前時刻の2個の状態から
ある時刻のある状態に至る2つの枝メトリック値とか
ら、上記ある時刻のある状態に至る2つのパスメトリッ
ク値を求め、求めた2つのパスメトリック値を大小比較
し、上記ある時刻のある状態に至るまでの最尤のパスを
決定すると共に、その比較結果ビットを記憶し、パスの
バックトレースを、次々と記憶された上記比較結果ビッ
トに基づいて行なって元信号を復号するビタビ復号方法
を前提とする。そして、パスのバックトレース時に、あ
る状態を表すビット列の最後尾に、当該状態に遷移した
際の比較結果ビットを付加し、この付加したビット列に
基づいて、前の状態及び復号された元信号を求めるよう
にした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、畳み込み符号のビタビ
アルゴリズムを用いた復号方法及び復号回路に関する。
【0002】
【従来の技術】一般に、移動通信や衛星通信では誤り訂
正符号として畳み込み符号が用いられる。この畳み込み
符号の復号方式として、ビタビアルゴリズムが多く利用
されている。この種のビタビアルゴリズムを用いた復号
(以下、ビタビ復号と呼ぶ)方法に関しては、例えば、
『今井著「符号理論」(電子情報通信学会、287ペー
ジ)』に記載されている。
【0003】図2は、ビタビ復号方法を実現するビタビ
復号回路の構成例を示すブロック図である。
【0004】図2において、伝送路から受信された受信
系列は、枝メトリック計算部201に入力され、枝メト
リック計算部201は、受信系列(及び各状態値)から
2つの枝メトリックを計算して加算・比較・選択部(以
下、ACS部と呼ぶ)202に出力する。パスメトリッ
クメモリ部203は、パスメトリック値を書き込む機能
及び読み出す機能を有し、読み出したパスメトリック値
をACS部202に出力する。ACS部202は、2つ
の枝メトリックの値及びパスメトリックメモリ部203
から読み出したパスメトリック値を加算又は減算し、比
較した後、いずれかを選択すると共に、選択した値(パ
スメトリック値)をパスメトリックメモリ部203に書
き込み、また、比較結果としての1ビットデータをパス
メモリ部204に出力する。パスメモリ部204は、こ
の比較結果の1ビットデータの書き込み機能及び読出し
機能を有する。このパスメモリ部204内に格納されて
いる比較結果を用いて、図示しないバックトレース部が
畳み込み符号化された元信号の復号を行なう。
【0005】通常、畳み込み符号化された元信号の復号
は、数値演算処理及び信号処理用のデジタルシグナルプ
ロセッサ(以下、DSPと呼ぶ)又はそれに類する大規
模集積回路(以下、LSIと呼ぶ)でソフトウェア処理
又はハードウェア処理によって行なわれる。ビタビ復号
を実現する復号回路を、ハードウェアとしてDSP上に
実現した例は、『日経エレクトロニクス(1994−2
−28)、15〜16ページ』に記載されている。
【0006】図3は、この文献に記載されたビタビ復号
を実現する復号回路のDSP上への実現例の一部構成を
示すブロック図である。すなわち、図2におけるACS
部202及びパスメモリ部204の詳細を示している。
また、図4は、図3の構成及び処理の説明のために示し
たトレリス図の一部である。
【0007】図3において、ACS部202の構成要素
としては、2つのパスメトリック値301、2つの枝メ
トリック値302、算術・論理演算部(以下、ALUと
呼ぶ)303、比較器304及び選択器305が該当
し、パスメモリ部204の構成要素としては、シフトレ
ジスタ306、データバス307及び汎用的なデータ保
存用ランダムアクセスメモリ(以下RAMと呼ぶ)30
8が該当する。
【0008】一般に、拘束長kの畳み込み符号における
各状態は(k−1)ビットで表せる。従って、各時刻で
の状態総数Nは2k-1 である。時刻tのある状態の上位
(k−2)ビットに1ビットを最上位に付加した(k−
1)ビットが次の時刻t+1の状態になるので、時刻t
+1のある状態へは、時刻tの2つの状態からのみ遷移
する。今、各時刻の状態を小さい順に並べて考え、時刻
t+1におけるJ+1番目の状態(状態Jと呼ぶ)を考
えると、図4に示すように、この状態Jへは時刻tの最
下位ビットのみ異なる2つの状態2J、2J+1から遷
移する(なお、Jは0、…、(N/2)−1である)。
例えば、時刻t+1における状態Jが01101であれ
ば、時刻tにおける状態2J(=11010)及び2J
+1(=11011)から遷移する。また、時刻t+1
における状態Jに対して最上位ビットだけが異なる(最
上位ビットが1)時刻t+1における状態J+N/2
も、図4に示すように、時刻tの同じ状態2J、2J+
1から遷移するものである。なお、図4における+M、
−Mは枝メトリック値を表している。
【0009】図3は、このような点に基づいており、時
刻tのN個の状態の中から2つの状態のパスメトリック
値を取出してACS処理し、この2つの状態毎の処理を
繰り返すようにしているものである。
【0010】図3において、時刻tの2つの状態2J、
2J+1に係る2つのパスメトリック値301(PMt
(2J)、PMt (2J+1))、及び、図2の枝メト
リック計算部201から与えられた2つの枝メトリック
値302(+M、−M)はALU303に入力される。
【0011】ALU303は、まず、2つのパスメトリ
ック値PMt (2J)、PMt (2J+1)及び2つの
枝メトリック値+M、−Mを加算し、得られた加算結果
A(J)及びB(J)を比較器304及び選択器305
に出力する。ここで、加算結果A(J)及びB(J)
は、時刻t+1の状態Jへ至る2つのパスのパスメトリ
ック値である。
【0012】 A(J)=PMt (2J)+(+M) …(1) B(J)=PMt (2J+1)+(−M) …(2) 比較器304は、パスメトリック値A(J)及びB
(J)の大小比較を行ない、この比較で勝ち残ったパス
メトリック値A(J)又はB(J)が、選択器305で
選択され、時刻t+1における状態Jのパスメトリック
値PMt+1 (J)として図2のパスメトリックメモリ部
203に出力される。
【0013】ALU303は、次に、2つのパスメトリ
ック値PMt (2J)、PMt (2J+1)及び2つの
枝メトリック値+M、−Mを減算し、得られた減算結果
C(J+N/2)及びD(J+N/2)を比較器304
及び選択器305に出力する。ここで、減算結果C(J
+N/2)及びD(J+N/2)は、時刻t+1の状態
J+N/2へ至る2つのパスのパスメトリック値であ
る。
【0014】 C(J+N/2)=PMt (2J)−(+M) …(3) D(J+N/2)=PMt (2J+1)−(−M) …(4) 比較器304は、パスメトリック値C(J+N/2)及
びD(J+N/2)の大小比較を行ない、この比較で勝
ち残ったパスメトリック値C(J+N/2)又はD(J
+N/2)が、選択器305で選択され、時刻t+1に
おける状態J+N/2のパスメトリック値PMt+1 (J
+N/2)として図2のパスメトリックメモリ部203
に出力される。
【0015】例えば、比較器304は、A(J)≧B
(J)であれば「0」を、A(J)<B(J)であれば
「1」の比較結果の1ビットデータ(以下、比較結果ビ
ットと呼ぶ)を出力する。例えば、比較器304は、C
(J+N/2)≧D(J+N/2)であれば「0」を、
C(J+N/2)<D(J+N/2)であれば「1」の
比較結果ビットを出力する。
【0016】このような比較結果ビットは、選択器30
5だけでなく、シフトレジスタ306に与えられる。シ
フトレジスタ306はデータバス307のデータ幅に準
じた段数を有し、比較器304からの比較結果ビットを
格納すると同時に、格納する前に格納されていたデータ
を1ビットシフトする。シフトレジスタ306への入力
データがこの段数を超えた場合、このシフトレジスタ3
06は、図示しない命令デコーダからの制御信号により
制御され、格納するデータをパラレルデータとしてデー
タバス307を介して、データバス307のデータ幅に
準ずるデータ幅を有するデータ保存用RAM308に出
力し、そのデータをデータ保存用RAM308に格納さ
せる。
【0017】このようにして、時刻0から所定の最終時
刻までの全ての状態についての比較結果ビットが求めら
れる。パスメトリックメモリ部203に格納されている
全状態のパスメトリック値から、所定の最終時刻におけ
る最適な状態が定まると、データ保存用RAM308
(及びシフトレジスタ306)に格納されている比較結
果ビットに基づいて、元信号を復号する処理(一般にパ
スのバックトレースと呼ばれている)が行なわれる。従
来、バックトレースはソフトウェアによる処理により行
なわれることが多い。
【0018】
【発明が解決しようとする課題】しかしながら、従来の
ビタビ復号方法及びビタビ復号回路は、種々の問題を有
するものであった。
【0019】(第1の問題)原理の説明は省略するが、
パスのバックトレースを行なうソフトウェア処理の一例
を示すと以下の通りである。
【0020】時刻t+1における最尤パス上の状態Jt+
1 から、前の時刻tにおける状態Jt を求めるには、最
尤パスの探索のために状態Jt+1 に遷移した際の比較結
果ビットbJ の値に応じた(5)式又は(6)式の計算
を行なう。また、時刻tにおける元信号St の復号は、
(7)式の計算により行なう。
【0021】 Jt =2×mod(Jt+1 ,N/2) (bJ =0の時) …(5) Jt =2×mod(Jt+1 ,N/2)+1 (bJ =1の時) …(6) St =(int)(Jt+1 /(N/2)) …(7) ここで、Nは状態の総数を表す。また、mod(X,
Y)はXをYで割ったときの余りを表し、(int)
(Z)はZ以下の最大の整数を表す。
【0022】これら(5)式〜(7)式の計算をソフト
ウェアで行なう場合、(1) データを記憶装置から読み出
すためのアドレス演算、(2) データの転送のための演
算、(3) 乗算やmod計算等の算術演算、(4) bJ によ
る分岐等の非常に多くの演算処理が必要であり、復号に
長い時間がかかるという問題があった。
【0023】(第2の問題)図3に示すように、DSP
又はそれに類するLSIのハードウェア構成で復号回路
を実現した場合、データ保存用RAM308の構成がパ
スのバックトレースに適していない。
【0024】データ保存用RAM308は比較結果ビッ
トを格納しているが、このデータ保存用RAM308は
一般にデータバス307に準ずるデータ幅を持つため、
このデータ保存用RAM308から1ビットデータであ
る比較結果ビットを読み出すには、多くの演算が必要で
あり、このRAM以外にも、かなりの容量の読み出し専
用メモリ(以下、ROMと呼ぶ)やRAMが必要とな
る。
【0025】図5には、データ保存用RAM308から
比較結果ビットを読み出すための演算の第1例及び第2
例を示す。
【0026】第1例は、図5(A)に示すように、必要
な比較結果ビットがデータ保存用RAM308内のある
1ワードデータの第Nビットに格納されているときに、
「1」をNビットだけ左シフトした図5(B)に示す取
出用データを形成し、データ保存用RAM308から読
出した1ワードデータと取出用データとの論理和をと
り、この論理和より所望の比較結果を求めるものであ
る。すなわち、この論理和が「0」であれば比較結果ビ
ットは「0」、この論理和が「0」以外であれば比較結
果ビットは「1」とするものである。
【0027】第2例は、図5(C)に示すように、必要
な比較結果ビットがデータ保存用RAM308内のある
1ワードデータの第Nビットに格納されているときに、
1ワードデータを読出し、必要な比較結果ビットが最下
位ビットになるよう1ワードデータを右Nビットだけシ
フトし、最下位ビット以外を「0」にマスクした図5
(D)に示すデータを比較結果とするものである。
【0028】これら2例におけるビットシフト量Nは、
各状態に対するテーブルとして、DSP又はそれに類す
るLSI上のRAM又はROMに格納されており、この
ようなテーブルを予め作成しなければならないという問
題がある。
【0029】また、上述のように、データ保存用RAM
308から比較結果ビットを読み出すためには、ビット
シフト、マスク処理といった演算や、シフト量をテーブ
ルから読出し、転送するといった演算が必要となり、演
算の処理量がかなり多いという問題がある。
【0030】第1例及び第2例以外にも、ビットシフト
又はマスク処理等の演算を省くため、比較結果ビットが
図3のシフトレジスタ306に格納される度にシフトレ
ジスタ306の内容をデータ保存用RAM308に書き
込み、1ワードデータで1つの比較結果を表す方法もあ
るが、この方法では、シフトレジスタ306からデータ
保存用RAM308への転送処理の増加、及びデータ保
存用RAM308の使用量の増加が生じる。
【0031】(第3の問題)従来技術では、比較器30
4の比較結果ビットがシフトレジスタ306の段数を超
えた場合に、シフトレジスタ306の内容を退避させな
ければならず、データ転送という演算が必要になるとい
う問題がある。
【0032】(第4の問題)従来技術では、比較器30
4及びALU303をハードウェア化しているため、回
路規模が大きくなるという問題がある。
【0033】
【課題を解決するための手段】かかる課題を解決するた
め、第1の本発明は、ある時刻のある状態に遷移し得る
前時刻の状態が2個であって、前時刻のその2個の状態
に至るまでの2つのパスメトリック値と、前時刻の2個
の状態からある時刻のある状態に至る2つの枝メトリッ
ク値とから、上記ある時刻のある状態に至る2つのパス
メトリック値を求め、求めた2つのパスメトリック値を
大小比較し、上記ある時刻のある状態に至るまでの最尤
のパスを決定すると共に、その比較結果ビットを記憶
し、パスのバックトレースを、次々と記憶された比較結
果ビットに基づいて行なって元信号を復号するビタビ復
号方法において、パスのバックトレース時に、ある状態
を表すビット列の最後尾に、当該状態に遷移した際の比
較結果ビットを付加し、この付加したビット列に基づい
て、前の状態及び復号された元信号を求めることを特徴
とする。
【0034】また、第2の本発明は、ある時刻の2つの
状態に至るまでのパスメトリック値及び前時刻の2個の
状態からある時刻のある状態に至る2つの枝メトリック
値とから、次の時刻の所定の状態に至る2つのパスメト
リック値を求める算術・論理演算部と、求められた2つ
のパスメトリック値の大小比較を行なう比較器と、この
比較器からの比較結果ビットに基づき、算術・論理演算
部が求めた2つのパスメトリック値の一方を選択する選
択器と、比較器からの比較結果ビットを格納するパスメ
モリ部と、パスのバックトレース時に、パスメモリ部か
ら読み出された比較結果ビットを、既に格納されている
データを1ビットずつ上位にシフトさせて最下位ビット
に格納するパストレースレジスタと、パストレースレジ
スタ内のデータを用いて、パスメモリ部の読み出し番地
を発生するアドレス発生部とを、ビタビ復号回路が有す
ることを特徴とする。
【0035】さらに、第3の本発明は、ある時刻の2つ
の状態に至るまでのパスメトリック値及び前時刻の2個
の状態からある時刻のある状態に至る2つの枝メトリッ
ク値とから、次の時刻の所定の状態に至る2つのパスメ
トリック値を求める算術・論理演算部と、求められた2
つのパスメトリック値の大小比較を行なう比較器と、こ
の比較器からの比較結果ビットに基づき、上記算術・論
理演算部が求めた2つのパスメトリック値の一方を選択
する選択器とを備えたビタビ復号回路において、算術・
論理演算部及び比較器として、同一の演算回路を時分割
で用いることを特徴とする。
【0036】
【作用】第1〜第3の本発明は共に、ある時刻のある状
態に遷移し得る前時刻の状態が2個であって、前時刻の
その2個の状態に至るまでの2つのパスメトリック値
と、前時刻の2個の状態からある時刻のある状態に至る
2つの枝メトリック値とから、上記ある時刻のある状態
に至る2つのパスメトリック値を求め、求めた2つのパ
スメトリック値を大小比較し、上記ある時刻のある状態
に至るまでの最尤のパスを決定すると共に、その比較結
果ビットを記憶し、パスのバックトレースを、次々と記
憶された比較結果ビットに基づいて行なって元信号を復
号するビタビ復号を前提とする。
【0037】このようなビタビ復号方式の場合、ある時
刻における状態は、次の状態に遷移した際の比較結果ビ
ットを次の状態の最後尾に付加したビット列の下位側ビ
ットで表すことができる。また、ある状態に至るパスの
各時刻の比較結果ビットを、そのある状態の最後尾に時
刻を逆に辿りながら付加したビット列(トレース値)
は、復号すべき元信号を含んでいる。
【0038】第1の本発明は、このような特質に鑑み、
パスのバックトレース時に、ある状態を表すビット列の
最後尾に、当該状態に遷移した際の比較結果ビットを付
加し、この付加したビット列に基づいて、前の状態及び
復号された元信号を求めるようにしたものである。
【0039】そのため、第1の本発明を実現するには、
比較結果ビットを格納する記憶部と、ある状態に至るパ
スの各時刻の比較結果ビットを、そのある状態の最後尾
に時刻を逆に辿りながら付加したビット列を格納する記
憶部を備え、これら記憶部間のデータの授受を行なえば
良い。言い換えれば、パスのバックトレースに必要な演
算は、2つの記憶部間のデータ転送及び記憶部のアドレ
ス演算のみであり、従来のような算術演算や分岐演算を
不要にできる。
【0040】第2の本発明も、上述の特質に基づいてな
されたものであり、回路として実現したものである。第
2の本発明によれば、比較結果ビットは直接パスメモリ
部に格納されるので、レジスタからのデータの退避が不
要である。
【0041】ここで、パスメモリ部が、1ビット単位で
番地が割り振られているものであると、比較結果ビット
をビットシフトやマスク等の演算を行なうことなく読み
出すことができる。
【0042】第3の本発明は、ある時刻の2つの状態に
至るまでのパスメトリック値及び前時刻の2個の状態か
らある時刻のある状態に至る2つの枝メトリック値とか
ら、次の時刻の所定の状態に至る2つのパスメトリック
値を求める算術・論理演算部と、求められた2つのパス
メトリック値の大小比較を行なう比較器とは、演算を行
なうという点では同種のものであることに基づき、算術
・論理演算部及び比較器として、同一の演算回路を時分
割で用いることとし、回路の小規模化を図ったものであ
る。
【0043】
【実施例】
(A)第1実施例 以下、本発明の第1実施例を図面を参照しながら詳述す
る。この第1実施例は、パスのバックトレースのハード
ウェア処理又はソフトウェア処理を実現できる方式であ
る。
【0044】図1は、第1実施例の機能的構成を示すも
のであり、上述した図3に示した構成部分に相当する部
分を示している。この第1実施例では、かかる部分に相
当する部分は、ACS部101、第1及び第2の記憶部
102及び103でなっている。なお、第1及び第2の
記憶部102及び103は、その書込み及び読出しの制
御構成を含むものとする。
【0045】ACS部101は、ハードウェア及びソフ
トウェアのいずれで実現されていても良いものである。
仮に、ハードウェアで実現される場合は、詳細構成の図
示は図1では省略しているが(図3参照)、従来と同様
に、2つのパスメトリック値301、2つの枝メトリッ
ク値302、ALU303、比較器304及び選択器3
05からなり、比較結果ビットを第1の記憶部102に
出力する。
【0046】第1の記憶部102には、状態遷移時には
ACS部101から比較結果ビットが与えられ、また、
パスのバックトレース時には第2の記憶部103から当
該第2の記憶部103内の状態を示す値(以下、状態値
と呼ぶ)が与えられる。第1の記憶部102は、ACS
部101から与えられた比較結果ビットを格納する。ま
た、第1の記憶部102は、第2の記憶部103から状
態値が与えられたときには、その状態値に応じた格納し
ている比較結果ビットを第2の記憶部103に出力す
る。
【0047】第2の記憶部103は、パスのバックトレ
ース時に機能するものであり、第1の記憶部102から
入力された比較結果ビットを格納し、格納した比較結果
ビットを用いて前の状態値を求め、この状態値を第1の
記憶部102に出力する。
【0048】次に、第1実施例の動作原理について、拘
束長6(状態数32)の畳み込み符号を例にして説明す
る。
【0049】図6は、拘束長6(状態数32)の畳み込
み符号のトレリス図の一部を示している。
【0050】図6において、t、t+1、t+2、t+
3、t+4、t+5は時刻を表し、「0」又は「1」を
用いて表された5ビットの値はそれぞれ状態を示してい
る。ある時刻の状態から次の時刻の状態へ遷移する枝に
付加された「0」又は「1」は、その遷移に係るACS
部101からの比較結果ビットであり、この比較結果ビ
ットが付与された枝の方が次の時刻のある状態へ遷移す
る2つの枝のうち選択された側である。
【0051】図4を用いて上述したように、時刻t+5
における状態00001のパスメトリック値A(000
01)は、時刻t+4における状態00010のパスメ
トリック値PMt+4 (00010)及び状態00010
から状態00001に至る枝メトリック値の加算結果で
あり、時刻t+5における状態00001のパスメトリ
ック値B(00001)は、時刻t+4における状態0
0011のパスメトリック値PMt+4 (00011)及
び状態00011から状態00001に至る枝メトリッ
ク値の加算結果である。
【0052】時刻t+5における状態00001に遷移
する場合の比較結果ビットは、時刻t+5における尤度
比較によっており、該尤度はパスメトリック値A(00
001)及びB(00001)として示され、A(00
001)の尤度がB(00001)より高ければ
「0」、低ければ「1」である。尤度の高い、低いは、
パスメトリック値又は枝メトリック値の算出方法による
が、パスメトリック値の大きいものを尤度が高いとした
場合、A(00001)≧B(00001)であれば
「0」、A(00001)<B(00001)であれば
「1」となり、一方、パスメトリック値の小さいものを
尤度が高いとした場合、A(00001)≧B(000
01)であれば「1」、A(00001)<B(000
01)であれば「0」となる。以降の説明では前者を用
いて行なう。
【0053】このようにして時刻t+5における状態0
0001に遷移した際の比較結果ビットが分かれば時刻
t+4における状態も分かる。すなわち、時刻t+5に
おける状態00001に遷移した際の比較結果ビットが
「0」である場合、時刻t+4における状態は0001
0となる。
【0054】ここで、時刻t+4における状態0001
0に注目する。この状態00010は、時刻t+5にお
ける状態00001の最後尾に、前述の比較結果ビット
0を付加したビット列000010の下位5ビットで与
えられている。
【0055】一般に、拘束長kの畳み込み符号における
状態は(k−1)ビットで表せる。例えば、ある時刻t
における状態がJの場合、時刻t−1における状態I
(Iは2J又は2J+1)は、状態Jに遷移した際の比
較結果ビットを状態Jの最後尾に付加したビット列の下
位(k−1)ビットで表すことができる。
【0056】ある状態に至るパスの時刻が異なる比較結
果ビットを、そのある状態の最後尾に時刻を逆に辿りな
がら付加したビット列をトレース値と呼ぶ。時刻を1つ
だけ前に辿ったトレース値の最上位ビットは、ある状態
の1つ前の状態における畳み込み符号器への入力であ
り、これは復号すべき元信号を表している。
【0057】以下、同様に、時刻t+3以前の状態につ
いても順次求めることができる。図6に示した例では、
時刻t+4における状態00010に遷移した際の比較
結果ビットは「1」であり、トレース値の最後尾に
「1」を付加した値0000101の下位5ビットの値
00101が時刻t+3における状態である。
【0058】また、時刻t+3における状態00101
に遷移した際の比較結果ビットは「1」であり、トレー
ス値の最後尾に「1」を付加した値00001011の
下位5ビットの値の01011が時刻t+2における状
態である。
【0059】このようにして、時刻tまでパスのバック
トレースを行なうと、トレース値は000010110
1となる。このトレース値の下位5ビットの値0110
1が、時刻tにおける状態を示し、残りのデータ000
01を下位ビットから上位ビットに向かって読んだ値
1、0、0、0、0が復号すべき元信号である。
【0060】第1実施例は、このような原理を利用して
パスのバックトレースを行なうものである。拘束長kの
畳み込み符号におけるパスのバックトレースは、次のよ
うに行なう。
【0061】第1の記憶部102にACS部101から
の比較結果ビットが全ての時刻及び状態について格納さ
れている状態からパスのバックトレースを開始する。ま
た、パスメトリックメモリ部203に格納されている最
終時刻の全状態のパスメトリック値から、最終時刻にお
ける最適な状態が定め、この最終時刻の状態を第2の記
憶部103に設定してパスのバックトレースを開始す
る。第2の記憶部103は、上述したトレース値を格納
する記憶部になっている。
【0062】まず、次の(a) 〜(c) の処理を時刻0にな
るまで時刻を遡って繰返す。
【0063】(a) 第2の記憶部103に格納されている
データ(トレース値)の下位(k−1)ビットでなる状
態値を第1の記憶部102に与え、その状態値の状態に
遷移した際の比較結果ビットを第1の記憶部102から
読み出す。
【0064】(b) 読み出した比較結果ビットを第2の記
憶部103のトレース値の最後尾に付加する。
【0065】(c) この付加したデータ(トレース値)の
下位(k−1)ビットを前の時刻の状態とする。
【0066】このような処理を時刻0まで行なうと、次
に、第2の記憶部102のデータ(トレース値)の下位
(k−1)ビット以外の残りのデータを下位から上位に
向かって読み、復号された元信号として出力する。
【0067】従来のビタビ復号処理を行なうDSP又は
それに類するLSIにおいては、パスのバックトレース
を行なうには、第1の問題として上述したように、アド
レス演算、データ転送、算術演算及び分岐という多数の
演算処理が必要である。
【0068】第1実施例によれば、第1及び第2の記憶
部102及び103を設け、この記憶部間のデータ転送
のみでパスのバックトレースを行なっているので、従来
に比較して算術演算及び分岐の演算処理を削減でき、復
号時間を短縮でき、また、構成を簡単なものとすること
ができる。
【0069】なお、この第1実施例について言えば、第
1の記憶部102として従来のデータ保存用RAM30
8を適用できる。
【0070】(B)第2実施例 次に、本発明の第2実施例を図面を参照しながら詳述す
る。この第2実施例は、ACS機能やパスのバックトレ
ースを行なう機能を、DSP又はそれに類するLSI上
にハードウェアとして搭載した演算回路(ビタビ復号回
路の一部)であり、その構成を図7に示している。な
お、図7において、図3との同一部分には同一符号を付
して示している。図7に示した構成以外のビタビ復号回
路の構成はハードウェア的であっても良く、ソフトウェ
ア的であっても良い。また、図7に示した構成はハード
ウェアを意識しているものであるが、その一部がソフト
ウェア的であっても良い。
【0071】図7において、この第2実施例の回路は、
2つのパスメトリック値301、2つの枝メトリック値
302、算術及び論理演算部(以下、ALUと呼ぶ)3
03、比較器304及び選択器305等の図3に示す従
来回路と同様な構成を有すると共に、さらに、パスメモ
リ部706、パストレースレジスタ707及びアドレス
発生部(以下、AGUと呼ぶ)708を有する。言い換
えると、この第2実施例の回路は、図3に示す従来回路
におけるシフトレジスタ306、データバス307及び
汎用的なデータ保存用RAM308の部分を、パスメモ
リ部706、パストレースレジスタ707及びAGU7
08に置き換えたものである。
【0072】従って、ACSの処理は従来回路と同様に
なされる。ある時刻の2つの状態に係る2つのパスメト
リック値301、及び、図2の枝メトリック計算部20
1から与えられた2つの枝メトリック値302はALU
303に入力され、これら2つのパスメトリック値30
1及び2つの枝メトリック値302がALU303にお
いて加算され、また、減算される。2つの加算結果は、
比較器304によって大小比較され、この比較で勝ち残
ったパスメトリック値(加算結果)が選択器305で選
択され、次の時刻における所定状態のパスメトリック値
として図2のパスメトリックメモリ部203に出力さ
れ、2つの減算結果に対しても同様な処理がなされる。
比較器304による比較結果を表すビットデータ(比較
結果ビット)は出力される。
【0073】この第2実施例の場合、比較器304から
の比較結果ビットはパスメモリ部706に出力される。
【0074】次に、この第2実施例が特徴とする構成要
素であるパスメモリ部706、パストレースレジスタ7
07及びAGU708について説明する。
【0075】パスメモリ部706は、入力された比較結
果ビットを格納するものである(機能的に言えば従来の
シフトレジスタ306も適用可能である)。また、この
パスメモリ部706は、パスのバックトレースを行なう
際に、内部に格納されたこの比較結果ビットを適宜読み
出し、パストレースレジスタ707に出力するものであ
る。
【0076】パストレースレジスタ707は、所定段数
のシフトレジスタでなり、格納されているデータ(トレ
ース値)を上位側に1ビットだけシフト(左1ビットシ
フト)を行なった後、パスメモリ部706からの入力デ
ータ(比較結果ビット)を最下位ビットに格納するもの
である。また、パストレースレジスタ707は、内部に
格納されたデータの下位の所定ビット数(状態値)だけ
読み出し、AGU708に出力するものである。
【0077】AGU708は、パストレースレジスタ7
07からのデータ、及び、当該AGU708内部の図示
しないアドレスレジスタの値を用いて、パスメモリ部7
06の番地を発生し、パスメモリ部706の番地指定を
行なう。AGU708における番地の加算量又は減算量
等は、図示しない外部の命令デコーダにより制御でき
る。また、AGU708は、DSP又はそれに類するL
SIに一般に内蔵されるアドレス演算ユニットを用いる
ことも可能である。
【0078】図8はパスメモリ部706の一構成例を示
すものであり、また、図9はパストレースレジスタ70
7の一構成例を示すものである。ここでは、一例とし
て、拘束長k=6(状態数32)、時刻t=0〜88の
畳み込み符号のビタビ復号の場合について示している。
【0079】パスメモリ部706は、ここでは、1ビッ
ト単位にアクセスできるものであり、1×Mビット(M
=32×89)の記憶回路であるため構造上は1次元配
列であるが、理解を容易にするために、図8においては
2次元配列として表記している。縦に状態を表す000
00(0)から11111(31)までの32個、横に
時刻を表す0000000(0)から1011000
(88)までの89個の1ビットの記憶素子を並べた形
になっており、このパスメモリ部706の番地は横7ビ
ット縦5ビットの順に並べて000000000000
〜101100011111の12ビットで表すことが
できる。
【0080】パストレースレジスタ707を構成するシ
フトレジスタは、上述したトレース値を格納するもので
あるので、トレース値のビット数が最も多くなる時刻0
のトレース値を格納できる段数が必要である。すなわ
ち、時刻の総数89と、時刻89での状態(バックトレ
ースの初期状態)を表すビット数5との和である94ビ
ット以上の段数が必要である。
【0081】次に、拘束長k=6(状態数32)、時刻
t=0〜88の畳み込み符号をビタビ復号する動作を説
明する。
【0082】図7において、受信系列に応じて状態が遷
移していくときには、パスメモリ部706には各時刻の
各状態に対する比較器704からの比較結果ビット
「0」又は「1」が次々と与えられ、パスメモリ部70
6は時刻及び状態によって定まる番地にその比較結果ビ
ットを次々と格納する。
【0083】例えば、時刻0における状態0に遷移した
際の比較結果ビットは、パスメモリ部706の番地00
0000000000に格納され、また、時刻42にお
ける状態31に遷移した際の比較結果ビットは、「4
2」がビット列0101010、「31」がビット列1
1111で表されるため、パスメモリ部706の番地0
10101011111に格納される。
【0084】このような比較結果ビットの格納動作を時
刻t=88までの全状態について実行すると、次に、パ
スのバックトレースを行なって元信号を復号する。パス
のバックトレース手順T1〜T10は、以下の通りであ
る。
【0085】T1:時刻t=88の全状態の中で最もパ
スメトリック値の大きい状態(最尤状態)を選択し、こ
の状態からパスのバックトレースを行なう。図8は、状
態00111(7)が最もパスメトリック値の大きい状
態であるとしている。
【0086】T2:パストレースレジスタ707の最下
位5ビットに最終時刻t=88の最もパスメトリック値
の大きい状態を表す5ビットを格納する。ここでは、0
0111が入る。
【0087】T3:パスメモリ部706に格納されてい
る、時刻t=88(1011000)における状態00
111に遷移した際の比較結果ビットを読む。すなわ
ち、パスメモリ部706の番地10110000011
1に格納されている値「1」を読み出す。
【0088】T4:この比較結果ビットを、パストレー
スレジスタ707の内容を左1ビットシフトした後最下
位ビットに格納する。この例では「1」が入る。
【0089】T5:パストレースレジスタ707に格納
されたデータの下位5ビットで状態を表現する。ここで
は01111になり、この値01111が時刻t=87
における状態値である。
【0090】T6:パスメモリ部706に格納されてい
る時刻t=87(1010111)における状態011
11に遷移する場合の比較結果ビットを読む。すなわ
ち、パスメモリ部706の番地10101110111
1に格納されている値「0」を読み出す。
【0091】T7:この比較結果ビットをパストレース
レジスタ707の内容を左1ビットシフトした後最下位
ビットに格納する。この例では「0」が入る。
【0092】T8:パストレースレジスタ707に格納
されたデータの下位5ビットで状態を表現する。ここで
は11110になり、この値11110が時刻t=86
における状態値である。
【0093】T9:以下、同様にして、パスメモリ部7
06に格納されている値(比較結果ビット)を読出し、
パストレースレジスタ707に格納しながら1時刻前の
状態値を求める。
【0094】T10:時刻0までのトレース終了後、パ
ストレースレジスタ707に格納されているデータの下
位5ビット11101(時刻0におけるパスの状態を表
している)以外の残りのデータを下位から上位に読み、
その読んだ値0010…01100111100を最終
的なビタビ復号結果として出力する。
【0095】以上のように手順T1〜T10の手順によ
って、この第2実施例においては、第1実施例の第1の
記憶部102及び第2の記憶部103の特化回路とし
て、それぞれパスメモリ部706及びパストレースレジ
スタ707を用い、パスのバックトレースを行なうこと
ができる。
【0096】次に、AGU707の構成例について説明
する。ここで、図7との同一部分に同一符号を付した図
10はAGU707の構成例を示している。なお、図1
0に示した構成例の考え方(アドレス指定方法)はソフ
トウェアによって実現されても良い。
【0097】図10において、AGU707は、アドレ
スレジスタ1001、アドレス加算器1002及びアド
レス減算器1003から構成されている。
【0098】図10に示す詳細構成を有するAGU70
7の動作を、上述した手順T1〜T10を例に説明す
る。
【0099】アドレスレジスタ1003には、初期値と
して101100000000が格納され、パストレー
スレジスタ707の下位5ビットには最終時刻t=88
の最もパスメトリック値の大きい状態を表す5ビット
(00111)が格納される(T1、T2)。アドレス
レジスタ1003の初期値101100000000は
時刻tが88であって状態が0を表しているが、状態0
は後述するように無意味なもの(ダミー値)である。
【0100】次に、パストレースレジスタ707の下位
5ビット及びアドレスレジスタ1001の内容は、アド
レス加算器1002により加算される。加算結果101
100000111は、時刻t=88における状態00
111に遷移した際の比較結果ビット「1」が格納され
ているパスメモリ部706の番地である。この番地に格
納されている比較結果ビット「1」は読み出され、パス
トレースレジスタ707の内容を左1ビットシフト後、
パストレースレジスタ707の最下位ビットに格納され
る(T3〜T5)。
【0101】アドレスレジスタ1001の内容は、アド
レス減算器1003により100000(32)だけ減
算され、101011100000となる。この減算
は、アドレスレジスタ1001の内容のうち時刻tを表
す上位7ビットの値を1段階だけ小さくしていることに
該当し、言い換えると、時刻を1つ前にしている。減算
後のアドレスレジスタ1001の内容及びパストレース
レジスタ707の下位5ビット01111を加算する。
この加算結果101011101111は、時刻t=8
7における状態01111に遷移した際の比較結果ビッ
トが格納されているパスメモリ部706の番地となる
(T6)。
【0102】以下、同様に、パスメモリ部706の番地
は指定され、比較結果ビットはパストレースレジスタ7
07に格納されていく(T7〜T10)。
【0103】図11に、図10に示す詳細構成を有する
AGU708の動作を示したフローチャートである。
【0104】まず、アドレスレジスタ1001に初期値
101100000000にセットする(ステップSP
1)。次に、最終時刻t=88における最大のパスメト
リック値を持つ状態をパストレースレジスタ707の下
位5ビットに格納する(ステップSP2)。
【0105】パストレースレジスタ707の下位5ビッ
ト及びアドレスレジスタ1001の内容をアドレス加算
器102によって加算し、加算結果により、パスメモリ
部706の番地指定を行ない、この番地に格納されてい
る比較結果ビットを読み出す(ステップSP3)。次
に、パストレースレジスタ707を左1ビットシフトさ
せた後、読み出した比較結果ビットをパストレースレジ
スタ707の最下位ビットに格納する(ステップSP
4)。
【0106】次に、アドレスレジスタ1001の内容が
000000100000(32)以上か否かを判別
し、言い換えると時刻t=0についての処理を終了した
か否かを判別し(ステップSP5)、00000010
0000(32)より小さければ(時刻t=0について
の処理を終了していれば)、パスのバックトレースは終
了し、それ以外であれば、アドレスレジスタ1001の
内容をアドレス減算器1003によって100000
(32)だけ減算し(ステップSP6)、上述したステ
ップSP3の処理に戻る。
【0107】なお、例えば、図10におけるアドレスレ
ジスタ1001として時刻だけのビット列を格納するも
のを適用し、アドレス減算器1003として1デクリメ
ントのものを適用し、アドレス加算器1002に代え
て、パストレースレジスタ707の下位5ビットが下位
5ビットに設定され、アドレスレジスタ1001のビッ
ト列がそれより上位に設定されるレジスタを適用して、
AGU708を構成しても良い。
【0108】以上のように、この第2実施例によれば、
ビタビ復号処理の中のパスのバックトレースを行なうハ
ードウェアをDSP又はそれに類するLSI上に搭載す
ることができる。
【0109】また、従来では、ACS部の比較結果ビッ
トを格納する記憶部(パスメモリ部)として、あるデー
タ幅を持つデータ保存用RAMを用いていたため、パス
メモリ部内の1ビットの比較結果ビットの読み出しビッ
トシフト又はマスク処理の演算が必要であったり、1ビ
ットのデータをデータ保存用RAMの1ワードに展開す
ることが必要であったり、データ保存用RAMの使用量
が増大していたが、この第2実施例によれば、比較結果
ビットを格納する記憶部として1ビットデータの書き込
み及び読み出しが可能なパスメモリ部706を用いてい
ることにより、ビットシフト及びマスク処理の演算の削
減、及びRAM又はROMの使用量の削減を図ることが
できる。
【0110】さらに、従来、DSP又はそれに類するL
SIではACS部の比較結果ビットは、データバスのデ
ータ幅に準ずる段数のシフトレジスタに一時格納され、
比較結果ビットがこのシフトレジスタの段数を超えた場
合に、シフトレジスタの内容をデータ保存用RAMへ退
避しなければならず、この退避のためデータ転送処理が
必要であったが、この第2実施例によれば、ACS部の
比較結果ビットは直接パスメモリ部706に格納される
ため、退避処理は必要なく、データ転送処理を削減でき
る。
【0111】(C)第3実施例 次に、本発明の第3実施例を図面を参照しながら詳述す
る。この第3実施例は、ACS部のハードウェア規模の
削減を意図したものであり、その構成を図12に示して
いる。なお、図12において、図3及び図7との同一、
対応部分には同一符号を付して示している。
【0112】図12に示すように、この第3実施例は、
パスのバックトレースを行なうハードウェア構成部分で
あるパスメモリ部706、パストレースレジスタ707
及びAGU708は第2実施例と同一であり、ACS部
の構成が第2実施例と異なっている。第3実施例のAC
S部は、2つのパスメトリック値301、2つの枝メト
リック値302、算術及び論理演算部(以下、ALUと
呼ぶ)303、加減算・比較器1203及び選択器30
5で構成されている。
【0113】この第3実施例においては、ある時刻の2
つの状態に係る2つのパスメトリック値301、及び、
図2の枝メトリック計算部201から与えられた2つの
枝メトリック値302は加減算・比較器1203に入力
される。
【0114】加減算・比較器1203は、例えば図13
に示す詳細構成を有し、2つのパスメトリック値及び2
つの枝メトリック値の加算及び減算を時分割で行なう。
2つの加算結果は選択器305に入力され、また、当該
加減算・比較器1203にフィードバックされる。加減
算・比較器1203は、入力された2つの加算結果を減
算し、この減算結果の正負を表す1ビットデータを、比
較結果ビットとしてパスメモリ部706及び選択器30
5に出力する。同様に、2つの減算結果は選択器305
に入力され、また、当該加減算・比較器1203にフィ
ードバックされる。また、加減算・比較器1203は、
入力された2つの減算結果を減算し、この減算結果の正
負を表す1ビットデータを、比較結果ビットとしてパス
メモリ部706及び選択器305に出力する。
【0115】なお、加減算・比較器1203の入力側に
は、図示は省略するが(図13においても図示せず)、
2つのパスメトリック値301及び2つの枝メトリック
値302と、フィードバックされたデータとの入力選択
を行なう選択器が設けられている。
【0116】選択器305は、加減算・比較器1203
から出力された2つのパスメトリック値(2つの加算結
果又は2つの減算結果)のうち一方を、加減算・比較器
1203からの比較結果ビットに基づいて選択し、パス
メトリックメモリ部201(図2参照)に出力する。
【0117】パスメモリ部706は、加減算・比較器1
203からの比較結果ビット(正負データ)を格納す
る。第3実施例のパスメモリ部706に格納された比較
結果ビットは、第2実施例のパスメモリ部706に格納
された比較結果ビットと同様に、パスのバックトレース
に使用される。すなわち、パスのバックトレースについ
ては第3実施例は第2実施例と全く同一である。
【0118】以上のように、第3実施例は、第2実施例
のALU303及び比較器304を、加減算・比較器1
203に置き換えたものである。ALU303は、2つ
のパスメトリック値(2つの加算結果又は2つの減算結
果)を求めるための演算構成を内部に備えており、ま
た、比較器304は、2つのパスメトリック値(2つの
加算結果又は2つの減算結果)の大小を判別するための
演算構成を内部に備えている。ALU303も比較器3
04も演算構成を備えているので、これらを共通化すれ
ば、ACS部のハードウェア構成を削減できる。このよ
うな観点から構成されたのが、加減算・比較器1203
である。
【0119】加減算・比較器1203は、2つのパスメ
トリック値を求める際の演算処理と、2つのパスメトリ
ック値の大小を判別する際の演算処理とを、図示しない
クロック(又は命令デコーダからの出力)によって切り
分けている。
【0120】加減算・比較器1203の一構成例を図1
3を参照しながら説明する。図13において、加減算・
比較器1203は、2個の加減算器1301及び130
2と、2個の切り替え器1305及び1306とからな
り、加減算器1301からの演算出力、及び、桁上がり
/桁下がり出力が切り替え器1305に与えられ、加減
算器1302からの演算出力、及び、桁上がり/桁下が
り出力が切り替え器1306に与えられるようになされ
ている。
【0121】次に、加減算・比較器1203の動作を、
2つのパスメトリック値及び2つの枝メトリック値を加
算して次の時刻の状態のパスメトリック値(加算結果)
を得る場合を例に説明する。
【0122】ALU動作モードにおいては、各加減算器
1301、1302には、2つのパスメトリック値及び
2つの枝メトリック値が入力され、各加減算器1301
及び1302はそれぞれ、対応するパスメトリック値及
び枝メトリック値を加算する。この加算結果、及び、そ
れぞれの桁上がり/桁下がり出力1303及び1304
は、対応する切り替え器1305、1306に入力され
る。各切り替え器1305、1306は、このときには
無効とされており、対応する加減算器1301、130
2からの加算結果を選択して選択器305に出力する。
【0123】また、クロック等によって比較動作モード
になったときには、上述した各加減算器1301、13
02からの計2つの加算結果は加減算器1302に入力
され、各加減算器1301、1302からの計2つの加
算結果は桁上がり/桁下がり出力1303及び1304
は加減算器1301に入力される。このときには、各加
減算器1301、1302によって減算が実行され、両
加減算器1301及び1302は1個の加算器として振
舞って減算を行なう。すなわち、加減算器1301が上
位側の減算を、加減算器1302が下位側の減算を担
う。このとき、加減算器1301から出力された桁上が
り/桁下がり出力(符号ビット)は、比較動作モードの
設定により桁上がり/桁下がり出力を選択指令の出力端
子に導くように設定されている(有効とされている)切
り替え器1305を通過して、選択器305及びパスメ
モリ部706に比較結果ビットとして出力される。
【0124】加減算・比較器1203は、2つのパスメ
トリック値及び2つの枝メトリック値を減算して次の時
刻の状態のパスメトリック値(減算結果)を得る場合
も、同様に動作する。
【0125】なお、比較結果ビット(符号ビット)を求
める次の時刻の2つのパスメトリック値間の減算を、一
方の加減算器1301又は1302だけが担うように、
加減算・比較器1203を構成しても良い。
【0126】従来では、図3に示すように、ACS部に
はALUと比較器の2種類の演算器が必要であったが、
この第3実施例によれば、2値の比較に減算を用い、そ
の差の符号ビットを比較器の比較結果ビットとしている
ので、ALU及び比較器として同一の演算回路を適用で
きる。その結果、DSP又はそれに類するLSI上にA
CS部を搭載するとき、従来に比してハードウェアの削
減が見込まれる。
【0127】なお、図3に示した従来構成に、この第3
実施例の特徴構成を適用しても良い。すなわち、比較結
果ビットの格納構成が従来技術であっても良い。
【0128】(D)他の実施例 本発明の用途は、移動通信や衛星通信等に限定されず、
情報処理用であっても良い。また、畳み込み符号の拘束
長も任意であって良い。
【0129】上記各実施例の特徴を損ねないならば、各
部がハードウェアで構成されてもソフトウェアで構成さ
れても構わない。
【0130】
【発明の効果】以上のように、第1及び第2の本発明に
よれば、ある時刻における状態は、次の状態に遷移した
際の比較結果ビットを次の状態の最後尾に付加したビッ
ト列の下位側ビットで表すことができ、また、ある状態
に至るパスの各時刻の比較結果ビットを、そのある状態
の最後尾に時刻を逆に辿りながら付加したビット列(ト
レース値)は、復号すべき元信号を含んでいるという特
質に鑑み、ビタビ復号方法及びビタビ復号回路を構成し
たので、従来に比して、復号に必要な演算を少なくでき
ると共に、構成要素を削減することができる。
【0131】また、第3の本発明によれば、ある時刻の
2つの状態に至るまでのパスメトリック値及び2つの枝
メトリック値とから、次の時刻の所定の状態に至る2つ
のパスメトリック値を求める算術・論理演算部と、求め
られた2つのパスメトリック値の大小比較を行なう比較
器とは、演算を行なうという点では同種のものであるこ
とに基づき、算術・論理演算部及び比較器として、同一
の演算回路を時分割で用いるようにしたので、回路規模
を小さくできる。
【図面の簡単な説明】
【図1】第1実施例の構成を示すブロック図である。
【図2】ビタビ復号回路の全体構成を示すブロック図で
ある。
【図3】従来のビタビ復号回路の一部構成を示すブロッ
ク図である。
【図4】畳み込み符号に関する状態の遷移を表すトレリ
ス図である。
【図5】従来のデータ保存用RAMから比較結果ビット
を読み出すための演算例を示す図である。
【図6】拘束長6の畳み込み符号のトレリス図である。
【図7】第2実施例の構成を示すブロック図である。
【図8】図7におけるパスメモリ部の構成例を示す図で
ある。
【図9】図7におけるパストレースレジスタの構成例を
示す図である。
【図10】図7におけるAGUの構成例(又はアドレス
指定方法)を示すブロック図である。
【図11】図10の処理を示すフローチャートである。
【図12】第3実施例の構成を示すブロック図である。
【図13】図12における加減算・比較器の構成例を示
すブロック図である。
【符号の説明】
101…ACS部、102…第1の記憶部(比較結果ビ
ットの記憶部)、103…第2の記憶部(トレース値の
記憶部)、301…2つのパスメトリック値、302…
2つの枝メトリック値、303…ALU(算術・論理演
算部)、304…比較器、305…選択器、706…パ
スメモリ部、707…パストレースレジスタ、708…
AGU(アドレス発生部)、1001…アドレスレジス
タ、1002…アドレス加算器、1003…アドレス減
算器、1203…加減算・比較器、1301、1302
…加減算器、1304、1305…切り替え器。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 ある時刻のある状態に遷移し得る前時刻
    の状態が2個であって、前時刻のその2個の状態に至る
    までの2つのパスメトリック値と、前時刻の2個の状態
    からある時刻のある状態に至る2つの枝メトリック値と
    から、上記ある時刻のある状態に至る2つのパスメトリ
    ック値を求め、求めた2つのパスメトリック値を大小比
    較し、上記ある時刻のある状態に至るまでの最尤のパス
    を決定すると共に、その比較結果ビットを記憶し、パス
    のバックトレースを、次々と記憶された上記比較結果ビ
    ットに基づいて行なって元信号を復号するビタビ復号方
    法において、 パスのバックトレース時に、ある状態を表すビット列の
    最後尾に、当該状態に遷移した際の比較結果ビットを付
    加し、この付加したビット列に基づいて、前の状態及び
    復号された元信号を求めることを特徴としたビタビ復号
    方法。
  2. 【請求項2】 ある時刻の2つの状態に至るまでのパス
    メトリック値及び前時刻の2個の状態からある時刻のあ
    る状態に至る2つの枝メトリック値とから、次の時刻の
    所定の状態に至る2つのパスメトリック値を求める算術
    ・論理演算部と、 求められた2つのパスメトリック値の大小比較を行なう
    比較器と、 この比較器からの比較結果ビットに基づき、上記算術・
    論理演算部が求めた2つのパスメトリック値の一方を選
    択する選択器と、 上記比較器からの比較結果ビットを格納するパスメモリ
    部と、 パスのバックトレース時に、上記パスメモリ部から読み
    出された上記比較結果ビットを、既に格納されているデ
    ータを1ビットずつ上位にシフトさせて最下位ビットに
    格納するパストレースレジスタと、 上記パストレースレジスタ内のデータを用いて、上記パ
    スメモリ部の読み出し番地を発生するアドレス発生部と
    を有することを特徴とするビタビ復号回路。
  3. 【請求項3】 上記パスメモリ部が、1ビット単位で番
    地が割り振られているものであることを特徴とする請求
    項2に記載のビタビ復号回路。
  4. 【請求項4】 上記パスメモリ部の番地が、時刻を規定
    するビット列と状態を規定するビット列とを繋げたビッ
    ト列でなり、 上記アドレス発生部が、 上記パスメモリ部の読み出し番地の時刻を規定するビッ
    ト列を少なくとも記憶するアドレスレジスタと、 上記パストレースレジスタ内の読み出し番地の状態を規
    定するビット列と、上記アドレスレジスタの読み出し番
    地の時刻を規定するビット列とを合成して読み出し番地
    を形成するアドレス合成部と、 上記アドレスレジスタの読み出し番地の時刻を規定する
    ビット列を更新する時刻アドレス更新部とでなることを
    特徴とする請求項3に記載のビタビ復号回路。
  5. 【請求項5】 ある時刻の2つの状態に至るまでのパス
    メトリック値及び前時刻の2個の状態からある時刻のあ
    る状態に至る2つの枝メトリック値とから、次の時刻の
    所定の状態に至る2つのパスメトリック値を求める算術
    ・論理演算部と、求められた2つのパスメトリック値の
    大小比較を行なう比較器と、この比較器からの比較結果
    ビットに基づき、上記算術・論理演算部が求めた2つの
    パスメトリック値の一方を選択する選択器とを備えたビ
    タビ復号回路において、 上記算術・論理演算部及び上記比較器として、同一の演
    算回路を時分割で用いることを特徴とするビタビ復号回
    路。
  6. 【請求項6】 上記算術・論理演算部又は上記比較器と
    して用いられる上記演算回路が、第1及び第2の加減算
    器と、これら第1及び第2の加減算器の出力側にそれぞ
    れ設けられた第1及び第2の切り替え器とを有し、 上記算術・論理演算部として動作する際には、上記第1
    及び第2の加減算器がそれぞれ一方のパスメトリック値
    を求め、上記第1及び第2の切り替え器が求められたパ
    スメトリック値を上記選択器、並びに、上記第1及び第
    2の加減算器に与え、 上記比較器として動作する際には、上記第1及び又は第
    2の加減算器が、求められた2つのパスメトリック値を
    減算し、その減算結果の符号ビットを、上記第1又は第
    2の切り替え器が上記比較結果ビットとして出力するこ
    とを特徴とする請求項5に記載のビタビ復号回路。
JP14148094A 1994-06-23 1994-06-23 ビタビ復号方法及びビタビ復号回路 Expired - Fee Related JP3241210B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP14148094A JP3241210B2 (ja) 1994-06-23 1994-06-23 ビタビ復号方法及びビタビ復号回路
KR1019950015564A KR100403035B1 (ko) 1994-06-23 1995-06-13 비터비복호방법및비터비복호회로
US08/489,933 US5946361A (en) 1994-06-23 1995-06-13 Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
CA002152238A CA2152238A1 (en) 1994-06-23 1995-06-20 Viterbi decoding method and circuit with accelerated backtracing and efficient path metric calculation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14148094A JP3241210B2 (ja) 1994-06-23 1994-06-23 ビタビ復号方法及びビタビ復号回路

Publications (2)

Publication Number Publication Date
JPH088762A true JPH088762A (ja) 1996-01-12
JP3241210B2 JP3241210B2 (ja) 2001-12-25

Family

ID=15292881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14148094A Expired - Fee Related JP3241210B2 (ja) 1994-06-23 1994-06-23 ビタビ復号方法及びビタビ復号回路

Country Status (4)

Country Link
US (1) US5946361A (ja)
JP (1) JP3241210B2 (ja)
KR (1) KR100403035B1 (ja)
CA (1) CA2152238A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887007A (en) * 1996-02-23 1999-03-23 Oki Electric Industry Co., Ltd. Viterbi decoding method and viterbi decoding circuit

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69719141T2 (de) * 1996-10-15 2003-07-24 Matsushita Electric Ind Co Ltd Vorrichtung zur Zurückverfolgung des Pfades in einem Viterbi Dekodierer
JP3338374B2 (ja) * 1997-06-30 2002-10-28 松下電器産業株式会社 演算処理方法および装置
KR100484127B1 (ko) * 1997-08-07 2005-06-16 삼성전자주식회사 비터비디코더
GB2335578B (en) * 1998-03-17 2000-07-12 Samsung Electronics Co Ltd Add-compare selection circuit
US6452985B1 (en) * 1998-03-18 2002-09-17 Sony Corporation Viterbi decoding apparatus and Viterbi decoding method
US6070263A (en) * 1998-04-20 2000-05-30 Motorola, Inc. Circuit for use in a Viterbi decoder
US6178209B1 (en) * 1998-06-19 2001-01-23 Sarnoff Digital Communications Method of estimating trellis encoded symbols utilizing simplified trellis decoding
US6317847B1 (en) * 1998-08-31 2001-11-13 Advanced Micro Devices, Inc. Software read and write tracing using hardware elements
US6272661B1 (en) * 1998-12-29 2001-08-07 Texas Instruments Incorporated Minimum memory implementation of high speed viterbi decoder
EP1206842B1 (en) * 1999-08-31 2004-02-18 Broadcom Corporation Memory-based shuffle-exchange traceback for gigabit ethernet transceiver
US7225393B2 (en) * 1999-10-01 2007-05-29 Matsushita Electric Industrial Co., Ltd. Viterbi decoder and Viterbi decoding method
US6654929B1 (en) * 1999-10-01 2003-11-25 Matsushita Electric Industrial Co., Ltd. Viterbi decoder and Viterbi decoding method
JP3259725B2 (ja) * 1999-12-20 2002-02-25 日本電気株式会社 ビタビ復号装置
US6601215B1 (en) * 2000-02-01 2003-07-29 Agere Systems Inc. Traceback buffer management for VLSI Viterbi decoders
JP3501725B2 (ja) * 2000-05-12 2004-03-02 日本電気株式会社 ビタビ復号器
US6760385B1 (en) * 2000-05-30 2004-07-06 Adtran, Inc. Universal parallel processing decoder
US6769090B1 (en) 2000-08-14 2004-07-27 Virata Corporation Unified technique for multi-rate trellis coding and decoding
US7035356B1 (en) * 2000-11-03 2006-04-25 Altera Corporation Efficient method for traceback decoding of trellis (Viterbi) codes
US6693975B2 (en) 2001-01-26 2004-02-17 Virata Corporation Low-order HDSL2 transmit filter
US7076514B2 (en) * 2001-12-18 2006-07-11 Conexant, Inc. Method and system for computing pre-equalizer coefficients
US7043682B1 (en) * 2002-02-05 2006-05-09 Arc International Method and apparatus for implementing decode operations in a data processor
US8205145B2 (en) * 2002-12-18 2012-06-19 Texas Instruments Incorporated High-speed add-compare-select (ACS) circuit
US20040122883A1 (en) * 2002-12-18 2004-06-24 Lee Seok-Jun High speed add-compare-select circuit for radix-4 Viterbi decoder
GB2401290B (en) * 2003-04-29 2007-02-28 Ubinetics Ltd Decoders
GB2407949B (en) * 2003-11-04 2006-03-15 Arithmatica Ltd A calculating apparatus and method for use in a maximum likelihood
US7359464B2 (en) * 2003-12-31 2008-04-15 Intel Corporation Trellis decoder and method of decoding
US7231586B2 (en) * 2004-07-21 2007-06-12 Freescale Semiconductor, Inc. Multi-rate viterbi decoder
DE102004038754A1 (de) * 2004-08-09 2006-02-23 Micronas Gmbh Decoder und Verfahren zum Durchführen eines Viterbi-Algorithmus
US7506239B2 (en) * 2004-12-23 2009-03-17 Raghavan Sudhakar Scalable traceback technique for channel decoder
JP4432781B2 (ja) * 2005-01-17 2010-03-17 株式会社日立製作所 誤り訂正復号器
US9389854B2 (en) * 2013-03-15 2016-07-12 Qualcomm Incorporated Add-compare-select instruction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375129A (en) * 1990-07-19 1994-12-20 Technophone Limited Maximum likelihood sequence detector
JPH05211447A (ja) * 1991-09-13 1993-08-20 Sony Corp ビタビ復号装置およびその方法
JP3120511B2 (ja) * 1991-11-21 2000-12-25 ソニー株式会社 ビタビ復号装置
JP2755045B2 (ja) * 1992-05-26 1998-05-20 日本電気株式会社 ビタビ復号器
JP2522142B2 (ja) * 1992-12-25 1996-08-07 日本電気株式会社 ビタビ復号器の同期検出方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887007A (en) * 1996-02-23 1999-03-23 Oki Electric Industry Co., Ltd. Viterbi decoding method and viterbi decoding circuit

Also Published As

Publication number Publication date
CA2152238A1 (en) 1995-12-24
KR100403035B1 (ko) 2004-03-06
US5946361A (en) 1999-08-31
JP3241210B2 (ja) 2001-12-25
KR960003124A (ko) 1996-01-26

Similar Documents

Publication Publication Date Title
JP3241210B2 (ja) ビタビ復号方法及びビタビ復号回路
US5715470A (en) Arithmetic apparatus for carrying out viterbi decoding at a high speed
US7398458B2 (en) Method and apparatus for implementing decode operations in a data processor
US5440504A (en) Arithmetic apparatus for digital signal processor
JP2001156651A (ja) ビタビ復号器
JP3274668B2 (ja) 演算処理装置及び演算処理方法
US5619514A (en) In-place present state/next state registers
Tsui et al. Low power ACS unit design for the Viterbi decoder [CDMA wireless systems]
US6792570B2 (en) Viterbi decoder with high speed processing function
JP3260714B2 (ja) ビタビ復号化装置およびビタビ復号化方法
JP2917577B2 (ja) 演算装置
US5648921A (en) Digital operational circuit with pathmetrics calculating steps simplified
JP3191442B2 (ja) ビタビ復号用演算装置
KR19990076528A (ko) 비터비 알고리즘 처리를 위한 가산 비교 선택 고속화 장치 및방법
JP3250363B2 (ja) 演算装置
JPH07245567A (ja) ビタビ復号演算装置
JP3237267B2 (ja) 演算装置
JP2001024526A (ja) ビタビ復号装置
JPH0722969A (ja) 演算装置
WO2002056480A1 (fr) Decodeur de viterbi
KR100277467B1 (ko) 비터비 디코더
SC140 How to Implement a Viterbi Decoder on the
JP2003204271A (ja) ディジタル信号処理プロセッサ
JP2003234656A (ja) 演算処理装置
JP2003051750A (ja) 演算処理装置

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071019

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091019

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091019

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111019

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111019

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121019

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131019

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees