(57)【要約】【課題】テールバイティング畳み込み符号を復号する際の処理遅延を低減する。【解決手段】畳み込み符号化されたデータのビタビ演算結果をトレースバックして結果を出力するトレースバック部にて、演算結果を基にトレリス線図におけるステートを取得し、得られた現在のステートとデータ長分前のステートとを比較して、ステートが一致した場合にトレースバックを終了し、一致しない場合には１データ分の演算結果により現在の状態を更新し比較する動作を繰り返し行うようにして、１回のトレースバックで復号結果を得られるようにする。【選択図】図５
2011003997.tif 000002
【特許請求の範囲】
【請求項１】
テールバイティング畳み込み符号を復号する復号装置であって、
畳み込み符号化されたデータに基づいて、トレリス線図における生き残りパスを演算する演算処理部と、
前記演算処理部での演算結果をトレースバックして復号結果を出力するトレースバック部とを備え、
前記トレースバック部は、
前記演算処理部での演算結果を基に、前記トレリス線図における状態を取得するトレースバック処理部と、
前記トレースバック処理部により得られる現在の状態とデータ長分前の状態とを比較する比較部とを有し、
前記現在の状態とデータ長分前の状態との比較を、１データ分の前記演算結果毎に現在の状態を逐次更新して行い、一致した場合にトレースバックを終了することを特徴とする復号装置。
【請求項２】
前記トレースバック部は、
前記トレースバック処理部での処理にて得られる状態に係る情報を保持する情報保持部を有し、
前記情報保持部に保持された情報を選択し前記データ長分前の状態として前記比較部に供給することを特徴とする請求項１記載の復号装置。
【請求項３】
前記情報保持部は、前記演算処理部での前記演算結果から前記トレースバック処理部により得られた現在の状態に応じて前記演算結果毎に選択され供給される前記生き残りパスに係る１ビットの情報を保持するシフトレジスタであることを特徴とする請求項２記載の復号装置。
【請求項４】
前記トレースバック処理部は、
前記演算処理部での第１の演算結果を基に、前記トレリス線図における状態を取得する第１のトレースバック処理部と、
前記第１の演算結果に対して前記データ長分前の前記演算処理部での第２の演算結果を基に、前記トレリス線図における状態を取得する第２のトレースバック処理部とを有し、
前記比較部は、前記第１のトレースバック処理部により得られた状態と前記第２のトレースバック処理部により得られた状態とを比較することを特徴とする請求項１記載の復号装置。
【請求項５】
受信データを復調する復調部と、
請求項１〜４の何れか１項に記載の復号装置を有し、前記受信データを復号し復号結果を出力する誤り訂正部とを備えることを特徴とする信号処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号装置及び信号処理システムに関し、テールバイティングコードの復号技術に関する。
【背景技術】
【０００２】
テールバイティングコード（tail biting code）は、誤り訂正方式の畳み込み符号において、テール部分（終端ビット）をなくし、通信路をより有効に利用する方式である。しかし、復号側では、畳み込み符号におけるテール部分がないために終了ステートを予め認識することができず、開始ステートと終了ステートとが一致することを利用して解析し復号結果を得るという複雑さがある。
【０００３】
畳み込み符号の復号法として、例えばビタビ復号が知られている。ビタビ復号によりテールバイティングコードの復号を行う場合の初歩的な手法としては、トレースバックを何度も行い、開始ステートと終了ステートが一致した場合を結果とする方法がある。しかし、この方法は、トレースバックの回数の多さによる処理遅延が発生してしまう。
【０００４】
また、処理方法の改善を図るために、開始ステートと終了ステートとが一致することを利用した次のような方法がある。例えば、２周以上ビタビ演算を繰り返すとともに、２周目以降で前回のビタビ演算の結果との比較を行い、すべて一致したらトレースバックを行う方法がある（例えば、特許文献１参照。）。また、例えば、２周分程度ビタビ演算を行った後、トレースバックを一つずつずらしながら繰り返し行い、一致している箇所を残すことで結果を得る方法がある（例えば、特許文献２参照。）。また、例えば、パスメトリック値（その状態らしさ、尤度）の高いステートからトレースバックを行いデータ長だけ進んで一致すれば終了し一致しなければひとつ前からトレースバックしてという動作を一致するまで行う方法（例えば、特許文献３参照。）や、ＭＡＰ（maximum a posteriori probability：最大事後確率）法を用いた方法（例えば、特許文献４参照。）がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−３０４３９号公報
【特許文献２】特表２００１−５０６８１１号公報
【特許文献３】特表２００２−５１７１２０号公報
【特許文献４】特開２００８−１３６００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、前述したテールバイティングコードの復号においては、トレースバック、あるいはＡＣＳ（Add-Compare-Select）演算やＭＡＰ演算の回数が多く、処理遅延が大きくなる。特許文献１に記載の方法では、１回のトレースバックで結果が得られるが、トレースバックを開始するまでのビタビ演算結果の一致比較に係る処理量が大きく、例えば拘束長を９、データ長を５００とすると、１２８，０００（＝２8×５００）ビットの比較を毎回行うこととなる。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、畳み込み符号化されたデータに基づいてトレリス線図における生き残りパスを演算する演算処理部と、演算結果をトレースバックして復号結果を出力するトレースバック部とを備える復号装置が提供される。トレースバック部は、演算結果を基にトレリス線図における状態を取得するトレースバック処理部と、トレースバック処理部により得られる現在の状態とデータ長分前の状態とを比較する比較部とを有し、現在の状態とデータ長分前の状態との比較を、１データ分の演算結果毎に現在の状態を逐次更新して行い、一致した場合にトレースバックを終了する。
【発明の効果】
【０００８】
開示の復号装置は、トレースバックを複数回行うことなく、１回のトレースバックで復号結果を得ることができ、処理遅延を低減することができる。また、１データ分の演算結果毎に現在の状態を逐次更新して現在の状態とデータ長分前の状態とが一致するか否かを比較するので、比較に係る処理量が増大することなく、容易に復号処理を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における復号装置の構成例を示す図である。
【図２】第１の実施形態におけるトレースバック部の構成例を示す図である。
【図３】トレースバック処理部の構成例を示す図である。
【図４】トレースバック処理におけるパスメモリの値、ステート、及び復号結果の関係の一例を示す図である。
【図５】第２の実施形態におけるトレースバック部の構成例を示す図である。
【図６】第３の実施形態におけるトレースバック部の構成例を示す図である。
【図７】第３の実施形態における動作を説明するための図である。
【図８】本実施形態における信号処理システムの構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
【００１１】
（第１の実施形態）
本発明の第１の実施形態について説明する。
図１は、第１の実施形態における復号装置の構成例を示すブロック図である。図１には、本実施形態における復号装置の一例として、ビタビアルゴリズムを用いてテールバイティングコード（テールバイティング畳み込み符号）の復号を行う復号装置（ビタビ復号器）を示している。
【００１２】
第１の実施形態における復号装置は、入力メモリ１、ブランチメトリック演算部２、ＡＣＳ（Add-Compare-Select）演算部３、パスメトリックメモリ４、パスメモリ５、トレースバック部６、及び結果メモリ７を有する。
【００１３】
入力メモリ１には、復号処理の対象である畳み込み符号化されたデータが入力され記憶される。ブランチメトリック演算部２は、入力メモリ１からの入力データに基づいて、トレリス線図におけるブランチメトリック（例えば、符号のハミング距離）を計算する。
【００１４】
ＡＣＳ演算部３は、トレリス線図における各状態についてＡＣＳ演算を行う。すなわち、ＡＣＳ演算部３は、まず、状態へのすべてのパスについて、ブランチメトリック演算部２により算出されたブランチメトリックとパスメトリックメモリ４に格納された前回演算での生き残りパスのパスメトリックとを加算する（Add）。次に、ＡＣＳ演算部３は、加算後のパスメトリックを比較して（Compare）、パスメトリックが小さい方（最小）のパスを生き残りパスとして選択する（Select）。ＡＣＳ演算部３は、トレリス線図における状態毎に前述の演算を行う。ＡＣＳ演算部３での演算により選択された生き残りパスとそのパスメトリックが、パスメモリ５とパスメトリックメモリ４にそれぞれ格納される。
【００１５】
トレースバック部６は、前述したブランチメトリック演算部２及びＡＣＳ演算部３等によるビタビ演算が所定の回数行われたら、ビタビ演算の結果をトレースバックし結果メモリ７に結果を出力する。トレースバック部６は、トレースバックをデータ長分前のステートと比較しながら進め、現在の状態と一致したらその結果を正しいと判定してトレースバックを終了する。
【００１６】
以下、トレースバック部６について説明する。
図２は、第１の実施形態におけるトレースバック部６の構成例を示すブロック図である。トレースバック部６は、制御用カウンタ１１、トレースバック処理部１２、現在ステート格納部１３、レジスタ群１４、セレクタ１５、選択信号生成部１６、及び比較部１７を有する。
【００１７】
制御用カウンタ１１は、信号ＩＮＳ及び信号ＤＴＬが入力され、これらの信号に応じてカウント動作を行い、カウンタ値ＣＮＴを出力する。制御用カウンタ１１は、信号ＩＮＳにより動作開始が指示されるとカウント動作を開始し、信号ＤＴＬにより設定されるデータ長Ｎの２倍の値（２Ｎ）から順次カウントダウンしてカウンタ値ＣＮＴを出力する。制御用カウンタ１１から出力されたカウンタ値ＣＮＴは、読み出しアドレスとしてパスメモリ５に供給される。なお、比較部１７での比較の結果、ステートが一致した場合には、制御用カウンタ１１はカウント動作を終了する。
【００１８】
トレースバック処理部１２は、パスメモリ５から供給されるデータＩＤＴに基づいて、現在ステート格納部１３に格納されているステート（状態）を更新するとともに、結果メモリ７に結果を出力する。
【００１９】
図３は、トレースバック処理部１２の構成例を示すブロック図である。トレースバック処理部１２は、セレクタ２０及びデータ処理部２１を有する。トレースバック処理部１２には、カウンタ値ＣＮＴを読み出しアドレスとしてパスメモリ５から読み出した２(K-1)ビット（Ｋは拘束長、以下においても同様）のデータＩＤＴが入力される。図３において、信号ＰＳＴ及び信号ＵＳＴは（Ｋ−１）ビットの信号であり、信号ＳＢＴ及び信号ＲＢＴは１ビットの信号である。
【００２０】
セレクタ２０は、現在ステート格納部１３からの信号ＰＳＴが示す現在のステートを用いて、データＩＤＴから１ビットを選択して信号ＳＢＴとして出力する。
【００２１】
データ処理部２１は、現在ステート格納部１３からの信号ＰＳＴが示す現在のステートにおける最下位ビット（ＬＳＢ：Least Significant Bit）を結果信号ＲＢＴとして結果メモリ７に出力する。また、データ処理部２１は、信号ＰＳＴが示す現在のステートを右（下位側）に１ビットだけシフトし、最上位ビット（ＭＳＢ：Most Significant Bit）に、セレクタ２０からの信号ＳＢＴが示す選択されたビットを入れて信号ＵＳＴとして現在ステート格納部１３に出力する。
【００２２】
現在ステート格納部１３は、データ処理部２１からの信号ＵＳＴを受けると、現在のステートを信号ＵＳＴが示すステートに更新する。また、現在ステート格納部１３は、格納している現在のステートを信号ＰＳＴにより出力する。
【００２３】
以上説明したトレースバック処理部１２での処理におけるパスメモリの値、ステート、及び復号結果の関係の一例を図４に示す。図４においては、拘束長が７、すなわちステートの数（状態数）が６４の場合を一例として示している。また、図４において、読み出したパスメモリの値は、セレクタ２０から出力される信号ＳＢＴが示す値であって、生き残りパスに係る情報である。図４に示すように、ステートは、下位側に１ビットずつシフトされるとともに、パスメモリの値がＭＳＢに挿入されるようにして更新される。また、ステートにおけるＬＳＢが復号結果として出力される。
【００２４】
図２に戻り、レジスタ群１４は、複数のレジスタを有し、現在ステート格納部１３からの信号ＰＳＴが示す現在のステートを過去の履歴として保持する。レジスタ群１４は、少なくともデータ長Ｎ個のレジスタを有し、レジスタの各々は（Ｋ−１）ビットの情報を保持する。
【００２５】
選択信号生成部１６は、制御用カウンタ１１から出力されたカウンタ値ＣＮＴが供給され、そのカウンタ値ＣＮＴにデータ長Ｎを加算して選択信号として出力する。セレクタ１５は、レジスタ群１４が有する複数のレジスタの中から、選択信号生成部１６より出力される選択信号に基づいて値（ＣＮＴ＋Ｎ）に対応するレジスタを選択し、そのレジスタの値を出力する。つまり、セレクタ１５及び選択信号生成部１６は、レジスタ群１４が有する複数のレジスタの中から、データ長分前のステートが保持されているレジスタを選択し、そのレジスタの値を比較部１７に出力する。
【００２６】
比較部１７は、現在ステート格納部１３に格納されている現在のステートと、セレクタ１５より出力される現在よりもデータ長分前のステートとを比較する。
【００２７】
次に、トレースバック部６の動作について説明する。
ブランチメトリック演算部２及びＡＣＳ演算部３等により２周分程度のビタビ演算が行われた後、信号ＩＮＳにより動作開始が指示されるとトレースバックが開始され、制御用カウンタ１１は、値２Ｎから順次カウントダウンしカウンタ値ＣＮＴを出力する。制御用カウンタ１１から出力されたカウンタ値ＣＮＴは、パスメモリ５に読み出しアドレスとして供給される。これにより、パスメモリ５からアドレス２Ｎ、２Ｎ−１、２Ｎ−２、・・・に記憶されている２(K-1)ビットのデータＩＤＴが順次読み出され、トレースバック処理部１２に入力される。トレースバック処理部１２は、入力されるデータＩＤＴに基づいて、現在のステートを更新するとともに、結果メモリ７に結果を出力する。また、現在のステートはレジスタ群１４に逐次供給され、過去の履歴としてレジスタ群１４のレジスタに保持される。
【００２８】
そして、データ長分進んでカウンタ値ＣＮＴがＮ以下となると、現在ステート格納部１３に格納されている現在のステートと、セレクタ１５及び選択信号生成部１６の動作によって選択出力される現在よりもデータ長分前のステートとの比較が比較部１７で行われる。その比較の結果、現在のステートとデータ長分前のステートとが一致した場合にはトレースバックを終了する。
【００２９】
一方、一致しない場合には、カウンタ値ＣＮＴに応じて読み出されるデータＩＤＴに基づいて、ステートの更新、復号結果の出力、及び過去の履歴としてのレジスタ群１４への現在のステートの保持を行い、前述した比較部１７による比較動作を繰り返す。すなわち、現在のステートとデータ長分前のステートとが一致しない場合には、１データ分だけ、ステートの更新、復号結果の出力、及びレジスタ群１４への現在のステートの保持を行い、比較を繰り返す。
【００３０】
第１の実施形態によれば、パスメモリ５から入力されるデータＩＤＴに基づいて得られた現在のステートと、現在よりもデータ長分前のステートとを比較し、一致した場合にはその結果を正しいと判定してトレースバックを終了する。また、現在のステートとデータ長分前のステートとが一致しない場合には、１データ分だけ、ステートの更新や復号結果の出力等を行って比較を繰り返す。これにより、トレースバックを複数繰り返して行わなくとも、１回のトレースバックだけで復号結果を得ることができ、処理遅延を低減することができる。また、ステートを示すビット、すなわち拘束長より１ビット少ないビットについて一致するか否かを比較すれば良いので、比較に係る処理量が少なく、容易かつわずかな処理量で復号処理を実現することができる。
【００３１】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
【００３２】
前述した第１の実施形態では、現在ステート格納部１３からの（Ｋ−１）ビットの信号ＰＳＴが示す現在のステートを、レジスタ群１４のレジスタに過去の履歴として保持している。すなわち、第１の実施形態においては、過去の履歴としてステートそのものを保持するので、拘束長Ｋ、データ長Ｎの場合には、レジスタ群１４は少なくとも（Ｋ−１）×Ｎビット分の記憶素子が必要となる。例えば、拘束長を７、データ長を５００とすると、３０００ビット分も記憶素子が必要となる。
【００３３】
ここで、図４に示したように時間的に隣り合うステートは、１ビットシフトした値に対して、読み出したパスメモリの値を付加した値となっている。つまり、時間的に隣り合うステートにおいて付加される値（パスメモリの値）以外は変化がなく、過去の履歴としてステートそのものを保持すると情報を重複して保持することとなる。
【００３４】
そこで、第２の実施形態では、ステートそのものではなく、読み出したパスメモリの値（トレースバック処理部１２内のセレクタ２０により選択された１ビットの生き残りパスに係る情報）だけを保持し、それらを連結することでデータ長分前のステートに相当する情報を得る。これにより、過去の履歴としての情報を保持するのに必要な記憶容量を低減することができる。第２の実施形態によれば、拘束長Ｋにはかかわらず、データ長Ｎの場合にはＮビット分の記憶素子を有すればよい。例えば、拘束長を７、データ長を５００とすると、５００ビット分の記憶素子で良く、第１の実施形態の場合と比較して２５００ビット分の記憶素子を削減することができる。
【００３５】
第２の実施形態における復号装置の全体構成は、第１の実施形態における復号装置と同様であるので、その説明は省略し、以下では第２の実施形態におけるトレースバック部について説明する。図５は、第２の実施形態におけるトレースバック部６の構成例を示すブロック図である。なお、この図５において、図２に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【００３６】
図５において、１４Ａは、トレースバック処理部１２からの１ビットの信号ＳＢＴが入力され、その値を保持するシフトレジスタである。信号ＳＢＴは、現在ステート格納部１３からの信号ＰＳＴが示す現在のステートを用いて、トレースバック処理部１２内のセレクタ２０がデータＩＤＴから選択した１ビットを示す信号である。
【００３７】
１６Ａは、信号ＤＴＬにより設定されるデータ長Ｎに応じて選択信号を生成する選択信号生成部である。選択信号生成部１６Ａは、信号ＤＴＬによりデータ長Ｎが設定されると、シフトレジスタ１４ＡのＮ番目から（Ｎ＋Ｋ−１）番目の記憶素子を選択するようセレクタ１５に選択信号を出力する。これにより、シフトレジスタ１４ＡのＮ番目から（Ｎ＋Ｋ−１）番目の記憶素子に保持されている値が、現在よりもデータ長分前のステートとしてセレクタ１５より比較部１７に出力される。
【００３８】
次に、第２の実施形態におけるトレースバック部６の動作について説明する。
ブランチメトリック演算部２及びＡＣＳ演算部３等により２周分程度のビタビ演算が行われた後、信号ＩＮＳにより動作開始が指示されるとトレースバックが開始される。なお、パスメモリ５から入力されるデータＩＤＴに基づく、トレースバック部６によるステートの更新及び復号結果の出力に係る動作は第１の実施形態と同様である。第２の実施形態では、パスメモリ５より入力されるデータＩＤＴから現在のステートを用いて選択された１ビットの値（パスメモリの値）を、過去の履歴を構成する情報としてシフトレジスタ１４Ａに逐次保持する。
【００３９】
そして、データ長分進んでカウンタ値ＣＮＴがＮ以下となると、現在ステート格納部１３に格納されている現在のステートと、現在よりもデータ長分前のステートとの比較が比較部１７で行われる。ここで、現在よりもデータ長分前のステートは、セレクタ１５を介して出力される、シフトレジスタ１４ＡのＮ番目から（Ｎ＋Ｋ−１）番目の記憶素子に保持されている値を連結したものである。比較部１７での比較の結果、現在のステートとデータ長分前のステートとが一致した場合にはトレースバックを終了する。
【００４０】
一方、一致しない場合には、カウンタ値ＣＮＴに応じて読み出されるデータＩＤＴに基づいて、現在のステートの更新、復号結果の出力、及びシフトレジスタ１４Ａへの選択されたパスメモリの値の保持を行い、前述した比較部１７による比較動作を繰り返す。すなわち、現在のステートとデータ長分前のステートとが一致しない場合には、１データ分だけ、現在のステートの更新、復号結果の出力、及び選択されたパスメモリの値の保持を行い、比較を繰り返す。
【００４１】
第２の実施形態によれば、第１の実施形態と同様の効果が得られるとともに、過去のステートの情報を保持するのに必要な記憶容量を低減することができる。
【００４２】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。
第３の実施形態は、トレースバック処理に係る構成を並列化して、現在及び現在よりもデータ長分前の処理を並行して行い比較することで、過去の履歴を保持する必要をなくしたものである。
【００４３】
第３の実施形態における復号装置の全体構成は、第１の実施形態における復号装置と同様であるので、その説明は省略し、以下では第３の実施形態におけるトレースバック部について説明する。図６は、第３の実施形態におけるトレースバック部６の構成例を示すブロック図である。
【００４４】
第３の実施形態におけるトレースバック部６は、制御用カウンタ３１、セレクタ３２、トレースバック処理部Ａ３３、現在ステート格納部Ａ３４、トレースバック処理部Ｂ３５、現在ステート格納部Ｂ３６、及び比較部３７を有する。なお、第３の実施形態においては、パスメモリとしてパスメモリＡ５Ａ及びパスメモリＢ５Ｂを有する。以下の説明では、ブランチメトリック演算部２及びＡＣＳ演算部３等による１周目のビタビ演算の結果がパスメモリＡ５Ａに格納され、２周目のビタビ演算の結果がパスメモリＢ５Ｂに格納されているものとする。
【００４５】
制御用カウンタ３１は、信号ＩＮＳ及び信号ＤＴＬが入力され、これらの信号に応じてカウント動作を行い、カウンタ値ＣＮＴを出力する。制御用カウンタ３１は、信号ＩＮＳにより動作開始が指示されるとカウント動作を開始する。制御用カウンタ３１は、信号ＤＴＬにより設定されるデータ長がＮの場合には、最上位ビットの値を１にして（Ｎ−１）から順次カウントダウンし、最上位ビットを除く値が０になると、最上位ビットの値を０にして再び（Ｎ−１）から順次カウントダウンする。なお、比較部１７での比較の結果、現在ステート格納部Ａ３４及び現在ステート格納部Ｂ３６に格納されているステートが一致した場合には、制御用カウンタ３１はカウント動作を終了する。
【００４６】
制御用カウンタ３１から出力されたカウンタ値ＣＮＴは、その最上位ビットＣＮＴＭＳＢを除き、読み出しアドレスとしてパスメモリＡ５Ａ及びパスメモリＢ５Ｂに供給されるとともに、書き込みアドレスとして結果メモリ７に供給される。また、制御用カウンタ３１から出力されたカウンタ値ＣＮＴの最上位ビットＣＮＴＭＳＢは、セレクタ３２、トレースバック処理部Ｂ３５、及び比較部３７に供給される。
【００４７】
セレクタ３２は、カウンタ値の最上位ビットＣＮＴＭＳＢに応じて、データＩＤＴＡ又はデータＩＤＴＢを選択しトレースバック処理部Ａ３３に出力する。セレクタ３２は、カウンタ値の最上位ビットＣＮＴＭＳＢの値が１の場合には、パスメモリＢ５Ｂから読み出される２(K-1)ビットのデータＩＤＴＢを選択して出力する。一方、セレクタ３２は、カウンタ値の最上位ビットＣＮＴＭＳＢの値が０の場合には、パスメモリＡ５Ａから読み出される２(K-1)ビットのデータＩＤＴＡを選択して出力する。
【００４８】
トレースバック処理部Ａ３３は、前述した実施形態におけるトレースバック処理部１２と同様に構成される。トレースバック処理部Ａ３３は、セレクタ３２からの出力及び現在ステート格納部Ａ３４からの信号ＰＳＴＡに基づいて、現在ステート格納部Ａ３４に格納されているステート（状態）を更新するとともに、結果メモリ７に結果ＲＢＴＡを出力する。信号ＰＳＴＡ、ＵＳＴＡ、ＲＢＴＡは、それぞれ図３に示した信号ＰＳＴ、ＵＳＴ、ＲＢＴに相当する。
【００４９】
現在ステート格納部Ａ３４は、トレースバック処理部Ａ３３からの信号ＵＳＴＡを受けると、現在のステートを信号ＵＳＴＡが示すステートに更新する。また、現在ステート格納部Ａ３４は、格納している現在のステートを信号ＰＳＴＡにより出力する。
【００５０】
トレースバック処理部Ｂ３５は、結果を示す信号を出力しない点が異なるだけで、前述した実施形態におけるトレースバック処理部１２と同様に構成される。トレースバック処理部Ｂ３５は、パスメモリＢ５Ｂから供給されるデータＩＤＴＢ及び現在ステート格納部Ｂ３６からの信号ＰＳＴＢに基づいて、現在ステート格納部Ｂ３６に格納されているステート（状態）を更新する。信号ＰＳＴＢ、ＵＳＴＢは、それぞれ図３に示した信号ＰＳＴ、ＵＳＴに相当する。なお、トレースバック処理部Ｂ３５は、カウンタ値の最上位ビットＣＮＴＭＳＢの値が１の場合には動作しない。
【００５１】
現在ステート格納部Ｂ３６は、トレースバック処理部Ｂ３５からの信号ＵＳＴＢを受けると、現在のステートを信号ＵＳＴＢが示すステートに更新する。また、現在ステート格納部Ｂ３６は、格納している現在のステートを信号ＰＳＴＢにより出力する。
【００５２】
比較部３７は、現在ステート格納部Ａ３４に格納されている現在のステートと、現在ステート格納部Ｂ３６に格納されている現在のステートとを比較して比較結果を出力する。なお、比較部３７は、カウンタ値の最上位ビットＣＮＴＭＳＢの値が１の場合には動作しない。
【００５３】
次に、第３の実施形態におけるトレースバック部６の動作について、図７を適宜参照して説明する。
１周目のビタビ演算の結果をパスメモリＡ５Ａに格納し、２周目のビタビ演算の結果をパスメモリＢ５Ｂに格納するようにして、ブランチメトリック演算部２及びＡＣＳ演算部３等により２周分のビタビ演算が行われる。その後、信号ＩＮＳにより動作開始が指示されるとトレースバック部６の動作が開始される。
【００５４】
図７に示すように、制御用カウンタ３１は、最上位ビットの値を１にして（Ｎ−１）からカウントダウンしカウンタ値ＣＮＴを出力する。これにより、パスメモリＡ５Ａ及びパスメモリＢ５ＢからアドレスＮ−１、Ｎ−２、Ｎ−３、・・・に記憶されている２(K-1)ビットのデータＩＤＴＡ及びデータＩＤＴＢが順次読み出される。また、セレクタ３２は、制御用カウンタ３１から出力されたカウンタ値の最上位ビットＣＮＴＭＳＢの値が１であるので、パスメモリＢ５Ｂから読み出されるデータＩＤＴＢを選択し出力する。したがって、図７に示すように制御用カウンタ３１から出力されたカウンタ値の最上位ビットＣＮＴＭＳＢの値が１である場合には、パスメモリＢ５Ｂから読み出されるデータＩＤＴＢが、トレースバック処理部Ａ３３及びトレースバック処理部Ｂ３５に入力される。
【００５５】
トレースバック処理部Ａ３３は、入力されるデータＩＤＴＢに基づいて、現在のステートを更新するとともに、結果メモリ７に結果を出力する。トレースバック処理部Ａ３３より出力された結果は、制御用カウンタ３１から出力された最上位ビットを除くカウンタ値ＣＮＴを書き込みアドレスとして結果メモリ７に書き込まれる。なお、制御用カウンタ３１から出力されたカウンタ値の最上位ビットＣＮＴＭＳＢの値が１であるので、トレースバック処理部Ｂ３５及び比較部３７は動作しない。
【００５６】
そして、最上位ビットを除く値が０になると、すなわちデータ長分進むと、図７に示すように、制御用カウンタ３１は、最上位ビットの値を０にして（Ｎ−１）からカウントダウンしカウンタ値ＣＮＴを出力する。これにより、パスメモリＡ５Ａ及びパスメモリＢ５Ｂからはカウンタ値ＣＮＴに応じてデータＩＤＴＡ及びデータＩＤＴＢが順次読み出される。セレクタ３２は、制御用カウンタ３１から出力されたカウンタ値の最上位ビットＣＮＴＭＳＢの値が０であるので、パスメモリＡ５Ａから読み出されるデータＩＤＴＡを選択し出力する。したがって、図７に示すように制御用カウンタ３１から出力されたカウンタ値の最上位ビットＣＮＴＭＳＢの値が０である場合には、パスメモリＡ５Ａから読み出されるデータＩＤＴＡがトレースバック処理部Ａ３３に入力され、パスメモリＢ５Ｂから読み出されるデータＩＤＴＢがトレースバック処理部Ｂ３５に入力される。
【００５７】
トレースバック処理部Ａ３３は、入力されるデータＩＤＴＡに基づいて、現在のステートを更新するとともに、結果メモリ７に結果を出力する。トレースバック処理部Ａ３３より出力された結果は、制御用カウンタ３１から出力された最上位ビットを除くカウンタ値ＣＮＴを書き込みアドレスとして結果メモリ７に上書きするようにして書き込まれる。また、トレースバック処理部Ｂ３５は、入力されるデータＩＤＴＢに基づいて、現在のステートを更新する。
【００５８】
つまり、制御用カウンタ３１から出力されるカウンタ値の最上位ビットＣＮＴＭＳＢの値が０であるときは、パスメモリＡ５Ａ及びパスメモリＢ５Ｂからビタビ演算の結果であるデータＩＤＴＡ及びデータＩＤＴＢが同時に読み出される。そして、トレースバック処理部Ａ３３は１周目の結果を基にトレースバック処理を行い、トレースバック処理部Ｂ３５は２周目の結果を基にトレースバック処理を行う。したがって、現在ステート格納部Ｂ３６には、現在ステート格納部Ａ３４に格納されているものに対して、データ長分前のステートが格納されることとなる。
【００５９】
比較部３７は、現在ステート格納部Ａ３４に格納されている現在のステートと、現在ステート格納部Ｂ３６に格納されている現在のステートとを比較する。その結果、現在ステート格納部Ａ３４及び現在ステート格納部Ｂ３６にそれぞれ格納されているステートが一致した場合にはトレースバックを終了する。一方、一致しない場合には、１データ分だけ１データ分だけ現在のステートの更新、復号結果の出力を行い、比較を繰り返す。
【００６０】
ここで、第３の実施形態では、トレースバック処理部Ａ３３より出力された結果は、制御用カウンタ３１から出力された最上位ビットを除くカウンタ値ＣＮＴを書き込みアドレスとして結果メモリ７に書き込んでいる。また、カウンタ値の最上位ビットＣＮＴＭＳＢの値が０であるときは、トレースバック処理部Ａ３３より出力された結果を上書きするようにして結果メモリ７に書き込む。すなわち、データ長Ｎで巡回するアドレスを書き込みアドレスとして最新の結果が結果メモリ７に書き込まれる。これにより、現在ステート格納部Ａ３４及び現在ステート格納部Ｂ３６に格納されているステートが一致してトレースバックを終了すると、結果として保持されているデータは整列された状態となっているので、トレースバック終了時にあらためてデータを整列させる処理を行う必要がない。
【００６１】
第３の実施形態によれば、第１の実施形態と同様の効果が得られるとともに、過去の履歴を保持するための記憶素子を設けずに、トレースバック処理に係る構成（トレースバック処理部と現在ステート格納部）を２組設けるだけで良いので回路規模を低減することができる。
【００６２】
なお、前述した説明では、制御用カウンタ３１から出力されるカウンタ値の最上位ビットＣＮＴＭＳＢの値が１の場合には、トレースバック処理部Ｂ３５及び比較部３７を動作させないようにしているが、比較部３７だけを動作させないようにしても良い。
【００６３】
（その他の実施形態）
図８は、前述した第１〜第３の実施形態における復号装置を用いた信号処理システムの構成例を示すブロック図である。本実施形態における信号処理システムは、ベースバンド処理部１０１及び通信プロトコル制御部１１０を有する。
【００６４】
ベースバンド処理部１０１は、ＲＦ部１０２、アナログ−デジタル（ＡＤ）変換器／デジタル−アナログ（ＤＡ）変換器１０３、及び信号処理部１０４を有する。
【００６５】
ＲＦ部１０２は、アンテナ１１１で受信した無線周波数の信号を所定周波数の信号に変換する。また、信号処理システムが送信機能を有する場合には、ＲＦ部１０２は、ＡＤ変換器／ＤＡ変換器１０３の出力を無線周波数の信号に変換してアンテナ１１１より送信する。ＡＤ変換器／ＤＡ変換器１０３は、ＲＦ部１０２から供給される所定周波数の信号をアナログ形式からデジタル形式に変換する。また、信号処理システムが送信機能を有する場合には、ＡＤ変換器／ＤＡ変換器１０３は、信号処理部１０４から出力される信号をデジタル形式からアナログ形式に変換する。
【００６６】
信号処理部１０４は、データ通信における物理層の制御を行うＰＨＹ部１０７、及び通信規格で規定されるＭＡＣ機能を制御するＭＡＣ部１０６を有する。ＰＨＹ部１０７は、復調部１０７及び誤り訂正部１０８を有し、さらに信号処理システムが送信機能を有する場合には変調部１０９を有する。復調部１０７は、受信データに係る復調処理を行う。誤り訂正部１０８は、前述した第１〜第３の実施形態における復号装置を内部に有し、畳み込み符号化されたデータを復号し、復号結果を出力する。変調部１０９は、送信データに係る変調処理を行う。
通信プロトコル制御部１１０は、データの受信（又は送受信）を実現するための通信プロトコルに係る制御を行う。
【００６７】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００６８】
（付記１）
テールバイティング畳み込み符号を復号する復号装置であって、
畳み込み符号化されたデータに基づいて、トレリス線図における生き残りパスを演算する演算処理部と、
前記演算処理部での演算結果をトレースバックして復号結果を出力するトレースバック部とを備え、
前記トレースバック部は、
前記演算処理部での演算結果を基に、前記トレリス線図における状態を取得するトレースバック処理部と、
前記トレースバック処理部により得られる現在の状態とデータ長分前の状態とを比較する比較部とを有し、
前記現在の状態とデータ長分前の状態との比較を、１データ分の前記演算結果毎に現在の状態を逐次更新して行い、一致した場合にトレースバックを終了することを特徴とする復号装置。
（付記２）
前記トレースバック部は、
前記トレースバック処理部での処理にて得られる状態に係る情報を保持する情報保持部を有し、
前記情報保持部に保持された情報を選択し前記データ長分前の状態として前記比較部に供給することを特徴とする付記１記載の復号装置。
（付記３）
前記情報保持部は、前記演算処理部での前記演算結果から前記トレースバック処理部により得られた現在の状態に応じて前記演算結果毎に選択され供給される前記生き残りパスに係る１ビットの情報を保持するシフトレジスタであることを特徴とする付記２記載の復号装置。
（付記４）
前記トレースバック処理部は、
前記演算処理部での第１の演算結果を基に、前記トレリス線図における状態を取得する第１のトレースバック処理部と、
前記第１の演算結果に対して前記データ長分前の前記演算処理部での第２の演算結果を基に、前記トレリス線図における状態を取得する第２のトレースバック処理部とを有し、
前記比較部は、前記第１のトレースバック処理部により得られた状態と前記第２のトレースバック処理部により得られた状態とを比較することを特徴とする付記１記載の復号装置。
（付記５）
前記復号結果を前記データ長でアドレスを巡回させメモリに書き込むことを特徴とする付記４記載の復号装置。
（付記６）
前記トレースバック処理部は、現在の状態における最下位ビットを捨てるとともに、前記演算処理部での前記演算結果から前記現在の状態に応じて選択される前記生き残りパスに係る１ビットの情報を最上位ビットとして付加し、前記トレリス線図における状態を取得することを特徴とする付記１〜５の何れか１項に記載の復号装置。
（付記７）
受信データを復調する復調部と、
付記１〜６の何れか１項に記載の復号装置を有し、前記受信データを復号し復号結果を出力する誤り訂正部とを備えることを特徴とする信号処理システム。
【符号の説明】
【００６９】
１  入力メモリ
２  ブランチメトリック演算部
３  ＡＣＳ演算部
４  パスメトリックメモリ
５  パスメモリ
６  トレースバック部
７  結果メモリ
１１、３１  制御用カウンタ
１２、３３、３５  トレースバック処理部
１３、３４、３６  現在ステート格納部
１４  レジスタ群
１４Ａ  シフトレジスタ
１５  セレクタ
１６、１６Ａ  選択信号生成部
１７、３７  比較部
【図１】
2011003997.tif 000003
【図２】
2011003997.tif 000004
【図３】
2011003997.tif 000005
【図４】
2011003997.tif 000006
【図５】
2011003997.tif 000007
【図６】
2011003997.tif 000008
【図７】
2011003997.tif 000009
【図８】
2011003997.tif 000010