JP2004193892A - Viterbi decoder - Google Patents

Viterbi decoder Download PDF

Info

Publication number
JP2004193892A
JP2004193892A JP2002358503A JP2002358503A JP2004193892A JP 2004193892 A JP2004193892 A JP 2004193892A JP 2002358503 A JP2002358503 A JP 2002358503A JP 2002358503 A JP2002358503 A JP 2002358503A JP 2004193892 A JP2004193892 A JP 2004193892A
Authority
JP
Japan
Prior art keywords
path
metric
viterbi decoder
state
path 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.)
Withdrawn
Application number
JP2002358503A
Other languages
Japanese (ja)
Inventor
Haruhiko Takayama
春彦 高山
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.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
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 Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2002358503A priority Critical patent/JP2004193892A/en
Publication of JP2004193892A publication Critical patent/JP2004193892A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a Viterbi decoder capable of decoding based upon the maximum likelihood path even when there is states having the same path metric among a plurality of states at a specified point of time of a trellis diagram or when there are many states having similar path metrics. <P>SOLUTION: The Viterbi decoder is equipped with an ACS circuit 22 which finds path metrics of a plurality of paths on the trellis diagram as to a signal which lasts by a trace-back length shorter than a data bit length after decoding among encoded signals transmitted after convolutional encoding and a MAX path metric reliability decision unit 225 which selects one of the plurality of paths according to the path metrics or selects one path according to last path metrics if one of the paths cannot be selected according to the path metrics. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、畳み込み符号化されて伝送された符号化信号を、復号語のデータビット長よりも短いトレースバック長を単位として復号化するビタビ復号器に関する。
【0002】
【従来の技術】
デジタル信号で表された情報を伝送する場合、伝送途中のノイズなどの影響により、正確な情報が伝送されなくなることが予想される。従来、伝送途中にノイズなどの影響をうけても、情報を正確に伝送できるようにするために、情報を表すデジタル信号を各種アルゴリズムを使用して符号語に変換することにより冗長性を持たせた符号化信号を生成し、この符号化信号を伝送することが実施されている。また、受信側では伝送されてきた符号化信号を復号化することにより、符号化信号の一部がノイズなど影響により変わってしまっていたとしても、正確な情報を得ることができる。
【0003】
送信側で符号語を生成する符号器の1例として、畳み込み符号器があり、畳み込み符号器によって畳み込み符号化されて伝送されて来た符号化信号を、受信側で復号化する復号器として、従来からビタビ復号器が利用されている。
【0004】
図1は、畳み込み符号器とビタビ復号器の関係を模式的に示す図である。
【0005】
図1に示されている畳み込み符号器100には、伝送される情報を1ビットの情報信号の羅列で表現した情報信号系列a…が入力される。
【0006】
畳み込み符号器100に入力された情報信号系列a…は、1ビット毎に所定数のビットからなる符号語に変換され、この符号語の系列である符号化信号が畳み込み符号器100から出力される。この符号化信号は伝送路を経由してビタビ復号器200に入力される。ビタビ復号器200は、伝送路上のノイズの影響を受けている可能性のある符号化信号を復号化し、畳み込み符号器100によって符号化される以前の情報信号系列と同じ内容の復号信号系列a…を出力する。
【0007】
ここで、符号化信号を復号化するにあたって、この符号化信号を生成した畳み込み符号器100に対応するトレリス線図(図3にて後述)を利用するビタビアルゴリズムと呼ばれる復号化プロセスを、デジタル回路で実現したものがビタビ復号器200である。
【0008】
上記のトレリス線図には、所定のデータビット長の情報信号に基づいて畳み込み符号器100が生成するであろう符号化信号の全てが、畳み込み符号器100の回路構成に基づいて求められ示されている。このトレリス線図に示されている符号化信号の中から、ビタビ復号器200が受け取った符号化信号と最も近いデータ構造を有する符号化信号を選択し、この選択された符号化信号から、符号化される以前の情報信号を推定するという復号化プロセスがビタビアルゴリズムである。
【0009】
前述したように、ビタビ復号器200が受け取る符号化信号はノイズなど影響により一部が変わってしまっている可能性がある。一方、トレリス線図に示されている符号化信号は、畳み込み符号器から理論的に求められたものであるから正確である。ビタビアルゴリズムでは、トレリス線図に示されている正確な符号化信号に基づいて情報信号を推定するので、伝送途中のノイズなどの影響が排除された正確な復号化を実施することができる。
【0010】
ここで、ビタビ復号器について説明する前に、まず畳み込み符号器について説明する。
【0011】
図2は、畳み込み符号器の一例を示すブロック図である。
【0012】
図2に示されている畳み込み符号器110は、互いに直列に接続された2つのシフトレジスタ111,112と、排他的論理和を実行する5つの演算器113,114,115,116,117とで構成されている。
【0013】
図2では、畳み込み符号器110のシフトレジスタ111,112には既に1番目の情報信号aと2番目の情報信号aが格納されており、3番目の情報信号aが入力された時点での3ビットの符号語Gが出力された、2時点目の状態にある畳み込み符号器110が示されている。
【0014】
図2に示されている畳み込み符号器110のステートはaである。この畳み込み符号器110のシフトレジスタ111に情報信号aが格納されると同時に、1段目のシフトレジスタ111からの情報信号aが2段目のシフトレジスタ112に格納される。その後入力される新たな情報信号(図示せず)と2つの情報信号aに基づいて新たな3ビットの符号語が生成され出力される。つまり、情報信号aの畳み込み符号器110のシフトレジスタ111への格納により、畳み込み符号器110のステートは、aからaに遷移する。
【0015】
以上に説明したように図2に示されている畳み込み符号器110では、情報信号が1ビット入力される毎に3ビットの符号語が1つ生成されるとともに、そのステートが遷移する。
【0016】
次に、トレリス線図について説明する。
【0017】
図3は、図2に示す畳み込み符号器におけるトレリス線図である。
【0018】
図3に示すトレリス線図には、7ビットのデータビット長の情報信号系列に基づいて畳み込み符号器110(図2参照)が生成する符号語とそのときのステートの遷移が全て示されている
畳み込み符号器110のステートは2つのビットの組み合わせで表現される。従って、畳み込み符号器110には、4通りのステート00,10,01,11がある。また図3の例では、0時点目に初期状態にあるときの、畳み込み符号器110の初期ステートは00に設定されている。
【0019】
また、図3の例では、畳み込み符号器110に入力される情報信号系列のデータビット長は7ビットである。従って、この情報信号系列の最後の情報信号が入力され、この情報信号に基づいて畳み込み符号器110が最後の符号語の生成を完了する時点は7時点目である。また、図3の例では、畳み込み符号器110が符号化信号の生成を完了したときにそのステートが初期ステートと同じ00となるように、情報信号系列の末尾の2ビットが00に設定されている。従って畳み込み符号器110の7時点目のステートは00である。
【0020】
図3に示すトレリス線図では、各時点のステートを黒丸で表し、ある時点のステートから次の時点のステートへの遷移を矢印で表している。また個々の矢印の近傍には、その矢印が示すステートの遷移に対応する符号語が付記されている。
【0021】
ここで、個々の矢印をブランチ、ある時点のステートから1時点以上離れた別の時点のステートへの遷移をブランチの組み合わせで表現したものをパスと称する。例えば、0時点目のステート00から1時点目のステート10への遷移は、ブランチbで表される。また、0時点目のステート00から2時点目のステート11への遷移は、2本のブランチb,bを組み合わせたパスPで表される。また、各ブランチに付記されている符号語は、畳み込み符号器110の回路構成から推定されたものであるので、ここでは推定符号語と称する。
【0022】
さらに、説明の便宜上、トレリス線図において、ある時点のステートに向かってくるブランチをその時点のブランチと称する。例えば、図3に示されているトレリス線図において、1時点目のステート00に向かってくるブランチbと、1時点目のステート10に向かってくるブランチbは1時点目のブランチである。
【0023】
このようなトレリス線図を利用し、符号化信号を復号化する復号化プロセスがビタビアルゴリズムであり、ビタビアルゴリズムによる復号化をデジタル回路で実現したものがビタビ復号器である。
【0024】
ここで、畳み込み符号化されて伝送された符号化信号に対して、復号後のデータビット長よりも短いトレースバック(図4にて後述)長を単位としてビタビアルゴリズムによる復号化を施すビタビ復号器が提案されている(例えば、特許文献1参照。)。
【0025】
【特許文献1】
特開平11−355150号公報(段落番号0011−0071、第6図、第11図)
【0026】
【発明が解決しようとする課題】
図4は、特許文献1に示されたビタビ復号器を示すブロック図である。
【0027】
ここで、図4に示されているビタビ復号器210を説明するにあたり、符号化信号を生成する符号器は図2に示された畳み込み符号器110であり、ビタビ復号器210で実現されている復号化プロセスには、畳み込み符号器110に対応する図3に示されたトレリス線図が利用されているものとする。これは後述する図5の説明においても同様である。
【0028】
図4に示すビタビ復号器210に伝送される符号化信号は、畳み込み符号器110によって生成された符号語が、生成された時点順に連なったものである。この符号化信号がビタビ復号器210のブランチメトリック計算器211に入力される。ブランチメトリック計算器211が実行するブランチメトリック計算プロセスでは、符号化信号を構成する符号語が1つ入力される毎に、この符号語が生成された時点と、トレリス線図(図3参照)の時点が一致するブランチのブランチメトリックが計算される。ここで、ブランチメトリックとは、ブランチに付記されている推定符号語と、ビタビ復号器210に入力された符号語とを桁毎に比較したとき、対応する桁の値が一致しないものの個数である。例えば、1時点目に生成された符号語が001であったとする。トレリス線図の1時点目には2本のブランチb,bがある。ブランチbに付記されている推定符号語は111である。推定符号語111と符号語001とを桁毎に比較すると、対応する桁の値が一致しないものの個数は2個であるから、ブランチbのブランチメトリックは2になる。また同様に計算すると、ブランチbのブランチメトリックは1になる。ブランチメトリック計算器211で得られたブランチメトリックを示す情報は、ACS(Add Compare Select)回路212に供給される。
【0029】
ACS回路212では、ブランチメトリック計算器211から供給された、ブランチメトリックを示す情報に基づいて、以下のACSプロセスを実行する。
【0030】
まずステートのパスメトリックが計算される。ここで、ステートのパスメトリックとは、トレリス線図(図3参照)上のあるステートに至るパスに対して、このパスを構成するブランチのブランチメトリックの累積値を計算したものである。ACSプロセスでは、あるステートにつながるブランチのブランチメトリックを示す情報がブランチメトリック計算器211から供給されたとき、トレリス線図上で、このブランチによって結ばれる1時点前のステートのパスメトリックを示す情報がパスメトリックメモリ213から読み出される。この情報が示す1時点前のステートのパスメトリックに、ブランチメトリック計算器211から供給された情報が示すブランチメトリックを加えてパスメトリックを計算する。計算されたパスメトリックを示す情報は、パスメトリックメモリ213に格納され、次の時点でのパスメトリックの計算に用いられる。
【0031】
ここで、例えば、トレリス線図の3時点目のステート00には、2時点目のステート00からのブランチbと、2時点目のステート01からのブランチbとの2本のブランチがつながっている。これは0時点目のステート00から3時点目のステート00に至るパスには、2時点目のステート00を経由するパスと、2時点目のステート01を経由するパスとの2種類のパスが存在することを意味する。このように、あるステートに至るパスが2種類存在するときには、ACSプロセスでは、2種類のパスに対するパスメトリックを計算し、その値が小さい方のパスをこのステートに至るパスとして選択する。ここで、選択されたパスを生き残りパスと称する。この生き残りパスを示す情報は、生き残りパスメモリ214に格納される。また、生き残りパスのパスメトリックを示す情報がパスメトリックメモリ213に格納される。
【0032】
ACSプロセスでは、パスメトリックの計算とパスの選択を、トレリス線図の各時点における全てのステートに対して実施する。
【0033】
ACS回路212において実行されているACSプロセスが、トレリス線図の所定の時点まで実行されると、MAXパスメトリック判定器215は、その時点におけるステートの中から、最も小さいパスメトリックを有するステートを1つ選択するという選択プロセスを実行する。この選択プロセスによって得られたステートを示す情報がトレースバック回路216に供給される。
【0034】
MAXパスメトリック判定器215から、ステートを示す情報を受け取ったトレースバック回路216は、このステートに至るパスを示す情報を、生き残りパスメモリ214から読み出す。
【0035】
ここで、この情報が示すパスに従って、このパスを構成するブランチに付記されている推定符号語を羅列した推定符号語列は、トレリス線図において、0時点目から上記の所定の時点までの間に示されている全てのパスに対して同様に作成される推定符号語列の中で、ビタビ復号器210に伝送されて来た符号化信号に最も近いデータ構造を有する推定符号語列である。ここで、この推定符号語列に対応するパスを最尤のパスと称する。
【0036】
トレースバック回路216は、この最尤のパスに基づいて、畳み込み符号器110に入力された情報信号系列を推定するプロセスを実行し、推定された結果を復号信号系列として出力する。推定は1時点目の直前に入力された情報信号aから時点順に、MAXパスメトリック判定器215によってステートの選択が行なわれた所定の時点まで行なわれる。この推定プロセスをトレースバックと呼び、1回のトレースバックによって得られる復号信号系列のデータビット長をトレースバック長と称する。
【0037】
また、ビタビ復号器210の各部の動作は制御回路217によって制御されている。
【0038】
ここで、本来のビタビアルゴリズムによる復号化では、ACSプロセスにおけるパスメトリックの計算とパスの選択をトレリス線図(図3参照)の最後の時点まで繰り返すことにより、0時点目のステート00から最終時点のステート00に至る最尤のパスを1本決定する。しかしながら、この本来のビタビアルゴリズムによる復号化をデジタル回路で実現しようとすると、復号化中に得られるパスメトリックや生き残りパスの情報などを格納しておくパスメトリックメモリ213や生き残りパスメモリ214として大規模なメモリ回路が必要となってしまう。そこで、図4に示されているビタビ復号器210では、MAXパスメトリック判定器215によって、ACS回路212におけるACSプロセスを所定の時点で1度中断し、復号後のデータビット長よりも短いトレースバック長を単位として復号化を行なうことにより、パスメトリックメモリ213や生き残りパスメモリ214の回路規模を抑えている。
【0039】
図4に示すビタビ復号器210では、トレースバックが終了すると、ACSプロセスを再開する。ここで、再開時の初期ステートは、トレースバックの前に、MAXパスメトリック判定器215で実行された選択プロセスによって得られたステートである。このようにして、ビタビ復号器210はトレースバック長単位の復号化を繰り返し、全ての情報信号系列の復号化を行なう。
【0040】
以上に説明したように、図4に示されているビタビ復号器210では、MAXパスメトリック判定器215で実行された選択プロセスによって、所定の時点における複数のステートの中から、最も小さいパスメトリックを有するステートを1つ選択し、このステートに至るパスを最尤のパスとして、この最尤のパスに基づいてトレースバックを実行している。
【0041】
しかしながら、図4に示すビタビ復号器210には、上記の所定の時点における複数のステートの中に、同じパスメトリックを有するステートや、あるいは似通ったパスメトリックを有するステートが多数存在するような場合、間違ったパスを選択し、このパスに基づいて間違った復号化を行なってしまうおそれがある。
【0042】
本発明は、上記事情に鑑み、トレリス線図の所定の時点における複数のステートの中に、同じパスメトリックを有するステートや、あるいは似通ったパスメトリックを有するステートが多数存在するような場合にも、最尤のパスに基づいた復号化を実行することができるビタビ復号器を提供することを目的とする。
【0043】
【課題を解決するための手段】
上記目的を達成する本発明のビタビ復号器は、畳み込み符号化されて伝送された符号化信号のうちの復号後のデータビット長よりも短いトレースバック長連続する信号の、トレリス線図上の複数のパスのパスメトリックを求めるパスメトリック算出部と、このパスメトリック算出部で算出されたパスメトリックに基づいて複数のパスのうちのいずれか1つのパスを選択するとともに、このパスメトリックに基づいてはいずれか1つのパスを選択することが不能な場合に、このパスメトリックから直前のブランチメトリックを除いた直前のパスメトリックに基づいていずれか1つのパスを選択するパス選択部とを備えたことを特徴とする。
【0044】
本発明のビタビ復号器は、トレリス線図上の複数のパスの中から、パスのパスメトリックから直前のブランチメトリックを除いた直前のパスメトリックに基づいていずれか1つのパスを選択するパス選択部を備えている。従って、例えば同じパスメトリックを有するパスや、あるいは似通ったパスメトリックを有するパスが多数存在し、これらのパスメトリックに基づいては、トレリス線図上の複数のパスの中から最尤のパスを1つ選択することが不能な場合にも、上記のパス選択部によって最尤のパスを選択することができる。
【0045】
ここで、本発明のビタビ復号器において、上記パス選択部は、上記直前のブランチメトリックの信頼度の高低を判定し、この信頼度が低い場合に上記直前のパスメトリックに基づいていずれか1つのパスを選択するものであることが好ましい。
【0046】
このようなビタビ復号器では、上記直前のブランチメトリックの信頼度が低い場合にのみ、直前のパスメトリックに基づいたパスの選択を実施するので、復号化処理の効率化が図られる。
【0047】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【0048】
図5は、本発明のビタビ復号器の一実施形態を示す図である。
【0049】
図5に示されているビタビ復号器220は、ブランチメトリック計算プロセスを実行するブランチメトリック計算器221、ACSプロセスを実行するACS回路222、パスメトリックを示す情報を格納するパスメトリックメモリ223、生き残りパスを示す情報を格納する生き残りパスメモリ224、トレリス線図の所定の時点の複数のステートの中からいずれか1つのステートを選択する選択プロセスを実行するMAXパスメトリック信頼度判定器225、トレースバックを実行するトレースバック回路226、およびビタビ復号器220の各部の動作を制御する制御回路227で構成されている。
【0050】
ここで、図5に示されているビタビ復号器220の構成や動作は、MAXパスメトリック信頼度判定器225を除いて、図4に示すビタビ復号器210の構成や動作と同一である。そこで、ここでは図4に示されたビタビ復号器210との同一点については説明を省略し、相違点であるMAXパスメトリック信頼度判定器225について説明する。
【0051】
MAXパスメトリック信頼度判定器225は、ACS回路222におけるACSプロセスが、トレリス線図上でトレースバック長に対応した所定の時点まで終了したとき、その時点における複数のステートの中から、以下の手順を経ていずれか1つのステートを選択する選択プロセスを実行する。
【0052】
まず、複数のステートの中で、最小のパスメトリックを有するステートを選択する。
【0053】
次に、この最小のパスメトリックに所定の数値を加算した上限値を計算する。さらに、複数のステートの中から、上記の最小のパスメトリックから上記の上限値までの範囲に入るパスメトリックを有するステートを選択する。
【0054】
選択されたステートが1つである場合には、このステートを示す情報をトレースバック回路226に出力する。
【0055】
選択されたステートが複数である場合には、これらのステートにつながるブランチのブランチメトリックを、ブランチメトリック計算器221から読み出し、これらのブランチメトリックの信頼度を判定する。判定の結果、この信頼度が高いと判定された場合には、選択された複数のステートの中で、最小のパスメトリックを有するステートを選択する。また、この最小のパスメトリックを有するステートが複数存在している場合には、これらの同じパスメトリックを有する複数のステートの中から、所定の規則によって1つのステートを選択し、このステートを示す情報をトレースバック回路226に供給する。
【0056】
ブランチメトリックの信頼度の判定の結果、信頼度が低いと判定された場合には、まず、選択された複数のステートそれぞれに対して、これらのステートのパスメトリックから直前のブランチメトリックを除いた1時点前のパスメトリックを、パスメトリックメモリ223から読み出す。次に、選択された複数のステートの中から、1時点前のパスメトリックが最小となるステートを1つ選択する。選択された1つのステートを示す情報がトレースバック回路226に出力される。
【0057】
このように、MAXパスメトリック信頼度判定器225は、トレリス線図の所定の時点における複数のステートの中に、同じパスメトリックを有するステートや、あるいは似通ったパスメトリックを有するステートが多数存在するような場合にも、1つのステートを選択することができる。
【0058】
本実施形態のビタビ復号器220は、このようにして選択されたステートにつながる最尤のパスに基づいてトレースバックを行ない、復号信号系列を出力するものであるため、復号利得の向上が可能となる。
【0059】
【発明の効果】
以上説明したように、本発明のビタビ復号器によれば、トレリス線図の所定の時点における複数のステートの中に、同じパスメトリックを有するステートや、あるいは似通ったパスメトリックを有するステートが多数存在するような場合にも、最尤のパスに基づいた復号化を実施することができる。従って、復号利得の向上が可能となる。
【図面の簡単な説明】
【図1】畳み込み符号器とビタビ復号器の関係を模式的に示す図である。
【図2】畳み込み符号器の1例を示すブロック図である。
【図3】畳み込み符号器に対応するトレリス線図である。
【図4】従来のビタビ復号器を示すブロック図である。
【図5】本発明のビタビ復号器の一実施形態を示す図である。
【符号の説明】
100,110 畳み込み符号器
111,112 シフトレジスタ
113,114,115,116,117 演算器
200,210,220 ビタビ符号器
211,221 ブランチメトリック計算器
212,222 ACS回路
213,223 パスメトリックメモリ
214,224 生き残りパスメモリ
215 MAXパスメトリック判定器
216,226 トレースバック回路
217,227 制御回路
225 MAXパスメトリック信頼度判定器
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a Viterbi decoder for decoding a coded signal transmitted by convolutional coding in units of a traceback length shorter than the data bit length of a decoded word.
[0002]
[Prior art]
When transmitting information represented by a digital signal, it is expected that accurate information will not be transmitted due to the influence of noise or the like during transmission. Conventionally, in order to transmit information accurately even if it is affected by noise during transmission, the digital signal representing the information is converted into a code word using various algorithms to provide redundancy. It has been practiced to generate an encoded signal and transmit the encoded signal. Also, by decoding the transmitted coded signal on the receiving side, accurate information can be obtained even if a part of the coded signal has been changed due to the influence of noise or the like.
[0003]
As an example of an encoder that generates a codeword on the transmission side, there is a convolutional encoder, and as a decoder for decoding an encoded signal transmitted by being convolutionally encoded by the convolutional encoder on the reception side, Conventionally, a Viterbi decoder has been used.
[0004]
FIG. 1 is a diagram schematically illustrating the relationship between a convolutional encoder and a Viterbi decoder.
[0005]
An information signal sequence a 1 a 2 a 3 ... In which information to be transmitted is represented by a series of 1-bit information signals is input to the convolutional encoder 100 shown in FIG.
[0006]
The information signal sequence a 1 a 2 a 3 ... Inputted to the convolutional encoder 100 is converted into a code word composed of a predetermined number of bits for each bit, and a coded signal which is a sequence of this code word is converted to a convolutional encoder. It is output from 100. This encoded signal is input to the Viterbi decoder 200 via the transmission path. The Viterbi decoder 200 decodes a coded signal that may be affected by noise on the transmission path, and has a decoded signal sequence a 1 having the same content as the information signal sequence before being coded by the convolutional coder 100. a 2 a 3 ... to output.
[0007]
Here, when decoding the encoded signal, a decoding process called a Viterbi algorithm using a trellis diagram (described later with reference to FIG. 3) corresponding to the convolutional encoder 100 that generated the encoded signal is performed by a digital circuit. Is a Viterbi decoder 200.
[0008]
In the above trellis diagram, all the encoded signals that the convolutional encoder 100 will generate based on the information signal of a predetermined data bit length are obtained and shown based on the circuit configuration of the convolutional encoder 100. ing. From the coded signals shown in the trellis diagram, a coded signal having a data structure closest to the coded signal received by the Viterbi decoder 200 is selected, and a code is selected from the selected coded signal. The decoding process of estimating the information signal before being converted is the Viterbi algorithm.
[0009]
As described above, the encoded signal received by the Viterbi decoder 200 may be partially changed due to the influence of noise or the like. On the other hand, the encoded signal shown in the trellis diagram is accurate because it is theoretically obtained from the convolutional encoder. In the Viterbi algorithm, since an information signal is estimated based on an accurate coded signal shown in a trellis diagram, it is possible to perform accurate decoding in which influences such as noise during transmission are eliminated.
[0010]
Here, before describing the Viterbi decoder, a convolutional encoder will be described first.
[0011]
FIG. 2 is a block diagram illustrating an example of the convolutional encoder.
[0012]
The convolutional encoder 110 shown in FIG. 2 includes two shift registers 111 and 112 connected in series to each other, and five arithmetic units 113, 114, 115, 116 and 117 for performing exclusive OR. It is configured.
[0013]
In Figure 2, already the first information signal a 1 and the second information signal a 2 to the shift register 111 and 112 of the convolutional encoder 110 is stored, the time when the third information signal a 3 is input 2 shows the convolutional encoder 110 in the state at the second time point where the 3-bit code word G 1 G 2 G 3 has been output.
[0014]
The state of the convolutional encoder 110 shown in FIG. 2 is a 2 a 1 . As this convolution in the shift register 111 of the encoder 110 is the information signal a 3 is stored, the information signal a 2 of the first-stage shift register 111 is stored in the shift register 112 of the second stage. Thereafter, a new 3-bit codeword is generated and output based on a new information signal (not shown) and two information signals a 2 a 3 that are input. In other words, the storage in the shift register 111 of the convolutional encoder 110 of the information signal a 3, the state of the convolutional encoder 110 transitions from a 2 a 1 to a 3 a 2.
[0015]
As described above, in the convolutional encoder 110 shown in FIG. 2, one 3-bit codeword is generated every time one bit of an information signal is input, and the state of the codeword changes.
[0016]
Next, a trellis diagram will be described.
[0017]
FIG. 3 is a trellis diagram in the convolutional encoder shown in FIG.
[0018]
The trellis diagram shown in FIG. 3 shows all codewords generated by convolutional encoder 110 (see FIG. 2) based on an information signal sequence having a data bit length of 7 bits and state transitions at that time. The state of the convolutional encoder 110 is represented by a combination of two bits. Therefore, the convolutional encoder 110 has four states 00, 10, 01, and 11. In the example of FIG. 3, the initial state of the convolutional encoder 110 when it is in the initial state at time 0 is set to 00.
[0019]
In the example of FIG. 3, the data bit length of the information signal sequence input to convolutional encoder 110 is 7 bits. Therefore, the last information signal of this information signal sequence is input, and the convolutional encoder 110 completes generation of the last codeword based on this information signal at the seventh time. In the example of FIG. 3, the last two bits of the information signal sequence are set to 00 so that when the convolutional encoder 110 completes the generation of the encoded signal, the state becomes 00 which is the same as the initial state. I have. Therefore, the state of the convolutional encoder 110 at the seventh time point is 00.
[0020]
In the trellis diagram shown in FIG. 3, the state at each time point is represented by a black circle, and the transition from the state at a certain time point to the state at the next time point is represented by an arrow. In the vicinity of each arrow, a code word corresponding to the state transition indicated by the arrow is added.
[0021]
Here, each arrow is referred to as a branch, and a transition from a state at a certain point in time to a state at another point one or more points away from the state at one or more points is referred to as a path. For example, a transition from state 00 at time 0 to state 10 at time 1 is represented by branch b1. The transition from the state 00 at the time point 0 to the state 11 at the time point 2 is represented by a path P that combines two branches b 1 and b 2 . The codeword added to each branch is estimated from the circuit configuration of the convolutional encoder 110, and is referred to herein as an estimated codeword.
[0022]
Further, for convenience of description, in the trellis diagram, a branch heading toward a state at a certain time is referred to as a branch at that time. For example, in the trellis diagram shown in FIG. 3, a branch b 3 coming towards one point th state 00, the branch b 1 coming towards the state 10 one time th is a one time th branch .
[0023]
A decoding process for decoding an encoded signal using such a trellis diagram is a Viterbi algorithm, and a Viterbi decoder realizes decoding using the Viterbi algorithm with a digital circuit.
[0024]
Here, a Viterbi decoder that performs decoding based on the Viterbi algorithm on a coded signal transmitted after being subjected to convolutional coding in units of a traceback (to be described later with reference to FIG. 4) shorter than the data bit length after decoding. Has been proposed (for example, see Patent Document 1).
[0025]
[Patent Document 1]
JP-A-11-355150 (paragraph number 0011-0071, FIG. 6, FIG. 11)
[0026]
[Problems to be solved by the invention]
FIG. 4 is a block diagram showing a Viterbi decoder disclosed in Patent Document 1.
[0027]
Here, in describing the Viterbi decoder 210 shown in FIG. 4, the encoder that generates the encoded signal is the convolutional encoder 110 shown in FIG. 2, which is realized by the Viterbi decoder 210. It is assumed that the decoding process uses the trellis diagram shown in FIG. 3 corresponding to the convolutional encoder 110. This is the same in the description of FIG. 5 described later.
[0028]
The encoded signal transmitted to the Viterbi decoder 210 shown in FIG. 4 is a sequence of codewords generated by the convolutional encoder 110 in the order of generation. This encoded signal is input to the branch metric calculator 211 of the Viterbi decoder 210. In the branch metric calculation process executed by the branch metric calculator 211, each time one code word constituting the coded signal is input, the time when this code word is generated and the time when the code word is generated are shown in FIG. A branch metric is calculated for the branch that coincides in time. Here, the branch metric is the number of digits for which the value of the corresponding digit does not match when the estimated codeword added to the branch is compared with the codeword input to the Viterbi decoder 210 for each digit. . For example, it is assumed that the codeword generated at the first time is 001. At the first point in the trellis diagram, there are two branches b 1 and b 3 . Estimated code word is appended to the branch b 1 is 111. When the estimated code word 111 and a code word 001 compares each digit, because the number of those values of the corresponding digits do not match is two, branch metrics of the branches b 1 is two. Also when similarly calculated branch metric of the branch b 3 becomes 1. Information indicating the branch metric obtained by the branch metric calculator 211 is supplied to an ACS (Add Compare Select) circuit 212.
[0029]
The ACS circuit 212 executes the following ACS process based on the information indicating the branch metric supplied from the branch metric calculator 211.
[0030]
First, the path metric of the state is calculated. Here, the path metric of the state is obtained by calculating the cumulative value of the branch metric of the branch constituting the path for a path to a certain state on the trellis diagram (see FIG. 3). In the ACS process, when information indicating a branch metric of a branch connected to a certain state is supplied from the branch metric calculator 211, on the trellis diagram, information indicating a path metric of a state connected by this branch one time before is determined. It is read from the path metric memory 213. The path metric is calculated by adding the branch metric indicated by the information supplied from the branch metric calculator 211 to the path metric of the state immediately before the time indicated by the information. Information indicating the calculated path metric is stored in the path metric memory 213 and used for calculating the path metric at the next point in time.
[0031]
Here, for example, in the 3 point-th state 00 of the trellis diagram, a branch b 4 from 2 time th state 00, the two branches of a branch b 5 from the state 01 of the two points in time th led ing. This is because there are two types of paths from state 00 at time 0 to state 00 at time 3, a path passing through state 00 at time 2 and a path passing through state 01 at time 2. Means to exist. As described above, when there are two types of paths to a certain state, the ACS process calculates path metrics for the two types of paths, and selects a path having a smaller value as a path to this state. Here, the selected path is referred to as a surviving path. Information indicating the surviving path is stored in the surviving path memory 214. Information indicating the path metric of the surviving path is stored in the path metric memory 213.
[0032]
In the ACS process, the calculation of the path metric and the selection of the path are performed for all the states at each point in the trellis diagram.
[0033]
When the ACS process executed in the ACS circuit 212 is executed up to a predetermined point in the trellis diagram, the MAX path metric determiner 215 determines one state having the smallest path metric from among the states at that point in time. A selection process of selecting one is performed. Information indicating the state obtained by this selection process is supplied to the traceback circuit 216.
[0034]
The traceback circuit 216 that has received the information indicating the state from the MAX path metric determiner 215 reads the information indicating the path leading to this state from the surviving path memory 214.
[0035]
Here, according to the path indicated by this information, an estimated codeword string in which the estimated codewords added to the branches making up this path are listed in the trellis diagram from time 0 to the above-mentioned predetermined time Is an estimated code word sequence having a data structure closest to the encoded signal transmitted to the Viterbi decoder 210 among the estimated code word sequences similarly created for all the paths shown in FIG. . Here, the path corresponding to the estimated code word sequence is referred to as the maximum likelihood path.
[0036]
The traceback circuit 216 executes a process of estimating the information signal sequence input to the convolutional encoder 110 based on the maximum likelihood path, and outputs the estimated result as a decoded signal sequence. Estimating the time order from the information signal a 1 which is immediately before the first time point th, the selection of the state is performed until a predetermined time which is performed by the MAX path metric determiner 215. This estimation process is called traceback, and the data bit length of the decoded signal sequence obtained by one traceback is called traceback length.
[0037]
The operation of each unit of the Viterbi decoder 210 is controlled by the control circuit 217.
[0038]
Here, in the decoding based on the original Viterbi algorithm, the calculation of the path metric and the selection of the path in the ACS process are repeated until the last time point of the trellis diagram (see FIG. 3), so that the state 00 at the 0 time point to the last One of the maximum likelihood paths leading to state 00 is determined. However, if decoding by the original Viterbi algorithm is to be realized by a digital circuit, a large-scale path metric memory 213 and a surviving path memory 214 for storing information such as path metrics and surviving paths obtained during decoding are used. A simple memory circuit is required. Therefore, in the Viterbi decoder 210 shown in FIG. 4, the ACS process in the ACS circuit 212 is interrupted once at a predetermined time by the MAX path metric determiner 215, and the traceback shorter than the data bit length after decoding is performed. By performing decoding in units of length, the circuit scale of the path metric memory 213 and the surviving path memory 214 is suppressed.
[0039]
In the Viterbi decoder 210 shown in FIG. 4, when the traceback ends, the ACS process is restarted. Here, the initial state at the time of resumption is a state obtained by the selection process executed by the MAX path metric determiner 215 before traceback. In this way, the Viterbi decoder 210 repeats decoding in units of traceback length, and decodes all information signal sequences.
[0040]
As described above, the Viterbi decoder 210 shown in FIG. 4 determines the smallest path metric from the plurality of states at a predetermined time by the selection process executed by the MAX path metric determiner 215. One state is selected, and a path leading to this state is set as the maximum likelihood path, and traceback is executed based on the maximum likelihood path.
[0041]
However, in the Viterbi decoder 210 shown in FIG. 4, when a plurality of states having the same path metric or a plurality of states having a similar path metric exist among the plurality of states at the predetermined time, There is a risk that a wrong path is selected and wrong decoding is performed based on this path.
[0042]
The present invention has been made in view of the above circumstances, even when a plurality of states having the same path metric or a plurality of states having a similar path metric exist among a plurality of states at a predetermined time in a trellis diagram, It is an object of the present invention to provide a Viterbi decoder that can execute decoding based on the maximum likelihood path.
[0043]
[Means for Solving the Problems]
The Viterbi decoder of the present invention, which achieves the above object, comprises a plurality of convolutionally-encoded coded signals having a traceback length shorter than the data bit length after decoding, which is continuous on a trellis diagram. A path metric calculation unit that obtains a path metric of the path, and one of the plurality of paths is selected based on the path metric calculated by the path metric calculation unit. A path selecting unit that selects any one path based on the immediately preceding path metric obtained by removing the immediately preceding branch metric from the path metric when it is impossible to select one of the paths. Features.
[0044]
A Viterbi decoder according to the present invention is a path selection unit that selects any one path from a plurality of paths on a trellis diagram, based on the immediately preceding path metric obtained by removing the immediately preceding branch metric from the path metric of the path. It has. Therefore, for example, there are a large number of paths having the same path metric or paths having similar path metrics. Based on these path metrics, the maximum likelihood path is determined as one of the paths on the trellis diagram. Even when it is not possible to select one, the path with the highest likelihood can be selected by the above-described path selection unit.
[0045]
Here, in the Viterbi decoder according to the present invention, the path selection unit determines whether the reliability of the immediately preceding branch metric is high or low, and when the reliability is low, any one of the branch metrics based on the immediately preceding path metric. It is preferable to select a path.
[0046]
In such a Viterbi decoder, only when the reliability of the immediately preceding branch metric is low, a path is selected based on the immediately preceding path metric, so that the efficiency of the decoding process is improved.
[0047]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described.
[0048]
FIG. 5 is a diagram showing one embodiment of the Viterbi decoder of the present invention.
[0049]
The Viterbi decoder 220 shown in FIG. 5 includes a branch metric calculator 221 for executing a branch metric calculation process, an ACS circuit 222 for executing an ACS process, a path metric memory 223 for storing information indicating a path metric, and a surviving path. A survivor path memory 224 for storing information indicating a state, a MAX path metric reliability determiner 225 for executing a selection process of selecting any one of a plurality of states at a predetermined time in a trellis diagram, and a traceback. It comprises a traceback circuit 226 to be executed and a control circuit 227 for controlling the operation of each part of the Viterbi decoder 220.
[0050]
Here, the configuration and operation of the Viterbi decoder 220 shown in FIG. 5 are the same as the configuration and operation of the Viterbi decoder 210 shown in FIG. 4 except for the MAX path metric reliability determiner 225. Therefore, the description of the same points as those of the Viterbi decoder 210 shown in FIG. 4 will be omitted here, and only the difference, that is, the MAX path metric reliability determiner 225 will be described.
[0051]
When the ACS process in the ACS circuit 222 ends up to a predetermined time corresponding to the traceback length on the trellis diagram, the MAX path metric reliability determiner 225 performs the following procedure from a plurality of states at that time. , A selection process for selecting one of the states is performed.
[0052]
First, a state having a minimum path metric is selected from a plurality of states.
[0053]
Next, an upper limit value is calculated by adding a predetermined numerical value to the minimum path metric. Further, a state having a path metric falling within the range from the minimum path metric to the above upper limit is selected from a plurality of states.
[0054]
If the number of selected states is one, information indicating this state is output to the traceback circuit 226.
[0055]
If there are a plurality of selected states, the branch metrics of the branches connected to these states are read from the branch metric calculator 221 to determine the reliability of these branch metrics. If it is determined that the reliability is high, the state having the minimum path metric is selected from the plurality of selected states. If there are a plurality of states having the minimum path metric, one state is selected from the plurality of states having the same path metric according to a predetermined rule, and information indicating this state is selected. Is supplied to the trace-back circuit 226.
[0056]
When the reliability of the branch metric is determined to be low as a result, first, for each of the selected states, 1 is obtained by removing the immediately preceding branch metric from the path metrics of these states. The path metric before the time point is read from the path metric memory 223. Next, from among the plurality of selected states, one state in which the path metric one time earlier is minimized is selected. Information indicating one selected state is output to the traceback circuit 226.
[0057]
As described above, the MAX path metric reliability determiner 225 determines that a plurality of states having the same path metric or a plurality of states having a similar path metric exist among a plurality of states at a predetermined point in the trellis diagram. In such a case, one state can be selected.
[0058]
Since the Viterbi decoder 220 of the present embodiment performs a traceback based on the maximum likelihood path leading to the state selected in this way and outputs a decoded signal sequence, it is possible to improve the decoding gain. Become.
[0059]
【The invention's effect】
As described above, according to the Viterbi decoder of the present invention, among a plurality of states at a predetermined time in a trellis diagram, there are many states having the same path metric or a number of states having similar path metrics. In such a case, decoding based on the maximum likelihood path can be performed. Therefore, the decoding gain can be improved.
[Brief description of the drawings]
FIG. 1 is a diagram schematically illustrating a relationship between a convolutional encoder and a Viterbi decoder.
FIG. 2 is a block diagram illustrating an example of a convolutional encoder.
FIG. 3 is a trellis diagram corresponding to a convolutional encoder.
FIG. 4 is a block diagram showing a conventional Viterbi decoder.
FIG. 5 is a diagram showing one embodiment of a Viterbi decoder of the present invention.
[Explanation of symbols]
100, 110 Convolutional encoders 111, 112 Shift registers 113, 114, 115, 116, 117 Operators 200, 210, 220 Viterbi encoders 211, 221 Branch metric calculators 212, 222 ACS circuits 213, 223 Path metric memory 214, 224 Surviving path memory 215 MAX path metric decision unit 216, 226 Traceback circuit 217, 227 Control circuit 225 MAX path metric reliability decision unit

Claims (2)

畳み込み符号化されて伝送された符号化信号を、復号後のデータビット長よりも短いトレースバック長を単位として復号化するビタビ復号器において、
前記符号化信号のうちの前記トレースバック長連続する信号の、トレリス線図上の複数のパスのパスメトリックを求めるパスメトリック算出部と、
前記パスメトリック算出部で算出されたパスメトリックに基づいて前記複数のパスのうちのいずれか1つのパスを選択するとともに、該パスメトリックに基づいてはいずれか1つのパスを選択することが不能な場合に、該パスメトリックから直前のブランチメトリックを除いた直前のパスメトリックに基づいていずれか1つのパスを選択するパス選択部とを備えたことを特徴とするビタビ復号器。
In a Viterbi decoder that decodes a coded signal transmitted by convolutional coding in units of a traceback length shorter than the data bit length after decoding,
A path metric calculation unit that obtains path metrics of a plurality of paths on a trellis diagram of the signal having the traceback length continuous among the encoded signals,
It is not possible to select any one of the plurality of paths based on the path metric calculated by the path metric calculation unit and to select any one of the paths based on the path metric. A path selection unit that selects any one path based on the immediately preceding path metric obtained by removing the immediately preceding branch metric from the path metric.
前記パス選択部は、前記直前のブランチメトリックの信頼度の高低を判定し、該信頼度が低い場合に前記直前のパスメトリックに基づいていずれか1つのパスを選択するものであることを特徴とする請求項1記載のビタビ復号器。The path selection unit may determine whether the reliability of the immediately preceding branch metric is high or low, and when the reliability is low, select one of the paths based on the immediately preceding path metric. The Viterbi decoder according to claim 1, wherein
JP2002358503A 2002-12-10 2002-12-10 Viterbi decoder Withdrawn JP2004193892A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002358503A JP2004193892A (en) 2002-12-10 2002-12-10 Viterbi decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002358503A JP2004193892A (en) 2002-12-10 2002-12-10 Viterbi decoder

Publications (1)

Publication Number Publication Date
JP2004193892A true JP2004193892A (en) 2004-07-08

Family

ID=32758206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002358503A Withdrawn JP2004193892A (en) 2002-12-10 2002-12-10 Viterbi decoder

Country Status (1)

Country Link
JP (1) JP2004193892A (en)

Similar Documents

Publication Publication Date Title
KR100580160B1 (en) Two-step soft output viterbi algorithm decoder using modified trace-back
US7765459B2 (en) Viterbi decoder and viterbi decoding method
US6738941B1 (en) Data error correction system
US5802116A (en) Soft decision Viterbi decoding with large constraint lengths
KR100853139B1 (en) Transport format detecting apparatus and method
KR100737648B1 (en) Viterbi decoder and viterbi decoding method
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
US8489972B2 (en) Decoding method and decoding device
US20070201586A1 (en) Multi-rate viterbi decoder
JP3823731B2 (en) Error correction decoder
US7225393B2 (en) Viterbi decoder and Viterbi decoding method
US7062000B1 (en) Viterbi decoder
JP2004193892A (en) Viterbi decoder
JP5370487B2 (en) Decoding method and decoding apparatus
KR0180303B1 (en) Standardization method and apparatus of viterbi decoder
JP3272173B2 (en) Error correction code / decoding device
JP3236979B2 (en) Viterbi decoding device
JP4295871B2 (en) Error correction decoder
KR100564757B1 (en) Low power Viterbi decoder and trace-back method
JP3351414B2 (en) Viterbi decoding device
JP3720251B2 (en) Viterbi decoder
KR100333336B1 (en) Traceback method of viterbi decoder
JPH0730438A (en) Viterbi decoding method
US20040153958A1 (en) Path metric calculation circuit in viterbi decoders
KR20070035912A (en) Apparatus and method for viterbi decoding

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060307