JP3515720B2 - ビタビ復号器 - Google Patents

ビタビ復号器

Info

Publication number
JP3515720B2
JP3515720B2 JP33161299A JP33161299A JP3515720B2 JP 3515720 B2 JP3515720 B2 JP 3515720B2 JP 33161299 A JP33161299 A JP 33161299A JP 33161299 A JP33161299 A JP 33161299A JP 3515720 B2 JP3515720 B2 JP 3515720B2
Authority
JP
Japan
Prior art keywords
path
state
metric
selection signal
viterbi
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
JP33161299A
Other languages
English (en)
Other versions
JP2001156651A (ja
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 JP33161299A priority Critical patent/JP3515720B2/ja
Priority to EP00310118A priority patent/EP1102408B1/en
Priority to DE60028906T priority patent/DE60028906T2/de
Priority to US09/714,405 priority patent/US6324226B1/en
Priority to KR10-2000-0069518A priority patent/KR100426712B1/ko
Publication of JP2001156651A publication Critical patent/JP2001156651A/ja
Application granted granted Critical
Publication of JP3515720B2 publication Critical patent/JP3515720B2/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/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/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • 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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、畳み込み符号の最
尤復号に用いられるビタビ復号器に関するものである。
【0002】
【従来の技術】ビタビ(Viterbi)復号器は、畳み込み
符号の最尤復号法に使用されるものであり、入力符号系
列が取り得る既知の複数個の符号系列のうち、畳み込み
符号器が発生した符号系列に最も符号距離が近い符号系
列を最尤符号系列(最尤パス)として選択し、この選択
した情報に基づいて復号データを得るものである。ビタ
ビ復号は、通信路に生じるランダム誤りに対する訂正能
力が高く、軟判定復号方式と組み合わせると、特に大き
な符号化利得を得ることができる。例えば、干渉波の影
響を受けやすく、ビットエラーが通信品質に著しい影響
を与える移動体通信システムでは、誤り訂正符号として
畳み込み符号が用いられており、その復号にビタビ復号
が用いられている。
【0003】このビタビ復号アルゴリズムについて簡単
に説明する。例えば生成多項式が以下の式で与えられる
符号化率R=1/2、拘束長K=3の畳み込み符号を考
える。
【0004】
【数1】G0(D)=1+D2 G1(D)=1+D+D2 図9に、このような符号を発生する畳み込み符号器の構
成例を示す。図9において、入力データである情報ビッ
トは、2個のフリップフロップ等の遅延素子901、9
02により順次遅延され、加算器903により入力デー
タと遅延素子902からのデータが加算されて出力G0
として取り出され、加算器904、905により、それ
ぞれ、入力データと遅延素子901からのデータ、加算
器904からのデータと遅延素子902からのデータが
加算されて出力G1として取り出される。
【0005】このような符号器における各遅延素子90
1、902の内容をそれぞれS[1]、S[0]とする
とき、符号器の状態S[1:0]としては、(00)、
(01)、(10)、(11)の4つの状態が取り得
る。また、入力が与えられた時の遷移し得る状態はつね
に2通りとなる。
【0006】すなわち、入力が0のとき、現在の状態が
(00)または(01)の場合に状態(00)に遷移
し、現在の状態が(10)または(11)の場合に状態
(01)に遷移する。入力が1のときには、現在の状態
が(00)または(01)の場合に状態(10)に遷移
し、現在の状態が(10)または(11)の場合に状態
(11)に遷移する。
【0007】このような状態遷移を示す手法としてトレ
リス線図があり、トレリス線図で示すと図10のように
なる。図10において、実線の矢印(ブランチ)は入力
0の時の遷移を示し、破線のブランチは入力1の時の遷
移を示す。また、各ブランチに沿って記されている数字
は、そのブランチの遷移が生じたときに出力される図1
の符号(G0,G1)である。
【0008】図10から明らかなように、各状態への遷
移時には、必ず2つのブランチが合流する。ビタビ復号
アルゴリズムにおいては、各状態への2つのブランチの
うち、最尤(最も確からしい)ブランチの組み合わせ
(パス)を選択し、選択されたパス(生き残りパス)の
情報(パス選択信号)を記憶手段に格納する。そして所
定長までパスの選択を行ったのち、パス選択信号記憶手
段の内容に基づいて最尤の生き残りパスを探索(トレー
スバック)する。このトレースバックによって得られる
最尤の各状態の変化より畳み込み符号器に入力された情
報を復号する。
【0009】このようなビタビアルゴリズムに基づいて
畳み込み符号を復号するビタビ復号器は、基本的に、送
信符号系列と各ブランチで予測される符号系列との符号
距離(ブランチメトリック)を計算するブランチメトリ
ック計算手段と、各状態へのブランチメトリックの累算
値(パスメトリック)を計算し、生き残りパスを選択す
るACS(ADD、COMPARE、SELECT=加算、比較、選択)
演算手段と、各ステートでのパスメトリックを記憶する
パスメトリック記憶手段と、選択したパスの情報を記憶
するパス選択信号記憶手段と、パス選択信号記憶手段の
内容に基づいて最尤の生き残りパスを探索するトレース
バック手段とから構成される。
【0010】ここで、上記ACS演算手段においては、
いわゆるパスメトリック・トランジション・ダイアグラ
ムに従って、各ステートでの生き残りパスが選択され、
この生き残りパスのパスメトリックが計算される。この
パスメトリック・トランジション・ダイアグラムは、図
10に示すようなトレリス線図を基にして作成される。
【0011】図10に示すようなトレリス線図で示され
る符号が用いられている場合には、図11(a)、図1
1(b)に示すようなパスメトリック・トランジション
・ダイアグラムとなる。すなわち、図10に示すトレリ
ス線図の場合、状態(00)で合流するのは、状態(0
0)から符号(00)を出力して生じるパスと、状態
(01)から符号(11)を生じるパスの2通りであ
る。従って、今回の状態(00)でのパスメトリックP
M00(new)は、前時刻のステートのパスメトリッ
クをPM00(old)、PM10(old)、ブラン
チメトリックをBM00、BM11のように表すと、以
下の2つの式のいずれかとなる。
【0012】
【数2】 PM00(new)a=PM00(old)+BM00 PM00(new)b=PM01(old)+BM11 すなわち、ACS演算途中の2つのパスメトリックPM
00(new)a、PM00(new)bの最尤の値が
選択され、そのパスメトリックが、今回の状態(00)
のパスメトリックPM00(new)として決定され
る。
【0013】また、状態(10)で合流するのは、状態
(00)から符号(11)を出力して生じるパスと、状
態(01)から符号(00)を生じるパスの2通りであ
る。従って、今回のパスメトリックPM10(new)
は、以下の2つの式のいずれかとなる。
【0014】
【数3】 PM10(new)a=PM00(old)+BM11 PM10(new)b=PM01(old)+BM00 また、状態(01)で合流するのは、状態(10)から
符号(01)を出力して生じるパスと、状態(11)か
ら符号(10)を生じるパスの2通りである。従って、
今回のパスメトリックPM01(new)は、以下の2
つの式のいずれかとなる。
【0015】
【数4】 PM01(new)a=PM10(old)+BM01 PM01(new)b=PM11(old)+BM10 また、状態(11)で合流するのは、状態(10)から
符号(10)を出力して生じるパスと、状態(11)か
ら符号(01)を生じるパスの2通りである。従って、
今回のパスメトリックPM11(new)は、以下の2
つの式のいずれかとなる。
【0016】
【数5】 PM11(new)a=PM10(old)+BM10 PM11(new)b=PM11(old)+BM01 このことに基づいて、図11(a)、図11(b)に示
すようなパスメトリック・トランジション・ダイアグラ
ムを作ることができる。
【0017】ここで、上式と図11のパスメトリック・
トランジション・ダイアグラムから分かる様に、PM0
0(new)とPM10(new)の違いは、PM00
(old)とPM01(old)にBM11とBM00
を加算する場合におけるPMxx(old)とBMxx
の対応のみである。
【0018】また、PM01(new)とPM11(n
ew)の違いについても同様に、PM10(old)と
PM11(old)にBM01とBM10を加算する場
合におけるPMxx(old)とBMxxの対応のみで
ある。
【0019】さらに、それぞれ2つのPMxx(ol
d)は連続する偶数、奇数ステートという関係を持って
おり、PMxx(new)は最上ビットのみが異なる上
位、下位ステートという関係を持っている。
【0020】これらのことは、連続する偶数、奇数ステ
ートの関係を持つ2つのPMxx(old)と2つのB
Mxxより、上位、下位ステートの関係を持つ2つのP
Mxx(new)を算出可能であることを示している。
【0021】次に、パス選択信号と各状態遷移について
説明する。上記説明において今回の状態に決定されるべ
きパスメトリックの組は、それぞれ前時刻において状態
の最下位ビットのみが異なるという関係になっている。
そこで、各状態の最尤パスメトリック選択情報(パス選
択信号)をPS00(new)、PS01(new)、
PS10(new)、PS11(new)とし、その値
とパスメトリック選択との関係を以下の様にする。
【0022】
【数6】PSxx(new)=0 → PMxx(ne
w)aを選択 PSxx(new)=1 → PMxx(new)bを
選択 このとき、PSxx(new)の値は、対応する前時刻
における状態の最下位ビットの値と同じになる。
【0023】つまり、時刻nにおける状態をS(n)、
状態Sにおけるパス選択信号をPS(S)とすると時刻
n−1、時刻nにおけるそれぞれの状態、及びパス選択
信号の関係は以下の様になる。
【0024】
【数7】S(n−1)={S(n),PS(S)} ここで、{a,b}はaの最下位ビット側にbを連接
し、aの最上位ビット側をbのビット幅分削除するとい
う演算を表す。
【0025】これらのことは、あるステートのパス選択
信号から、そのステートに到達した前回のステートを決
定できることを示している。
【0026】上式より、パス選択信号が所定の量だけ格
納された状態において、時刻nにおける最尤の状態を決
定すれば、各時刻のパス選択信号の値から過去に選択さ
れた状態を決定することができる。この演算をトレース
バックと呼び、その一例を図12に示す。
【0027】なお、時刻nにおける最尤の状態を決定す
るために、畳み込み符号の系列を終了する際に符号器の
状態を所定の値(例えば00等)に収束するように情報
ビットに付加ビット(Tailbit)を追加するという手法
を取る場合がある。
【0028】冒頭に述べた様に、畳み込み符号器の状態
の遷移は、情報ビットが逐次遅延素子に入力されること
によって発生するため、この状態の遷移を過去に溯って
決定するということは、そのまま情報ビットを決定する
ということを意味する。
【0029】上記過程を経て、ビタビ復号によって、受
信符号系列より情報ビットを復号することが実現でき
る。
【0030】
【発明が解決しようとする課題】ところで、従来のビタ
ビ復号器において、ACS演算を時分割処理で行い、か
つACS演算の結果から得られたパスメトリックを記憶
するパスメトリックメモリにRAM(Random Access Me
mory)を使用するものが知られている。このようなビタ
ビ復号器では、ACS演算の結果から得られた次の時刻
でACS演算に使用するパスメトリックをRAMの1ア
ドレスに割り当てている。すなわち1つのステートのパ
スメトリックを1つのRAMの1アドレスに配置してい
る。
【0031】この場合、1回のACS演算では、過去の
2つのステートのパスメトリックから新しいパスメトリ
ックを作成することから、過去の2つのパスメトリック
を読み出して新しい1つのパスメトリックを書き込むた
めに、1回のACS演算当たり3回のメモリアクセスが
必要とされる。ここで、いわゆるデュアルポートRAM
を使用して、書き込みと読み出しを分離し並列的に行う
様にしても、読み出しが2回必要となる。このため、メ
モリアクセス回数が多くなり、高速のRAMが必要とさ
れ、低消費電力化や高速化の障害となっている。
【0032】さらに工夫を加えた手法として、特開平9
−232973号公報には、先述した、連続する偶数、
奇数ステートの関係を持つ2つのPMxx(old)と
2つのBMxxより、上位、下位ステートの関係を持つ
2つのPMxx(new)を算出可能であることを用い
て、2つのパスメトリックを読み出し、2つのパスメト
リックを算出するという計算手法が開示されている。こ
の手法では、パスメトリックの上位、下位用にメモリを
2個設け、さらに、パスメトリックの連続する偶数、奇
数を同時に読み出す仕組みを設けることで、1回の読み
出し、1回の書き込みで2つのパスメトリックを算出す
ることができる。
【0033】しかしながら、この手法では、ACS演算
を行うために2つのパスメトリックメモリを用意する必
要がある。一般に同じ容量のメモリを作成する場合、メ
モリを分割すれば回路規模、面積が増加し、低消費電力
化にも不利となる。
【0034】次に、トレースバックについて説明する。
先述した、あるステートのパス選択信号から、そのステ
ートに到達した前回のステートを決定できることから、
パス選択信号を格納したメモリ(パス選択信号記憶部)
の1アドレスにnステート分のパス選択信号を格納する
(例えば、16ステート=1ワード)ようにし、トレー
スバックを実行する場合、図13(a)に示すような構
成となる。
【0035】この構成で重要な点は、ビタビステートか
らパス選択信号記憶部のアドレスが決定され、さらに、
読み出されたパス選択信号より次のビタビステートが決
定できるということである。すなわち、1処理単位(サ
イクル)の間にアドレス決定、メモリ読み出しを行わな
ければならない。ここで、メモリの動作遅延は一般に図
13(b)で表される。まず、遅延Aで示されるアドレ
スの配線遅延、次に、遅延Cで示されるメモリの出力遅
延およびデータの配線遅延がある。そしてこれらの動作
遅延は一般的に大きい。
【0036】そこで、トレースバック動作速度の上限
は、図13(c)に示すようにして決定される。先述し
た遅延A、遅延Cに加え、パス選択信号記憶部から読み
出された1ワードから1ステート分のパス選択信号を取
り出すためのセレクタに関する遅延B、遅延Dがあり、
ビタビステートを格納するシフトレジスタのセットアッ
プ時間を考慮して、以下の2つの遅延のうち、大きな方
の遅延によって動作速度の上限が決定される。
【0037】(1)パス選択信号記憶部を中心とした遅
延:遅延A+遅延C+遅延D (2)セレクタを中心とした遅延:遅延B+遅延D 上記から、パス選択信号記憶部を中心とした遅延のほう
が大きく、そのために動作速度が制限を受け、高速なト
レースバックが困難となっている。
【0038】この問題を解決するために、パス選択信号
記憶部にレジスタファイルを用いるなどして高速動作を
行う手法もあるが、回路規模、面積が増加し、低消費電
力化にも不利となる。
【0039】本発明は、上述した実情に鑑みてなされた
ものであり、一般のRAM等のメモリをパスメトリック
記憶部とパス選択信号記憶部に用いながら、メモリアク
セス回数を減らしたACS演算と高速動作のトレースバ
ック演算を行い、低消費電力化や、ビタビ復号動作の高
速化が可能なビタビ復号器の提供を目的とするものであ
る。
【0040】
【課題を解決するための手段】前記の目的を達成するた
め、本発明の第1のビタビ符号器は、入力符号に基づい
てブランチメトリックを演算するブランチメトリック演
算手段と、前記ブランチメトリック演算手段により算出
された前記ブランチメトリックに基づいて、各ステート
上位ステート及び下位ステートのパスメトリックを
時に時分割処理により算出する加算/比較/選択(AC
S)演算手段と、前記ACS演算手段により逐次算出さ
れる上位ステート及び下位ステートの連続する2組のパ
スメトリックを下位ステート及び上位ステートのそれ
ぞれにおいて連続する偶数ステート及び奇数ステートの
パスメトリックとして、時系列にび換えるパスメトリ
ック並び換え手段と、前記パスメトリック並び換え手段
により並び換えられたパスメトリックを記憶するパスメ
トリック記憶手段とを備えたことを特徴とする。
【0041】前記第1のビタビ符号器において、前記パ
スメトリック記憶手段は、それぞれ1アドレス当たり、
連続する偶数ステートのパスメトリックと奇数ステート
のパスメトリックとを1記憶単位として記憶し、読み出
し及び書き込みを行うことが好ましい。
【0042】
【0043】また、前記第1のビタビ符号器において、
前記ACS演算手段により算出された、上位ステート及
び下位ステートのパスメトリックの複数組からなる時系
列を一時的に遅延させ、連続する偶数ステート及び奇数
ステートのパスメトリックの複数組からなる時系列にパ
スメトリックを並び換えるパスメトリック並び換え手段
を用いて、前記パスメトリック記憶手段一つに対する2
回の読み出し、2回の書き込みにより4つのパスメトリ
ックを更新することが好ましい。
【0044】また、前記第1のビタビ符号器において、
前記ACS演算手段はまた、前時刻のパスメトリックと
組み合わせて最尤のパスを選択し、該選択した(生き残
り)パスの情報であるパス選択信号を生成し、前記第1
のビタビ復号器はさらに、前記パス選択信号を記憶する
パス選択信号記憶手段と、前記パス選択信号記憶手段か
ら読み出した過去のパス選択信号を使用して過去の状態
遷移を探索し、復号データを出力するトレースバック演
算手段とを備え、前記トレースバック演算手段は、前記
パス選択信号記憶手段より得られるパス選択信号に基づ
いて、生き残りパスに従ったビタビステートを格納する
ビタビステート格納手段と、前記ビタビステート格納手
段の内容に基づいて、次に更新されるビタビステートの
一部を予測するビタビステート予測手段と、前記ビタビ
ステート予測手段により予測されたビタビステートの一
部に基づいて、前記パス選択信号が記憶されている前記
パス選択信号記憶手段のアドレスを算出するパス選択信
号記憶アドレス算出手段とを備えることが好ましい。
【0045】また、前記ビタビステート予測手段は、前
記パス選択信号記憶手段の読み出し制御信号と前記ビタ
ビステート格納手段のシフト制御信号とによって状態を
変化させるアップダウンカウンタと、前記アップダウン
カウンタの値に従って、前記ビタビステート格納手段の
内容と次に更新されるビタビステートの一部との対応を
変化させるセレクタを備えることが好ましい。
【0046】さらに、前記ビタビステート予測手段によ
り予測されたビタビステートの一部に基づいて、前記パ
ス選択信号記憶アドレス算出手段がアドレスを算出する
過程、該算出したアドレスに基づいて、前記パス選択信
号記憶手段のパス選択信号を読み出す過程、および該読
み出したパス選択信号に基づいて、生き残りパスに従っ
たビタビステートを前記ビタビステート格納手段に格納
する過程の少なくとも一つの過程においてパイプライン
処理を使用することが好ましい。
【0047】前記の目的を達成するため、本発明の第2
のビタビ復号器は、入力符号に基づいて、ブランチメト
リックを演算するブランチメトリック演算手段と、前記
ブランチメトリック演算手段により算出された前記ブラ
ンチメトリックに基づいて、各ステートの上位ステート
及び下位ステートのパスメトリックを同時に時分割処理
により算出すると共に、前時刻のパスメトリックと組み
合わせて最尤のパスを選択し、該選択した(生き残り)
パスの情報であるパス選択信号を生成する加算/比較/
選択(ACS)演算手段と、前記ACS演算手段により
逐次算出される上位ステート及び下位ステートの連続す
る2組のパスメトリックを下位ステート及び上位ステ
ートのそれぞれにおいて連続する偶数ステート及び奇数
ステートのパスメトリックとして、時系列にび換える
パスメトリック並び換え手段と、前記パスメトリック並
び換え手段により並び換えられたパスメトリック及び
パス選択信号を記憶する一つのパスメトリック/パス
選択信号共通記憶手段と、前記パスメトリック/パス選
択信号共通記憶手段から読み出した過去のパス選択信号
を使用して過去の状態遷移を探索し、復号データを出力
するトレースバック演算手段であって、前記パスメトリ
ック/パス選択信号共通記憶手段より得られるパス選択
信号に基づいて、生き残りパスに従ったビタビステート
を格納するビタビステート格納手段と、前記ビタビステ
ート格納手段の内容に基づいて、次に更新されるビタビ
ステートの一部を予測するビタビステート予測手段と、
前記ビタビステート予測手段により予測されたビタビス
テートの一部に基づいて、前記パス選択信号が記憶され
ている前記パス選択信号記憶手段のアドレスを算出する
パス選択信号記憶アドレス算出手段とを備えたトレース
バック演算手段と、前記パスメトリック並び換え手段か
らのパスメトリックと前記ACS演算手段からのパス選
択信号を受けて、前記パスメトリック/パス選択信号共
通記憶手段に対して特定アドレスを生成し書き込みを行
うと共に、前記パスメトリック/パス選択信号共通記憶
手段に記憶されている前記パスメトリックと前記パス選
択信号の読み出しを行い、前記ACS演算手段に前記パ
スメトリックを、また前記トレースバック演算手段に前
記パス選択信号を供給させるアドレス生成/記憶制御手
段とを備えたビタビ復号器であって、前記ACS演算手
段、前記パスメトリック演算手段、及び前記トレースバ
ック演算手段は、前記アドレス生成/記憶制御手段によ
り、前記パスメトリック/パス選択信号共通記憶手段に
対して時分割にアクセスすることを特徴とする。
【0048】上記構成によれば、ビタビ復号器のACS
演算を時分割処理で行い、パスメトリック並び換え手段
を用いて、パスメトリック記憶手段またはパスメトリッ
ク/パス選択信号共通記憶手段へ書き込むパスメトリッ
クステートの順番を変更すると共に、ビタビ復号器のト
レースバック演算を、ビタビステート予測手段を用い
て、パイプライン処理でパス選択信号記憶手段またはパ
スメトリック/パス選択信号共通記憶手段からのパス選
択信号の読み出しにより行うことで、ACS演算のメモ
リアクセス回数を減らすと共に、トレースバック演算を
高速に行うことができ、低消費電力化や、ビタビ復号処
理の高速化が可能となる。
【0049】
【発明の実施の形態】以下、本発明に係る実施の形態に
ついて、図面を参照しながら説明する。
【0050】図1は、本発明の実施の形態が適用される
ビタビ復号器の概略構成を示すブロック図である。
【0051】一般にビタビ復号器は、ビタビアルゴリズ
ムを利用して、各状態での2つのブランチのうち最尤
(最も確からしい)ブランチの組み合わせ(パス)を選
択し、所定長まで生き残りパスの選択を行い、各状態で
選択したパスのうち最尤のパスを検出することで、受信
符号を復号するものである。
【0052】このようなビタビアルゴリズムに基づいて
畳み込み符号を復号するビタビ復号器は、基本的には、
図1に示す様に、端子101からの受信データの系列
(受信系列)と、前述した各ブランチとの間のメトリッ
クを計算するブランチメトリック演算部102と、生き
残りパスを選択して生き残りパスのパスメトリックを演
算するACS(ADD、COMPARE、SELECT=加算、比較、選
択)演算部103と、ACS演算部103より逐次算出
されるパスメトリックを一時的に遅延させ、算出時と異
なる時系列にパスメトリックを並び換えるパスメトリッ
ク並び換え部104と、各ステート(状態)でのパスメ
トリックをそれぞれ記憶するパスメトリック記憶部10
5と、選択したパスの情報(パス選択信号)を記憶する
パス選択信号記憶部106と、このパス選択信号記憶部
106から読み出した過去のパス選択信号を使用して過
去の状態遷移を探索し、端子108より復号データを出
力するトレースバック演算部107とを有して構成され
ている。
【0053】まず、ACS演算部103におけるACS
演算について説明する。
【0054】ここで、畳み込み符号/ビタビ復号の具体
例として、拘束長K=9、符号化率R=1/2の場合に
ついて説明する。拘束長K=9の場合のステート(状
態)数は、2K-1となり、K=9の時、28=256ステ
ートとなる。これらの256ステートを、2桁の16進
数を用いて00〜FFと表し、ステートxxのパスメト
リックをPM[xx]と表す。また、新たなステートの
パスメトリックをPM[xx](new)、その前時刻
のステートのパスメトリックをPM[xx](old)
と表す。
【0055】上記拘束長K=9、符号化率R=1/2の
場合、ACS演算においては、各状態(ステート)に遷
移する2つのパスのうち、最尤のパスを選択する演算を
行う。例えば、新たなステート00(new)に遷移す
るパスは、図11に示すように、前時刻のステート00
(old)からと、01(old)からの2つのパスで
あり、この前時刻のステート00(old)、01(o
ld)からステート00(new)に遷移するために
は、受信符号(G0,G1)が例えばそれぞれ、(0
0)、(11)である必要がある。
【0056】この期待される2つの受信符号は、各ステ
ートxx(new)に対して、畳み込み符号器の生成多
項式から一意に決定される。この2つの受信符号はそれ
ぞれ、「情報ビットとして0が畳み込み符号器に入力さ
れた場合」、および「情報ビットとして1が畳み込み符
号器に入力された場合」に期待される受信符号を表す。
【0057】このことから、ブランチメトリック演算部
102において、受信符号それぞれの受信符号パターン
のメトリック(ブランチメトリック)を求め、ACS演
算部103において、前時刻のメトリック(パスメトリ
ック)と組み合わせて、パスの尤度を求め、生き残りパ
スの選択を行うと共に、次の時刻のためのパスメトリッ
クをパスメトリック記憶部105に記憶して保持する。
【0058】この時の計算は、ステートxxにおいて、
それぞれ「情報ビットとして0が畳み込み符号器に入力
された場合」、「情報ビットとして1が畳み込み符号器
に入力された場合」のブランチメトリック、およびパス
メトリックを、それぞれ、BM0[xx]、BM1[x
x]、およびPM0[xx]、PM1[xx]と表し、
さらに、パスメトリックと尤度との対応を パスメトリック大 → 尤度大 パスメトリック小 → 尤度小 のように表すと、ステート00、01からステート00
に遷移する場合、
【0059】
【数8】PM0[00](new)=PM[00](o
ld)+BM0[00] PM1[00](new)=PM[01](old)+
BM1[00] PM[00](new)=max(PM0[00](n
ew),PM1[00](new)) となる。ここで、max(x,y)はx、yのうち、大
きな値を選択する演算を表す。
【0060】また、最上位ビットのみが異なるPM[8
0](new)については以下の様になる。
【0061】
【数9】PM0[80](new)=PM[00](o
ld)+BM0[80] PM1[80](new)=PM[01](old)+
BM1[80] PM[80](new)=max(PM0[80](n
ew),PM1[80](new)) 次に、ステート02、03からステート01に遷移する
場合は、
【0062】
【数10】PM0[01](new)=PM[02]
(old)+BM0[01] PM1[01](new)=PM[03](old)+
BM1[01] PM[01](new)=max(PM0[00](n
ew),PM1[00](new)) となり、最上位ビットのみが異なるPM[81](ne
w)については以下の様になる。
【0063】
【数11】PM0[81](new)=PM[02]
(old)+BM0[81] PM1[81](new)=PM[03](old)+
BM1[81] PM[81](new)=max(PM0[80](n
ew),PM1[80](new)) さらに、畳み込み符号器の生成多項式が、
【0064】
【数12】G0(D)=1+…+DK-1 G1(D)=1+…+DK-1 の形になっている場合、すなわち、1、DK-1の項をそ
れぞれ有している場合、情報ビットの入力の0、1によ
って符号のビットが常に論理反転するため、符号距離が
対象の関係になり、最上位ビットのみが異なるステート
に関するブランチメトリックに関しては以下の関係が成
り立つ。
【0065】
【数13】BM0[80]=BM1[00] BM1[80]=BM0[00] BM0[81]=BM1[01] BM1[81]=BM0[01] この関係を用いると、上記パスメトリックの関係は以下
の様に表される。
【0066】
【数14】PM0[00](new)=PM[00]
(old)+BM0[00] PM1[00](new)=PM[01](old)+
BM1[00] PM[00](new)=max(PM0[00](n
ew),PM1[00](new))
【0067】
【数15】PM0[80](new)=PM[00]
(old)+BM1[00] PM1[80](new)=PM[01](old)+
BM0[00] PM[80](new)=max(PM0[80](n
ew),PM1[80](new))
【0068】
【数16】PM0[01](new)=PM[02]
(old)+BM0[01] PM1[01](new)=PM[03](old)+
BM1[01] PM[01](new)=max(PM0[00](n
ew),PM1[00](new))
【0069】
【数17】PM0[81](new)=PM[02]
(old)+BM1[01] PM1[81](new)=PM[03](old)+
BM0[01] PM[81](new)=max(PM0[80](n
ew),PM1[80](new)) つまり、上式から、PM[00](old)、PM[0
1](old)、PM[02](old)、PM[0
3](old)という連続する偶数、奇数ステートの4
つのパスメトリックより、PM[00](new)とP
M[01](new)、またはPM[80](new)
とPM[81](new)という、1組が連続する偶
数、奇数ステートの2つのパスメトリックからなる2組
のパスメトリックが得られることがわかる。
【0070】本実施の形態では、パスメトリック並び換
え部104を用いて、ACS演算部103より逐次得ら
れる4つのパスメトリックを、1組が連続する偶数、奇
数ステートの2つのパスメトリックからなる2組のパス
メトリックに並び換える。
【0071】さらに、パスメトリック記憶部105とし
て、RAM(Random Access Memory)を用い、かつそれ
ぞれのRAMの1アドレス当たり、連続する偶数、奇数
のステートのパスメトリックを1記憶単位として記憶す
る様に構成することにより、 (1)PM[00](old)、PM[01](ol
d)の読み出し、PM[00](new)、PM[8
0](new)の算出 (2)PM[02](old)、PM[03](ol
d)の読み出し、PM[01](new)、PM[8
1](new)の算出 (3)PM[00](new)、PM[01](ne
w)の書き込み (4)PM[80](new)、PM[81](ne
w)の書き込み という4回のメモリアクセスで4つのパスメトリックを
更新する様にしている。これをPM[00]〜PM[F
F]についての256ステート分行う。
【0072】具体的には、例えば図2(a)に示すよう
に、パスメトリック更新をおこなう。
【0073】ここで、図2(a)において、ステート
(old)をn、ステート(new)をmと表し、さら
にステート(new)における上位ステートをm
(U)、下位ステートをm(L)と表している。ここで
上位ステート、下位ステートの定義は、図9に示すよう
に、情報ビットの入力側がステートの最上位ビットとな
っている場合において、最上位ビットを除くビットが同
一であるステートの対に関して、最上位ビットが1とな
っているステートが上位ステート、最上位ビットが0と
なっているステートが下位ステートとしている。図11
のパスメトリック・トランジション・ダイアグラムを例
にすると、状態遷移後のステート00が下位ステート、
ステート10が上位ステートとなる。なお、情報ビット
の入力側がステートの最下位ビットとなる定義も存在す
るが、数学的には同一である。
【0074】まず、端子201、202からそれぞれブ
ランチメトリックBM0[m]、BM1[m]が、また
端子203、204からそれぞれ連続した偶数、奇数ス
テートであるパスメトリックPM[n]、PM[n+
1]が入力される。
【0075】次に、加算器205、206、207、2
08によって、上位、下位ステートのパスメトリックP
M0[m(L)]、PM1[m(L)]、PM0[m
(U)]、PM1[m(U)]が算出される。
【0076】次に、減算器209、210によって、そ
れぞれ、PM0[m(L)]とPM1[m(L)]、P
M0[m(U)]とPM1[m(U)]の大小が比較さ
れる。減算器209、210による減算結果のうち、符
号ビットが大小の比較結果を意味し、PM0[m
(L)]とPM1[m(L)]の比較結果である符号ビ
ットsign[m(L)]、PM0[m(U)]とPM
1[m(U)]の比較結果であるsign[m(U)]
は、後述するセレクタ211、212の選択信号に使用
されると共に、端子217、218よりそれぞれパス選
択信号PS[m(L)]、PS[m(U)]として出力
される。
【0077】次に、セレクタ211、212によって、
尤度の高いパスメトリックがPM[m(L)]、PM
[m(U)]として算出される。このパスメトリック
は、パスメトリック並び換え部104におけるフリップ
フロップなどで構成された遅延素子213、214、2
15によって一時的に遅延される。
【0078】次に、連続した偶数、奇数ステートである
パスメトリックPM[n+2]、PM[n+3]から同
様に、パス選択信号PS[m+1(L)]、PS[m+
1(U)]、パスメトリックPM[m+1(L)]、P
M[m+1(U)]が算出される。
【0079】次にパスメトリックPM[m+1
(L)]、PM[m+1(U)]は、先に遅延されてい
たパスメトリックPM[m(L)]、PM[m(U)]
と合わせて並び換えられ、PM[m(L)]とPM[m
+1(L)]の組、およびPM[m(U)]とPM[m
+1(U)]の組として、セレクタ216より選択され
る。そして端子219、220より出力される。
【0080】上記動作を図2(b)のタイミングチャー
トに示す。4サイクルの動作の中で、パスメトリック読
み出し、書き込み動作がそれぞれ2サイクルで行われて
いることが分かる。このような仕組みによって、ACS
演算におけるメモリアクセスの頻度を削減できることが
わかる。
【0081】次に、トレースバック演算について説明す
る。本実施の形態を図3(a)に示す。図3(a)にお
いて、パス選択信号を格納したパス選択信号記憶部10
6を除いた残りの部分がトレースバック演算部107を
構成し、トレースバック演算部107は、複数(n)ス
テート分のパス選択信号をまとめたパス選択信号データ
(nビット幅)を一時的に遅延するデータバッファ30
2と、パス選択信号データから1ステート分のパス選択
信号(1ビット幅)を取り出すセレクタ303と、パス
選択信号よりビタビステートを更新するシフトレジスタ
304と、ビタビステートから次に更新されるビタビス
テートの一部を予測する次ビタビステート予測部305
と、次ビタビステート予測部305から算出されたパス
選択信号記憶部アドレスを一時的に遅延するアドレスバ
ッファ306を有して構成されている。
【0082】なお、シフトレジスタ304は、ビタビス
テートを表すと共にビタビステートの遷移から得られる
復号ビットも表す。
【0083】上記構成で重要な点は、従来動作ではシフ
トレジスタ304で更新されたビタビステートを基に、
パス選択信号記憶部106からパス選択信号データを読
み出し、パス選択信号データから取り出されたパス選択
信号によって、次サイクルでシフトレジスタ304を更
新する必要があったトレースバック処理が、本実施の形
態において新規に設けた次ビタビステート予測部305
によって、次に更新されるビタビステートを予測し、予
測したパス選択信号記憶部アドレスを算出することで、
パス選択信号記憶部アドレス、及びパス選択信号データ
をそれぞれ一時的に遅延するアドレスバッファ306、
データバッファ302を用いたトレースバック処理へと
改良されたことにある。
【0084】上記改良の利点を次に説明する。図3
(b)は、上記構成における各信号の遅延について示し
たタイミングチャートである。まず基準となるクロック
があり、次ビタビステート予測部出力、パス選択信号記
憶部アドレス入力、パス選択信号記憶部データ出力、デ
ータバッファ出力の順に記載している。それぞれの信号
には、アドレスの配線遅延、パス選択信号記憶部の出力
遅延、データの配線遅延がある。これらの遅延のうち、
図3(a)に記載した遅延A、遅延Cについては、パス
選択信号記憶部106がクロックに同期して動作するこ
と、およびアドレスバッファ306、データバッファ3
02によって、図(b)に示す様に、パイプライン動
作として分割されている。
【0085】そこで、トレースバック動作速度の上限は
図3(c)のようにして決定される。先述した遅延A、
遅延Cに加え、セレクタ303に関する遅延B、遅延
D、そしてシフトレジスタ304のセットアップ時間を
考慮して、以下の遅延のうち、大きな遅延によって動作
速度の上限が決定する。
【0086】・パス選択信号記憶部106を中心とした
遅延(1):遅延A ・パス選択信号記憶部106を中心とした遅延(2):
遅延C+遅延D ・セレクタ303を中心とした遅延:遅延B+遅延D ここで、先述した様に、アドレスバッファ306、デー
タバッファ302によって遅延A、遅延Cは非常に小さ
くすることができるので、セレクタ303を中心とした
遅延によって動作速度が制限を受けることがわかる。こ
のセレクタ303を中心とした遅延は、従来のパス選択
信号記憶部を中心とした遅延と比較して非常に小さいの
で、高速なトレースバックを実現することができる。
【0087】次に、本実施例の重要な点である次ビタビ
ステート予測部305の原理について図4を用いて説明
する。
【0088】先述した様に、ビタビステートは、畳み込
み符号器の遅延素子の内容をあらわしている。この遅延
素子の内容は、1ビットの情報ビットが入力される度に
1ビットシフトされる。つまり、1ビットシフトと1サ
イクルの時間変化はビタビステートの一部分に関して等
価となる。この関係を利用して、パス選択信号記憶部ア
ドレスとなるビタビステートの一部として、シフトレジ
スタ304のどのビット範囲を選択するかによって、次
に更新されるパス選択信号記憶部アドレスの予測が実現
できる。
【0089】この動作を実現する具体的な回路構成を示
したのが、図5(a)である。シフトレジスタ304か
ら次ビタビステート予測部305に入力されるビタビス
テートの下位(パス選択信号の入力側)が、パス選択信
号データからパス選択信号を取り出すセレクタ303
(図3(a))への選択情報(ビットアドレス)とな
り、同様に入力されるビタビステートの上位が、パス選
択信号記憶部アドレス(ワードアドレス)となり、セレ
クタ501が、ワードアドレスをビタビステートのどの
ビット範囲から取り出すかを選択し、アップダウンカウ
ンタ502がセレクタ501の選択情報を算出する。な
お、アップダウンカウンタ502は、パス選択データの
リード信号、及びシフトレジスタ304のシフト信号に
よってカウンタの値を変化させる。
【0090】図5(b)に、パス選択データリード信
号、シフトレジスタシフト信号と、アップダウンカウン
タ502の値との関係を表す。図5(b)において、パ
ス選択データリード信号が0(リードしない)、かつ、
シフトレジスタシフト信号が0(シフトしない)とき、
または、パス選択データリード信号が1(リードす
る)、かつ、シフトレジスタシフト信号が1(シフトす
る)ときは、アップダウンカウンタ502は以前の値を
保持する。次に、パス選択データリード信号が1(リー
ドする)、かつ、シフトレジスタシフト信号が0(シフ
トしない)ときは、アップダウンカウンタ502は1だ
け加算する。次に、パス選択データリード信号が0(リ
ードしない)、かつ、シフトレジスタシフト信号が1
(シフトする)ときは、アップダウンカウンタ502は
1だけ減算する。
【0091】ここでトレースバック動作時は、パス選択
データリードとシフトレジスタシフトが常に1対1で対
応するので、パス選択データリード信号か、シフトレジ
スタシフト信号のどちらかのみ1であるという状態は、
図3(b)に示したパイプライン構成の段数によって決
定される。本構成例の場合は、トレースバック初期にお
いて、パス選択データリード信号が1で、かつ、シフト
レジスタシフト信号が0であるという状態が3サイクル
連続し、トレースバックの終了時はパス選択データリー
ド信号が0で、かつ、シフトレジスタシフト信号が1で
あるという状態が3サイクル連続する。そのため、アッ
プダウンカウンタ502の初期値を0とすると、アップ
ダウンカウンタ502の値は0から3の間を変化するこ
とになる。
【0092】図5(c)に、アップダウンカウンタ50
2の値と、セレクタ501によって選択されるワードア
ドレスとの関係を示す。アップダウンカウンタ502の
値が増加する、すなわち、パス選択データリード信号が
1で、かつ、シフトレジスタシフト信号が0の時は、ワ
ードアドレスとして、ビタビステートの下位側を順次選
択する動作となる。この動作は、図4で説明したよう
に、次に更新されるパス選択信号記憶部アドレスを予測
する動作である。この予測時は、ビットアドレスの一部
をワードアドレスとして使用する動作となるため、予測
範囲は、最大ビットアドレスのビット幅分取り得ること
ができる。
【0093】図6に、上記トレースバック演算による一
連の動作タイミングを示す。図6は、上から順に、基準
クロック、次ビタビステート予測部305出力、アドレ
スバッファ306出力、メモリ(パス選択信号記憶部)
106出力、パス選択信号、シフトレジスタ304の最
下位ビット、パス選択データリード信号、シフトレジス
タシフト信号、アップダウンカウンタ502の値を表し
ている。図6に示すように、ビタビステート予測部30
5の出力を用いることにより、パイプライン動作でトレ
ースバックが実行できていることがわかる。
【0094】このような仕組みによって、通常のRAM
を使用しながらも、高速なトレースバックを実現するこ
とができる。
【0095】次に、図7を参照して、上記したような演
算手段を用いて、通常のRAMを使用し、かつ、RAM
の使用量を最小限にした本発明の他の実施形態によるビ
タビ復号器の例を説明する。
【0096】図7に示すビタビ復号器は、前述したブラ
ンチメトリック演算部102、ACS演算部103、パ
スメトリック並び換え部104、トレースバック演算部
107に加えて、ACS演算部103、パスメトリック
並び換え部104、およびトレースバック演算部107
に接続されるアドレス生成/記憶制御部706、及びア
ドレス生成/記憶制御部706に接続されるパスメトリ
ック/パス選択信号共通記憶部705を有している。
【0097】アドレス生成/記憶制御部706は、パス
メトリック格納領域開始アドレスPMSADR、パス選
択信号格納領域開始アドレスPSSADR、格納領域指
定信号PMPSSELをもとに、パスメトリックステー
ト番号n、m、及びパス選択信号ステート番号jから、
以下のメモリアクセスアドレスMEMADRを生成す
る。
【0098】
【数18】MEMADR=PMPSSEL?(PMSA
DR+n):(PMSADR+m):(PSSADR+
j) ここで、演算式s?x:y:zは、s=0の時x、s=
1の時y、s=2の時zを出力する演算を表す。
【0099】ビタビ復号動作時は、図8に示す様に、P
MPSSELが適当な時点で0、1、2のいずれかの値
となり、PMPSSELに同期して、ACS演算部10
3、パスメトリック並び換え部104、およびトレース
バック演算部107のそれぞれが動作する。
【0100】このような仕組みによって、一つのRAM
を各演算部で共用し、通常のRAMを使用し、かつ、R
AMの使用量を最小限にしたビタビ復号を実現すること
ができる。
【0101】
【発明の効果】以上説明したように、本発明によれば、
ビタビ復号器のACS演算を時分割処理で行い、パスメ
トリック並び換え部を用いて、パスメトリック記憶部へ
書き込むパスメトリックステートの順番を変更すること
により、一つのメモリを用いて、4回のメモリアクセス
で4つのパスメトリックを算出することが実現でき、A
CS演算の1処理当たりに必要とされるメモリアクセス
の回数を低下させることができ、ビタビ復号動作を高速
化、あるいは低電力化を実現することができる。
【0102】また、本発明によれば、ビタビ復号器のト
レースバック演算部にビタビステート予測部を設けて、
パイプライン処理でパス選択信号記憶部からの読み出し
を行うことにより、一般のRAM等のメモリをパス選択
信号記憶部に用いながら、高速動作のトレースバックを
行うことができ、ビタビ復号動作を高速化、あるいは低
電力化を実現することができる。
【0103】さらに、アドレス生成/記憶制御部を設け
て、一つのRAMをACS演算部と、パスメトリック並
び換え部と、トレースバック演算部で共用することで、
RAMの使用量を最小限にしたビタビ復号器を実現する
ことができる。
【図面の簡単な説明】
【図1】 本発明の実施形態によるビタビ復号器の概略
構成を示すブロック図
【図2】 ACS演算部及びパスメトリック並び換え部
の構成を示すブロック図及びその動作を示すタイミング
チャート
【図3】 トレースバック演算の構成の具体例及び動作
遅延を示す図
【図4】 次ビタビステート予測部の原理を示す図
【図5】 次ビタビステート予測部の構成を示す図
【図6】 トレースバック演算動作を示すタイミングチ
ャート
【図7】 本発明の他の実施形態による、一つのRAM
を各演算部で共用するビタビ復号器の概略構成を示すブ
ロック図
【図8】 一つのRAMを各演算部で共用する動作を示
すタイミングチャート
【図9】 畳み込み符号器の一例を示すブロック図
【図10】 ビタビ復号を説明するためのトレリス線図
【図11】 ビタビ復号を説明するためのパスメトリッ
ク・トランジション・ダイアグラム
【図12】 トレースバック演算を説明するためのステ
ート遷移図
【図13】 トレースバック演算の従来例を示す図
【符号の説明】
101 ビタビ復号器の受信データ入力端子 102 ブランチメトリック演算部 103 ACS演算部 104 パスメトリック並び換え部 105 パスメトリック記憶部 106 パス選択信号記憶部 107 トレースバック演算部 108 ビタビ復号器の復号データ出力端子 201、202 ACS演算部103のブランチメトリ
ック入力端子 203、204 ACS演算部103のパスメトリック
入力端子 205、206、207、208 ACS演算用加算器 209、210 ACS演算用減算器 211、212 ACS演算用セレクタ 213、214、215 パスメトリック並び換え用遅
延素子 216 パスメトリック並び換え用セレクタ 217、218 ACS演算部103のパス選択信号出
力端子 219、220 パスメトリック並び換え部104のパ
スメトリック出力端子 302 トレースバック用データバッファ 303 パス選択信号取り出し用セレクタ 304 トレースバック用シフトレジスタ 305 次ビタビステート予測部 306 トレースバック用アドレスバッファ 501 次ビタビステート予測部305のセレクタ 502 次ビタビステート予測部305のアップダウン
カウンタ 705 パスメトリック/パス選択信号共通記憶部 706 アドレス生成/記憶制御部 901、902 畳み込み符号器の遅延素子 903、904、905 畳み込み符号器の加算器

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力符号に基づいてブランチメトリック
    を演算するブランチメトリック演算手段と、 前記ブランチメトリック演算手段により算出された前記
    ブランチメトリックに基づいて、各ステートの上位ステ
    ート及び下位ステートのパスメトリックを同時に時分割
    処理により算出する加算/比較/選択(ACS)演算手
    段と、 前記ACS演算手段により逐次算出される上位ステート
    及び下位ステートのパスメトリックの連続する2組を、
    下位ステート及び上位ステートのそれぞれにおいて連続
    する偶数ステート及び奇数ステートのパスメトリックの
    組として、時系列に並び換えるパスメトリック並び換え
    手段と、 前記パスメトリック並び換え手段により並び換えられた
    パスメトリックを記憶するパスメトリック記憶手段とを
    備えたことを特徴とするビタビ復号器。
  2. 【請求項2】 前記パスメトリック記憶手段は、それぞ
    れ1アドレス当たり、連続する偶数ステートのパスメト
    リックと奇数ステートのパスメトリックとを1記憶単位
    として記憶し、読み出し及び書き込みを行うことを特徴
    とする請求項1記載のビタビ復号器。
  3. 【請求項3】 前記パスメトリック並び換え手段を用い
    て、前記パスメトリック記憶手段一つに対する2回の読
    み出し、2回の書き込みにより4つのパスメトリックを
    更新することを特徴とする請求項1または2記載のビタ
    ビ復号器。
  4. 【請求項4】 前記ACS演算手段は、前記ブランチメ
    トリック演算手段により算出された前記ブランチメトリ
    ックと前記パスメトリック記憶手段に記憶された連続す
    る偶数ステート及び奇数ステートのパスメトリックか
    ら、対応する上位ステート及び下位ステートのパスメト
    リックを同時に算出することを特徴とする請求項3記載
    のビタビ復号器。
  5. 【請求項5】 前記パスメトリック並び換え手段は、下
    位ステートのパスメトリック入力と、前記下位ステート
    のパスメトリック入力を1サイクル遅延させる第1の遅
    延素子と、上位ステートのパスメトリック入力を1サイ
    クル遅延させる第2の遅延素子と、前記第2の遅延素子
    の出力を1サイクル遅延させる第3の遅延素子と、前記
    下位ステートのパスメトリック入力と前記第1の遅延素
    子の出力と前記第2の遅延素子の出力と前記第3の遅延
    素子の出力から2つを選択的に出力するセレクタとを備
    え、 連続して入力される上位及び下位ステートのパスメトリ
    ック入力に対して、最初のサイクルでは前記下位ステー
    トのパスメトリック入力と前記第1の遅延素子の出力と
    を出力し、続くサイクルでは前記第2の遅延素子の出力
    と前記第3の遅延素子の出力とを出力することで、下位
    ステートの連続する偶数及び奇数ステートのパスメトリ
    ックと、上位ステートの連続する偶数及び奇数ステート
    のパスメトリックとを時系列に前記パスメトリック記憶
    手段に書き込むことを特徴とする請求項4記載のビタビ
    復号器。
  6. 【請求項6】 入力符号に基づいてブランチメトリック
    を演算するブランチメトリック演算手段と、 前記ブランチメトリック演算手段により算出された前記
    ブランチメトリックに基づいて、各ステートの上位ステ
    ート及び下位ステートのパスメトリックを同時に時分割
    処理により算出すると共に、前時刻のパスメトリックと
    組み合わせて最尤のパスを選択し、該選択した(生き残
    り)パスの情報であるパス選択信号を生成する加算/比
    較/選択(ACS)演算手段と、 前記ACS演算手段により逐次算出される上位ステート
    及び下位ステートのパスメトリックの連続する2組を、
    下位ステート及び上位ステートのそれぞれにおいて連続
    する偶数ステート及び奇数ステートのパスメトリックの
    組として、時系列に並び換えるパスメトリック並び換え
    手段と、 前記パスメトリック並び換え手段により並び換えられた
    パスメトリックを記憶するパスメトリック記憶手段と、 前記パス選択信号を記憶するパス選択信号記憶手段と、 前記パス選択信号記憶手段から読み出した過去のパス選
    択信号を使用して過去の状態遷移を探索し、復号データ
    を出力するトレースバック演算手段とを備え、 前記トレースバック演算手段は、 前記パス選択信号記憶手段より得られるパス選択信号に
    基づいて、生き残りパスに従ったビタビステートを格納
    するビタビステート格納手段と、 前記ビタビステート格納手段の内容に基づいて、次に更
    新されるビタビステートの一部を予測するビタビステー
    ト予測手段と、 前記ビタビステート予測手段により予測されたビタビス
    テートの一部に基づいて、前記パス選択信号が記憶され
    ている前記パス選択信号記憶手段のアドレスを算出する
    パス選択信号記憶アドレス算出手段とを備えたことを特
    徴とするビタビ復号器。
  7. 【請求項7】 前記ビタビステート予測手段は、 前記パス選択信号記憶手段の読み出し制御信号と前記ビ
    タビステート格納手段のシフト制御信号とによって状態
    を変化させるアップダウンカウンタと、 前記アップダウンカウンタの値に従って、前記ビタビス
    テート格納手段の内容と次に更新されるビタビステート
    の一部との対応を変化させるセレクタを備えた請求項
    記載のビタビ復号器。
  8. 【請求項8】 前記ビタビステート予測手段により予測
    されたビタビステートの一部に基づいて、前記パス選択
    信号記憶アドレス算出手段がアドレスを算出する過程、
    該算出したアドレスに基づいて、前記パス選択信号記憶
    手段のパス選択信号を読み出す過程、および該読み出し
    たパス選択信号に基づいて、生き残りパスに従ったビタ
    ビステートを前記ビタビステート格納手段に格納する過
    程の少なくとも一つの過程においてパイプライン処理を
    使用することを特徴とする請求項記載のビタビ復号
    器。
  9. 【請求項9】 入力符号に基づいて、ブランチメトリッ
    クを演算するブランチメトリック演算手段と、 前記ブランチメトリック演算手段により算出された前記
    ブランチメトリックに基づいて、各ステートの上位ステ
    ート及び下位ステートのパスメトリックを同時に時分割
    処理により算出すると共に、前時刻のパスメトリックと
    組み合わせて最尤のパスを選択し、該選択した(生き残
    り)パスの情報であるパス選択信号を生成する加算/比
    較/選択(ACS)演算手段と、 前記ACS演算手段により逐次算出される上位ステート
    及び下位ステートのパスメトリックの連続する2組を、
    下位ステート及び上位ステートのそれぞれにおいて連続
    する偶数ステート及び奇数ステートのパスメトリックの
    組として、時系列に並び換えるパスメトリック並び換え
    手段と、 前記パスメトリック並び換え手段により並び換えられた
    パスメトリック及び前記パス選択信号を記憶する一つの
    パスメトリック/パス選択信号共通記憶手段と、 前記パスメトリック/パス選択信号共通記憶手段から読
    み出した過去のパス選択信号を使用して過去の状態遷移
    を探索し、復号データを出力するトレースバック演算手
    段であって、 前記パスメトリック/パス選択信号共通記憶手段より得
    られるパス選択信号に基づいて、生き残りパスに従った
    ビタビステートを格納するビタビステート格納手段と、 前記ビタビステート格納手段の内容に基づいて、次に更
    新されるビタビステートの一部を予測するビタビステー
    ト予測手段と、 前記ビタビステート予測手段により予測されたビタビス
    テートの一部に基づいて、前記パス選択信号が記憶され
    ている前記パス選択信号記憶手段のアドレスを算出する
    パス選択信号記憶アドレス算出手段とを備えたトレース
    バック演算手段と、 前記パスメトリック並び換え手段からのパスメトリック
    と前記ACS演算手段からのパス選択信号を受けて、前
    記パスメトリック/パス選択信号共通記憶手段に対して
    特定アドレスを生成し書き込みを行うと共に、前記パス
    メトリック/パス選択信号共通記憶手段に記憶されてい
    る前記パスメトリックと前記パス選択信号の読み出しを
    行い、前記ACS演算手段に前記パスメトリックを、ま
    た前記トレースバック演算手段に前記パス選択信号を供
    給させるアドレス生成/記憶制御手段とを備えたビタビ
    復号器であって、 前記ACS演算手段、前記パスメトリック演算手段、及
    び前記トレースバック演算手段は、前記アドレス生成/
    記憶制御手段による制御の下、前記パスメトリック/パ
    ス選択信号共通記憶手段に対して時分割にアクセスする
    ことを特徴とするビタビ復号器。
JP33161299A 1999-11-22 1999-11-22 ビタビ復号器 Expired - Fee Related JP3515720B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP33161299A JP3515720B2 (ja) 1999-11-22 1999-11-22 ビタビ復号器
EP00310118A EP1102408B1 (en) 1999-11-22 2000-11-15 Viterbi decoder
DE60028906T DE60028906T2 (de) 1999-11-22 2000-11-15 Viterbi Dekoder
US09/714,405 US6324226B1 (en) 1999-11-22 2000-11-16 Viterbi decoder
KR10-2000-0069518A KR100426712B1 (ko) 1999-11-22 2000-11-22 비터비 복호기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33161299A JP3515720B2 (ja) 1999-11-22 1999-11-22 ビタビ復号器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003392604A Division JP2004120791A (ja) 2003-11-21 2003-11-21 ビタビ復号器

Publications (2)

Publication Number Publication Date
JP2001156651A JP2001156651A (ja) 2001-06-08
JP3515720B2 true JP3515720B2 (ja) 2004-04-05

Family

ID=18245612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33161299A Expired - Fee Related JP3515720B2 (ja) 1999-11-22 1999-11-22 ビタビ復号器

Country Status (5)

Country Link
US (1) US6324226B1 (ja)
EP (1) EP1102408B1 (ja)
JP (1) JP3515720B2 (ja)
KR (1) KR100426712B1 (ja)
DE (1) DE60028906T2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6741664B1 (en) * 1999-02-05 2004-05-25 Broadcom Corporation Low-latency high-speed trellis decoder
TW447194B (en) * 1999-04-12 2001-07-21 Matsushita Electric Ind Co Ltd Viterbi decoding device and method
US7225393B2 (en) * 1999-10-01 2007-05-29 Matsushita Electric Industrial Co., Ltd. Viterbi decoder and Viterbi decoding method
JP3501725B2 (ja) 2000-05-12 2004-03-02 日本電気株式会社 ビタビ復号器
US6842490B1 (en) * 2000-10-11 2005-01-11 Feng Qian Viterbi decoder with adaptive traceback
JP3532884B2 (ja) * 2001-05-18 2004-05-31 松下電器産業株式会社 ビタビ復号器
US7830630B2 (en) * 2001-06-28 2010-11-09 Stmicroelectronics, Inc. Circuit and method for detecting the phase of a servo signal
KR100834663B1 (ko) * 2002-03-11 2008-06-02 삼성전자주식회사 직접 메모리 접근을 이용한 비터비 복호기 및 비터비 복호 방법
US6928605B2 (en) * 2002-03-29 2005-08-09 Intel Corporation Add-compare-select accelerator using pre-compare-select-add operation
US7046747B2 (en) * 2002-04-16 2006-05-16 Intel Corporation Viterbi decoder and decoding method using rescaled branch metrics in add-compare-select operations
US7020223B2 (en) 2002-04-16 2006-03-28 Intel Corporation Viterbi decoder and method using sequential two-way add-compare-select operations
CN100477534C (zh) * 2002-08-14 2009-04-08 联发科技股份有限公司 维特比解码器的解码电路与方法
EP1450493A1 (en) * 2003-02-19 2004-08-25 Nokia Corporation Viterbi decoder with path metric calculations over two trellis columns and routing of path metrics in the memory
US7496159B2 (en) * 2003-12-01 2009-02-24 Mediatek Inc. Survivor memory management in a Viterbi decoder
US7275204B2 (en) * 2004-09-30 2007-09-25 Marvell International Ltd. Distributed ring control circuits for Viterbi traceback
US20060068911A1 (en) * 2004-09-30 2006-03-30 Microsoft Corporation Game console communication with a computer
TWI241072B (en) * 2004-12-09 2005-10-01 Ind Tech Res Inst Prediction device and method applied in a Viterbi decoder
US7506239B2 (en) * 2004-12-23 2009-03-17 Raghavan Sudhakar Scalable traceback technique for channel decoder
US7571369B2 (en) * 2005-02-17 2009-08-04 Samsung Electronics Co., Ltd. Turbo decoder architecture for use in software-defined radio systems
US7603613B2 (en) 2005-02-17 2009-10-13 Samsung Electronics Co., Ltd. Viterbi decoder architecture for use in software-defined radio systems
US7933405B2 (en) * 2005-04-08 2011-04-26 Icera Inc. Data access and permute unit
JP4600183B2 (ja) 2005-06-28 2010-12-15 ソニー株式会社 ビタビ復号装置
US20070266303A1 (en) * 2006-04-27 2007-11-15 Qualcomm Incorporated Viterbi decoding apparatus and techniques
JP2010206570A (ja) * 2009-03-04 2010-09-16 Sony Corp 復号装置、復号方法
JP6551534B2 (ja) * 2015-03-23 2019-07-31 日本電気株式会社 情報処理装置、情報処理方法、及びプログラム
US10069517B2 (en) * 2016-07-06 2018-09-04 Samsung Electronics Co., Ltd. Convolutional decoder and method of decoding convolutional codes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539757A (en) * 1993-12-22 1996-07-23 At&T Corp. Error correction systems with modified Viterbi decoding
US5497384A (en) * 1993-12-29 1996-03-05 International Business Machines Corporation Permuted trellis codes for input restricted partial response channels
US5530707A (en) * 1994-03-09 1996-06-25 At&T Corp. Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes
US5537424A (en) * 1994-08-12 1996-07-16 International Business Machines Corporation Matched spectral null codes with partitioned systolic trellis structures
US5841796A (en) 1995-03-14 1998-11-24 Comsat Corporation Apparatus and method for calculating viterbi path metric using exponentially-weighted moving average
US5859861A (en) 1995-06-21 1999-01-12 Hyundai Electronics Ind. Co., Ltd. High speed viterbi decoder
JPH09232973A (ja) 1996-02-28 1997-09-05 Sony Corp ビタビ復号器
US5815515A (en) * 1996-03-28 1998-09-29 Lsi Logic Corporation Edge metric calculation method and apparatus using permutations
US5872817A (en) 1997-07-02 1999-02-16 Lucent Technologies Inc. Joint viterbi decoder and decision feedback equalizer

Also Published As

Publication number Publication date
DE60028906D1 (de) 2006-08-03
EP1102408A3 (en) 2003-08-27
EP1102408A2 (en) 2001-05-23
US6324226B1 (en) 2001-11-27
JP2001156651A (ja) 2001-06-08
EP1102408B1 (en) 2006-06-21
KR20010051871A (ko) 2001-06-25
DE60028906T2 (de) 2007-02-01
KR100426712B1 (ko) 2004-04-13

Similar Documents

Publication Publication Date Title
JP3515720B2 (ja) ビタビ復号器
EP0590597B1 (en) Arithmetic apparatus
EP0234558B1 (en) Path trace viterbi decoder
EP0926836B1 (en) Viterbi decoding apparatus and viterbi decoding method
US6041433A (en) Viterbi decoder and viterbi decoding method
JP3264855B2 (ja) トーレス削除方法を用いるビタビ復号器における生存者メモリ
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
US5802115A (en) Convolution decoder using the Viterbi algorithm
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
EP1739843B1 (en) Power efficient Viterbi decoder
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
JP3242059B2 (ja) ビタビ復号器
JPH0951278A (ja) ビタビ復号器
JP2018207248A (ja) ビタビ復号装置、及び、ビタビ復号方法
JP4047697B2 (ja) ビタビ復号装置
JP2002534902A (ja) 復号装置におけるエム・エル状態選択装置及び方法
JP2004120791A (ja) ビタビ復号器
KR19990076528A (ko) 비터비 알고리즘 처리를 위한 가산 비교 선택 고속화 장치 및방법
JP2904271B2 (ja) ビタビ復号器用パスメモリユニットおよび復号方法
JP2575854B2 (ja) ビタビ復号回路
JPH05335973A (ja) ビタビ復号器及び畳み込み符号の復号器
JPH10200419A (ja) ビタビ復号方法および装置
JP2000196468A (ja) ビタビ復号化装置およびビタビ復号化方法
KR100491016B1 (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법
KR100410995B1 (ko) 즉시역추적 알고리즘을 이용한 비터비 복호기용 생존경로메모리 관리 방법 및 그 장치

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040116

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

Free format text: PAYMENT UNTIL: 20080123

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100123

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees