JP4047697B2 - ビタビ復号装置 - Google Patents
ビタビ復号装置 Download PDFInfo
- Publication number
- JP4047697B2 JP4047697B2 JP2002313108A JP2002313108A JP4047697B2 JP 4047697 B2 JP4047697 B2 JP 4047697B2 JP 2002313108 A JP2002313108 A JP 2002313108A JP 2002313108 A JP2002313108 A JP 2002313108A JP 4047697 B2 JP4047697 B2 JP 4047697B2
- Authority
- JP
- Japan
- Prior art keywords
- path
- state
- select signal
- time
- metric
- 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
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の属する技術分野】
本発明は、ビタビ復号装置に関する。
【0002】
【従来の技術】
ビタビ復号装置は、畳み込み符号などの最尤復号法に用いられるものであり、誤り訂正能力が高いことから、伝送経路誤りが生じやすい衛星通信、移動体通信等の伝送方式における復号器に用いられている。
【0003】
ビタビ復号は、受信データ系列と期待データ系列との差分(ブランチメトリック)を求める処理、加算・比較・選択という単純な処理(ACS:ADD,COMPARE,SELECT)の繰り返し処理と、最終的にデータを復号するトレースバック処理とで復号を実現するものである。
【0004】
このビタビ復号では、情報ビット1ビットに対応する符号化データを得るごとに、その時刻での各状態のパスの信号間距離を計算し、生き残りパスを求める。以下にビタビ復号の処理を簡単に説明する。
【0005】
例えば、符号化方式を畳み込み符号とする場合、畳み込み符号は入力ビットとそれに先行する一定数のビットとの排他的論理和により生成され、入力ビット1ビットに対応して複数の符号化データが生成される。
【0006】
この符号化データに影響を与える入力情報ビット数のことを拘束長Kといい、その数は排他的論理和に用いられるシフトレジスタの段数に等しい。
【0007】
この符号化データは、入力ビットと先行する(K−1)個の入力ビットの状態とで定まる。
【0008】
この状態は、新たな情報ビットが入力することによって新たな状態に遷移するが、遷移可能な状態は、新たな入力ビットが0であるか1であるかによって決定される。この状態数は、(K−1)個のビットのそれぞれが0または1を取り得るから、2K-1個となる。
【0009】
ビタビ復号では、受信した符号化系列を観測し、取り得るすべての状態遷移の中から最も確からしい状態を推定する。
【0010】
そのために情報ビット1ビットに対応する符号化データを得るごとに、その時刻での各状態へのパスの信号間距離(メトリック)を計算し、同一状態に達するパスのうち、メトリックの小さいほうを生き残りパスとして残す。
【0011】
図2は、拘束長Kの畳み込み符号器において、時刻tにおける状態S[2j]およびS[2j+1]に対し(jは正整数)、1つ前の時刻t−1の状態S[j]とS[j+2K-2]とからの状態遷移を表す2本のパスがそれぞれ延びている様子を示している。
【0012】
パスメトリックA1は、状態S[2j]に遷移される際に出力される期待データ系列と受信データ系列との信号間距離(ブランチメトリックB1)と1つ前の時刻の状態S[j]までのパスメトリックPM[j]との和である。
【0013】
同様にパスメトリックA2は、状態S[2j]に遷移される際に出力される期待データ系列と受信データ系列との信号間距離(ブランチメトリックB2)と1つ前の時刻の状態S[j+2K-2]までのパスメトリックPM[j+2K-2]との和である。
【0014】
こうして求めた、状態S[2j]に入力するパスメリックA1、A2を比較し、小さいほうのパスを生き残りパスとして選択し、選択されたパスのパスメトリックを現時刻での状態S[2j]に至るまでのパスメトリックとしてパスメトリックを更新する。
【0015】
さらに、どちらのパスが選択されたかという履歴をパスセレクト信号PS[i](i=0〜2K-1−1)として残しておく。
【0016】
このとき選択されたパスの1つ前の状態番号が、選択されなかった他方のパスの1つ状態番号よりも小さければPS[i]=0とし、大きければPS[i]=1とする。
【0017】
これらの処理を、状態数×トレースバック長だけの回数行ない、状態数×トレースバック長だけのパスセレクト信号と最終時刻での状態数だけのパスメトリックを得、これらの情報よりトレースバックを行ない、データを復号していく。
【0018】
次に、トレースバック処理について図3を用いて簡単に説明する。
【0019】
図3は、前述の状態数×トレースバック長だけの処理が終了した時点での各状態遷移の履歴を表したトレリス線図であり、拘束長3・トレースバック長7としたときの例である。
【0020】
ただし各状態間の線上の数値は、それぞれの状態遷移におけるパスセレクト信号を表し、実線で示されたパスが生き残りパスであるとする。
【0021】
トレースバック処理ではまず、最終時刻における各状態でのパスメトリックを参照してパスメトリックが最小となる状態を選択する。
【0022】
ただし、符号化の入力データ列にテールビットとして既知のデータ列が付加されている場合は、そのテールビットにより示される状態を一意的に選択する(本例では、S[0]が選択されているものとしている)。
【0023】
次に、選択された状態の最終時刻でのパスセレクト信号より1つ前の時刻での状態へ遡る。そしてこのときのパスセレクト信号を復号データとして出力する。以下、同様に、単位時刻ごとパスセレクト信号を基に状態を遡りながら(太線で示されたパス)、トレースバック長だけの復号データを出力することで符号化データ列を復号することができる(本例では1→0→1→1→0→0→0)。
【0024】
しかし、ビタビ復号器では、トレースバック処理において、単位時刻ごとにパスセレクト信号を基に状態を過去に遡っていくことによりデータの復号を行なうため、そのデータの復号に時間がかかる。
【0025】
トレースバック処理時における処理性能の低下を防止する技術としては、一対のパスメトリックバッファを設けて、一方のバッファから読み出したデータを他方のバッファに並び替えて書き込むことにより、トレースバック処理の簡単化を図る技術がある(下記特許文献1参照)。
【0026】
【特許文献1】
特開2000−196468号公報(図1など)
【0027】
【発明が解決しようとする課題】
特許文献1に記載の技術では、バッファを2面使用するため、必要なメモリの容量が多い。このことは、ICチップの専有面積の増大や回路の消費電力の増加につながる。
【0028】
本発明はかかる点に鑑みてなされたものであり、本発明の目的は、最小限度の容量をもつメモリを付加するだけで、ビタビ復号器のトレースバック処理にかかる処理時間を削減するという効果を得ることにある。
【0029】
【課題を解決するための手段】
本発明は、従来のビタビ復号装置にトレースバックに必要な最小限度の制御回路等を付加し、一つの新たなパスが選択される毎に、そのパス選択情報(パスセレクト信号であり、実際は、これが復号データを構成する)を、動的なアクセス制御を行って過去のデータとの整合性を保ちつつ、メモリに書き込む。
【0030】
これにより、現時刻における各状態に至るまでの一列のパスセレクト信号をその状態までの経路ごと1つの行にそれぞれ記憶し、最終時刻においてトレースバック開始状態の番号が決定されるのと同時に復号データ列が1つの行に記憶されている状態が実現される。
【0031】
したがって、最終時刻において、トレースバック処理の起点となる状態が決定されると、その状態に至るまでのパス選択情報列からなる1行のデータ列を一気に読み出すことで復号データ列を得ることができる。よって、高速にトレースバックを実現することが可能となる。
【0032】
【発明の実施の形態】
本発明のビタビ復号装置の一つの態様では、前時刻の状態から現時刻の状態に至るすべてのパスについてブランチメトリックを算出するブランチメトリック演算手段と、前記ブランチメトリック演算手段から算出されたブランチメトリックおよびパスメトリックより現時刻の各状態へ至るパスの中から最も確からしいパスを選択し、選択されたパスによって決定されるパスセレクト信号および現時刻の状態に至るまでのパスメトリックを出力するACS演算手段と、前記ACS演算手段より出力されたパスメトリックを記憶するパスメトリック記憶手段と、前記ACS演算手段より出力されたパスセレクト信号を現時刻までの経路ごと1つの行に記憶するためのパスセレクト信号記憶手段と、トレースバックの起点となる状態が決定されると、前記パスセレクト信号記憶手段に記憶されたパスセレクト信号を読み出して、復号データとして出力するトレースバック処理手段と、を有する構成を採る。
【0033】
この構成によれば、現時刻までの復号データ系列が復号候補列としてACS演算の処理単位ごとに一列の行に記憶されるため、前記パスメトリック記憶手段に記憶された現時刻までのパスメトリックあるいは一意的に決められた情報が得られると同時に復号データが一列のデータ系列として得られる。これにより従来のように一時刻ずつ状態を過去に遡ることなく復号データを得ることができる。
【0034】
本発明のビタビ復号器の他の態様では、第1の態様において、前記パスセレクト記憶手段は、状態数m×トレースバック長nの記憶要素、もしくは状態数m×トレースバック長nの記憶要素およびトレースバック長nの記憶要素からなるパスセレクト信号を記憶するためのパスメモリ部を具備する構成を採る。
【0035】
この構成によれば、メモリ部が状態数m×トレースバック長nの要素、もしくは状態数m×トレースバック長nの要素とトレースバック長nの要素からなるため、各状態までのトレースバック長分だけのパスセレクト信号を記憶することができる。
【0036】
本発明の他の態様では、第1の態様または第2の態様において、前記パスセレクト記憶手段は、前記パスメモリ部に記憶されている現時刻におけるある状態へ遷移する前時刻の2つの状態までのパスセレクト信号列を出力するパスメモリ出力I/F部を具備する構成を採る。
【0037】
この構成によれば、現時刻における各状態へ遷移する前時刻の2つの状態までのパスセレクト信号列を出力することができるため、現時刻における各状態までのパスセレクト信号候補列を出力できる。
【0038】
また、本発明の他の態様では、第1の態様乃至第3の態様いずれかにおいて、前記パスメモリ出力I/F部より出力される2つのパスセレクト信号列のうち、前記ACS演算手段により出力されるパスセレクト信号によってどちらか一方を選択し、その選択されたパスセレクト信号列に前記ACS演算手段により出力されるパスセレクト信号を所定の方向より付加することによりパスセレクト信号列を更新するためのパスメモリ制御部を具備する構成を採る。
【0039】
この構成によれば、前時刻の各状態までのパスセレクト信号系列に現時刻の各状態でのパスセレクト信号を付加することができるので、現時刻における各状態までの経路情報を加味したパスセレクト信号列を生成することができる。
【0040】
本発明の他の態様では、第1の態様乃至第4の態様いずれかにおいて、前記パスメモリ制御回路により更新されたパスセレクト信号列を、現時刻における本状態以降での演算において本状態の演算で選択されたパスセレクト信号列を前記パスメモリ出力インタフェース部より再度出力として選択されない行のパスメモリ部への入力、もしくは現時刻における本状態以降での演算において本状態の演算で選択されたパスセレクト信号列を前記パスメモリ出力インタフェース部より再度出力として選択されない行がない場合はトレースバック長nの要素からなるパスメモリ部への入力とするパスメモリ入力インタフェース部を具備する構成を採る。
【0041】
この構成によれば、更新されたパスセレクト信号を前記パスメモリ部への入力とすることができるため、現時刻における各状態までのパスセレクト信号列を記憶するためのメモリを状態数m×トレースバック長nの記憶要素もしくは状態数m×トレースバック長nの記憶要素とトレースバック長nの記憶要素からなるメモリで構成することができる。
【0042】
本発明のビタビ復号方法の一つの態様では、前時刻の状態から現時刻の状態に至るすべてのパスについてブランチメトリックを算出するブランチメトリック演算工程と、前記ブランチメトリック演算工程において算出されたブランチメトリックおよびパスメトリックより現時刻の各状態へ至るパスの中から最も確からしいパスを選択し、選択されたパスによって決定されるパスセレクト信号および現時刻の状態に至るまでのパスメトリックを出力するACS演算工程と、前記ACS演算工程より出力されたパスメトリックを記憶するパスメトリック記憶工程と、前記ACS演算工程より出力されたパスセレクト信号を現時刻までの経路ごと1つの行に記憶するためのパスセレクト信号記憶工程と、トレースバック処理の起点の状態が定まると、前記パスセレクト信号記憶工程において記憶されたパスセレクト信号列を復号データ列として出力するトレースバック処理工程と、を具備するようにした。
【0043】
この方法によれば、現時刻までの復号データ系列がACS演算の処理単位ごとに復号候補列として一列の行に記憶される。これにより、トレースバック処理において従来のように一時刻ずつ状態を過去に遡ることなく復号データを得ることができる。
【0044】
以下、本発明の実施の形態について、図面を参照して具体的に説明する。
【0045】
(実施の形態1)
図1は、本発明の実施の形態1に係る高速トレースバック回路の構成を示すブロック図である。
【0046】
以下、図1の各ブロックについて説明する。
【0047】
図1において、100は本発明に係る高速トレースバック回路であり、ブランチメトリック演算手段101、ACS演算手段102、パスメトリック記憶手段103、パスセレクト信号記憶手段104、パスセレクト信号制御手段108、トレースバック処理手段109から構成される。
【0048】
ブランチメトリック演算手段101は、入力される符号化データについて、前時刻の状態から現時刻の状態に至るすべてのパスについてのブランチメトリックを演算する手段を備えており、ブランチメトリック101aを算出し出力する。
【0049】
ACS演算手段102は、ブランチメトリック演算手段101より算出されたブランチメトリック101aと与えられたパスメトリック103aにより各状態へ至るパスの中から最も確からしいパスを選択し、その選択されたパスがどちらの状態からのパスであるかを示すパスセレクト信号102aと現時刻での各状態にまで至るに要したパスメトリック102bを出力する。
【0050】
パスメトリック記憶手段103は、ACS演算手段102より出力されるパスメトリック102bを状態数分だけ記憶するメモリ領域を備えており、次時刻でのACS演算を行なう際のACS演算手段102の入力として、パスメトリック(全入力データ処理終了後の各状態でのパスメトリック)103bを出力する。
【0051】
また復号を行なう符号化データの最終データが入力されACS演算が終了した時点でパスメトリックが最小となっている状態によって決定される、もしくは一意的に決定されるトレースバック開始状態番号を出力する。
【0052】
パスセレクト信号記憶手段104は、パスメモリ部105、パスメモリ出力インタフェース(I/F)部106、パスセレクト信号制御部107、パスメモリ入力インタフェース(I/F)部108より構成されている。
【0053】
パスメモリ部105は、状態数m×トレースバック長nのm行n列の要素からなる2次元配列のメモリ、もしくは状態数m×トレースバック長nのm行n列の要素からなる2次元配列のメモリとトレースバック長nのn個の要素からなる1次元配列のメモリ領域を備えており、各状態までのトレースバック長nだけのパスセレクト信号が状態数分記憶でき、各行のパスセレクト信号列105aを行単位で出力する。
【0054】
パスメモリ出力I/F部106は、パスメモリ部105からのパスセレクト信号出力105aのうち、現時刻のある状態へ遷移する前時刻における2つの状態までのパスセレクト信号列を選択する手段を備えており、選択された2つのパスセレクト信号列106aおよび106bを1組として、1組もしくは2組以上を出力する。
【0055】
パスセレクト信号制御部107は、パスメモリ出力I/F部106より出力されるパスセレクト信号列106aおよび106b(図1では、これらをまとめてOUTと表記している)のうち、ACS演算手段102より出力されるパスセレクト信号102aによってどちらか一方を選択し、その選択されたパスセレクト信号列にACS演算手段102より出力されるパスセレクト信号を一意的に決定された方向(所定方向)より付加することによりパスセレクト信号列を更新する手段を備えており、現時刻における各状態までの経路情報を加味したパスセレクト信号列107aを出力する。
【0056】
パスメモリ入力I/F部108は、パスメモリ部105の各行のうち、現時刻における本状態以降での演算においてパスメモリ出力I/F部106より再度出力として選択されないパスメモリ部105の行への入力として選択、もしくは現時刻における本状態以降での演算においてパスメモリ出力I/F部106より再度出力として選択されない行がない場合はパスメモリ部105のトレースバック長nの要素からなる行への入力として選択する手段を備えており、パスセレクト信号制御部107により更新されたパスセレクト信号列をパスメモリ部105の任意の行への入力とするようになっている。
【0057】
パスセレクト信号記憶手段104におけるパスメモリ入力I/F部108,パスメモリ出力I/F部106は、パスセレクト信号制御部107が発する制御信号CNTにより制御される。
【0058】
上記処理を各時刻の状態ごと、もしくは複数の状態を同時に行なうことにより、パスメモリ部105の各行には、各状態までの経路情報を加味したパスセレクト信号が格納され、トレースバック処理において、従来と異なり、単位時刻ごとにパスセレクト信号を基に状態を過去に遡っていくのではなく、トレースバック開始状態までのパスセレクト信号が格納されている行データを読み出すことで復号データを得ることが可能となり、これによりトレースバックの処理時間を短縮することができる。
【0059】
次に、図1のビタビ復号器の動作について図4に示すフロー図を用いて、具体的に説明する。
【0060】
まず、図4のステップS401において、高速トレースバックビタビ復号器100が時刻tにおける符号化データを受信する。
【0061】
次に、図4のステップS402において、受信した符号化データがブランチメトリック演算手段101に入力され、状態番号Nにおける受信期待値と受信した符号化データ系列のハミング距離あるいはユークリッド距離を求めることによりブランチメトリック101aを算出する。
【0062】
ここで状態番号Nにおける受信期待値は、たとえば受信した符号化データが図5に示すような畳み込み符号器500によって符号化されたものである場合、その状態番号Nは畳み込み符号器のシフトレジスタ501に保持されている値によって決定されるものである。
【0063】
その符号化出力系列502は畳み込み符号器のシフトレジスタ501に保持されている値と畳み込み符号器500への入力503を排他的論理和ゲート504a〜504cによって演算された値として求められたものである。
【0064】
このブランチメトリックの算出においては、受信期待値の生成を複数の状態に対して同時に行なうことで、ブランチメトリックを複数の状態番号に対して同時に算出することも可能である。
【0065】
次に、図4のステップS403において、図2に示すようなバタフライ演算を行ない、ACS演算を実行する。
【0066】
つまり時刻tにおける状態番号Nに遷移しうる時刻t−1での2つの状態でのパスメトリックとステップS402において求められた時刻tでの状態番号Nでのブランチメトリックより生き残りパスを選択し、どちらのパスが選択されたかを示すパスセレクト信号102aと時刻tでの状態番号Nでのパスメトリック102bを出力する。このパスセレクト信号とパスメトリックの算出においては、ACS演算器を複数個備えることで2つ以上の状態番号に対して同時に算出することが可能である。
【0067】
次に、図4のステップS404において、ステップS403において算出されたパスメトリック102bを時刻tにおける状態番号Nでのパスメトリックとしてパスメトリック記憶手段103に記憶しておく。
【0068】
次に、図4のステップS405において、ステップS403において算出されたパスセレクト信号によって、時刻tにおける状態番号Nに遷移しうる時刻t−1での2つの状態までのパスセレクト信号列のうち一方を選択し、そのパスセレクト信号列の先頭もしくは末尾に時刻tにおける状態番号Nでのパスセレクト信号を付加し、この更新されたパスセレクト信号列をパスメモリ部105に記憶しておく。
【0069】
ただし、パスメモリ部105に記憶する際には再度読み出さす必要の無いパスセレクト信号列上に上書きするよう記憶する。
【0070】
次に、図4のステップS406において、ステップS402からS405までの処理を時刻tにおけるすべての状態に対する処理が終わるまで繰り返す。
【0071】
次に、図4のステップS407において、ステップS402からS406までの処理をすべての符号化データを受信し終わるまで繰り返す。
【0072】
次に、図4のステップS408からS410において、トレースバック開始状態番号が一意的に決められているかどうかを判断する。
【0073】
符号化データにテールビット等の既知のビットが存在する場合はそのビットよりトレースバック開始状態番号が決められるのでステップS410に進み、トレースバック開始状態番号を決定する。符号化データにテールビット等の既知のビットが存在しない場合はステップS409に進み、パスメトリック記憶手段103に記憶されている各状態におけるパスメトリックを参照し、トレースバック開始状態番号を決定する。
【0074】
次に、図4のステップS411において、ステップS409またはステップS410で求めたトレースバック開始状態番号までのパスセレクト信号が格納されている行のデータをパスメモリ部105より読み出す。
【0075】
そして、図4のステップS412において、ステップS411で読み出されたデータ列を復号データとしてビタビ復号が終了となる。
【0076】
次に、上記の処理が繰り返されたときのパスメモリ部105における記憶内容の変化を図6から図13に示す。
【0077】
ただし状態数は4で、トレースバック長は7とし、ステップS403におけるACS演算は図2に示すバタフライ演算の2つの状態を同時に行なうものとし、パスセレクト信号は図3の各ノード上に示された値が出力されるものとする。
【0078】
従来のトレースバック処理方法を用いたビタビ復号器では、ステップS407まで終了するとパスメモリには図19に示すような値が記憶されていることになり、これをトレースバック処理において、トレースバック開始状態番号と0として単位時刻ごとにパスセレクト信号を基に状態を過去に遡っていくこと、復号データ1011000が得られるが、データの復号を行なうためのトレースバック処理に7サイクルかかる。
【0079】
これに対し本発明によるトレースバック方法を用いたビタビ復号では、最終時刻には、図13(b)に示すように、復号データ1011000は、すでに1行のバッファ(行レジスタ)1305に整然と記憶されている。よって、一気にデータ列を読み出すことで復号データを得ることができる。
【0080】
以下、順を追って説明する。
【0081】
時刻t0でのパスメモリ部105の各行の内容は図6に示すよう初期状態となっている。
【0082】
次に、t1における一回目のステップS405までの処理を行なうと、状態番号0(S(0))と状態番号1(S(1))のACS演算が同時に行なわれるため、時刻t1における状態番号0と状態番号1までのパスセレクト信号列を求めるには、まず時刻t1において状態番号0と状態番号1に遷移しうる時刻t0での状態番号0と状態番号2までのパスセレクト信号列が記憶されているパスメモリ部105の1行目と3行目を読み出し、そしてこのときのパスセレクト信号102aにより決定される生き残りパスの方からのパスセレクト信号列に、そのパスセレクト信号102aを付加し、パスメモリ部105の1行目と3行目にそれぞれ書き込む。この結果、パスメモリ部105は図7(a)のようになる。
【0083】
この動作を図14を用いて、より具体的に説明する。
【0084】
図14の左側の図から明らかなように、ここで、問題にするのは、時刻t1における状態S(0),S(1)についてのパス選択である。
【0085】
この時刻t1の状態S(0)に至るパスとしては、一つ前の時刻t0における状態S(0)またはS(2)からの2つのパスがある。
【0086】
図14では、状態S(0)からのパスが選択される。このパス選択を示すパス選択信号の値は“0”である。したがって、このパス選択信号は、結果的に、図14の右側に示すように、パスメモリ部105の最上位の行Aの左端に格納される。
【0087】
同様に、時刻t1の状態S(1)に至るパスとしては、一つ前の時刻t0における状態S(0)またはS(2)からの2つのパスがある。
【0088】
図14では、状態S(0)からのパスが選択される。このパス選択を示すパス選択信号の値は“0”である。したがって、このパス選択信号は、結果的に、図14の右側に示すように、パスメモリ部105の上から3番目の行Bの左端に格納される。
【0089】
このように、新たにパスが選択されると、その選択された経路に繋がる過去の一連のパス選択信号を読み出し(図14の説明では、この部分は省略されている)、その過去の一連のパス選択信号列に新たに選択されたパス選択信号(図14では“0”)を付加し、その更新されたパス選択信号列を、パスメモリ部105に再書き込みする。
【0090】
この再書き込み(パスメモリ部105へのライトアクセス)の際に留意すべきことは、次のS(2),S(3)についてのパス選択を行った際に必要となる、その状態に繋がる過去のパス選択信号を消さないようにすることである。
【0091】
つまり、次の処理で必要となるかもしれないパス選択信号列が格納されている行を避けて、他の行(もはや必要ないパス選択信号が記憶されている行)に再度の書き込みをすることである。すなわち、次に必要となる過去のパス選択信号列を格納している行を避けて、適切な動的ライトアクセスを達成することが重要である。
【0092】
図14において、新たに選択されたパスを示すパス選択信号“0”をA,Bの各行にライトしているのは、その他の行には、次のパス選択時に必要となる過去のパス選択信号が格納されている(少なくともその可能性がある)からである(図15参照)。
【0093】
図7(b)を参照して、次のステップについて説明する。
【0094】
さらに時刻t1における二回目のステップS405までの処理を行なうと、状態番号2と状態番号3のACS演算が同時に行なわれるため、時刻t1における状態番号2と状態番号3までのパスセレクト信号列を求めるには、まず時刻t1において状態番号2と状態番号3に遷移しうる時刻t0での状態番号1と状態番号3までのパスセレクト信号列が記憶されているパスメモリ部の2行目と4行目を読み出し、そしてこのときのパスセレクト信号102aにより決定される生き残りパスの方からのパスセレクト信号列に、そのパスセレクト信号102aを付加し、パスメモリ部105の2行目と4行目にそれぞれ書き込む。この結果パスメモリ部105は図7(b)のようになる。
【0095】
この動作を図15を用いて、より具体的に説明する。
【0096】
図15の左側の図から明らかなように、ここで、問題にするのは、時刻t1における状態S(2),S(3)についてのパス選択である。
【0097】
この時刻t1の状態S(2)に至るパスとしては、一つ前の時刻t0における状態S(1)またはS(3)からの2つのパスがある。
【0098】
図15では、状態S(1)からのパスが選択される。このパス選択を示すパス選択信号の値は“0”である。したがって、このパス選択信号は、結果的に、図15の右側に示すように、パスメモリ部105の上から2番目の行Cの左端に格納される。
【0099】
同様に、時刻t1の状態S(3)に至るパスとしては、一つ前の時刻t0における状態S(1)またはS(3)からの2つのパスがある。
【0100】
図15では、状態S(3)からのパスが選択される。このパス選択を示すパス選択信号の値は“1”である。したがって、このパス選択信号は、結果的に、図15の右側に示すように、パスメモリ部105の最下行Dの左端に格納される。
【0101】
図8(a)を参照して、次のステップを説明する。
【0102】
次に、t2における一回目のステップS405までの処理を行なうと、状態番号0と状態番号1のACS演算が同時に行なわれるため、時刻t2における状態番号0と状態番号1までのパスセレクト信号列を求めるには、まず時刻t2において状態番号0と状態番号1に遷移しうる時刻t1での状態番号0と状態番号2までのパスセレクト信号列が記憶されているパスメモリ部105の1行目と2行目を読み出し、そしてこのときのパスセレクト信号102aにより決定される生き残りパスの方からのパスセレクト信号列に、そのパスセレクト信号102aを付加し、パスメモリ部105の1行目と2行目にそれぞれ書き込む。この結果パスメモリ部105は図8(a)のようになる。
【0103】
さらに、時刻t2における二回目のステップS405までの処理を行なうと、状態番号2と状態番号3のACS演算が同時に行なわれるため、時刻t2における状態番号2と状態番号3までのパスセレクト信号列を求めるには、まず時刻t2において状態番号2と状態番号3に遷移しうる時刻t1での状態番号1と状態番号3までのパスセレクト信号列が記憶されているパスメモリ部の3行目と4行目を読み出し、そしてこのときのパスセレクト信号102aにより決定される生き残りパスの方からのパスセレクト信号列に、そのパスセレクト信号102aを付加し、パスメモリ部105の3行目と4行目にそれぞれ書き込む。この結果パスメモリ部105は図8(b)のようになる。
【0104】
この動作を図16および図17を用いて、より具体的に説明する。
【0105】
図16の左側の図から明らかなように、ここで、問題にするのは、時刻t2における状態S(0),S(1)についてのパス選択である。
【0106】
この時刻t2の状態S(0)に至るパスとしては、一つ前の時刻t1における状態S(0)またはS(2)からの2つのパスがある。
【0107】
図16では、状態S(0)からのパスが選択される。このパス選択を示すパス選択信号の値は“0”である。
【0108】
この場合には、図16の右側に示すように、時刻t1のS(0)に至るまでのパス選択信号列を記憶している最上位行Aからそのパス選択信号列(図16では図14のステップにて蓄積されている“0”)を読み出し、そして、今回のパス選択を示す“0”を左側から付加して、再び、最上位のA行に書き込む。結果的に、過去のパス選択信号“0”は、1ビット右側にシフトされて再書き込みがなされることになる。
【0109】
時刻t2における状態S(2),S(3)については、図17に示すような動作となる。
【0110】
すなわち、状態S(2),状態S(3)のどちらについても、選択されるパスは時刻t1における状態S(1)からのパスである。よって、時刻t1における状態S(3)までの過去のパス選択信号列はもはや不要である。
【0111】
このことを考慮し、図17の右側の上の図に示すように、時刻t1の状態S(1)までのパス選択信号列を格納している(図14参照)B行のパス選択信号列(ここでは“0”)を読み出し、この“0”に今回の新たなパス選択を示すパス選択信号“0”を左側から付加し、そして、B行ならびにD行に、再書き込みがなされる。
【0112】
以下同様にt7までの処理を行なうとパスメモリ部105の内容は図13(b)のようになる。このときパスメモリ部105の1行目には、符号化データ受信終了後の状態番号0までの経路情報を加味したパスセレクト信号が記憶されており、トレースバック開始状態番号を0とするとき、パスメモリ部105の1行目を読み出すことで復号データが得られることになり、読み出すためのバス幅を7ビットとすると1サイクルでトレースバック処理ができることとなる。
【0113】
上記では、状態数が4、トレースバック長が7の場合のときのみについて説明したが、状態数あるいはトレースバック長が上位以外の場合でも同様の方法を用いることでトレースバック処理にかかる時間を削減でき、高速に復号データを得ることができる。
【0114】
図1のパスセレクト信号記憶手段104における、パスメモリ入力I/F部108およびパスメモリ出力I/F部106は、例えば、図18に示すような簡単な回路構成することができる。
【0115】
つまり、図18のセレクタSE1〜SE4の各々が、図1におけるパスメモリ入力I/F部108およびパスメモリ出力I/F部106として機能する。各セレクタSE1〜SE4は、パスセレクト信号制御部107から出力される制御信号CNT(この制御信号CNTが上述したパス選択信号として機能する)により制御される。
【0116】
また、図1のパスメモリ部105は、図18に示すとおり、4つの行レジスタBF1〜BF4により構成される。行レジスタBF1〜BF4の各々は、各記憶要素への並列のライト、各記憶要素からの並列の読み込みが可能である。
【0117】
各行レジスタBF1〜BF4から読み出されたパス選択信号列は、セレクタSE1〜SE4を介して再び、行レジスタBF1〜BF4のいずれかに書き込まれるか、または、パスセレクト信号制御部107に、出力信号OUTとして送られる。
【0118】
各行レジスタBF1〜BF4への再書き込みの時には、パスセレクト信号制御部107から発せられる制御信号CNT(上述したパス選択信号として機能する)自体が過去のパス選択信号列の端に付加され、その更新されたパス選択信号列が書き込みされることになる。結果的に、各行レジスタBF1〜BF4への書き込みは、読み出し時のアドレスから1ビットだけシフトしたアドレスになされることになる。
【0119】
【発明の効果】
以上説明したように、本発明によれば、パスセレクト信号を算出するごとにパスセレクト信号列の内容を、経路情報を加味して記憶するため、ビタビ復号器のトレースバック処理にかかる処理時間を削減し、短時間でデータの復号を行なうことができる。
【0120】
しかも、トレースバック処理に必要な最小限度の容量のメモリと簡単なデジタル回路を付加するだけでよいため、集積回路チップの専有面積の増大を招くことがなく、実現も容易である。
【図面の簡単な説明】
【図1】本発明のビタビ復号器の一例の構成を示すブロック図
【図2】ビタビ復号における符号器の状態遷移のパスを示す状態遷移図
【図3】トレリス線図の一例を示す図
【図4】本発明によるビタビ復号の動作を説明するフロー図
【図5】畳み込み符号方式による符号化回路の一例を示す図
【図6】初期状態(t0)におけるパスメモリ部に記憶されているパスセレクト信号を示す図
【図7】(a)時刻t1における前半の処理終了後のパスメモリ部の内容を示す図
(b)時刻t1における後半の処理終了後のパスメモリ部の内容を示す図
【図8】(a)時刻t2における前半の処理終了後のパスメモリ部の内容を示す図
(b)時刻t2における後半の処理終了後のパスメモリ部の内容を示す図
【図9】(a)時刻t3における前半の処理終了後のパスメモリ部の内容を示す図
(b)時刻t3における後半の処理終了後のパスメモリ部の内容を示す図
【図10】(a)時刻t4における前半の処理終了後のパスメモリ部の内容を示す図
(b)時刻t4における後半の処理終了後のパスメモリ部の内容を示す図
【図11】(a)時刻t5における前半の処理終了後のパスメモリ部の内容を示す図
(b)時刻t5における後半の処理終了後のパスメモリ部の内容を示す図
【図12】(a)時刻t6における前半の処理終了後のパスメモリ部の内容を示す図
(b)時刻t6における後半の処理終了後のパスメモリ部の内容を示す図
【図13】(a)時刻t7における前半の処理終了後のパスメモリ部の内容を示す図
(b)時刻t7における後半の処理終了後のパスメモリ部の内容を示す図
【図14】時刻t1の前半の処理内容(主にパスメモリ部への再書き込み動作)を説明するための図
【図15】時刻t1の後半の処理内容(主にパスメモリ部への再書き込み動作)を説明するための図
【図16】時刻t2の前半の処理内容(主にパスメモリ部への再書き込み動作)を説明するための図
【図17】時刻t2の後半の処理内容(主にパスメモリ部への再書き込み動作)を説明するための図
【図18】図1のパスメモリ入力I/F部、パスメモリ出力I/F部ならびにパスメモリ部の具体的な構成の一例を示す図
【図19】従来のトレースバック処理方法によるビタビ復号器の処理終了時点でのパスメモリ部の内容
【符号の説明】
100 本発明の高速トレースバックビタビ復号器本体
101 ブランチメトリック演算手段
101a 現時刻でのブランチメトリック
102 ACS演算手段
102a 現時刻でのパスセレクト信号
102b 現時刻でのパスメトリック
103 パスメトリック記憶手段
103a 前時刻でのパスメトリック
103b 全入力データ処理終了後の各状態でのパスメトリック
104 パスセレクト記憶手段
105 パスメモリ部
105a 各状態までのパスセレクト信号列
106 パスメモリ出力I/F部
106a 選択されたパスセレクト信号列
106b 選択されたパスセレクト信号列
107 パスセレクト信号制御部
107a 更新されたパスセレクト信号列
108 パスメモリ入力I/F部
109 トレースバック処理手段
109a 更新されたパスセレクト信号列
500 畳み込み符号器
501 シフトレジスタ
502 符号化出力系列
503 符号化入力
504a、b、c 排他的論理和ゲート
601 パスメモリ部0行目
602 パスメモリ部1行目
603 パスメモリ部2行目
604 パスメモリ部3行目
701〜708 パスメモリ部
801〜808 パスメモリ部
901〜908 パスメモリ部
1001〜1008 パスメモリ部
1101〜1108 パスメモリ部
1201〜1208 パスメモリ部
1301〜1308 パスメモリ部
Claims (6)
- 前時刻の状態から現時刻の状態に至るすべてのパスについてブランチメトリックを算出するブランチメトリック演算手段と、
前記ブランチメトリック演算手段から算出されたブランチメトリックおよびパスメトリックより現時刻の各状態へ至るパスの中から最も確からしいパスを選択し、選択されたパスによって決定されるパスセレクト信号および現時刻の状態に至るまでのパスメトリックを出力するACS演算手段と、
前記ACS演算手段より出力されたパスメトリックを記憶するパスメトリック記憶手段と、
状態数m×トレースバック長nのm行n列の要素からなる2次元配列のメモリを有し、前記メモリに各状態までのトレースバック長nだけの前記パスセレクト信号を状態数分記憶して、各行のパスセレクト信号列を行単位で出力するパスセレクト信号記憶手段と、
一つの新たなパスが選択される毎に、現時刻における各状態に至るまでの一連のパスセレクト信号が、1行に収まるように前記メモリに書き込むパスセレクト信号制御手段と、
前記パスメトリック記憶手段に記憶された各状態のパスメトリックを基にトレースバックの起点となる状態を決定するトレースバック開始状態決定手段と、
最終時刻においてトレースバック処理の起点となる状態が決定されると、パスセレクト信号列が1つの行に記憶されている状態にある前記メモリから、前記パスセレクト信号列を一括して読み出して復号データとして出力するトレースバック処理手段と、
を有することを特徴とするビタビ復号装置。 - 前記パスセレクト信号記憶手段は、状態数m×トレースバック長nの記憶要素、もしくは状態数m×トレースバック長nの記憶要素にトレースバック長nの記憶要素を加えた数の記憶要素からなるパスセレクト信号を記憶するためのパスメモリ部を有することを特徴とする請求項1記載のビタビ復号装置。
- 前記パスセレクト信号記憶手段は、前記パスメモリ部に記憶されている現時刻におけるある状態へ遷移する前時刻の2つの状態までのパスセレクト信号列を出力するパスメモリ出力インタフェース部を有することを特徴とする請求項1記載のビタビ復号装置。
- 前記パスセレクト信号記憶手段は、前記パスメモリ出力インタフェース部より出力される2つのパスセレクト信号列のうち、前記ACS演算手段により出力されるパスセレクト信号によってどちらか一方を選択し、その選択されたパスセレクト信号列に前記ACS演算手段により出力されるパスセレクト信号を所定方向より付加することによりパスセレクト信号列を更新するためのパスメモリ制御部を有することを特徴とする請求項1記載のビタビ復号装置。
- 前記パスセレクト信号記憶手段は、前記パスメモリ制御回路により更新されたパスセレクト信号列を、現時刻における本状態以降での演算において本状態の演算で選択されたパスセレクト信号列を前記パスメモリ出力インタフェース部より再度出力として選択されない行のパスメモリ部への入力、もしくは現時刻における本状態以降での演算において本状態の演算で選択されたパスセレクト信号列を前記パスメモリ出力インタフェース部より再度出力として選択されない行がない場合はトレースバック長nの要素からなるパスメモリ部への入力とするパスメモリ入力インタフェース部を有することを特徴とする請求項3記載のビタビ復号装置。
- 前時刻の状態から現時刻の状態に至るすべてのパスについてブランチメトリックを算出するブランチメトリック演算工程と、
前記ブランチメトリック演算工程により算出されたブランチメトリックおよびパスメトリックより現時刻の各状態へ至るパスの中から最も確からしいパスを選択し、選択されたパスによって決定されるパスセレクト信号および現時刻の状態に至るまでのパスメトリックを出力するACS演算工程と、
前記ACS演算工程より出力されたパスメトリックを記憶するパスメトリック記憶工程と、
状態数m×トレースバック長nのm行n列の要素からなる2次元配列のメモリを有し、前記メモリに各状態までのトレースバック長nだけの前記パスセレクト信号を状態数分記憶して、各行のパスセレクト信号列を行単位で出力するパスセレクト信号記憶工程と、
一つの新たなパスが選択される毎に、現時刻における各状態に至るまでの一連のパスセレクト信号が、1行に収まるように前記メモリに書き込むパスセレクト信号制御工程と、
前記パスメトリック記憶工程により記憶された各状態のパスメトリックを基にトレースバックの起点となる状態を決定するトレースバック開始状態決定工程と、
最終時刻においてトレースバック処理の起点となる状態が決定されると、パスセレクト信号列が1つの行に記憶されている状態にある前記メモリから、前記パスセレクト信号列を一括して読み出して復号データとして出力するトレースバック処理工程と、
を有することを特徴とするビタビ復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002313108A JP4047697B2 (ja) | 2002-10-28 | 2002-10-28 | ビタビ復号装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002313108A JP4047697B2 (ja) | 2002-10-28 | 2002-10-28 | ビタビ復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004153319A JP2004153319A (ja) | 2004-05-27 |
JP4047697B2 true JP4047697B2 (ja) | 2008-02-13 |
Family
ID=32457814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002313108A Expired - Fee Related JP4047697B2 (ja) | 2002-10-28 | 2002-10-28 | ビタビ復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4047697B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10069517B2 (en) | 2016-07-06 | 2018-09-04 | Samsung Electronics Co., Ltd. | Convolutional decoder and method of decoding convolutional codes |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7275204B2 (en) | 2004-09-30 | 2007-09-25 | Marvell International Ltd. | Distributed ring control circuits for Viterbi traceback |
KR100680024B1 (ko) | 2004-12-07 | 2007-02-07 | 한국전자통신연구원 | 지연시간 단축 경로를 갖는 비터비 복호기 및 그 제어방법 |
JP4600183B2 (ja) | 2005-06-28 | 2010-12-15 | ソニー株式会社 | ビタビ復号装置 |
-
2002
- 2002-10-28 JP JP2002313108A patent/JP4047697B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10069517B2 (en) | 2016-07-06 | 2018-09-04 | Samsung Electronics Co., Ltd. | Convolutional decoder and method of decoding convolutional codes |
US10382061B2 (en) | 2016-07-06 | 2019-08-13 | Samsung Electronics Co., Ltd. | Convolutional decoder and method of decoding convolutional codes |
Also Published As
Publication number | Publication date |
---|---|
JP2004153319A (ja) | 2004-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100187964B1 (ko) | 비터비 복호방법 및 비터비 복호장치 | |
CN1808912B (zh) | 纠错译码器 | |
JP3515720B2 (ja) | ビタビ復号器 | |
WO2005011129A1 (ja) | ビタビ復号器 | |
US7590928B2 (en) | Apparatus and method for Viterbi decoding | |
JP4580927B2 (ja) | ビタビ復号装置、およびビタビ復号方法 | |
TW486883B (en) | Viterbi decoder and viterbi decoding method | |
JP4047697B2 (ja) | ビタビ復号装置 | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
KR100311504B1 (ko) | 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법 | |
JP7007115B2 (ja) | ビタビ復号装置、及び、ビタビ復号方法 | |
JPH0951278A (ja) | ビタビ復号器 | |
JP4422867B2 (ja) | ビタビデコーダ | |
JP3260714B2 (ja) | ビタビ復号化装置およびビタビ復号化方法 | |
US20070230606A1 (en) | Viterbi traceback | |
JP4729938B2 (ja) | ビタビ復号器及びそれを用いる移動体通信装置、基地局装置、移動体通信端末 | |
EP1192719A1 (en) | Viterbi decoder | |
JP2904271B2 (ja) | ビタビ復号器用パスメモリユニットおよび復号方法 | |
JP3288328B2 (ja) | ビタビ復号器のトレースバック処理の高速化装置およびその高速化方法 | |
JP4702721B2 (ja) | ビタビ・メトリック計算のためのアドレッシング方法 | |
JPH05335973A (ja) | ビタビ復号器及び畳み込み符号の復号器 | |
JP3837913B2 (ja) | ビタビ復号器 | |
JP2007174561A (ja) | ビタビ復号装置 | |
JP2001331381A (ja) | メモリ装置及びメモリ管理方法 | |
JP2004120791A (ja) | ビタビ復号器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070424 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070622 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |