(57)【要約】  【課題】  少ないトレースバック回数で正しい復号ビット列を得ることが可能なビタビ復号方法、復号化装置、移動局無線装置、基地局無線装置および移動通信システムを提供すること。  【解決手段】  誤り訂正復号化装置１０２に開始状態メモリ１１０を設け、ＡＣＳ演算中の全時点の全状態の生き残りパスについて、そのパスの尤度であるパスメトリックを記憶すると同時に、その生き残りパスのＡＣＳ演算開始時点（時点Ｓ）の開始状態を、開始状態メモリ１１０に記憶し、ＡＣＳ処理終了後、トレースバック制御回路１１３は、（ＡＣＳ演算終了時点（時点Ｅ）の状態）＝（ＡＣＳ演算開始時点の開始状態）を満たす状態からのみトレースバックを行うことで、無駄なトレースバック処理を回避する。【選択図】  図１
2005294898.tif 000002
【特許請求の範囲】
【請求項１】
符号化器の初期状態と終了状態が同一の状態となるように情報ビット列を入力して畳み込み符号語を生成する巡回畳み込み符号化によって生成された符号について、ビタビ復号を行って前記情報ビット列を復号するビタビ復号方法であって、
加算比較選択演算において、トレリス図上の各状態についての生き残りパスが決まると、それらの生き残りパスの各々に関し、パスの尤度であるパスメトリックを記憶し、かつ、各生き残りパスの加算比較選択演算開始時点における状態を記憶し、この処理を加算比較選択演算の終了時点まで繰り返し行うステップと、
加算比較選択演算が終了すると、前記生き残りパスの各々について、前記加算比較選択演算の終了時点における状態と開始時点における状態の一致／不一致を判定するステップと、
前記判定するステップにおいて一致が確認された生き残りパスのみをトレースバック処理の候補とし、その候補の生き残りパスの少なくとも一つについて、トレースバック処理を実行するステップと、
を有するビタビ復号方法。
【請求項２】
前記トレースバック処理の候補となる生き残りパスが複数ある場合には、まず、前記パスメットリックが最も小さいパスについてトレースバック処理を行い、そのトレーバック処理の結果として復号された符号ビット列について誤りの有無のチェックを行い、誤りが無い場合には、その復号された符号ビット列を復号結果とし、誤りが確認された場合は、前記パスメトリックが２番目に小さい生き残りパスについてトレースバック処理を行い、誤りの無いビット列が得られるまで、同様の処理を繰り返す請求項１記載のビタビ復号方法。
【請求項３】
トレースバック処理の候補となる生き残りパスが存在しない場合には、トレースバック処理を行わない請求項１記載のビタビ復号方法。
【請求項４】
ビタビ復号を実行する復号化装置であって、
受信データ列からトレリス図における各ブランチの尤度を計算するブランチメトリック計算手段と、
各時点の各状態に至る複数のパスの尤度を比較し、尤度の最も高いパスを生き残りパスとして選択する加算比較選択演算手段と、
各生き残りパスのパスメトリックを記憶するパスメトリック記憶手段と、
各生き残りパスにおける、加算比較選択演算開始時点の状態を記憶する開始状態記憶手段と、
加算比較選択演算が終了すると、前記開始状態記憶手段に記憶されている各生き残りパスの開始状態を参照し、その生き残りパスの各々について、前記加算比較選択演算の終了時点における状態と開始時点における状態の一致／不一致を判定し、その一致が確認された生き残りパスのみをトレースバック処理の候補とし、その候補の生き残りパスの少なくとも一つについてトレースバック処理を実行し、復号データを得るトレースバック手段と、
前記復号データの誤りを検出する誤り検出手段と、
を備える復号化装置。
【請求項５】
請求項４記載の復号化装置を搭載した移動局無線装置。
【請求項６】
請求項４記載の復号化装置を搭載した移動通信の基地局無線装置。
【請求項７】
請求項５記載の移動局無線装置または請求項６記載の基地局無線装置の少なくとも一方を含んで構成される移動通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル携帯電話等の分野に使用される、巡回畳み込み符号についてのビタビ復号方法、復号化装置、移動局無線装置、基地局無線装置および移動通信システムに関する。
【背景技術】
【０００２】
ビタビ復号法は、畳み込み符号の復号方法の１つであり、特に移動通信システムでは多く採用されている方法である。
【０００３】
ビタビ復号法を説明する前に、まず、畳み込み符号化について、図９を参照して説明する。畳み込み符号化には、通常の畳み込み符号化（線形畳み込み符号化）と、巡回畳み込み符号化がある。
【０００４】
ここで、「巡回畳み込み符号化」は、例えば、移動通信分野における特定の制御信号の伝送に用いられている。本発明は、この「巡回畳み込み符号」の復号化技術に関する。
【０００５】
ここで、「巡回畳み込み符号化」とは、初期状態と終了状態が同一の状態となるように情報ビット列Ｕを入力して符号語を生成する符号化をいい、巡回入力畳み込み符号化と呼ばれることもある。
【０００６】
以下、順を追って説明する。
【０００７】
図９は畳み込み符号化器の例であり、この符号化器の入力側に情報ビット列Ｕを入力することで、出力側に符号化率ｒ＝１／２、拘束長ｋ＝３、２個の生成多項式がそれぞれＧ１（Ｘ）＝Ｘ2＋１及びＧ２（Ｘ）＝Ｘ2＋Ｘ＋１の畳み込み符号化が行われた符号化ビット列Ｘが得られる。
【０００８】
畳み込み符号化器には、シフトレジスタＳＲ１とＳＲ２が従属接続され、ＳＲ２には情報ビット列Ｕが順次入力され、出力側では１ビットの情報ビット入力に対し、２ビットの符号化ビット出力（Ｘ１、Ｘ２）が得られる。
【０００９】
このとき、シフトレジスタＳＲ１、及びＳＲ２のビット内容（ＳＲ１、ＳＲ２）を状態と呼び、図９の畳み込み符号化器では次の４つ（Ｓ０〜Ｓ３）のいずれかの状態をとりうる。
Ｓ０＝（０、０）
Ｓ１＝（０、１）
Ｓ２＝（１、０）
Ｓ３＝（１、１）
【００１０】
一般に、１ビット入力かつ符号化率ｒ＝１／２の畳み込み符号化器の状態数は、拘束長ｋを用いて２k-1状態となる。すなわち、状態数は拘束長に従って指数関数的に増大する。
【００１１】
図９の符号化器の初期状態と終了状態はそれぞれ４状態考えられるが、初期状態と終了状態が同一の状態となるように情報ビット列Ｕを入力して符号語を生成するとき、これを「巡回畳み込み符号化」と呼ぶ。
【００１２】
例えば、情報ビット列Ｕがｎビット（Ｕ［０］〜Ｕ［ｎ−１］）である場合、図９の符号化器の初期状態と終了状態を同一とするためには、開始時点ＳにおいてＳＲ１にＵ［ｎ−２］、ＳＲ２にＵ［ｎ−１］を予めセットしておき、その後Ｕ［０］〜Ｕ［ｎ−１］を順次入力していくことにより巡回畳み込み符号が得られる。
【００１３】
また、現時点の符号化器の状態に対して、情報ビット（“０”または“１”）を１ビット入力すると、符号化ビット出力及び次時点の符号化器の状態が一意に定まる。この畳み込み符号化器の生成規則を図１０に示す。
【００１４】
例えば、現時点の符号化器の状態がＳ３で、ビット“０”が入力された場合には、符号化ビット出力は“１０”であり、次時点の符号化器の状態はＳ２となる。
【００１５】
図１１は図９の畳み込み符号化器の生成規則の状態遷移をトレリス図によって示したものである。図１１のトレリス図において、実線のブランチは入力の情報ビットが“０”であることを示し、点線のブランチは入力の情報ビットが“１”であることを示す。さらに、ブランチ部分には符号化ビット出力（Ｘ１、Ｘ２）を示す。ただし、ａ＝（０、０）、ｂ＝（０、１）、Ｃ＝（１、０）、ｄ＝（１、１）である。
【００１６】
いま、例として、入力の情報ビット列Ｕが６ビットであり、Ｕ［０：５］＝（１、１、０、０、１、０）である場合の巡回畳み込み符号化のトレリス図を図１２に示す。
【００１７】
図１２において、横方向は符号化器への入力タイミングの時点であり（時点Ｓは初期時点、時点Ｅは終了時点）、縦方向は符号化器の状態である。このとき、符号化器の時点Ｓでの初期状態は（Ｕ［４］、Ｕ［５］）であるからＳ２となっており、巡回畳み込み符号化を行っていることから、時点Ｅでの終了状態もＳ２となり、時点Ｓと時点Ｅは同一状態になる。また、図１２の最下段が畳み込み符号化結果の符号化ビット列Ｘであり、Ｘ［０：１１］＝（０、０、１、０、１、０、１、１、１、１、０、１）となる。
【００１８】
このように畳み込み符号化されたビット列を復号する方法のひとつにビタビ復号がある。ビタビ復号は、トレリス図上で出力されうるパタンと受信パタンとを時系列順に逐次比較し、より尤もらしいパタンを候補として残しつつ、最終的に誤りが最も少ないパタンを復号データとするアルゴリズムである。
【００１９】
以下、巡回畳み込み符号に対する従来のビタビ復号方法を図１３、図１４および図１５を参照しながら簡単に説明する。図１３は、時点ｔから時点ｔ＋１にかけて状態Ｓｉが状態Ｓｉおよび状態Ｓｊに状態遷移するときのトレリス図、図１４は、従来のビタビ復号方法におけるＡＣＳ処理の詳細説明図、図１５は、従来のビタビ復号方法を適用するトレリス図の例である。
【００２０】
ビタビ復号は、ＡＣＳ（Add−Compare−Select：加算−比較−選択）処理とトレースバック処理の組み合わせによって行われる。
【００２１】
ＡＣＳ処理では、パスの尤度（確からしさ）の指標としてパスメトリックが用いられる。パスメトリックは、各時点の各状態に至るまでのパスが経由するブランチのブランチメトリックの累積加算値であり、その値が小さいほどパスが確からしいと判定する。ブランチメトリックは、ノード間の状態遷移で期待される出力ビットと受信ビットとの誤りビット数（ハミング距離：硬判定）や、信号空間上の距離（軟判定）などが用いられる。
【００２２】
まず、ＡＣＳ処理の説明の前に、以下の説明で用いる記号について図１３を用いて定義する。図１３は、時点ｔから時点ｔ＋１にかけて状態Ｓｉが状態Ｓｉ及び状態Ｓｊに状態遷移するときのトレリス図を示したものである。いま、時点ｔにおける状態Ｓｉを状態Ｓｉ（ｔ）と記述する。図１３中の記号ＰＭはパスメトリックであり、ＰＭｉ（ｔ）は、状態Ｓｉ（ｔ）における生き残りパスのパスメトリックである。また、図１３中の記号ＢＭはブランチメトリックであり、ＢＭｉｊ（ｔ）は、状態Ｓｉ（ｔ）が状態Ｓｊ（ｔ＋１）に状態遷移するときのブランチメトリックである。
【００２３】
なお、パスメトリックとブランチメトリックには、ＰＭｊ（ｔ＋１）＝ＰＭｉ（ｔ）＋ＢＭｉｊ（ｔ）なる関係が成り立つ。
【００２４】
次に、ＡＣＳ処理について、図１４及び図１５を用いて説明する。図１４及び図１５の各ノード内の数値は各時点各状態におけるパスメトリックである。
【００２５】
ここでは、受信データは巡回畳み込み符号化されており、且つ符号化器の初期状態は不明であることを前捏とし、ブランチメトリックにはハミング距離を用いて説明する。また、受信ビット列Ｙは、Ｙ［０：１１］＝（０、０、１、０、１、１、１、１、１、０、０、１）とする。
【００２６】
まず、時点０（＝時点Ｓ）から時点１にかけて行われるＡＣＳ処理について、図１４を用いて説明する。時点０では、符号化器の初期状態が不明であるので、各状態のパスメトリック（尤度）は全て同一であり、ＰＭ０（０）＝ＰＭ１（０）＝ＰＭ２（０）＝ＰＭ３（０）＝０である。
【００２７】
はじめに、状態Ｓ０（１）におけるパスメトリックＰＭ０（１）を算出する。状態Ｓ０（１）に遷移してくるパスは、状態Ｓ０（０）及び状態Ｓ２（０）からのパスである。
【００２８】
状態Ｓ０（０）からのブランチメトリックは、符号化器からの期待出力が“００”であるのに対し、受信ビットがＹ［０：１］＝“００”であるから、ハミング距離を用いて、ＢＭ００（０）＝０となり、１つ目の仮のパスメトリックＰＭａは、ＰＭａ＝ＰＭ０（０）＋ＢＭ００（０）＝０＋０＝０と記憶される。
【００２９】
一方、状態Ｓ２（０）からのブランチメトリックは、符号化器からの期待出力が“１１”であるのに対し、受信ビットが“００”であるから、ハミング距離を用いて、Ｂｍ２０（０）＝２となり、２つ目の仮のパスメトリックＰＭｂは、ＰＭｂ＝ＰＭ２（０）＋ＢＭ２０（０）＝０＋２＝２と記憶される。以上がＡＣＳ処理の加算（Add）である。
【００３０】
次に、２つの仮のパスメトリックの大きさを比較（Compare）する。ＰＭａ及びＰＭｂを比較すると、ＰＭａの方が小さいため、状態Ｓ０（０）からのパスの尤度は状態Ｓ２（０）からのパスの尤度より大きいため、状態Ｓ０（１）では、状態Ｓ０（０）からのパスを選択（Select）し、ＰＭ０（１）＝ＰＭａ＝０となる。このとき、選択されたパスを生き残りパスと呼び、パス選択情報は各時点各状態の全てにおいて記憶しておく。図１４において×印が打たれたパスは破棄されたパスである。
【００３１】
次に、状態Ｓ１（１）におけるパスメトリックＰＭ１（１）を算出する。上記と同様に考えることで、状態Ｓ０（０）から至るパスのパスメトリックＰＭａ、及び状態Ｓ２（０）から至るパスのパスメトリックＰＭｂはそれぞれ、
ＰＭａ＝ＰＭ０（０）＋ＢＭ０１（０）＝０＋２＝２（符号化器の期待出力“１１”）
ＰＭｂ＝ＰＭ２（０）＋ＢＭ２１（０）＝０＋０＝０（符号化器の期待出力“００”）
となり、ＰＭｂの方が小さいため、生き残りパスはＳ２（０）からのパスとなり、ＰＭ１（１）＝ＰＭｂ＝０となる。
【００３２】
同様に、状態Ｓ２（１）におけるパスメトリックＰＭ２（１）を算出する。上記と同様に考えることで、状態Ｓ１（０）から至るパスのパスメトリックＰＭａ、及び状態Ｓ３（０）から至るパスのパスメトリックＰＭｂはそれぞれ、
ＰＭａ＝ＰＭ１（０）＋ＢＭ１２（０）＝０＋１＝１（符号化器の期待出力“０１”）
ＰＭｂ＝ＰＭ３（０）＋ＢＭ３２（０）＝０＋１＝１（符号化器の期待出力“１０”）
となる。このときＰＭａ＝ＰＭｂとなるが、ここでは状態番号が小さい状態Ｓ１（０）から至るパスを生き残りパスとし、ＰＭ２（１）＝１となる。なお、ここでの生き残りパス選択方法は、ランダムに選択する方法も考えられる。
【００３３】
同様に、状態Ｓ３（１）におけるパスメトリックＰＭ３（１）を算出する。上記と同様に考えることで、状態Ｓ１（０）から至るパスのパスメトリックＰＭａ、及び状態Ｓ３（０）から至るパスのパスメトリックＰＭｂはそれぞれ、
ＰＭａ＝ＰＭ１（０）＋ＢＭ１３（０）＝０＋１＝１（符号化器の期待出力“１０”）
ＰＭｂ＝ＰＭ３（０）＋ＢＭ３３（０）＝０＋１＝１（符号化器の期待出力“０１”）
となる。このときＰＭａ＝ＰＭｂとなるが、ここでは状態番号が小さい状態Ｓ１（０）から至るパスを生き残りパスとし、ＰＭ３（１）＝１となる。なお、ここでの生き残りパスの選択方法は、ランダムに選択する方法も考えられる。
【００３４】
以上が、時点０（＝時点Ｓ）から時点１にかけて行われるＡＣＳ処理である。
【００３５】
以下、時点１から時点２にかけてのＡＣＳ処理、時点２から時点３にかけてのＡＣＳ処理を順次実行していき、時点５から時点６（＝時点Ｅ）にかけてのＡＣＳ処理までを終了すると、図１５のようなトレリス図が得られる。図１５において太線が生き残りパスである。なお、パス選択情報はＳｉ（ｔ）（ｉ＝０〜３、ｔ＝１〜６）の各時点各状態の全てにおいて記憶しておく。
【００３６】
最終時点である時点ＥまでＡＣＳ処理が終了した後、トレースバックによって復号ビット列を得る。一般の畳み込み符号化では、送信側でテールビットと呼ばれる既知ビットを（（拘束長ｋ）−１）ビットだけ入力することで、ＡＣＳ処理の最終時点における状態が１つに収束する。したがって、トレースバックの開始状態はテールビットパタンによって一意に決定されうる。
【００３７】
一方、巡回畳み込み符号化では、最終時点Ｅにおける状態は不明であるが、初期時点Ｓと最終時点Ｅの状態番号が同一になるようにしている。すなわち、トレースバックの開始時点（時点Ｅ）とトレースバックの終了時点（時点Ｓ）における状態が同一でなければ、復号ビット列には誤りビットが必ず含まれることになる。
【００３８】
（第１の従来例）
以下、第１の従来例について、巡回畳み込み符号の従来のトレースバックについて図１５を参照しながら説明する。なお、説明においては、初期時点（時点Ｓ）は“ＡＣＳ演算開始時点”及び“トレースバック終了時点”と同意であり、最終時点（時点Ｅ）は“ＡＣＳ演算終了時点”及び“トレースバック開始時点”と同意である。
【００３９】
巡回畳み込み符号のトレースバックで最終時点Ｅにて最もパスメトリックが小さい（尤度が高い）状態を選択し、この状態から処理を開始する。図１５では時点Ｅにおいて状態Ｓ３のパスメトリックが“１”であり、最も尤度が高いため、状態Ｓ３からトレースバックを開始する。
【００４０】
状態Ｓ３から時点の逆順に（時点Ｅから時点Ｓに向かって）生き残りパス（図１５中の太線）を辿り、実線のブランチについては“０”、破線のブランチについては“１”を復号ビットとすることによって、復号ビット列Ｄ［０：５］が得られる。しかしながら、状態Ｓ３からトレースバックを行った場合には、トレースバックの終了時点（時点Ｓ）において状態Ｓ１に到達することから、状態Ｓ３≠状態Ｓ１により、得られた復号ビット列には誤りが含まれる。
【００４１】
このため、トレースバックの開始状態を再度選択して、処理をやり直す。時点Ｅにおいて状態Ｓ３の次に尤度が高い状態は、状態Ｓ２（パスメトリック“２”）であるので、２回目のトレースバックは、状態Ｓ２から開始する。状態Ｓ２からトレースバックを行うと、トレースバックの終了時点（時点Ｓ）において状態Ｓ２に到達することから、復号ビット列が正しいための必要条件が得られる。さらに、この復号ビット列に対して誤りの有無があるかどうかチェックを行い、誤りがなければこれを復号ビット列として採用する。復号ビット列の誤り判定は、送信側で冗長に付加されたパリティピットやＣＲＣ（Cyclic Redundancy Check）等のチェックビットによって行えるようになっているのが一般的である。
【００４２】
上記で誤りがないと判定された場合、このビタビ復号方法では、トレースバック回数は２回となる。このケースではトレースバックは２回で済んだが、この第１の従来例のように尤度だけを頼りにトレースバックをリトライする方法では、トレースバックを何回も行わなければ正しい復号ビットが得られないことが多くなる。これは、巡回畳み込み符号のビタビ復号では、トレースバックを開始する状態の決め方が難しいという点に起因している。
【００４３】
いま、もしトレースバックの開始時点（時点Ｅ）と終了時点（時点Ｓ）において同一の状態になるパスが最初から存在しない場合には、状態数分のトレースバックを実行しなければならず、結果として正しいパスが存在しないということになってしまう。
【００４４】
また、トレースバックの回数の増加を回避するために、トレースバック回数を制限する方法をとると、正しいパス（復号ビット列）があるにも関わらず、トレースバックを行わないがために、正しい結果が破棄されてしまうという問題点がある。
【００４５】
（第２の従来例）
これに対し、特許文献１に開示されたビタビ復号方法は、１回目のトレースバックを行い、復号ビット列に誤りがあった場合には、そのトレースバックの終了時点の状態を２回目のトレースバックの開始状態にし、再度トレースバックを行うことで、少ないトレースバック回数で正しい復号ビット列が得られるというものであった。
【００４６】
以下、第２の従来例について、図１５のトレリス図を用いて説明する。時点Ｅにおいて状態Ｓ３のパスメトリックが“１”で最も小さい（尤度が高い）ため、状態Ｓ３から１回目のトレースバックを開始する。この１回目のトレースバックでは、終了時点（時点Ｓ）において状態Ｓ１に到達することから、状態Ｓ３≠状態Ｓ１により、得られた復号ビット列には誤りが含まれる。このため２回目のトレースバックを行う。
【００４７】
２回目のトレースバックでは、１回目のトレースバックの終了時点（時点Ｓ）の状態Ｓ１を新しい開始状態としてトレースバックを行う。この２回目のトレースバックでは、終了時点（時点Ｓ）において状態Ｓ２に到達することから、状態Ｓ１≠状態Ｓ２により、得られた復号ビット列には誤りが含まれる。このため３回目のトレースバックを行う。
【００４８】
３回目のトレースバックでは、２回目のトレースバックの終了時点（時点Ｓ）の状態Ｓ２を新しい開始状態としてトレースバックを行う。この３回目のトレースバックでは、終了時点（時点Ｓ）において開始状態と同一の状態Ｓ２に到達することから、復号ビット列が正しいための必要条件が得られる。さらに、この復号ビット列に対して誤りの有無があるかどうかチェックを行い、誤りがなければこれを復号ビット列として採用する。
【００４９】
上記のように、条件によっては、特許文献１に開示されたビタビ復号方法によっても、トレースバック回数が増えてしまうことがある。また、トレースバック回数の制限を行えば、正しいパス（復号ビット列）があるにも関わらず、トレースバックを行わないがために、正しい結果が破棄されてしまうという場合がある。
【００５０】
また、第１及び第２の従来例のビタビ復号方法では、トレースバック回数の増大によって、ハードウェア実現の場合には回路規模の増大してしまい、ソフトウェア実現の場合には演算量が増大してしまうため、結果として消費電流の増加を招いてしまう。
【００５１】
また、巡回畳み込み符号化では、トレースバックの開始時点（時点Ｅ）と終了時点（時点Ｓ）における状態が異なる場合には、復号ビット列が正しいことはないが、従来例のビタビ復号方法では、そのような場合にもトレースバックを行ってしまうため、処理そのものが無駄になることが多い。
【特許文献１】特開平９−２３２９７１号公報
【発明の開示】
【発明が解決しようとする課題】
【００５２】
上述のとおり、通常の畳み込み符号化（線形畳み込み符号化）では、テールビットの付加によって符号化開始時点および終了時点の状態を所望の状態（通常は、状態Ｓ０）に揃えることができ、よって、トレースバック処理の対象となる生き残りパスはただ一つである（すなわち、終了時点の状態Ｓ０からトレースバックを行うことで、符号を復元できる）。
【００５３】
これに対し、巡回畳み込み符号化の場合は、入力符号列の周期性を確保する観点から、テールビットを付加することはできないため、符号化開始時点および終了時点の状態を一意に決めることができない。したがって、状態数がｎ個ある巡回符号化の場合、符号化が終了した時点では、各状態に対応したｎ個の生き残りパスが存在しており、そのｎ個の生き残りパスのうちのどのパスについてトレースバックをすればよいかが不明である。従来の復号化法は、結局のところ、試行錯誤的に一つの生き残りパスを選び、正しい復号結果が得られるまでトレースバックを繰り返すという無駄の多い処理となっている。
【００５４】
すなわち、従来の復号化方法では、少ないトレースバック回数で正しい復号ビット列を得ることが難しい。
【００５５】
また、トレースバック処理の回数の増加によってＬＳＩの消費電流量が増大する。この処理を高速化しようとすると、回路規模や演算量が増え、さらに消費電流量が増大してしまう。
【００５６】
移動通信分野では、通信規格において、特定の制御信号は巡回畳み込み符号化しなければならないことが決められている場合があり、このような特殊な制御信号の復号化のために回路規模や消費電力が増大することは、小型化、バッテリーの長寿命化、低コスト化が厳しく求められる移動通信機器においては、好ましいものではない。
【００５７】
本発明は、このような考察に基づいてなされたものであり、巡回畳み込み符号について、少ないトレースバック回数で正しい復号ビット列を得ることを可能とすることを目的とする。
【課題を解決するための手段】
【００５８】
本発明のビタビ復号方法は、符号化器の初期状態と終了状態が同一の状態となるように情報ビット列を入力して畳み込み符号語を生成する巡回畳み込み符号化によって生成された符号について、ビタビ復号を行って前記情報ビット列を復号するビタビ復号方法であって、加算比較選択演算において、トレリス図上の各状態についての生き残りパスが決まると、それらの生き残りパスの各々に関し、パスの尤度であるパスメトリックを記憶し、かつ、各生き残りパスの加算比較選択演算開始時点における状態を記憶し、この処理を加算比較選択演算の終了時点まで繰り返し行うステップと、加算比較選択演算が終了すると、前記生き残りパスの各々について、前記加算比較選択演算の終了時点における状態と開始時点における状態の一致／不一致を判定するステップと、前記判定するステップにおいて一致が確認された生き残りパスのみをトレースバック処理の候補とし、その候補の生き残りパスの少なくとも一つについて、トレースバック処理を実行するステップと、を有する。
【００５９】
巡回畳み込み符号の復号化では、トレースバック開始時点では、複数の生き残りパスが存在し、どの状態からトレースバックを行えばよいかは決まっていないが、しかし、巡回畳み込み符号化の特徴である、「ＡＣＳ演算の開始時点と終了時点の状態が同じである」という条件を適用すれば、それらの複数の生き残りパスの中から、その条件を満たさないものを排除し、トレースバックの候補となる生き残りパスを絞り込むことが可能となる。ただし、従来のように、トレースバックをしないとＡＣＳ開始時点の状態が特定できないのでは、結局のところ、試行錯誤的に無駄にトレースバックを行う回数が増えるから、本発明では、トレースバックをしなくてもＡＣＳ開始時点の状態がわかるようにする。すなわち、トレリス図上で生き残りパスが更新される毎に、そのパスの起点の状態（ＡＣＳ開始時点の状態）を示す情報を、そのパスに対応付けて記憶する。そして、トレースバック開始時点において、ＡＣＳ終了時点の各状態に対応した生き残りパスについて、記憶されている初期状態を参照し、終了時点の状態との一致／不一致を調べ、不一致のパスを、トレースバック対象から除外する。これにより、トレースバック対象のパスを絞り込むことができ、復号化処理を効率化することができる。
【００６０】
また、本発明のビタビ復号方法の一態様では、前記トレースバック処理の候補となる生き残りパスが複数ある場合には、まず、前記パスメットリックが最も小さいパスについてトレースバック処理を行い、そのトレーバック処理の結果として復号された符号ビット列について誤りの有無のチェックを行い、誤りが無い場合には、その復号された符号ビット列を復号結果とし、誤りが確認された場合は、前記パスメトリックが２番目に小さい生き残りパスについてトレースバック処理を行い、誤りの無いビット列が得られるまで、同様の処理を繰り返す。
【００６１】
トレースバック候補の生き残りパスが複数存在する場合には、パスメトリックを基準として、より確からしいパスを優先してトレースバックを行うものである。これにより、正しい復号データが早期に得られる確率を高めることができる。
【００６２】
また、本発明のビタビ復号方法の他の態様では、トレースバック処理の候補となる生き残りパスが存在しない場合には、トレースバック処理を行わない。
【００６３】
本発明では、トレースバックを行う前に、そのパスのＡＣＳ演算開始時点の状態がわかる。そこで、終了時点の状態との一致判定の結果、一致が確認できた生き残りパスが一つもない場合には、いずれのパスも誤りを含むことは明らかであることから、トレースバックを行わず、復号処理を中止することにしたものである。これにより、無駄なトレースバック処理が繰り返される事態を回避できる。
【００６４】
また、本発明の復号化装置は、本発明のビタビ復号方法を実行する復号化装置であって、受信データ列からトレリス図における各ブランチの尤度を計算するブランチメトリック計算手段と、各時点の各状態に至る複数のパスの尤度を比較し、尤度の最も高いパスを生き残りパスとして選択するＡＣＳ演算手段と、各生き残りパスのパスメトリックを記憶するパスメトリック記憶手段と、各生き残りパスにおける、ＡＣＳ演算開始時点の状態を記憶する開始状態記憶手段と、ＡＣＳ演算が終了すると、前記開始状態記憶手段に記憶されている各生き残りパスの開始状態を参照し、その生き残りパスの各々について、前記ＡＣＳ演算の終了時点における状態と開始時点における状態の一致／不一致を判定し、その一致が確認された生き残りパスのみをトレースバック処理の候補とし、その候補の生き残りパスの少なくとも一つについてトレースバック処理を実行し、復号データを得るトレースバック手段と、前記復号データの誤りを検出する誤り検出手段と、を有する。
【００６５】
トレースバック手段が、トレースバック処理を行う際に、開始状態記憶手段に記憶された、各生き残りパスのＡＣＳ開始時点の状態を参照し、終了時点の一致／不一致を判定し、一致が確認されたパスのみをトレースバック候補とすることで、効率的な復号化を行うことができる。
【００６６】
また、本発明の移動局無線装置、本発明の基地局無線装置は、本発明の復号化装置を搭載している。また、本発明の移動通信システムは、本発明の移動局無線装置または基地局無線装置の少なくとも一つを含むシステムである。
【００６７】
本発明の復号化装置を利用することで、巡回畳み込み符号を効率的に復号化できる、小型、低消費電力の通信機器が実現される。
【発明の効果】
【００６８】
本発明によれば、少ないトレースバック回数で正しい復号ビット列を得ることが可能なビタビ復号方法、復号化装置、移動局無線装置、基地局無線装置および移動通信システムを提供することができる。
【発明を実施するための最良の形態】
【００６９】
以下、本発明の実施の形態を、図面を参照して説明する。まず、本発明の実施形態における復号化方法の特徴を、図１６および図１７を用いて説明する。図１６は、対比例としての従来の復号方法の問題点を示す図であり、図１７は、本発明の実施形態の復号方法の特徴を説明するための図である。図１６および図１７では、説明の便宜を考慮して、トレリス図における一つの生き残りパスを簡略化して描いてある。なお、図１６および図１７のトレリス図では、縦軸として２つの状態Ｓ０、Ｓ１が示され、横軸として時点１〜時点４が示されている。
【００７０】
図１６に示すように、従来の復号方法によって巡回畳み込み符号の復号化を行う場合、トレースバックを行わないと、その生き残りパスの、時刻ｔ１における状態が判明しない。
【００７１】
図１６の場合、時刻ｔ１（ＡＣＳ開始時点）の状態がＳ１であり、時刻ｔ４（ＡＣＳ終了時点）の状態はＳ０であり、不一致であるから、巡回畳み込み符号の条件を満たさない。すなわち、このパスは必ず誤りを含んでいる。したがって、トレースバックで得られた復号データは廃棄されることになり、結果的に、無駄なトレースバック処理が行われたことになる。
【００７２】
一方、図１７の本発明の実施形態の復号方法では、トレリス図上で、生き残りパスが更新される毎に、そのパスの時刻ｔ１における状態を示す情報を、そのパスと関連付けして保存していく。図１７において、時刻ｔ４の状態（Ｓ０）の下に示される記号［Ｓ１］は、保存されている時刻ｔ１における状態を示している。
【００７３】
図１７では、トレースバックをしなくても、時刻ｔ１における状態（Ｓ１）と時刻ｔ４における状態（Ｓ０）が不一致であることが判明する。これにより、このパスには誤りが含まれることがわかり、無駄なトレースバックを回避することができる。つまり、このようなＡＣＳ開始時点および終了時点における状態が不一致である生き残りパスは、トレースバックの対象から外し、一致が確認されたパスのみをトレースバックの候補とすることで、トレースバックの対象となるパスの数を絞り込むことができる。そして、その候補のパスが複数ある場合には、パスメトリックがより小さなパス（より尤度が高いパス）を優先してトレースバックを行うことで、効率的に復号化処理を行うことができる。
【００７４】
このように、従来例では、「トレースバック処理が、ＡＣＳ開始時点の状態を特定する手段としても使われていた」ため、無駄なトレースバック処理が発生する確率が高い。これに対し、本発明では、「ＡＣＳ開始時点の状態を各生き残りパスと関連づけて保存する構成を採用した」ため、ＡＣＳ開始時点の状態をトレースバック前に特定することができるようになり、これにより、無駄なトレースバックを回避できるようになり、復号化処理の大幅な効率化が達成される。
【００７５】
（第１の実施形態）
まず、図１〜図６を参照しながら、本発明の第１の実施形態の説明をする。図１（ａ）は誤り訂正符号化装置のブロック図、図１（ｂ）は本発明の実施形態の誤り訂正復号化装置のブロック図、図２は本発明の実施形態のビタビ復号方法におけるＡＣＳ処理を詳細に説明するための図、図３は本発明の実施形態のビタビ復号方法におけるトレースバック処理の処理手順を示すフローチャートである。
【００７６】
なお、トレースバック処理は、ハードウェアによる回路やソフトウェアによって実現することが可能である。
【００７７】
また、図４は本実施形態のビタビ復号方法及び誤り訂正復号化回路を適用するトレリス図の例１、図５は本実施形態を適用するトレリス図の例２、図６は本実施形態を適用するトレリス図の例３をそれぞれ示す。
【００７８】
図１（ａ）において、参照符号１０１は誤り訂正符号化装置、１０２は誤り訂正復号化装置である。誤り訂正符号化装置１０１は、情報ビットにＣＲＣ符号等の誤り検出符号を付加する誤り検出符号付加回路１０３と、誤り検出符号を付加したビット列を巡回畳み込み符号化して送信する誤り訂正符号化回路１０４を備える。
【００７９】
また、図１（ｂ）において、誤り訂正復号化装置１０２は、ブランチメトリック計算回路１０６、パスメトリックメモリ１０７、加算器１０８、比較器１０９、開始状態メモリ１１０、選択器１１１、パスメモリ１１２およびトレースバック制御回路１１３（誤り検出回路１１４を内蔵する）を備える。なお、ＡＣＳ回路１０５は加算器１０８、比較器１０９及び選択器１１１を有して構成されている。
【００８０】
開始状態メモリ１１０が設けられたことによって、ＡＣＳ開始時点の状態を、各生き残りパスと関連づけて保存できるようになっている点が、この誤り訂正符号化装置１０２の大きな特徴である。
【００８１】
ブランチメトリック計算手段の機能を有するブランチメトリック計算回路１０６には、例えばブランチメトリックにハミング距離を用いた硬判定を採用する場合には、処理時点毎に受信データの１時点分のビットが入力される。
【００８２】
いま、ブランチメトリック計算回路１０６が上述の図９の符号化器に対応するものであれば、各処理時点毎に２ビット（Ｘ１、Ｘ２に対応）が入力される。ブランチメトリック
計算回路１０６では、現時点の受信ビットの内容に基づいてブランチメトリックが計算され、加算器１０８に入力される。
【００８３】
なお、本実施形態ではハミング距離を用いた硬判定によって説明するが、ブランチメトリック計算回路に軟判定情報を用いる場合には、ブランチメトリック計算回路１０６には、処理時点毎に受信データ１時点分の軟判定情報が入力される。
【００８４】
パスメトリックメモリ１０７には、各状態について、現時点までの生き残りパスのパスメトリックが格納されている。
【００８５】
加算器１０８では、パスメトリックメモリ１０７から読み出した各状態の現時点までの生き残りパスのパスメトリックに、ブランチメトリック計算回路１０６で計算されたブランチメトリックが加算され、次時点の各状態に至るパスメトリックが算出され、比較器１０９及び選択器１１１に入力される。
【００８６】
なお、次時点のある状態に至るパスは複数存在するため、加算器１０８から出力されるパスメトリックは１時点１状態の演算ごとに複数存在する。
【００８７】
比較器１０９では、各状態について、加算器１０８から入力された複数のパスメトリックが比較され、最も尤度の高いパスの選択信号が選択器１１１に出力されると共に、そのパスの選択信号がパスメモリ１１２に格納される。
【００８８】
開始状態記憶手段の機能を有する開始状態メモリ１１０には、各状態について、現時点までの生き残りパスのＡＣＳ演算開始時点（時点Ｓ）における状態番号が格納されている。
【００８９】
生き残りパス選択手段の機能を有する選択器１１１では、各状態について、比較器１０９から入力されたパス選択信号に基づいて、加算器１０８から入力されたパスメトリックの中から最も尤度の高いパスが選択され、選択されたパスメトリックはパスメトリックメモリ１０７に出力され、パスメトリックメモリ１０７の内容は更新される。
【００９０】
さらに、選択器１１１では、各状態について、比較器１０９から入力されたパス選択信号に基づいて、選択されたパスの現時点のＡＣＳ演算開始時点（時点Ｓ）の状態番号が、開始状態メモリ１１０から読み出され、この状態番号は、次時点のＡＣＳ演算開始時点（時点Ｓ）の状態番号とされ、開始状態メモリ１１０の内容が更新される。
【００９１】
パスメモリ１１２には、上述のように、各時点でのパス選択信号が格納されている。
【００９２】
ＡＣＳ演算が終了し、全状態・全時点のパス選択信号がパスメモリ１１２に格納され、全状態のＡＣＳ演算開始時点（時点Ｓ）の状態番号が開始状態メモリ１１０に格納された後、トレースバック手段であるトレースバック制御回路１１３の動作が開始され、復号ビット列が得られる。トレースバックは、開始状態メモリ１１０に格納された内容と、パスメモリ１１２に格納された内容に基づき行われる。
【００９３】
次に、以上のような各機能部１０６〜１１３からなる誤り訂正復号化装置の動作、すなわち本実施形態のビタビ復号方法について、ＡＣＳ処理とトレースバック処理に分けて説明する。
【００９４】
ここでは、受信データは巡回畳み込み符号化されており、且つ符号化器の初期状態は不明であることを前提とし、ブランチメトリックにはハミング距離を用いて説明する。
【００９５】
また、送信側の入力の情報ビット列Ｕは、Ｕ［０：５］＝（１、１、０、０、１、０）の６ビットとし（誤り訂正復号化装置１０２側では未知）、巡回畳み込み符号化の方法（生成多項式等）は背景技術に示したものと同−とする。さらに受信ビット列Ｙは硬判定されており、Ｙ［０：１１］＝（０、０、１、０、１、１、１、１、１、０、０、１）の１２ビットとする。
【００９６】
まず、時点０（＝時点Ｓ）から時点１にかけて行われるＡＣＳ処理について、図２のトレリス図を参照しながら説明する。
【００９７】
図２の各ノード内の数値は各時点各状態におけるパスメトリックである。また、各ノード下の括弧内の数値＊は、各時点各状態における開始状態メモリ１１０の内容であり、選択されたパスのＡＣＳ演算開始時点（時点Ｓ）の状態番号を示している。
【００９８】
時点０では、符号化器の初期状態が不明であるので、各状態の尤度は全て同−であり、ＰＭ０（０）＝ＰＭ１（０）＝ＰＭ２（０）＝ＰＭ３（０）＝０である。また、状態ｉにおける開始状態メモリ１１０の内容をＳ、Ｓ［ｉ］と表すと、時点０の開始状態番号は状態番号そのものであるから、ＳＳ［０］＝０、ＳＳ［１］＝１、ＳＳ［２］＝２、ＳＳ［３］＝３が開始状態メモリ１１０の初期値となる。
【００９９】
以下、ＡＣＳの説明では、ブランチメトリックの計算、パスメトリックの計算及び生き残りパスの選択の方法については、背景技術の説明で図１４を用いて行っており全く同一であるため省略する。
【０１００】
本実施形態が図１４の背景技術と異なるのは、選択器１１１によって、具備された開始状態メモリ１１０の内容が更新される点である。
【０１０１】
時点１の状態Ｓ０においては、時点０（＝時点Ｓ）で状態Ｓ０を開始状態とするパスを選択していることから、時点１における新たな開始状態メモリ１１０の内容は、ＳＳＲ［０］＝ＳＳ［０］＝０となる。
【０１０２】
時点１の状態Ｓ１においては、時点０（＝時点Ｓ）で状態Ｓ２を開始状態とするパスを選択していることから、時点１における新たな開始状態メモリ１１０の内容は、ＳＳＲ［１］＝ＳＳ［２］＝２となる。
【０１０３】
時点１の状態Ｓ２においては、時点０（＝時点Ｓ）で状態Ｓ１を開始状態とするパスを選択していることから、時点１における新たな開始状態メモリ１１０の内容は、ＳＳＲ［２］＝ＳＳ［１］＝１となる。
【０１０４】
時点１の状態Ｓ３においては、時点０（＝時点Ｓ）で状態Ｓ１を開始状態とするパスを選択していることから、時点１における新たな開始状態メモリ１１０の内容は、ＳＳＲ［３］＝ＳＳ［１］＝１となる。
【０１０５】
このようにして、時点１の全ての状態Ｓ０〜Ｓ３についての新たな開始状態メモリの内容を抽出した後に、開始状態メモリ１１０の内容ＳＳ［０：３］を更新する。すなわち、ＳＳ［０］＝ＳＳＲ［０］＝０、ＳＳ［１］＝ＳＳＲ［１］＝２、ＳＳ［２］＝ＳＳＲ［２］＝１、ＳＳ［３］＝ＳＳＲ［３］＝１とする。
【０１０６】
以上が、時点０（＝時点Ｓ）から時点１にかけて行われるＡＣＳ処理である。
【０１０７】
以下、時点１から時点２にかけてのＡＣＳ処理、時点２から時点３にかけてのＡＣＳ処理を順次実行していき、時点５から時点６（＝時点Ｅ）にかけてのＡＣＳ処理までを終了すると、図４のようなトレリス図が得られる（ＡＣＳ処理の比較（Compare）において、到達する２つのパスのパスメトリックが同じ値であるときには、状態番号がより小さい状態から至るパスを生き残りパスとした場合）。
【０１０８】
図４おける太線の矢印は生き残りパスである。なお、パス選択情報はＳｉ（ｔ）（ｉ＝０〜３、ｔ＝１〜６）の各時点各状態の全てにおいて記憶しておく。また、ＡＣＳ処理終了後の開始状態メモリ内容は、時点６（＝時点Ｅ）を参照することで、ＳＳ［０］＝２、ＳＳ［１］＝２、ＳＳ［２］＝２、ＳＳ［３］＝１となっている。
【０１０９】
最終時点である時点ＥまでＡＣＳ処理が終了した後、トレースバック処理が開始され、トレースバック処理の結果として復号ビット列が得られる。巡回畳み込み符号化では、最終時点Ｅにおける状態は不明であるが、初期時点Ｓと最終時点Ｅの状態番号が同一になるようにしている。
【０１１０】
すなわち、少なくともトレースバック開始時点（時点Ｅ）とトレースバックの終了時点（時点Ｓ）における状態が同一でなければ、復号ビット列には誤りビットが必ず含まれることになる。
【０１１１】
従って、ＡＣＳ処埋が終了した後の各状態ｉに対する開始状態メモリ１１０の内容ＳＳ［ｉ］について、ＳＳ［ｉ］＝ｉ（ｉ＝０〜３）が満たされていない生き残りパスについては、トレースバックをするまでもなく誤ったパスであることがわかるため、トレースバックの必要はない。
【０１１２】
以下、トレースバック制御回路１１３におけるトレースバック処理について、図３のトレースバック処理の処理手順を示すフローチャートを用いて説明する。
【０１１３】
まず、各状態ｉについて、開始状態ＳＳ［ｉ］を調べる。ＳＳ［ｉ］＝ｉであれば、当該状態に至るパスの初期時点Ｓと最終時点Ｅの状態が同じであり、パスが正しいための必要条件を満たしている。そこで、状態ｉをトレースバック開始状態の候補とする（ステップＳ３０１）。
【０１１４】
次に、Ｎに上記で候補としたトレースバック開始状態の候補数をセットする（ステップＳ３０２）。
【０１１５】
もし、Ｎが０であれば、正しいパスが存在しないため、当該フレームはエラーとし、トレースバックを行わずに処理を終了する（ステップＳ３０３、ステップＳ３０９）。
【０１１６】
ステップＳ３０３でＮが０以外であれば、ステップＳ３０４〜ステップＳ３０７のｋのループを実行する。
【０１１７】
まず、トレースバック開始状態の候補のＮ状態の中から、パスメトリックが最も小さい状態からトレースバックを開始する（ステップＳ３０４でｋ＝１、ステップＳ３０５）。
【０１１８】
上記トレースバックによって得られたビット列に付加されている誤り検出符号（例えばＣＲＣ符号）を用いて、該ビット列が正しいかどうか調べる（ステップＳ３０６）。
【０１１９】
ステップＳ３０６で、該ビット列に誤りがないと判定された場合には、このトレースバックで得られたビット列を復号ビット列Ｄとし、処理を終了する（ステップＳ３０８）。
【０１２０】
ステップＳ３０６で、該ビット列に誤りがあると判定され、かつｋ＜Ｎの場合には、ｋのループの先頭に戻り、トレースバック開始状態の候補のＮ状態の中から、パスメトリックが次に小さい状態からトレースバックを開始する（ステップＳ３０４でｋ＝２、ステップＳ３０５）。
【０１２１】
ステップＳ３０６で誤りが存在する限りは、最大でＮ回、ステップＳ３０４〜ステップＳ３０７のｋのループを実行する。
【０１２２】
ステップＳ３０６で、該ビット列に誤りがあると判定され、かつｋ＝Ｎの場合には、正しいパスが存在しないため、当該フレームはエラーとし（ステップＳ３０９）、処理を終了する。
【０１２３】
以上が、トレースバック制御回路１１３におけるトレースバック処理であるが、これを図４のトレリス図（本発明の実施形態のビタピ復号方法及び誤り訂正復号化回路を適用するトレリス図の例１）に当てはめ、図３のフローチャートを実行すると次のようになる。
【０１２４】
まず、ステップＳ３０１の処理では、最終時点Ｅの各状態Ｓ０〜Ｓ３について、ＡＣＳ一演算開始時点（時点Ｓ）の開始状態ＳＳを調べる。時点Ｅで状態Ｓ０に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［０］＝２を参照することで状態Ｓ２であるが、Ｓ０≠Ｓ２であり状態番号が異なるため、状態Ｓ０はトレースバック開始の候補状態とはしない。
【０１２５】
時点Ｅで状態Ｓ１に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［１］＝２を参照することで状態Ｓ２であるが、Ｓ１≠Ｓ２であり状態番号が異なるため、状態Ｓ１はトレースバック開始の候補状態とはしない。
【０１２６】
時点Ｅで状態Ｓ２に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［２］＝２を参照することで状態Ｓ２であり、状態番号がともにＳ２で一致しているため、状態Ｓ２をトレースバック開始の候補状態とする。
【０１２７】
時点Ｅで状態Ｓ３に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［３］＝１を参照することで状態Ｓ１であるが、Ｓ３≠Ｓ１であり状態番号が異なるため、状態Ｓ３はトレースバック開始の候補状態とはしない。
【０１２８】
上記よりトレースバック開始状態の候補は、状態Ｓ２の１つであるから、トレースバック開始候補数はＮ＝１となる（ステップＳ３０２）。
【０１２９】
以下、ステップＳ３０３以降を実行すると、トレースバック開始状態の候補は状態Ｓ２のみであるため、状態Ｓ２からトレースバックを行うと、６ビットのビット列（１、１、０、０、１、０）が得られる。このビット列を、図１のトレースバック制御回路１１３に内蔵される誤り検出回路１１４が、誤り検出符号を用いてチェックし、誤りがなければ、この６ビットを復号ビット列Ｄとする。
【０１３０】
実際、入力の情報ビット列Ｕは、Ｕ［０：５］＝（１、１、０、０、１、０）であったので、この復号ビット列は正しいものとなっている。
【０１３１】
以上の説明のように、図４のトレリス図に本実施形態を適用すると、トレースバックを行う回数は１回である。これに対し、背景技術で説明した第１の従来例（時点Ｅでパスメトリックが小さい状態から優先的にトレースバックする）ではトレースバック回数が２回、第２の従来例ではトレースバック回数が３回であったため、本発明の実施形態の方法ではトレースバック回数を減らすことができ、短時間で正しい復号ビット列を得ることが可能になることがわかる。
【０１３２】
さて、図４のトレリス図は、ＡＣＳ処理の比較（Compare）において、到達する２つのパスのパスメトリックが同じ値であるときには、状態番号がより小さい状態から至るパスを生き残りパスとした場合に得られるものであった。このように複数のパスの尤度（パスメトリック）が同じときの生き残りパスの選択方法としては、ランダムに選択する方法も考えられる。
【０１３３】
図５のトレリス図（本実施形態のビタビ復号方法及び誤り訂正復号化回路を適用するトレリス図の例２）は、複数のパスの尤度が同じときの生き残りパスがランダムに選択された場合の例であり、図４と比較して時点５から時点６（時点Ｅ）に至る過程のみが異なっている。
【０１３４】
すなわち、図５において、時点６状態Ｓ０に至る２つのパスにおいて、時点５状態Ｓ０から至るパスのパスメトリックは３、時点５状態Ｓ２から至るパスのパスメトリックも３であり同じ値であることから、生き残りパスがランダムに選択され、結果として時点５状態Ｓ２から至るパスが生き残りパスとなったものである（図４では、時点５状態Ｓ０から至るパスを生き残りパスとしている）。
【０１３５】
この図５についても本発明の実施形態のトレースバック処理に当てはめ、図３のフローチャートを実行すると次のようになる。
【０１３６】
まず、ステップＳ３０１の処理では、最終時点Ｅの各状態Ｓ０〜Ｓ３について、ＡＣＳ演算開始時点（時点Ｓ）の開始状態ＳＳを調べる。時点Ｅで状態Ｓ０に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［０］＝０を参照することで状態Ｓ０であり、状態番号がともにＳ０で一致しているため、状態Ｓ０をトレースバック開始の候補状態とする。
【０１３７】
時点Ｅで状態Ｓ１に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［１］＝２を参照することで状態Ｓ２であるが、Ｓ１≠Ｓ２であり状態番号が異なるため、状態Ｓ１はトレースバック開始の候補状態とはしない。
【０１３８】
時点Ｅで状態Ｓ２に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［２］＝２を参照することで状態Ｓ２であり、状態番号がともにＳ２で一致しているため、状態Ｓ２をトレースバック開始の候補状態とする。
【０１３９】
時点Ｅで状態Ｓ３に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［３］＝１を参照することで状態Ｓ１であるが、Ｓ３≠Ｓ１であり状態番号が異なるため、状態Ｓ３はトレースバック開始の候補状態とはしない。
【０１４０】
上記よりトレースバック開始状態の候補は、状態Ｓ０と状態Ｓ２の２つであるから、トレースバック開始候補数はＮ＝２となる（ステップＳ３０２）。
【０１４１】
以下、ステップＳ３０３以降を実行する。
【０１４２】
ステップＳ３０５を初めて実行するとき、ｋ＝１である。このときステップＳ３０５は、『トレースバック開始状態の候補の（Ｎ＝）２状態の中で、パスメトリックが（ｋ＝）１番目小さい状態からトレースバックを開始する』となる。トレースバック開始状態の候補は状態Ｓ０と状態Ｓ２であるが、状態Ｓ０に至るパスのパスメトリックは“３”であるのに対し、状態Ｓ２に至るパスのパスメトリックは“２”であるから、よりパスメトリックの小さい状態Ｓ２からトレースバックを開始すればよい。
【０１４３】
状態Ｓ２からトレースバックを行うと、６ビットのビット列（１、１、０、０、１、０）が得られる。このビット列を誤り検出符号によってチェックし誤りがなければ、この６ビットを復号ビット列Ｄとする。実際、入力情報ビット列Ｕは、Ｕ［０：５］＝（１、１、０、０、１、０）であったので、この復号ビット列は正しいものとなっている。
【０１４４】
以上の説明では、トレースバック回数は１回であったが、もし状態Ｓ０（状態Ｓ０に至るパスのパスメトリックは“３”）と状態Ｓ２（状態Ｓ２に至るパスのパスメトリックは“２”）のトレースバック開始候補のうち、パスメトリックが大きい状態Ｓ０からトレースバックを開始すると、トレースバック回数は２回となってしまい、回数が増えてしまう（状態Ｓ０に至るパスから得られるビット列は、ステップＳ３０６の誤り検出で誤りありと判定され、ｋ＝２のステップＳ３０５で状態Ｓ２から２回目のトレースバックが行われる）。
【０１４５】
このように、トレリス図上の生き残りパスについて、ＡＣＳの開始時点Ｓと終了時点Ｅの状態が同一であるパスが複数存在する場合には、ビタビ復号においてはパスメトリックが小さい（尤度が高い）パスの方が正しい確率が高いという性質を利用し、その状態に至るパスを優先的にトレースバックすることで、より短時間で正しい復号ビット列が得ることが可能となる。
【０１４６】
さらに、別の例として、受信ビット列Ｙが硬判定されており、Ｙ［０：１１］＝（０、０、１、０、１、１、１、１、１、０、１、０）の１２ビットが誤り訂正復号化装置１０２に入力され、トレリス図が図６（本発明の実施形態のビタビ復号方法及び誤り訂正復号化回路を適用するトレリス図の例３）に示すものになった場合を考える（入力の情報ビット列Ｕや畳み込み符号の生成多項式等はこれまでの説明と同一である）。なお、図６はＡＣＳ処理の比較（Compare）において、到達する２つのパスのパスメトリックが同じ値であるときには、状態番号がより小さい状態から至るパスを生き残りパスとした場合に得られるものである（図６は図４と比較してＹ［１０：１１］のみが違うため、時点５から時点６（時点Ｅ）に至る過程のみが異なっている）。
【０１４７】
この図６についても本発明の実施形態のトレースバック処理に当てはめ、図３のフローチャートを実行すると次のようになる。
【０１４８】
まず、ステップＳ３０１の処理では、最終時点Ｅの各状態Ｓ０〜Ｓ３について、ＡＣＳ演算開始時点（時点Ｓ）の開始状態ＳＳを調べる。時点Ｅで状態Ｓ０に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［０］＝２を参照することで状態Ｓ２であるが、Ｓ０≠Ｓ２であり状態番号が異なるため、状態Ｓ０はトレースバック開始の候補状態とはしない。
【０１４９】
時点Ｅで状態Ｓ１に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［１］＝２を参照することで状態Ｓ２であるが、Ｓ１≠Ｓ２であり状態番号が異なるため、状態Ｓ１はトレースバック開始の候補状態とはしない。
【０１５０】
時点Ｅで状態Ｓ２に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［２］＝１を参照することで状態Ｓ１であるが、Ｓ２≠Ｓ１であり状態番号が異なるため、状態Ｓ２はトレースバック開始の候補状態とはしない。
【０１５１】
時点Ｅで状態Ｓ３に到達したパスのＡＣＳ開始状態は、開始状態メモリＳＳ［３］＝２を参照することで状態Ｓ２であるが、Ｓ３≠Ｓ２であり状態番号が異なるため、状態Ｓ３はトレースバック開始の候補状態とはしない。
【０１５２】
上記よりトレースバック開始状態の候補は、ひとつも存在しないため、トレースバック開始候補数はＮ＝０となる（ステップＳ３０２）。
【０１５３】
ステップＳ３０３では、Ｎ＝０のため、ステップＳ３０９に移行する。ステップＳ３０９では、正しい生き残りパスが存在しないとして当該フレームをフレームエラーと判定し、トレースバックを終了する。
【０１５４】
以上の説明のとおり、図６のトレリス図に、本実施形態を適用すると、トレースバックを行う回数は０回であり、トレースバックを行わなくとも当該受信ビット列は誤り訂正復号が不可能であることが判定できるといった効果がある。
【０１５５】
これに対し、背景技術で説明した第１の従来例を図６のトレリス図に適用した場合、時点Ｅにおいて状態Ｓ２のパスメトリックが“１”で最も小さい（尤度が高い）ため、状態Ｓ２からトレースバックをするが、この結束得られるビット列は誤りである。
【０１５６】
以下、他のどの状態からトレースバックを開始しても、得られるビット列は全て誤りとなり、処理が無駄になってしまう。
【０１５７】
また、背景技術で説明した第２の従来例を図６のトレリス図に適用した場合を考える。
【０１５８】
図６の時点Ｅにおいて状態Ｓ２のパスメトリックが“１”で最も小さい（尤度が高い）ため、状態Ｓ２から１回目のトレースバックを開始する。この１回目のトレースバックでは、終了時点（時点Ｓ）において状態Ｓ１に到達することから、状態Ｓ２≠状態Ｓ１により、得られた復号ビット列には誤りが含まれる。このため２回目のトレースバックを行う。
【０１５９】
２回目のトレースバックでは、１回目のトレースバックの終了時点（時点Ｓ）の状態Ｓ１を新しい開始状態としてトレースバックを行う。この２回目のトレースバックでは、終了時点（時点Ｓ）において状態Ｓ２に到達することから、状態Ｓ１≠状態Ｓ２により、得られた復号ビット列には誤りが含まれる。
【０１６０】
以後、同様にトレースバックを続けても正しいパスは見付からず、トレースバックの開始状態が、状態Ｓ２→状態Ｓ１→状態Ｓ２→状態Ｓ１→・・・を繰り返すだけとなってしまい、処理は無駄となってしまう。
【０１６１】
これを回避するために従来の技術２では、トレースバック回数の制限を加えているが、もし正しいパスが存荏した場合においては、正しいパス（復号ビット列）があるにも関わらず、トレースバックを行わないがために、正しい結果が破棄されてしまう場合がある。
【０１６２】
巡回畳み込み符号化では、トレースバックの開始時点（時点Ｅ）と終了時点（時点Ｓにおける状態が異なる場合には、復号ビット列が正しいことはないが、上述の通り従来例のビタビ復号方法では、そのような場合にもトレースバックを行ってしまうため、処理そのものが無駄になることが多い。
【０１６３】
以上に説明したように、本発明の実施形態のビタビ復号方法及び誤り訂正復号化装置では、巡回畳み込み符号化の性質を利用し、ＡＣＳ演算終了時点（時点Ｅ）において、全ての状態の生き残りパスについてＡＣＳ演算開始時点（時点Ｓ）における開始状態を記憶していることから、巡回畳み込み符号によって得られるパスの性質である（符号器の初期時点の状態）＝（符号器の最終時点の状態）を利用することができ、トレースバックを行わずしてパス（復号ビット列）の誤りを検出可能となるため、トレースバック回数を大きく減らすことができるという利点がある。また少ないトレースバック回数で正しい復号ビット列が得られる可能性が高くなるという効果がある。
【０１６４】
さらに、本発明の実施形態のビタビ復号方法及び誤り訂正復号化装置では、トレースバックを行う回数を減らすことができるため、ハードウェア実現の場合には回路規模を小さく実現でき、またソフトウェア実現の場合には演算量の低減が図られるため、消費電流を小さくできるという効果を得ることができる。
【０１６５】
（第２の実施の形態）
次に、本発明の実施形態の移動局無線装置、基地局無線装置および移動通信システムについて、図７及び図８を参照しながら説明する。
【０１６６】
無線通信システムでは、基地局無線装置と移動局無線装置を結ぶ電波の伝搬路状況が劣悪となり、受信側において、送信ビット列を正しく復号することが困難になる状況が多々ある。
【０１６７】
このような劣悪な伝搬路状況においては、基地局無線装置と移動局無線装置との同期がとれているにも関わらず、正しい復号結果（復号ビット列）を得にくくなる。
【０１６８】
上記状況下においては、誤り訂正符号化方式に巡回畳み込み符号化を採用する無線通信システムでは、誤り訂正復号のビタビ復号処理にて、トレースバックを開始する状態を確定することが困難となり、従来の技術においては、正しいパスを抽出するのに時間がかかるため、或いは正しいパスが存在しないにも関わらずトレースバックを行ってしまうため、基地局無線装置、移動局無線装置および移動通信システム全体としての消費電流が増大してしまう。
【０１６９】
第２の実施形態ではこのような問題点を解決するような移動局無線装置、基地局無線装置および移動通信システムについて説明するものである。
【０１７０】
図７は第２の実施形態の移動局無線装置および基地局無線装置のブロック図である。
【０１７１】
まず、図７における送信系について説明する。送信系は図７における符号７０１〜７０８に相当する。
【０１７２】
送信系では、情報ビット列Ｕは誤り訂正符号化装置７０１に入力され、巡回畳み込み符号化が行われ、符号化ビット列が出力される。誤り訂正符号化装置７０１は、図１における誤り訂正符号化装置１０１に相当するものである。なお、畳み込み符号化は、情報ビット列Ｕのうち重要度の高いビットにのみ行われることが多い。
【０１７３】
誤り訂正符号化装置７０１から出力された符号化ビット列は、波形生成器７０２に入力され、制御データが付加され、変調データが生成される。
【０１７４】
Ｄ／Ａ変換器７０３では、上記変調データがデジタルからアナログに変換され、さらに、直交変調器７０４では、アナログに変換されたデータが直交変調される。
【０１７５】
直交変調器７０４で直交変調された信号は、所定の送信周波数に変換するミキサ７０５によってアップコンバートされ、アップコンバートされた信号は増幅器７０６によって増幅される。
【０１７６】
増幅された信号は、送受信信号を分岐する共用器７０７に入力され、送受信共用アンテナ７０８から無線信号として送信される。
【０１７７】
次に、図７における受信系について説明する。受信系は図７における符号７０７〜７１４に相当する。
【０１７８】
受信系では、送受信共用アンテナ７０８及び共用器７０７を通じて受信された受信信号は、ミキサ７０９によってダウンコンバートされ、さらに直交復調器７１０によって直交復調される。
【０１７９】
直交復調されたアナログ信号は、Ａ／Ｄ変換器７１１によってデジタル信号に変換され、同期部７１２及びデジタル検波器７１３に入力される。
【０１８０】
同期部７１２では、上記デジタル信号を用いて同期獲得が行われ、シンボルタイミング信号がデジタル検波器７１３に入力される。
【０１８１】
デジタル検波器７１３では、上記デジタル信号とシンボルタイミング信号を用いてデジタル検波（例えば変調方式がπ／４シフトＱＰＳＫ方式であれば遅延検波）が行われ、受信データが出力される。
【０１８２】
受信データは、例えば、誤り訂正復号化装置７１４で硬判定によるビタビ復号を行う場合にはビット列となり、誤り訂正復号化装置７１４で軟判定によるビタビ復号を行う場合には信号空間上のＩ、Ｑ値列となる。
【０１８３】
上記受信データはさらに誤り訂正復号化装置７１４に入力され、誤り訂正復号され、復号ビット列Ｄが得られる。
【０１８４】
誤り訂正復号化装置７１４は、図１における誤り訂正復号化装置１０２に相当するものであり、本発明の実施形態のビタビ復号方法や誤り訂正復号化装置が含まれたものである。
【０１８５】
誤り訂正復号化装置７１４からは、同期部７１２及びデジタル検波器７１３へフレーム誤り情報が提供される。これによって、フレームが誤った場合には、いち早く次処理に移行することが可能となる。
【０１８６】
例えば、移動局無線装置でフレーム誤りが一定回数続いた場合には、デジタル検波器７１３をすぐにアイドル状態にして消費電流を低減させ、また同期部７１２にて即座に初期同期獲得を開始することが可能となる。
【０１８７】
このように構成された本発明の実施形態の移動局無線装置および基地局無線装置によれば、誤り訂正復号化装置７１４において、第１の実施形態に記載した通りの効果があり、すなわちビタビ復号処理におけるトレースバック回数を大きく減らすことができ、また少ないトレースバック回数で正しい復号ビット列が得られることから、受信性能の良好な移動局無線装置および基地局無線装置が得られるという効果がある。
【０１８８】
さらに、本発明の実施形態の移動局無線装置および基地局無線装置では、誤り訂正復号化装置７１４において、トレースバックを行う回数を減らすことができるため、ハードウエア実現の場合には回路規模を小さく実現でき、またソフトウェア実現の場合には演算量の低減が図られるため、消費電流の小さい装置が実現できるという効果がある。また、少ないトレースバック回数でフレーム誤りが判定可能であるため、いち早く次処理に移行でき、消費電流が小さい装置を構成できるという効果がある。
【０１８９】
また、上記の移動局無線装置もしくは基地局無線装置の少なくとも一方を含むような、本発明の実施形態の移動通信システムの構成図を図８に示す。図８では、移動局無線装置ＭＳ１、ＭＳ２、・・・、ＭＳｍおよび基地局無線装置ＢＳのうち、少なくともひとつに図７で構成された装置が含まれているものとする。
【０１９０】
図８の移動通信システムは、図７に示した基地局無線装置および移動局無線装置が複数含まれるように構成されているため、システム全体として受信性能の良好なシステムを構築できるという効果がある。また同様に、消費電流が低減されたシステムを構築できるという効果がある。
【０１９１】
以上説明したように、本発明の実施形態によれば、ＡＣＳ演算終了時点において、全ての状態の生き残りパスについてＡＣＳ演算開始時点における開始状態を記憶し、巡回畳み込み符号のパスの性質である（符号器の初期時点の状態）＝（符号器の最終時点の状態）を利用して一致判定を行うことで、トレースバックを行わずして、そのパス（復号ビット列）が誤りを含むパスであることを検出することができ、したがって、そのようなパスをトレースバックの対象から除外することができる。したがって、トレースバック対象のパスを絞り込むことができ、トレースバック回数を大きく減らすことができる。
【０１９２】
また、本発明の実施形態によれば、少ないトレースバック回数で正しい復号ビット列が得られる可能性が非常に高くなり、効率的、かつ迅速な復号化を行うことができる。
また、本発明によれば、無駄なトレースバック処理（演算処理）がなくなり、したがって、移動体通信機器における回路の消費電力や回路規模の増大を抑制することができる。このことは、良好な移動通信システムの構築に役立つものである。
【産業上の利用可能性】
【０１９３】
本発明は、巡回畳み込み符号の復号化処理を効率化するという効果を奏し、したがって、デジタル移動無線通信システムをはじめとして、誤り訂正符号化に巡回畳み込み符号化を採用する通信システム全般に適用可能である。また、各種記憶装置、記憶媒体においても、誤り訂正符号に巡回畳み込み符号化が採用されていれば、全て適用可能である。
【図面の簡単な説明】
【０１９４】
【図１】（ａ）は、誤り訂正符号化装置の構成を示すブロック図、（ｂ）本発明の実施形態の誤り訂正復号化装置の構成を示すブロック図
【図２】本発明の実施形態のビタビ復号方法におけるＡＣＳ処理について詳細に説明するための図
【図３】本発明の実施形態のビタビ復号方法におけるトレースバック処理の処理手順を示すフローチャート
【図４】本発明の実施形態のビタビ復号方法及び誤り訂正復号化回路を適用するトレリス図の例１を示す図
【図５】本発明の実施形態のビタビ復号方法及び誤り訂正復号化回路を適用するトレリス図の例２を示す図
【図６】本発明の実施形態のビタビ復号方法及び誤り訂正復号化回路を適用するトレリス図の例３を示す図
【図７】本発明の実施形態の移動局無線装置および基地局無線装置の構成を示すブロック図
【図８】本発明の実施形態の移動通信システムの構成を示す図
【図９】畳み込み符号化器の構成例を示す図
【図１０】図９の畳み込み符号化器の生成規則を示す図
【図１１】図９の畳み込み符号化器の生成規則の状態遷移のトレリス図を示す図
【図１２】図９の畳み込み符号化器を用いた巡回畳み込み符号化のトレリス図の例を示す図
【図１３】時点ｔから時点ｔ＋１にかけて状態Ｓｉが状態Ｓｉ及び状態Ｓｊに状態遷移するときのトレリス図
【図１４】従来の技術のビタビ復号方法におけるＡＣＳ処理について詳細に説明するための図
【図１５】従来の技術のビタビ復号方法を適用するトレリス図の例を示す図
【図１６】対比例としての従来の復号方法の問題点を示す図
【図１７】本発明の実施形態の復号方法の特徴を説明するための図
【符号の説明】
【０１９５】
１０１  誤り訂正符号化装置
１０２  誤り訂正復号化装置
１０３  誤り検出符号付加回路
１０４  誤り訂正符号化回路
１０５  ＡＣＳ回路
１０６  ブランチメトリック計算回路
１０７  パスメトリックメモリ
１０８  加算器
１０９  比較器
１１０  開始状態メモリ
１１１  選択器
１１２  パスメモリ
１１３  トレースバック制御回路
１１４  誤り検出回路
７０１  誤り訂正符号化装置
７０２  波形整形器
７０３  Ｄ／Ａ変換器
７０４  直交変調器
７０５  ミキサ
７０６  増幅器
７０７  共用器
７０８  送受信共用アンテナ
７０９  ミキサ
７１０  直交復調器
７１１  Ａ／Ｄ変換器
７１２  同期部
７１３  デジタル検波器
７１４  誤り訂正復号化装置
【図１】
2005294898.tif 000003
【図２】
2005294898.tif 000004
【図３】
2005294898.tif 000005
【図４】
2005294898.tif 000006
【図５】
2005294898.tif 000007
【図６】
2005294898.tif 000008
【図７】
2005294898.tif 000009
【図８】
2005294898.tif 000010
【図９】
2005294898.tif 000011
【図１０】
2005294898.tif 000012
【図１１】
2005294898.tif 000013
【図１２】
2005294898.tif 000014
【図１３】
2005294898.tif 000015
【図１４】
2005294898.tif 000016
【図１５】
2005294898.tif 000017
【図１６】
2005294898.tif 000018
【図１７】
2005294898.tif 000019