(57)【要約】【課題】  復号ビットを求めるトレースバックの処理を高速にすることが可能なビタビ復号器を提供する。【解決手段】  生き残りパスメモリ更新ユニット１４はＡＣＳユニット１２で得られるパス選択情報ＳＬ（ｍ，ｉ）を含めて過去のｕ個のパス選択情報に対して、すべての状態に対して生き残りパスメモリを更新する。メモリ（＃１）１５及びメモリ（＃２）１６は生き残りパスメモリ更新ユニット１４による更新の際に使用される。パスメモリ１７は各状態での生き残りパスメモリｕ個分をまとめて格納する。トレースバックユニット１８は最尤パスメトリック状態から、ｕ個毎にトレースバック長Ｐだけトレースバックを実行し、最後のｕビットを入力ビットａ（ｉ），ａ（ｉ−１），・・・，ａ（ｉ−ｕ＋１）に対する復号ビットｄ（ｉ），ｄ（ｉ−１），・・・，ｄ（ｉ−ｕ＋１）として出力する。【選択図】      図１
2006229376.tif 000002
【特許請求の範囲】
【請求項１】
受信データからブランチメトリックを生成するブランチメトリックユニットと、前記ブランチメトリックとパスメトリックとによってＡＣＳ（Ａｄｄ−Ｃｏｍｐａｒｅ−Ｓｅｌｅｃｔ）処理を実行するＡＣＳユニットと、前記ＡＣＳ処理で得られた新しいパスメトリックを格納するパスメトリックメモリと、最尤パスメトリック状態からトレースバック長だけトレースバックを実行して復号ビットを出力するトレースバックユニットとからなるビタビ復号器であって、
前記ＡＣＳユニットから出力される２k-1 個（ｋはたたみ込み符号器の拘束長）のパス選択情報を２k-1 ×ｕビット単位（ｕは２以上の整数）で生き残りパスを更新する生き残りパス更新ユニットと、前記生き残りパス更新ユニットで更新された生き残りパスを前記ｕビット単位で格納するパスメモリとを有し、
前記トレースバックユニットにて前記ｕビット単位にトレースバックを行うことを特徴とするビタビ復号器。
【請求項２】
前記ＡＣＳユニットは、前記ＡＣＳの処理を分割して実行する複数のユニットからなり、
前記生き残りパス更新ユニットは、前記生き残りパスの更新処理を分割して実行する複数のユニットからなることを特徴とする請求項１記載のビタビ復号器。
【請求項３】
前記ＡＣＳユニットは、連続する２つの受信データを処理し、２×２k-1 個のパス選択情報を出力可能なユニットからなることを特徴とする請求項１記載のビタビ復号器。
【請求項４】
前記ＡＣＳユニットは、前記ＡＣＳの処理を分割して実行する複数のユニットからなることを特徴とする請求項３記載のビタビ復号器。
【請求項５】
請求項１から請求項４に記載のビタビ復号器を有することを特徴とする移動体通信装置。
【請求項６】
請求項１から請求項４に記載のビタビ復号器を有することを特徴とする基地局装置。
【請求項７】
請求項１から請求項４に記載のビタビ復号器を有することを特徴とする移動体通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビタビ復号器及びそれを用いる移動体通信装置、基地局装置、移動体通信端末に関し、特にたたみ込み符号の最尤復号法に用いられるビタビ復号器に関する。
【背景技術】
【０００２】
ビタビアルゴリズムは、たたみ込み符号の最尤復号法に用いられ、誤り訂正能力が高いことから、伝送経路誤りが生じやすい衛星通信、移動体通信等の伝送方式におけるビタビ復号器に用いられている。
【０００３】
まず、たたみ込み符号化方法について簡単に説明する。図５に拘束長＝９、符号化率＝１／２のたたみ込み符号器２を示す。入力ビットａと、それに先行する一定数のビット（シフトレジスタ２１のｇ０〜ｇ７に格納されているビット群）の予め決められたビットに対して排他的論理和が施され、排他的論理和回路２２，２３によって符号化ビットＩ，Ｑが出力される。ここで、この符号化ビットの生成に影響を与えるビット数のことを拘束長ｋとする。
【０００４】
この符号化ビットは、入力ビットａと、先行する８個の入力ビット（シフトレジスタ２１のｇ０〜ｇ７に格納されているビット群）の状態Ｓ、
Ｓ＝ｇ０×１＋ｇ１×２＋ｇ２×４＋ｇ３×８
＋ｇ４×１６＋ｇ５×３２＋ｇ６×６４＋ｇ７×１２８
で定まる。たたみ込み符号器２では、状態の数が２５６（＝２(9-1) ）通りとなる。
【０００５】
入力ビットａ（ｉ）（ｉ＝１〜ｎ）がたたみ込み符号器２に入力前の状態をＳ（ｊ，ｉ−１）（ｊ＝０〜２５５）とすると、ａ（ｉ）がｇ０に格納され、シフトレジスタ２１のｇ０〜ｇ７に格納されていたビットが１回右シフトすることによって新たな状態Ｓ（ｍ、ｉ）に遷移する。遷移可能な状態は、入力ビットａ（ｉ）が“０”であるか、“１”であるかによって決定される。
【０００６】
図６はたたみ込み符号器２の状態遷移を示したものである。図６において、入力ビットが“０”の場合の遷移を実線の矢印で、“１”の場合の遷移を破線の矢印でそれぞれが示している。矢印の右上の数字は、その時に出力される符号化ビットＩ，Ｑを表している。例えば、状態１２８の時、入力ビットが“０”の場合に、状態Ｓに遷移することがわかる。その時の符号化ビットはＩ＝１、Ｑ＝１が出力される。
【０００７】
次に、ビタビ復号処理に関して簡単に説明する。ビタビ復号では、符号化ビットに対応する受信データ毎に、取り得るすべての状態遷移の中から最も確からしい状態を推定する。情報ビットａ（ｉ）ビットで得られた符号化ビットＩ（ｉ），Ｑ（ｉ）に対応する受信データＲＩ（ｉ），ＲＱ（ｉ）毎に、遷移前の各状態のパスメトルックＰＭ（ｊ，ｉ−１）（ｊ＝０〜２５５）に遷移間でのブランチメトリックＢＭを加えて、遷移後のパスメトリックＰＭ（ｍ，ｉ）（ｍ＝０〜２５５）を求め、遷移先の各状態において、同一状態に達するパスのうち、パスメトリックが小さいほうを生き残りパスとして残す処理を行う。
【０００８】
ブランチメトリックＢＭとは、受信データＲＩ（ｉ），ＲＱ（ｉ）と、各遷移間の期待値ビット（図６の矢印の上の符号化ビット）との尺度を表すものである。期待値ビットは“００”，“０１”，“１０”，“１１”に対するブランチメトリックをＢＭ（００，ｉ），ＢＭ（０１，ｉ），ＢＭ（１０，ｉ），ＢＭ（１１，ｉ）とする。
【０００９】
図６の太線において、遷移先０状態に合流パスは、遷移前の０状態及び１２８状態で、この２つのパスに対して、遷移元のパスメトリックと遷移間のブランチメトリックとを加算（Ａｄｄ）し、加算後のＰＭ（０，ｉ−１）＋ＢＭ（００，ｉ）とＰＭ（１２８，ｉ−１）＋ＢＭ（１１，ｉ）とを比較（Ｃｏｍｐａｒｅ）し、パスメトリックが小さいほうを選択（Ｓｅｌｅｃｔ）し、選択したものを生き残りパスとして残す。選択したパス選択情報ＳＬ（０，ｉ）を図７に示すパスメモリ３０に格納していく。
【００１０】
これらの処理を残りの状態に対しても行い、同様にして得られたパス選択情報ＳＬ（ｊ，ｉ）（ｊ＝０〜２５５）をパスメモリ３０に格納する。以後、この一連のＡｄｄ、Ｃｏｍｐａｒｅ、Ｓｅｌｅｃｔ処理のことをＡＣＳ処理と呼ぶ。
【００１１】
最後に、復号データの導出手順に関して簡単に説明する。受信データＲＩ（ｉ），ＲＱ（ｉ）毎に２５６回のＡＣＳ処理を行い、パスメモリ３０にトレースバック長Ｐだけパス選択情報の格納が終了すると、その時点でのパスメトリック情報が最小であるものを探し出し、その状態よりトレースバックを開始する。このトレースバック長Ｐが大きくなると、誤り訂正能力が向上する。トレースバック長Ｐだけパスをさかのぼる操作を行った後、最後に、パスメモリ３０より読出されたパス選択情報が、入力ビットａ（ｉ）に対する復号ビットｄ（ｉ）となる。
【００１２】
図７は受信データＲＩ（ｉ−Ｐ−１），ＲＱ（ｉ−Ｐ−１）からＲＩ（ｉ），ＲＱ（ｉ）までのＡＣＳ処理実行後のパス選択情報が格納されている状態を示している。図７では、ｉ時点での最尤パスメトリックを保持している状態を２としている。
【００１３】
図８はトレースバック動作の過程を表したものである。まず、シフトレジスタ４０に２状態を表すビット配列を格納する。パスメモリ３０のＰ−１アドレスに格納されている２番目ビットを読出し、この値をシフトレジスタ４０に左シフトで入力すると、シフトレジスタ４０は１状態に変わる。
【００１４】
次に、パスメモリ３０のＰ−２アドレスに格納されている１番目ビットを読出し、この値をシフトレジスタ４０に左シフトで入力すると、シフトレジスタ４０は０状態に変わる。さらに、パスメモリ３０のＰ−３アドレスに格納されている１番目ビットを読出し、この値をシフトレジスタ４０に左シフトで入力と、シフトレジスタ４０は１２８状態に変わる。
【００１５】
同様な操作を繰り返し、パスメモリ３０の０アドレスに格納されている０番目ビットを読出し、シフトレジスタ４０に左シフトで入力すると、シフトレジスタ４０は０状態に変わる。この最後に読出したビットが入力ビットａ（ｉ−Ｐ−１）に対する復号ビットｄ（ｉ−Ｐ−１）となる。
【００１６】
このように、１アドレスずつ読出す操作を行って復号ビットを導出している。ここで、パスメモリ３０の０アドレスが利用可能になるので、次の受信データＲＩ（ｉ＋１）、ＲＱ（ｉ＋１）に対するパス選択情報は、パスメモリ３０の０アドレスに格納するようにし、この先パスメモリをリングメモリとして使用していく。よって、次のトレースバックの際の、パスメモリから最初に読出すアドレスは０となり、以降、Ｐ−１→Ｐ−２→Ｐ−３→Ｐ−４→・・・の順に読出していく。
【００１７】
上記のＡＣＳ処理方法としては、高速化のために、ＲＩ（ｉ），ＲＱ（ｉ）と、ＲＩ（ｉ＋１），ＲＱ（ｉ＋１）との２つの受信データを連続してＡＣＳ処理を実行することで、連続する２つのパス選択情報を得る方法と、ＡＣＳ処理の高速化のためにＡＣＳユニットを複数設ける方法とが提案されている（例えば、特許文献１参照）。この連続するパス選択情報をパスメモリ３０の１アドレスに書込むことで、トレースバックの際のパスメモリ３０の読出し回数を半分のＰ／２回にすることができ、トレースバック処理の高速化を図ることができる。
【００１８】
図９はたたみ込み符号器２において、連続する２つの受信データのＡＣＳ処理を実行する際の状態遷移を示したものである。まず、受信データＲＩ（ｉ），ＲＱ（ｉ）に対するＡＣＳ処理を実行し、０＋２ｘ状態、１＋２ｘ状態、１２８＋２ｘ状態、１２９＋２ｘ状態（ｘ＝０〜６３）のパスメトリックＰＭ（０＋２ｘ，ｉ），ＰＭ（１＋２ｘ，ｉ），ＰＭ（１２８＋２ｘ，ｉ），ＰＭ（１２９＋２ｘ，ｉ）と、パス選択情報ＳＬ（０＋２ｘ，ｉ），ＳＬ（１＋２ｘ，ｉ），ＳＬ（１２８＋２ｘ，ｉ），ＳＬ（１２９＋２ｘ，ｉ）とを求める。
Ｉｆ  ＰＭ（０＋ｘ，ｉ−１）＋ＢＭ（Ｚ１，ｉ）＜ＰＭ（１２８＋ｘ，ｉ−１）＋ＢＭ（Ｚ１＊，ｉ）  ｔｈｅｎ  ＰＭ（０＋２ｘ，ｉ）＝ＰＭ（０＋ｘ，ｉ−１）＋ＢＭ（Ｚ１，ｉ）  ａｎｄ  ＳＬ（０＋２ｘ，ｉ）＝０
ｅｌｓｅ  ＰＭ（０＋２ｘ，ｉ）＝ＰＭ（１２８＋ｘ，ｉ−１）＋ＢＭ（Ｚ１＊，ｉ）  ａｎｄ  ＳＬ（０＋２ｘ，ｉ）＝１
Ｉｆ  ＰＭ（０＋ｘ，ｉ−１）＋ＢＭ（Ｚ１＊，ｉ）＜ＰＭ（１２８＋ｘ，ｉ−１）＋ＢＭ（Ｚ１，ｉ）  ｔｈｅｎ  ＰＭ（１＋２ｘ，ｉ）＝ＰＭ（０＋ｘ，ｉ−１）＋ＢＭ（Ｚ１＊，ｉ）  ａｎｄ  ＳＬ（１＋２ｘ，ｉ）＝０
ｅｌｓｅ  ＰＭ（１＋２ｘ，ｉ）＝ＰＭ（１２８＋ｘ，ｉ−１）＋ＢＭ（Ｚ１，ｉ）  ａｎｄ  ＳＬ（１＋２ｘ，ｉ）＝１
Ｉｆ  ＰＭ（６４＋ｘ，ｉ−１）＋ＢＭ（Ｚ２，ｉ）＜ＰＭ（１９２＋ｘ，ｉ−１）＋ＢＭ（Ｚ２＊，ｉ）  ｔｈｅｎ  ＰＭ（１２８＋２ｘ，ｉ）＝ＰＭ（６４＋ｘ，ｉ−１）＋ＢＭ（Ｚ２，ｉ）  ａｎｄ  ＳＬ（１２８＋２ｘ，ｉ）＝０
ｅｌｓｅ  ＰＭ（１２８＋２ｘ，ｉ）＝ＰＭ（１９２＋ｘ，ｉ−１）＋ＢＭ（Ｚ２＊，ｉ）  ａｎｄ  ＳＬ（１２８＋２ｘ，ｉ）＝１
Ｉｆ  ＰＭ（６４＋ｘ，ｉ−１）＋ＢＭ（Ｚ２＊）＜ＰＭ（１９２＋ｘ，ｉ−１）＋ＢＭ（Ｚ２，ｉ）  ｔｈｅｎ  ＰＭ（１２８＋２ｘ，ｉ）＝ＰＭ（６４＋ｘ，ｉ−１）＋ＢＭ（Ｚ２＊，ｉ）  ａｎｄ  ＳＬ（１２８＋２ｘ，ｉ）＝０
ｅｌｓｅ  ＰＭ（１２８＋２ｘ，ｉ）＝ＰＭ（１９２＋ｘ，ｉ−１）＋ＢＭ（Ｚ２，ｉ）  ａｎｄ  ＳＬ（１２８＋２ｘ，ｉ）＝１
【００１９】
次に、受信データＲＩ（ｉ＋１），ＲＱ（ｉ＋１）に対するＡＣＳ処理を実行し、０＋４ｘ状態、１＋４ｘ状態、２＋４ｘ状態、３＋４ｘ状態（ｘ＝０〜６３）のパスメトリックＰＭ（０＋４ｘ，ｉ＋１），ＰＭ（１＋４ｘ，ｉ＋１），ＰＭ（２＋４ｘ，ｉ＋１）、ＰＭ（３＋４ｘ，ｉ＋１）と、パス選択情報ＳＬ（０＋４ｘ，ｉ＋１），ＳＬ（１＋４ｘ，ｉ＋１）、ＳＬ（２＋４ｘ，ｉ＋１），ＳＬ（３＋４ｘ，ｉ＋１）を求める。
Ｉｆ  ＰＭ（０＋２ｘ，ｉ）＋ＢＭ（Ｚ３，ｉ＋１）＜ＰＭ（１２８＋２ｘ，ｉ）＋ＢＭ（Ｚ３＊，ｉ＋１）  ｔｈｅｎ  ＰＭ（０＋４ｘ，ｉ＋１）＝ＰＭ（０＋２ｘ，ｉ）＋ＢＭ（Ｚ３，ｉ＋１）  ａｎｄ  ＳＬ（０＋４ｘ，ｉ＋１）＝０
ｅｌｓｅ  ＰＭ（０＋４ｘ，ｉ＋１）＝ＰＭ（１２８＋２ｘ，ｉ）＋ＢＭ（Ｚ３＊，ｉ＋１）  ａｎｄ  ＳＬ（０＋４ｘ，ｉ＋１）＝１
Ｉｆ  ＰＭ（０＋２ｘ，ｉ）＋ＢＭ（Ｚ３＊，ｉ＋１）＜ＰＭ（１２８＋２ｘ，ｉ）＋ＢＭ（Ｚ３，ｉ＋１）  ｔｈｅｎ  ＰＭ（１＋４ｘ，ｉ＋１）＝ＰＭ（０＋２ｘ，ｉ）＋ＢＭ（Ｚ３＊，ｉ＋１）  ａｎｄ  ＳＬ（１＋４ｘ，ｉ＋１）＝０
ｅｌｓｅ  ＰＭ（１＋４ｘ，ｉ＋１）＝ＰＭ（１２８＋２ｘ，ｉ）＋ＢＭ（Ｚ３，ｉ＋１）  ａｎｄ  ＳＬ（１＋４ｘ，ｉ＋１）＝１
Ｉｆ  ＰＭ（１＋２ｘ，ｉ）＋ＢＭ（Ｚ４，ｉ＋１）＜ＰＭ（１２９＋２ｘ，ｉ）＋ＢＭ（Ｚ４＊，ｉ＋１）  ｔｈｅｎ  ＰＭ（２＋４ｘ，ｉ＋１）＝ＰＭ（１＋２ｘ，ｉ）＋ＢＭ（Ｚ４，ｉ＋１）  ａｎｄ  ＳＬ（２＋４ｘ，ｉ＋１）＝０
ｅｌｓｅ  ＰＭ（２＋４ｘ，ｉ＋１）＝ＰＭ（１２９＋２ｘ，ｉ）＋ＢＭ（Ｚ４＊，ｉ＋１）  ａｎｄ  ＳＬ（２＋４ｘ，ｉ＋１）＝１
Ｉｆ  ＰＭ（１＋２ｘ，ｉ）＋ＢＭ（Ｚ４＊，ｉ＋１）＜ＰＭ（１２９＋２ｘ，ｉ）＋ＢＭ（Ｚ４，ｉ＋１）  ｔｈｅｎ  ＰＭ（３＋４ｘ，ｉ＋１）＝ＰＭ（１＋２ｘ，ｉ）＋ＢＭ（Ｚ４＊，ｉ＋１）  ａｎｄ  ＳＬ（３＋４ｘ，ｉ＋１）＝０
ｅｌｓｅ  ＰＭ（３＋４ｘ，ｉ＋１）＝ＰＭ（１２９＋２ｘ，ｉ）＋ＢＭ（Ｚ４，ｉ＋１）  ａｎｄ  ＳＬ（３＋４ｘ，ｉ＋１）＝１
【００２０】
上記の処理で得られた５１２個のパス選択情報を、図１０のパスメモリ３１のアドレス０，１に格納する場合には、ＳＬ（ｍ，ｉ）ではなく、ＳＬ（ｍ，ｉ＋１）（ｍ＝０〜２５５）が示す状態ｍに基づいて書込みアドレスを決める。すなわち、ｍが０〜１２７の場合には書込みアドレス０に、ｍが１２８〜２５５の場合には書込みアドレス１となる。ＳＬ（ｍ，ｉ），ＳＬ（ｍ，ｉ＋１）を書込むビット位置はパスメモリ３１に示すとおりである。参考のために、図１１に、２つの連続するパス選択情報格納の場合のトレースバック動作を表す図を示す（トレースバック経路は図７と同じ）。
【００２１】
【特許文献１】特表２００３−５１２７５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
上述した従来のＡＣＳ処理では、符号化ビットＩ，Ｑを送信する伝送速度が上がった場合、ＡＣＳユニットを増やすことで、その処理能力の向上を図ることができるが、トレースバックの処理時間を、これ以上高速にすることができない。
【００２３】
また、たたみ込み符号化の符号化率を上げる手段としてはパンクチャド符号化方法があるが、訂正能力を確保するためには、トレースバック長Ｐをより長くする必要がある。しかしながら、従来の方法ではこれ以上高速にすることができず、それに対応することができない。パンクチャド符号とは、たたみ込み符号化されたビット列から周期的にあるビットを消去して符号化率を上げる手法である。
【００２４】
そこで、本発明の目的は上記の問題点を解消し、復号ビットを求めるトレースバックの処理を高速にすることができるビタビ復号器及びそれを用いる移動体通信装置、基地局装置、移動体通信端末を提供することにある。
【課題を解決するための手段】
【００２５】
本発明によるビタビ復号器は、受信データからブランチメトリックを生成するブランチメトリックユニットと、前記ブランチメトリックとパスメトリックとによってＡＣＳ（Ａｄｄ−Ｃｏｍｐａｒｅ−Ｓｅｌｅｃｔ）処理を実行するＡＣＳユニットと、前記ＡＣＳ処理で得られた新しいパスメトリックを格納するパスメトリックメモリと、最尤パスメトリック状態からトレースバック長だけトレースバックを実行して復号ビットを出力するトレースバックユニットとからなるビタビ復号器であって、
前記ＡＣＳユニットから出力される２k-1 個（ｋはたたみ込み符号器の拘束長）のパス選択情報を２k-1 ×ｕビット単位（ｕは２以上の整数）で生き残りパスを更新する生き残りパス更新ユニットと、前記生き残りパス更新ユニットで更新された生き残りパスを前記ｕビット単位で格納するパスメモリとを備え、
前記トレースバックユニットにて前記ｕビット単位にトレースバックを行っている。
【００２６】
本発明による移動体通信装置は、受信データからブランチメトリックを生成するブランチメトリックユニットと、前記ブランチメトリックとパスメトリックとによってＡＣＳ（Ａｄｄ−Ｃｏｍｐａｒｅ−Ｓｅｌｅｃｔ）処理を実行するＡＣＳユニットと、前記ＡＣＳ処理で得られた新しいパスメトリックを格納するパスメトリックメモリと、最尤パスメトリック状態からトレースバック長だけトレースバックを実行して復号ビットを出力するトレースバックユニットと、前記ＡＣＳユニットから出力される２k-1 個（ｋはたたみ込み符号器の拘束長）のパス選択情報を２k-1 ×ｕビット単位（ｕは２以上の整数）で生き残りパスを更新する生き残りパス更新ユニットと、前記生き残りパス更新ユニットで更新された生き残りパスを前記ｕビット単位で格納するパスメモリとを含むビタビ復号器を備え、
前記ビタビ復号器のトレースバックユニットにて前記ｕビット単位にトレースバックを行っている。
【００２７】
本発明による基地局装置は、受信データからブランチメトリックを生成するブランチメトリックユニットと、前記ブランチメトリックとパスメトリックとによってＡＣＳ（Ａｄｄ−Ｃｏｍｐａｒｅ−Ｓｅｌｅｃｔ）処理を実行するＡＣＳユニットと、前記ＡＣＳ処理で得られた新しいパスメトリックを格納するパスメトリックメモリと、最尤パスメトリック状態からトレースバック長だけトレースバックを実行して復号ビットを出力するトレースバックユニットと、前記ＡＣＳユニットから出力される２k-1 個（ｋはたたみ込み符号器の拘束長）のパス選択情報を２k-1 ×ｕビット単位（ｕは２以上の整数）で生き残りパスを更新する生き残りパス更新ユニットと、前記生き残りパス更新ユニットで更新された生き残りパスを前記ｕビット単位で格納するパスメモリとを含むビタビ復号器を備え、
前記ビタビ復号器のトレースバックユニットにて前記ｕビット単位にトレースバックを行っている。
【００２８】
本発明による移動体通信端末は、受信データからブランチメトリックを生成するブランチメトリックユニットと、前記ブランチメトリックとパスメトリックとによってＡＣＳ（Ａｄｄ−Ｃｏｍｐａｒｅ−Ｓｅｌｅｃｔ）処理を実行するＡＣＳユニットと、前記ＡＣＳ処理で得られた新しいパスメトリックを格納するパスメトリックメモリと、最尤パスメトリック状態からトレースバック長だけトレースバックを実行して復号ビットを出力するトレースバックユニットと、前記ＡＣＳユニットから出力される２k-1 個（ｋはたたみ込み符号器の拘束長）のパス選択情報を２k-1 ×ｕビット単位（ｕは２以上の整数）で生き残りパスを更新する生き残りパス更新ユニットと、前記生き残りパス更新ユニットで更新された生き残りパスを前記ｕビット単位で格納するパスメモリとを含むビタビ復号器を備え、
前記ビタビ復号器のトレースバックユニットにて前記ｕビット単位にトレースバックを行っている。
【００２９】
すなわち、本発明のビタビ復号器は、受信データＲＩ（ｉ），ＲＱ（ｉ）でのＡＣＳ（Ａｄｄ、Ｃｏｍｐａｒｅ、Ｓｅｌｅｃｔ）処理で得られたパス選択情報ＳＬ（ｍ，ｉ）を含むｍ状態に連なるｕビット（ｕは２以上の整数）の生き残りパスを、ＳＬ（ｍ，ｉ）が導出される毎に更新可能なユニットを設ける。
【００３０】
それによって、本発明のビタビ復号器では、ｕビット毎のパス選択情報をパスメモリへ格納することが可能となり、トレースバック動作時にｕビット単位でパスをさかのぼることが可能となるとともに、トレースバックの処理時間を短くすることが可能となる。
【発明の効果】
【００３１】
本発明は、以下に述べるような構成及び動作とすることで、復号ビットを求めるトレースバックの処理を高速にすることができるという効果が得られる。
【発明を実施するための最良の形態】
【００３２】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例によるビタビ復号器の構成を示すブロック図である。図１において、ビタビ復号器１はブランチメトリックユニット１１と、ＡＣＳ（Ａｄｄ、Ｃｏｍｐａｒｅ、Ｓｅｌｅｃｔ）ユニット１２と、パスメトリックメモリ１３と、生き残りパスメモリ更新ユニット１４と、メモリ（＃１）１５と、メモリ（＃２）１６と、パスメモリ１７と、トレースバックユニット１８とから構成されている。
【００３３】
ここで、ビタビ復号器１への入力ビットａ（ｉ）は、図５に示すたたみ込み符号器２を用いてたたみ込み符号化されている。また、本発明の一実施例によるビタビ復号器１は伝送経路誤りが生じやすい衛星通信、移動体通信等の伝送方式を採用する移動体通信装置、基地局装置、移動体通信端末等に用いられるものである。
【００３４】
ビタビ復号器１のブランチメトリックユニット１１は受信データＲＩ（ｉ），ＲＱ（ｉ）（ｉ＝１〜ｎ）からブランチメトリックＢＭ（００，ｉ），ＢＭ（０１，ｉ），ＢＭ（１０，ｉ），ＢＭ（１１，ｉ）を生成する。ＡＣＳユニット１２はそのブランチメトリックＢＭ（００，ｉ），ＢＭ（０１，ｉ），ＢＭ（１０，ｉ），ＢＭ（１１，ｉ）とパスメトリックＰＭ（ｊ，ｉ−１）（ｊ＝０〜２５５）とによってＡＣＳ処理を実行する。
【００３５】
パスメトリックメモリ１３はＡＣＳ処理で得られた新しいパスメトリックＰＭ（ｍ，ｉ）（ｍ＝０〜２５５）を格納する。生き残りパスメモリ更新ユニット１４はＡＣＳユニット１２で得られる２k-1 個（ｋはたたみ込み符号器の拘束長）のパス選択情報ＳＬ（ｍ，ｉ）を含めて過去のｕ個（ｕは２以上の整数）のパス選択情報に対して、すべての状態に対して２k-1 ×ｕビット単位で生き残りパスメモリを更新する。メモリ（＃１）１５及びメモリ（＃２）１６は生き残りパスメモリ更新ユニット１４による更新の際に使用される。
【００３６】
パスメモリ１７は各状態での生き残りパスメモリｕ個分をまとめて格納する。トレースバックユニット１８は最尤パスメトリック状態から、ｕ個毎にトレースバック長Ｐだけトレースバックを実行し、最後のｕビットを入力ビットａ（ｉ），ａ（ｉ−１），・・・，ａ（ｉ−ｕ＋１）に対する復号ビットｄ（ｉ），ｄ（ｉ−１），・・・，ｄ（ｉ−ｕ＋１）として出力する。
【００３７】
図２は本発明の一実施例による生き残りパスメモリ更新におけるメモリ（＃１）１５及びメモリ（＃２）１６の格納ビットの変化を示す図である。図３（ａ）は本発明の一実施例によるメモリ（＃１）１５及びメモリ（＃２）１６の格納ビットを示す図であり、図３（ｂ）は本発明の一実施例による４ビットの生き残りパスの格納位置を示す図である。図４は本発明の一実施例による４つの連なるパスをさかのぼるトレースバックの動作を示す図である。これら図１〜図４を参照して本発明の一実施例によるビタビ復号器１の動作について説明する。尚、ここでは、拘束長ｋ＝９、ｕ＝４としている。
【００３８】
受信データＲＩ（ｉ），ＲＱ（ｉ）に対してブランチメトリックユニット１１で生成されたＢＭ（００，ｉ），ＢＭ（０１，ｉ），ＢＭ（１０，ｉ），ＢＭ（１１，ｉ）と、パスメトリックメモリ１３に格納されているＰＭ（ｊ，ｉ−１）（ｊ＝０〜２５５）とによって、図７に示す状態遷移図に基づいて、ＡＣＳユニット１２でＡＣＳ処理が実行される。
【００３９】
すなわち、偶数状態に遷移する２ｘ状態（ｘ＝０〜１２７）では、
Ｉｆ  ＰＭ（０＋ｘ，ｉ−１）＋ＢＭ（Ｚ，ｉ）＜ＰＭ（１２８＋ｘ，ｉ−１）＋ＢＭ（Ｚ＊，ｉ）  ｔｈｅｎ  ＰＭ（０＋２ｘ，ｉ）＝ＰＭ（０＋ｘ，ｉ−１）＋ＢＭ（Ｚ，ｉ）  ａｎｄ  ＳＬ（０＋２ｘ，ｉ）＝０
ｅｌｓｅ  ＰＭ（０＋２ｘ，ｉ）＝ＰＭ（１２８＋ｘ，ｉ−１）＋ＢＭ（Ｚ＊，ｉ）  ａｎｄ  ＳＬ（０＋２ｘ，ｉ）＝１
の演算が実行される。
【００４０】
また、奇数状態に遷移する１＋２ｘ状態（ｘ＝０〜１２７）では、
Ｉｆ  ＰＭ（０＋ｘ，ｉ−１）＋ＢＭ（Ｚ＊，ｉ）＜ＰＭ（１２８＋ｘ，ｉ−１）＋ＢＭ（Ｚ，ｉ）  ｔｈｅｎ  ＰＭ（１＋２ｘ，ｉ）＝ＰＭ（０＋ｘ，ｉ−１）＋ＢＭ（Ｚ＊，ｉ）  ａｎｄ  ＳＬ（１＋２ｘ，ｉ）＝０
ｅｌｓｅ  ＰＭ（１＋２ｘ，ｉ）＝ＰＭ（１２８＋ｘ，ｉ−１）＋ＢＭ（Ｚ，ｉ）  ａｎｄ  ＳＬ（１＋２ｘ，ｉ）＝１
の演算が実行される。ここで、Ｚは“００”，“０１”，“１０”，“１１”のいずれかの値をとり、Ｚ＊はＺ＝００の時にＺ＊＝１１、Ｚ＝１１の時にＺ＊＝００、Ｚ＝０１の時にＺ＊＝１０、Ｚ＝１０の時にＺ＊＝０１のいずれかになる。
【００４１】
ｘ＝０〜１２７に対してＡＣＳ処理が実行され、演算後に得られる新しいパスメトリックＰＭ（０＋２ｘ，ｉ）、またはＰＭ（１＋２ｘ，ｉ）がパスメトリックメモリ１３に格納される。この例では、ＡＣＳユニット１２が１個しかないので、パスメトリックＰＭ（０＋２ｘ，ｉ）、またはＰＭ（１＋２ｘ，ｉ）と、パス選択情報ＳＬ（０＋２ｘ，ｉ）、またはＳＬ（１＋２ｘ，ｉ）が１組ずつ順次導出されることになる。
【００４２】
以降、ＰＭ（０＋２ｘ，ｉ）、またはＰＭ（１＋２ｘ，ｉ）はＰＭ（ｍ，ｉ）（ｍ＝０〜２５５）、ＳＬ（０＋２ｘ，ｉ）、またはＳＬ（１＋２ｘ，ｉ）はＳＬ（ｍ，ｉ）（ｍ＝０〜２５５）と記述する。
【００４３】
生き残りパスメモリ更新ユニット１４はＳＬ（ｍ，ｉ）も含めて、ｍ状態に連なるｕ＝４ビットの生き残りパスを更新していく。ここで、メモリ（＃１）１５及びメモリ（＃２）１６は各々、２５６状態×４（＝２k-1 ×ｕ）ビット分の生き残りパスを格納することができ、生き残りパスを更新の際に使用される。例えば、メモリ（＃１）１５に受信データＲＩ（ｉ−１），ＲＱ（ｉ−１）のＡＣＳ処理で導出されたＳＬ（ｍ，ｉ−１）を含めたｕ＝４ビット分の生き残りパスが格納されている場合、メモリ（＃２）１６には受信データＲＩ（ｉ−２），ＲＱ（ｉ−２）のＡＣＳ処理で導出されたＳＬ（ｍ，ｉ−２）を含めたｕ＝４ビット分の生き残りパスが格納されている。
【００４４】
各状態でのＳＬ（ｍ，ｉ）が導出される毎に、メモリ（＃１）１５に格納されているｕ＝４ビット長の生き残りパスを新しいｕ＝４ビット長の生き残りパスに更新し、他方のメモリ（＃２）１６に格納していく。メモリ（＃１）１５及びメモリ（＃２）１６の格納ビットが、図３（ａ）に示すような構成とすると、生き残りパスメモリの更新は下記のようになる。ｍが偶数では、
Ｉｆ  ＳＬ（ｍ，ｉ）＝０  ｔｈｅｎ
Ｂ＿Ｓ（ｍ，３）＝０
Ｂ＿Ｓ（ｍ，２）＝Ａ＿Ｓ（ｍ／２，３）
Ｂ＿Ｓ（ｍ，１）＝Ａ＿Ｓ（ｍ／２，２）
Ｂ＿Ｓ（ｍ，０）＝Ａ＿Ｓ（ｍ／２，１）
Ｅｌｓｅ
Ｂ＿Ｓ（ｍ，３）＝１
Ｂ＿Ｓ（ｍ，２）＝Ａ＿Ｓ（ｍ／２，３）
Ｂ＿Ｓ（ｍ，１）＝Ａ＿Ｓ（ｍ／２，２）
Ｂ＿Ｓ（ｍ，０）＝Ａ＿Ｓ（ｍ／２，１）
となる。
【００４５】
また、ｍが奇数では、
Ｉｆ  ＳＬ（ｍ，ｉ）＝０  ｔｈｅｎ
Ｂ＿Ｓ（ｍ，３）＝０
Ｂ＿Ｓ（ｍ，２）＝Ａ＿Ｓ（（ｍ−１）／２，３）
Ｂ＿Ｓ（ｍ，１）＝Ａ＿Ｓ（（ｍ−１）／２，２）
Ｂ＿Ｓ（ｍ，０）＝Ａ＿Ｓ（（ｍ−１）／２，１）
Ｅｌｓｅ
Ｂ＿Ｓ（ｍ，３）＝１
Ｂ＿Ｓ（ｍ，２）＝Ａ＿Ｓ（１２８＋（ｍ−１）／２，３）
Ｂ＿Ｓ（ｍ，１）＝Ａ＿Ｓ（１２８＋（ｍ−１）／２，２）
Ｂ＿Ｓ（ｍ，０）＝Ａ＿Ｓ（１２８＋（ｍ−１）／２，１）
となる。ここで、Ａ＿Ｓ（＊，＊）はメモリ（＃１）１５の格納ビットを、Ｂ＿Ｓ（＊，＊）はメモリ（＃２）１６の格納ビットを表す。
【００４６】
図２は上記の生き残りパスメモリ更新におけるメモリ（＃１）１５及びメモリ（＃２）１６の格納ビットの変化を示している。図２（ａ）には更新前の生き残りパスを示し、図２（ｂ）には更新後の生き残りパスを示す。例えば、０状態ではＳＬ（０，ｉ）＝１となっているので、メモリ（＃１）１５の１２８状態の生き残りパスが選択され、メモリ（＃２）１６の格納ビットがＢ＿Ｓ（０，３）＝ＳＬ（０，ｉ）＝１，Ｂ＿Ｓ（０，２）＝Ａ＿Ｓ（１２８，３），Ｂ＿Ｓ（０，１）＝Ａ＿Ｓ（１２８，２）、Ｂ＿Ｓ（０，０）＝Ａ＿Ｓ（１２８，１）となる。
【００４７】
また、１２８状態ではＳＬ（１２８，ｉ）＝０となっているので、メモリ（＃１）１５の６４状態の生き残りパスが選択され、メモリ（＃２）１６の格納ビットがＢ＿Ｓ（１２８，３）＝ＳＬ（１２８，ｉ）＝０，Ｂ＿Ｓ（１２８，２）＝Ａ＿Ｓ（６４，３），Ｂ＿Ｓ（１２８，１）＝Ａ＿Ｓ（６４，２），Ｂ＿Ｓ（１２８，０）＝Ａ＿Ｓ（６４，１）となっている。
【００４８】
受信データＲＩ（ｉ），ＲＱ（ｉ）のＡＣＳ処理で導出されたＳＬ（ｍ，ｉ）を含む生き残りパス更新で、更新後の新しい生き残りパスをメモリ（＃２）１６に格納した場合、次の受信データＲＩ（ｉ＋１），ＲＱ（ｉ＋１）のＡＣＳ処理で導出されたＳＬ（ｍ，ｉ＋１）を含む新しい生き残りパス更新結果は、メモリ（＃１）１５に格納されている。このように、メモリ（＃１）１５とメモリ（＃２）１６とに格納されている生き残りパスは、受信データ毎に交互に更新される。
【００４９】
生き残りパスメモリ更新ユニット１４からパスメモリ１７への４ビット分の生き残りパスの書込みタイミングは、受信データＲＩ（ｉ），ＲＱ（ｉ）のｉが４の倍数の時でかつＳＬ（ｍ，ｉ＋１）が導出され、生き残りパス更新後で、更新された方のメモリ（＃１）１５［またはメモリ（＃２）１６］のｕ＝４ビットがパスメモリ１７へ格納される。
【００５０】
この例では、図３（ｂ）に示すように、パスメモリ１７は（Ｐ＋４）ワ−ド×２５６ビットのメモリ構成で、４アドレス毎の生き残りパスｕ＝４ビットの格納位置としている（ｍ状態の生き残りパスｕ＝４ビットが同時に読出すようなメモリ構成、トレースバック先がわかるようなビット格納位置であればアドレスの割り振り、ビット格納位置に制限がない）。
【００５１】
書込む位置は、図３（ｂ）に示すように、アドレス０〜３に書込む場合、ｍが０〜６３状態であればアドレス０、６４〜１２７状態であればアドレス１、１２８〜１９１状態であればアドレス２、１９２〜２５５状態であればアドレス３で、ＳＬ（ｍ，ｉ）（ｍ＝０〜２５５）の格納ビット位置ｖは、
ｖ＝（ｍ  ｍｏｄ  ６４）×４
となる。以下、ｉ−１，ｉ−２，ｉ−３で導出したパス選択情報をｖ＋１，ｖ＋２，ｖ＋３の位置に格納する。
【００５２】
トレースバックユニット１８は受信データＲＩ（ｉ），ＲＱ（ｉ）のｉが４の倍数毎に、ＡＣＳユニット１２で求められたＡＣＳパスメトリックＰＭ（ｍ，ｉ）中で最小のパスメトリックをもつ状態よりトレースバック長Ｐだけパスをさかのぼり、最後に得られた４ビットをａ（ｉ），ａ（ｉ−１），ａ（ｉ−２），ａ（ｉ−３）の復号ビットｄ（ｉ），ｄ（ｉ−１），ｄ（ｉ−２），ｄ（ｉ−３）として出力される。
【００５３】
図４は４つの連なるパスをさかのぼるトレースバックの動作を表している。この例では、トレースバック開始の最尤パスメトリックをもつ状態を“０”としている。０状態→１２８状態→２４８状態→・・・→２５４状態→２５５状態とパスをさかのぼり、最後の４ビット“１１１１”が復号ビットとなることを表している。
【００５４】
このように、本実施例では、受信データＲＩ（ｉ），ＲＱ（ｉ）で得られたパス選択情報ＳＬ（ｍ，ｉ）から連なるｕビット分（ｕは２以上の整数）の生き残りパスをすべての状態で更新することができるユニットを設けることで、ｕビット毎のパス選択情報をパスメモリ１７へ格納することができるようになり、トレースバック動作時にｕビット単位でパスをさかのぼることが可能になり、トレースバックの処理時間を短くすることができる。トレースバックの処理時間が短くなったことによって、パンクチャド符号使用時は、伝送速度の上限を落とすことなく、トレースバック長を十分に長くすることができ、ビットエラーレイト理論値からの劣化を防ぐことができる。
【００５５】
本発明では、ＡＣＳユニット１２と、ＡＣＳユニット１２と同数の生き残りパス更新ユニット１４とを複数使用してもよい。ＡＣＳユニット１２と生き残りパス更新ユニット１４の複数使用と、トレースバック時のジャンプビットｕを大きくすることで、高い伝送速度時にも動作することができるビタビ復号器が実現可能となる。
【００５６】
また、本発明では、上述した連続する２つの受信データを処理することができるＡＣＳユニットを使用してもよい。２つの受信データを処理することができるＡＣＳユニットと生き残りパス更新ユニットとのを複数個使用と、トレースバック時のジャンプビットｕを大きくすることで、さらに高い伝送速度にも動作することができるビタビ復号器が実現可能となる。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施例によるビタビ復号器の構成を示すブロック図である。
【図２】本発明の一実施例による生き残りパスメモリ更新におけるメモリ（＃１）及びメモリ（＃２）の格納ビットの変化を示す図である。
【図３】（ａ）は本発明の一実施例によるメモリ（＃１）及びメモリ（＃２）の格納ビットを示す図、（ｂ）は本発明の一実施例による４ビットの生き残りパスの格納位置を示す図である。
【図４】本発明の一実施例による４つの連なるパスをさかのぼるトレースバックの動作を示す図である。
【図５】ビタビ復号器に適用するたたみ込み符号器の構成を示すブロック図である。
【図６】図５のたたみ込み符号器の状態遷移を示す図である。
【図７】１ビット毎にパスをさかのぼるトレースバックの動作を示す図である。
【図８】１ビット毎のトレースバック時の状態の移り変わりを表す図である。
【図９】２つの連続する受信データのＡＣＳ処理を実行する場合の状態遷移を示す図である。
【図１０】４ビットのパス選択情報の格納位置を示す図である。
【図１１】２ビット毎にパスをさかのぼるトレースバックの動作を示す図である。
【符号の説明】
【００５８】
１  ビタビ復号器
１１  ブランチメトリックユニット
１２  ＡＣＳユニット
１３  パスメトリックメモリ
１４  生き残りパスメモリ更新ユニット
１５  メモリ（＃１）
１６  メモリ（＃２）
１７  パスメモリ
１８  トレースバックユニット１８
【図１】
2006229376.tif 000003
【図２】
2006229376.tif 000004
【図３】
2006229376.tif 000005
【図４】
2006229376.tif 000006
【図５】
2006229376.tif 000007
【図６】
2006229376.tif 000008
【図７】
2006229376.tif 000009
【図８】
2006229376.tif 000010
【図９】
2006229376.tif 000011
【図１０】
2006229376.tif 000012
【図１１】
2006229376.tif 000013