(57)【特許請求の範囲】
【請求項１】
反復的な復号を行う受信段において、
基準受信シーケンスナンバ以後の状態確率値の第１結果値を受信シーケンスのＬビット長さの間演算し、次の受信シーケンスのＷビット長さの間、前記基準受信シーケンスナンバ以後の状態確率値の第２結果値を演算して貯蔵する逆方向プロセッサーと、
前記第１結果値の演算と同時に前記基準受信シーケンス以前の状態確率値の第３結果値を演算する順方向プロセッサーと、
前記第２結果値を順次的に貯蔵し、前記第２結果値の演算以後に該第２結果値を逆順に出力するメモリと、
前記演算される第３結果値と前記出力される第２結果値を用いて前記受信シーケンスの出力値を決定する出力決定モジュールと
を備える、ＭＡＰデコーダ。
【請求項２】
前記メモリは前記第２結果値を、増加させるアドレスと減少させるアドレスとを交替に用いながら書き込む、請求項１に記載のＭＡＰデコーダ。
【請求項３】
前記メモリは前記第２結果値を、前記記録に対称させて減少させるアドレスと、増加させるアドレスとを交替に用いながら書き込む、請求項１に記載のＭＡＰデコーダ。
【請求項４】
前記受信シーケンスにおいて最初に演算される第１結果値は（Ｌ＋前記受信シーケンスの長さをＷで割った余り）ビットから逆順に演算される、請求項１に記載のＭＡＰデコーダ。
【請求項５】
前記受信シーケンスにおいて最初に演算される第２結果値は、前記受信シーケンスの長さをＷで割った余りの長さの間、前記受信シーケンスにおいて逆順に演算されて、該逆順序に格納される、請求項１に記載のＭＡＰデコーダ。
【請求項６】
前記受信シーケンスにおいて最初に演算される第３結果値は前記受信シーケンスの長さをＷで割った余りの長さの間、前記受信シーケンスにおいて順次に演算される、請求項１に記載のＭＡＰデコーダ。
【請求項７】
前記順次に演算される第３結果値と、前記逆順次に出力される第２結果値が前記受信シーケンスにおいて同一順序であるように、該第３結果値の演算と同時に前記受信シーケンスの出力値が決定される、請求項１に記載のＭＡＰデコーダ。
【請求項８】
反復的な復号を行う受信段におけるＭＡＰデコーディング方法であって、前記ＭＡＰデコーディング方法は、一つの逆方向プロセッサーと、順方向プロセッサーと、メモリと、出力決定モジュールとを備えているＭＡＰデコーダを用い、
前記一つの逆方向プロセッサーが、基準受信シーケンスナンバ以後の状態確率値の第１結果値を受信シーケンスのＬビットの長さの間演算し、次の受信シーケンスのＷビット長さの間、前記基準受信のシーケンスナンバ以後の状態確率値の第２結果値を演算して貯蔵するステップと、
前記順方向プロセッサーが、前記第１結果値の演算と同時に、前記基準シーケンスナンバ以前の状態確率値の第３結果値を演算するステップと、
前記メモリが、前記第２結果値を順に貯蔵し、前記第２結果値の演算以後に該第２結果値を逆順に出力するステップと、
前記出力決定モジュールが、前記演算される第３結果値と、前記出力される第２結果値を用いて前記受信シーケンスの出力値を決定するステップと
を包含する、ＭＡＰデコーディング方法。
【請求項９】
前記第２結果値を、増加させるアドレスと減少させるアドレスとを交替に用いながら書き込む、請求項８に記載のＭＡＰデコーダ方法。
【請求項１０】
前記第２結果値を、前記記録に対称されて減少させるアドレスと、増加させるアドレスとを交替に用いながら書き込む、請求項９に記載のＭＡＰデコーディング方法。
【請求項１１】
前記受信シーケンスにおいて最初に演算される第１結果値は（Ｌ＋前記受信シーケンスの長さをＷで割った余り）ビットから逆順に演算される、請求項８に記載のＭＡＰデコーディング方法。
【請求項１２】
前記受信シーケンスにおいて最初に演算される第２結果値は、前記受信シーケンスの長さをＷで割った余りの長さの間、前記受信シーケンスにおいて逆順に演算されて、該逆順序に格納される、請求項８に記載のＭＡＰデコーディング方法。
【請求項１３】
前記受信シーケンスにおいて最初に演算される第３結果値は前記受信シーケンスの長さをＷで割った余りの長さの間、前記受信シーケンスにおいて順に演算される、請求項８に記載のＭＡＰデコーディング方法。
【請求項１４】
前記順に演算される第３結果値と、前記逆順に出力される第２結果値が前記受信シーケンスにおいて同一順序であるように、該第３結果値の演算と同時に前記受信シーケンスの出力値が決定される、請求項８に記載のＭＡＰデコーディング方法。
【請求項１５】
受信シーケンスの最大事後（ＭＡＰ）アルゴリズムを用いるターボデコーディング方法であって、前記方法は、一つの逆方向プロセッサーと、順方向プロセッサーと、出力決定モジュールとを備えているＭＡＰデコーダを用い、
前記一つの逆方向プロセッサーが、一定長さの間逆方向のプロセッシングによる学習を行い、前記逆方向プロセッシングによる第１結果値を計算して貯蔵するステップと、
前記順方向プロセッサーが、前記学習時間と同時に順方向プロセッシングによる第２結果値を計算するステップと、
前記出力決定モジュールが、該第２結果値と前記第１結果値以前に格納された第１結果値を用いてデコーディングビット出力を決定するステップと
を包含する、ターボデコーディング方法。
【請求項１６】
前記逆方向又は順方向プロセッシング長さがＷであり、前記学習長さがＬであり、前記受信シーケンスの長さをＷで割った余りがＷ0であり、Ｎが１以上の定数である時、受信シーケンスのナンバ”Ｗ0＋ＮＷ＋Ｌ”から”Ｗ0＋ＮＷ”のシンボルで逆方向プロセッシングによって学習を行い、”Ｗ0＋ＮＷ”から”Ｗ0＋（Ｎ−１）Ｗ”までのシンボルで逆方向プロセッシングによる第１結果値を貯蔵し、前記学習行い時間と同時に”Ｗ0＋（Ｎ＋１）Ｗ＋Ｌ”から”Ｗ0＋ＮＷ”までのシンボルで順方向プロセッシングによる第２結果値を計算し、”Ｗ0＋（Ｎ−１）Ｗ”から”Ｗ0＋ＮＷ”まで計算されて貯蔵された第１結果値と第２結果値とを用いてデコーディングビット決定を行う、請求項１５に記載のターボデコーディング方法。
【請求項１７】
前記Ｎが０である場合、前記受信シーケンスのナンバ”Ｗ0＋Ｌ”からＷ0のシンボルで逆方向プロセッシングによって学習を行い、Ｗ0から０までのシンボルで逆方向プロセッシングによる第１結果値を格納し、次のウィンドウの学習開始と同時に０からＷ0までのシンボルでの順方向プロセッシングによる第２結果値が計算される、請求項１５に記載のターボデコーディング方法。
【請求項１８】
前記ＭＡＰデコーダはデュアルポートラム（ＤＰＲＡＭ）をさらに備えており、前記第１結果値は前記デュアルポートラム（ＤＲＡＭ）の一つのポートを介して書き込まれ、前記デュアルポートラムの他のポートを介して読み取られる、請求項１６に記載のターボデコーディング方法。
【請求項１９】
前記ＤＰＲＡＭのポートを介して貯蔵又は読み取られるアドレスは前記Ｗ0又はＷごとに増加又は減少される、請求項１８に記載のターボデコーディング方法。
【請求項２０】
前記ＤＰＲＡＭのポートを介して貯蔵又は読み取られるアドレスは前記Ｗ0又はＷごとに相互排他的に増加又は減少される、請求項１８に記載のターボデコーディング方法。
【請求項２１】
前記デコーディングビットの出力が順に決定される、請求項１５に記載のターボデコーディング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動通信システムに関するもので、特に、スライディングウィンドウ方式を用いたターボコードのデコーディング方法に関する。
【０００２】
【従来の技術】
一般に、ターボコードは二つの循環系統的コンボルーション符号化機（ＲＳＣ：Ｒｅｃｕｒｓｉｖｅ  Ｓｙｓｔｅｍａｔｉｃ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｅｎｃｏｄｅｒ）が内部インターリーバ（Ｉｎｔｅｒｌｅａｖｅｒ）を介して並列的に連結されて生成された符号として、次世代移動通信規格（３ＧＰＰ又は３ＧＰＰ２）で高伝送率のデータを伝送するためのコーディング方式に用いられている。
【０００３】
かかるターボコードは生成された情報ビットシーケンスをブロック単位で処理しているが、特に大きい情報ビットシーケンスをエンコーディングする場合コンボルーション符号に対して非常に優れるコーディング利得を有しており、受信段から簡単な成分コードに対するデコーディングを繰り返して行うことによって非常に優れるエラー訂正能力を有しているもので知られている。
【０００４】
最近、移動通信環境の下で高速データ伝送を支援できるわりと簡単なターボデコーディング技法が提案されているが、この構造では入力される受信コードワードが二つのコンボルーショナル（ｃｏｎｖｏｌｕｔｉｏｎａｌ）デコーダを交替に通過するようにしてその構造の複雑度を相当減らしている。
【０００５】
しかしながら、繰り返してコンボルーショナルデコーダを通過させるためにはコンボルーショナルデコーダの出力が”０”又は”１”にハード的に決定（ｈａｒｄ  ｄｅｃｉｓｉｏｎ）される値ではなく”０”であるか”１” であるかの確率割合に当たるソフト的に決定（ｓｏｆｔ  ｄｅｃｉｓｉｏｎ）される値が要求される。
【０００６】
このために、情報ビットの事後（Ａ  Ｐｏｓｔｅｒｉｏｒｉ）確率値を計算して、その確率値が最大となるように復号する最大事後（Ｍａｘｉｍｕｍ  Ａ  Ｐｏｓｔｅｒｉｏｒｉ：以下ＭＡＰと略する）デコーディング技法が提案されている。
【０００７】
一般に、ターボコードの情報源は不連続時間と限定された状態を有する”マルコスプロセス(Ｍａｒｋｏｖ  ｐｒｏｃｅｓｓ)”である。従って、情報源は二進格子（ｂｉｎａｒｙ  ｍａｔｒｉｘ）図に説明できる。
【０００８】
二進格子でＳkは時間ｋにおける符号化機の状態を示しており、”Ｘk＝Ｘk・1、Ｋ、Ｘk、n”は符号率が１／ｎである符号化機の出力を示す（Ｘk＝｛０、１｝）。ここで、情報源の状態”Ｓk＝ｍ”は全てＭ類の状態を有している（ｍ＝０、１、２、、、Ｍ−１）。
【０００９】
時間がｋ−１からｋに遷移する時ターボ符号化機の入力ビットｄkは符号化機の状態Ｓk-1をＳkに変換させる。情報の状態シーケンスＳ＝（Ｓ0，．．．ＳT）は時間ｋ＝０から開始して時間ｋ＝Ｔで終了される。この時符号化機の初期状態のＳ0は０である。
【００１０】
前記ターボ符号化機の出力シーケンスｘはＢＰＳＫ又はＱＰＳＫに変調され、離散メモリチャネルで減衰が起こる。それで受信段で受信されたシーケンスは”ｙ＝（ｙ1、ｋ、ｙk、ｋ、ｙT）”となる。ここで、ｙk＝（ｙk、１、ｋ、ｙk、ｎ）である。
【００１１】
このように、ＭＡＰアルゴリズムは前記受信されたシーケンスを用いて情報の状態遷移事後確率を推定するためのアルゴリズムである。また、情報ビットの事後確率Ｐ（ｄｋ＝１／ｙ）とＰ（ｄｋ＝１／ｙ）とを計算すべきである。これによって最終的に希望するＬＬＲ（ｌｏｎｇ  ｌｉｋｅｌｉｈｏｏｄ  ｒａｔｉｏ）形態の復号化機の出力を求めることができる。
【００１２】
【数１】
0003954347.tif 000002
この時情報ビットの状態遷移事後確率“Ｐ（Ｓk-1＝ｍ’、Ｓk＝ｍ、ｙ）”は次の式２のように求められる。
【００１３】
【数２】
0003954347.tif 000003
前記式２においてｙj<kは最初の時間からｋ−１までの受信シーケンスｙjを示し、ｙj<kは時間ｋ＋１から最後の受信シーケンスまでを示す。
【００１４】
前記式２において“Ｐ（Ｓk-1＝ｍ’、ｙj<k）は”α（ＳK-1）”として定義され、これから”α（ＳK）”が定義され、前記“Ｐ（ｙj<k／Ｓk＝ｍ）”は、”β（ＳK）”として定義する。
【００１５】
最適の事後確率を得るためには前記”β（ＳK）”を求めるに先立って、一定長さの期間が必要である。これを”学習（ｌｅａｒｎｉｎｇ）”期間と称し、該学習期間以後に計算された”β（ＳK）”がデコーダ出力ビット決定のために用いられる。
【００１６】
以下、前記α（ＳK）はα値、前記β（ＳK）はβ値に称される。
【００１７】
図１は関連技術によるＭＡＰデコーディングタイミング図を示す図面である。
【００１８】
図１においてＸ軸は時間の流れを示しており、各プロセッサが時間の流れによってどのシンボルを処理するかを示すものである。順方向プロセッサーのシンボルの番号は増加し逆方向プロセッサーのシンボル番号は減少する。また、斜線区間において逆方向プロセッサーは”学習”中であることを示す。また、曲線の矢印はビット決定に必要とするα、β値の相関関係を示している。
【００１９】
図１を参照すると、前記逆方向プロセッサーの二つを用いて一つの逆方向プロセッサー（図１において第１逆方向プロセッサー）が”学習（ｌｅａｒｎｉｎｇ）”を行う間他の逆方向プロセッサー（図１において第２逆方向プロセッサー）がデコーダのビット決定に必要とするβ値を計算する。
【００２０】
即ち、一つのＭＡＰデコーディングが開始されると第１逆方向プロセッサーが２ＬからＩＬから”学習”過程を行う。該学習課程の間第２逆方向プロセッサーは停止状態にある。ここでＬはスライディングウィンドウの長さを示す。
【００２１】
以後第１逆方向プロセッサーはＩＬから０までのβ値を計算し、既に計算されて貯蔵された０〜１Ｌまでのα値を共に用いて１Ｌから０までのデコーダのビットを決定する。該デコーダのビット決定時間の間第２逆方向プロセッサーは３Ｌから２Ｌまでのシンボルを用いて”学習”を行う。
【００２２】
次の区間では第２逆方向プロセッサーが２Ｌから１Ｌまでのβ値を計算して２Ｌから１Ｌまでのデコーダのビットを決定する。該デコーダのビット決定時間の間第１逆方向プロセッサーは４Ｌから３Ｌまでのシンボルを用いて”学習”を行う。
【００２３】
デコーダの出力ブロックから分かるように、ビット決定は１Ｌから０まで、２Ｌから１Ｌまでの順に成されるのでＬほどずつ出力を貯蔵しておいて後尾から読み取る後入先出（Ｌａｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ：ＬＩＦＯ）過程を経て正しい順の結果が得られる。
【００２４】
前記過程は文献‘Ａ．Ｊ．Ｖｉｔｅｒｂｉ、”Ａｎ  ｉｎｔｕｉｔｉｖｅ  ｊｕｓｔｉｆｉｃａｔｉｏｎ  ａｎｄ  ａ  ｓｉｍｐｌｉｆｉｅｄ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ｔｈｅ  ＭＡＰ  ｄｅｃｏｄｅｒ  ｆｏｒ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｃｏｄｅｓ、”ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｎ  Ｓｅｌｅｃｔｅｄ  Ａｒｅａｓ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、ｖｏｌ．１６、ｎｏ．２，Ｆｅｂ．１９９８．）に詳細に記載されている。
【００２５】
このような関連技術では殆ど全てのシンボルに対して逆方向のプロセッシングを２回ずつ行う。結果的に毎度のＭＡＰデコーディングごとに２回の逆方向プロセッシングが必要となるので演算量が増加され、これは電力消耗を増加させてバッテリで動作する無線移動装備の使用時間を減らすという問題がある。
【００２６】
また、演算量を減少させるためには一つの逆方向のプロセッシングだけを用いることになる場合にはデコーディングタイムが２倍で増加するという問題がある。
【００２７】
また、Ｌ長さの間学習課程と、順方向プロセッシングと、逆方向プロセッシングを行うことになると、ターボコードのトレリス終端からＳT＝Ｏに符号化が完了される特性を十分に活かすことができずターボコードのコーディング利得が低下されるという問題点が発生する。
【００２８】
また、前記結果値を格納するためのメモリの大きさが”ｄｅｐｔｈ  ６０＊ｗｉｄｔｈ  ５６（３ＧＰＰ  ＷＣＤＭＡターボ符号化機の仮定）”程度で小さいが近頃汎用されているメモリの深さはこれより遙かに大きくて多量のメモリを消耗することになる。
【００２９】
【発明が解決しようとする課題】
本発明は、上記関連技術の問題点を解決するためのもので、一つの逆方向プロセッサーを用いて小さい演算量と小さいメモリを要求するターボデコーディング方法を提供することが目的である。
【００３０】
また、本発明の他の目的は一つの逆方向プロセッサーを用いてトレリス終端を最大限活用してコーディング利得を増加させ、電力消耗を減らすのに適当するようにするターボデコーディング方法を提供するためのものである。
【００３１】
また、本発明の他の目的はデコーディングタイムを減らすのに適合するようにするターボデコーディング方法を提供するためのものである。
【００３２】
【課題を解決するための手段】
本発明のＭＡＰデコーダは、反復的な復号を行う受信段において、基準受信シーケンスナンバ以後の状態確率値の第１結果値を受信シーケンスのＬビット長さの間演算し、次の受信シーケンスのＷビット長さの間基準受信シーケンスナンバ以後の状態確率値の第２結果値を演算して貯蔵する逆方向プロセッサーと、前記第１結果値の演算と同時に前記基準受信シーケンス以前の状態確率値の第３結果値を演算する順方向プロセッサーと、前記第２結果値を順次的に貯蔵し、前記第２結果値の演算以後に該第２結果値を逆順に出力するメモリと、前記演算される第３結果値と前記出力される第２結果値を用いて前記受信シーケンスの出力値を決定する出力決定モジュールと、を備えることを特徴とする。
【００３３】
前記メモリは前記第２結果値を増加させる住所と減少させる住所とを交替に用いながら書き込むことをさらなる特徴としてもよい。
【００３４】
前記メモリは前記第２結果値を前記記録に対称させて減少させる住所と、増加させる住所とを交替に用いながら書き込むことをさらなる特徴としてもよい。
【００３５】
前記受信シーケンスにおいて最初に演算される第１結果値は（Ｌ＋前記受信シーケンスの長さをＷに割った余り）ビットから逆に演算されることをさらなる特徴としてもよい。
【００３６】
前記受信シーケンスにおいて最初に演算される第２結果値は、前記受信シーケンスの長さをＷに割った余りの長さの間、前記受信シーケンスにおいて逆に演算されて、該逆順序に格納されることをさらなる特徴としてもよい。
【００３７】
前記受信シーケンスにおいて最初に演算される第３結果値は前記受信シーケンスの長さをＷに分けた余りの長さの間、前記受信シーケンスにおいて順次に演算されることをさらなる特徴としてもよい。
【００３８】
前記順次に演算される第３結果値と、前記逆順次に出力される第２結果値が前記受信シーケンスにおいて同一順序の結果値で、該第３結果値の演算と同一に前記受信シーケンスの出力値が決定されることをさらなる特徴としてもよい。
【００３９】
本発明のＭＡＰデコーディング方法は、反復的な復号を行う受信段において、基準受信シーケンスナンバ以後の状態確率値の第１結果値を受信シーケンスのＬビットの長さの間演算し、次の受信シーケンスのＷビット長さの間基準受信のシーケンスナンバ以後の状態確率値の第２結果値を演算して貯蔵するステップと、前記第１結果値の演算と同時に、前記基準シーケンスナンバの以前の状態確率値の第３結果値を演算するステップと、前記第２結果値を順に貯蔵し、前記第２結果値を演算以後に該第２結果値を逆順に出力するステップと、前記演算される第３結果値と、前記出力される第２結果値を用いて前記受信シーケンスの出力値を決定するステップと、を包含することを特徴とする。
【００４０】
前記第２結果値を増加させる住所と減少させる住所とを交替に用いながら書き込むことをさらなる特徴としてもよい。
【００４１】
前記第２結果値を前記記録に対称されて減少させる住所と、増加させる住所とを交替に用いながら書き込むことをさらなる特徴としてもよい。
【００４２】
前記受信シーケンスにおいて最初に演算される第１結果値は（Ｌ＋前記受信シーケンスの長さをＷに割った余り）ビットから逆に演算されることをさらなる特徴としてもよい。
【００４３】
前記受信シーケンスにおいて最初に演算される第２結果値は、前記受信シーケンスの長さをＷに割った余りの長さの間、前記受信シーケンスにおいて逆に演算されて、該逆順序に格納されることをさらなる特徴としてもよい。
【００４４】
前記受信シーケンスにおいて最初に演算される第３結果値は前記受信シーケンスの長さをＷに割った余りの長さの間、前記受信シーケンスにおいて順に演算されることをさらなる特徴としてもよい。
【００４５】
前記順に演算される第３結果値と、前記逆順に出力される第２結果値が前記受信シーケンスにおいて同一順序の結果値で、該第３結果値の演算と同一に前記受信シーケンスの出力値が決定されることをさらなる特徴としてもよい。
【００４６】
本発明のターボデコーディング方法は、受信シーケンスの最大事後アルゴリズムを用いてのデコーディングにおいて、一定長さの間逆方向のプロセッシングによる学習を行い、以後に逆方向にプロセッシングによる第１結果値を計算して貯蔵し、前記学習時間と同時に順方向プロセッシングによる第２結果値を計算して、該第２結果値と前記第１結果値以前に格納された第１結果値を用いてデコーディングビット出力を決定することを特徴とする。
【００４７】
前記逆方向又は順方向プロセッシング長さがＷであり、前記学習長さがＬであり、前記受信シーケンスの長さをＷに割った余りがＷ0であり、Ｎが１以上の定数である時、受信シーケンスのナンバ”Ｗ0＋ＮＷ＋Ｌ”から”Ｗ0＋ＮＷ”のシンボルで逆方向プロセッシングによって学習を行い、以後に”Ｗ0＋ＮＷ”から”Ｗ0＋（Ｎ−１）Ｗ”までのシンボルで逆方向プロセッシングによる第１結果値を貯蔵し、前記学習行い時間と同時に”Ｗ0＋（Ｎ＋１）Ｗ＋Ｌ”から”Ｗ0＋ＮＷ”までのシンボルで順方向プロセッシングによる第２結果値を計算して”Ｗ0＋（Ｎ−１）Ｗ”から”Ｗ0＋ＮＷ”まで計算されて貯蔵された第１結果値と共にデコーディングビット決定を行うことをさらなる特徴としてもよい。
【００４８】
前記Ｎが０である場合、前記受信シーケンスのナンバ”Ｗ0＋Ｌ”からＷ0のシンボルで逆方向プロセッシングによって学習を行い、以後にＷ0から０までのシンボルで逆方向プロセッシングによる第１結果値を格納し、次のウィンドウの学習開始と共に０からＷ0までのシンボルで順方向のプロセッシングを行い第２結果値を計算することをさらなる特徴としてもよい。
【００４９】
前記第１結果値はデュアルポートラムのいずれかの一つのポートを介して書き込まれ、他の異なるポートを介して読ませることをさらなる特徴としてもよい。
【００５０】
前記デュアルポートラム（ＤＰＲＡＭ）のポートを介して貯蔵又は読ませる住所は前記Ｗ0又はＷ長さごとに増加又は減少されることをさらなる特徴としてもよい。
【００５１】
前記デュアルポートラム（ＤＰＲＡＭ）のポートを介して貯蔵又は読ませる住所は前記Ｗ0又はＷ長さごとに相互排他的に増加又は減少されることをさらなる特徴としてもよい。
【００５２】
前記デコーディングビットの決定出力が順に成されることをさらなる特徴としてもよい。
【００５３】
上記目的を達成するための本発明の第１実施形態によると、反復的な復号を行う受信段において、基準受信シーケンスナンバ以後の状態確率値の第１結果値を受信シーケンスのＬビット長さの間演算し、次の受信シーケンスのＷビット長さの間基準受信シーケンスナンバ以後の状態確率値の第２結果値を演算して貯蔵する逆方向プロセッサー；前記第１結果値の演算と同時に前記基準受信シーケンス以前の状態確率値の第３結果値を演算する順方向プロセッサー；前記第２結果値を順次的に貯蔵し、前記第２結果値の演算以後に該第２結果値を逆順に出力するメモリ；前記演算される第３結果値と前記出力される第２結果値を用いて前記受信シーケンスの出力値を決定する出力決定モジュールを備える。
【００５４】
望ましくは前記メモリは前記第２結果値を増加させる住所と減少させる住所とを交替に用いながら書き込み、出力時には前記記録に対称させて減少させる住所と、増加させる住所とを交替に用いながら前記第２結果値を出力する。
【００５５】
例外的に、前記受信シーケンスにおいて最初に演算される第１結果値は（Ｌ＋前記受信シーケンスの長さをＷに割った余り）ビットから逆に演算され、前記受信シーケンスにおいて最初に演算される第２結果値は、前記受信シーケンスの長さをＷに割った余りの長さの間、前記受信シーケンスにおいて逆に演算され、該逆順に格納される。
【００５６】
また、前記受信シーケンスにおいて最初に演算される第３結果値は前記受信シーケンスの長さをＷに割った余りの長さの間、前記受信シーケンスにおいて順に演算される。
【００５７】
望ましくは、前記順次に演算される第３結果値と、前記逆順に出力される第２結果値が前記受信シーケンスにおいて同一順の結果値で該第３結果値演算と同一に前記受信シーケンスの出力値が決められる。
【００５８】
以上のような目的を達成するための本発明の第２実施形態によると、反復的な復号を行う受信段において、基準受信シーケンスナンバ以後の状態確率値の第１結果値を受信シーケンスのＬビットの長さの間演算し、次の受信シーケンスのＷビット長さの間基準受信のシーケンスナンバ以後の状態確率値の第２結果値を演算して貯蔵するステップと、前記第１結果値の演算と同時に、前記基準シーケンスナンバの以前の状態確率値の第３結果値を演算するステップと、前記第２結果値を順に貯蔵し、前記第２結果値を演算以後に該第２結果値を逆順に出力するステップと、前記演算される第３結果値と、前記出力される第２結果値を用いて前記受信シーケンスの出力値を決定するステップとを含めてＭＡＰデコーディングが成される。
【００５９】
望ましくは前記第２結果値を増加させる住所と減少させる住所とを交替に用いながら書き込み、前記記録に対称させて減少させる住所と、増加させる住所とを交替に用いながら前記第２結果値を出力する。
【００６０】
例外的に、前記受信シーケンスにおいて最初に演算される第１結果値は（Ｌ＋前記受信シーケンスの長さをＷに割った余り）ビットから逆に演算され、前記受信シーケンスにおいて最初に演算される第２結果値は、前記受信シーケンスの長さをＷに割った余りの長さの間、前記受信シーケンスにおいて逆に演算されて、該逆順に格納される。
【００６１】
また、前記受信シーケンスにおいて最初に演算される第３結果値は前記受信シーケンスの長さをＷに割った他の長さの間、前記受信シーケンスにおいて順に演算される。
【００６２】
従って、本発明はＭＡＰデコーダの終端でトレリス終端特性を考慮するのでコーディング利得を得る効果がある。
【００６３】
望ましくは前記順に演算される第３結果値と、前記逆順に出力される第２結果値が前記受信シーケンスにおいて同一順の結果値で、該第３結果値演算と同一に前記受信シーケンスの出力値が決められる。
【００６４】
以上のような目的を達成するための本発明の第２実施形態によると、受信シーケンスを最大事後アルゴリズムを用いてデコーディングするにおいて、一定長さの間逆方向のプロセッシングによる学習を行い、以後に逆方向にプロセッシングによる第１結果値を計算して貯蔵し、前記学習時間と同時に順方向プロセッシングによる第２結果値を計算して、該第２結果値と前記第１結果値以前に格納された第１結果値を用いてデコーディングビット出力を決定する。
【００６５】
望ましくは前記逆方向又は順方向プロセッシング長さがＷであり、前記学習長さがＬであり、前記受信シーケンスの長さをＷに割った余りがＷ0であり、Ｎが１以上の定数の場合、受信シーケンスのナンバ”Ｗ0＋ＮＷ＋Ｌ”から”Ｗ0＋ＮＷ”のシンボルで逆方向プロセッシングによって学習を行い、以後に”Ｗ0＋ＮＷ”から”Ｗ0＋（Ｎ−１）Ｗ”までのシンボルで逆方向プロセッシングによる第１結果値を貯蔵し、前記学習行い時間と共に”Ｗ0＋（Ｎ＋１）Ｗ＋Ｌ”から”Ｗ0＋ＮＷ”までのシンボルで順方向プロセッシングによる第２結果値を計算して、”Ｗ0＋（Ｎ−１）Ｗ”から”Ｗ0＋ＮＷ”まで計算されて貯蔵された第１結果値と共にデコーディングビット決定を行う。
【００６６】
しかしながら、前記Ｎが０の場合に前記受信シーケンスナンバ”Ｗ0＋Ｌ”からＷ0のシンボルに逆方向プロセッシングによって学習を行い、以後にＷ0から０までのシンボルで逆方向プロセッシングによる第１結果値を貯蔵し、次のウィンドウの学習開始と同時に０からＷ0までのシンボルで順方向のプロセッシングを第２結果値を計算する。ここで、前記第１結果値はデュアルポートラムのいずれかの一つのポートを介して書き込み、更に他のポートを介して読み取られるが、前記デュアルポートラムのポートを介して貯蔵又は読み取られる住所は前記Ｗ0又はＷ長さごとに増加又は減少され、前記デュアルポートラムのポートを介して格納又は読み取られる住所は前記Ｗ0又はＷ長さごとに相互排他的に増加又は減少される。
【００６７】
望ましくは前記デコーディングビットの決定出力が順に成される。
【００６８】
【発明の実施の形態】
以下、添付の図面を参照して本発明を更に詳細に説明する。
【００６９】
前記のように、ＭＡＰアルゴリズムは受信されたシーケンス（ｙk）を用いて情報ビットの事後確率（Ａ  Ｐｏｓｔｅｒｉｏｒｉ）Ｐ（ｄk＝１／ｙ）とＰ（ｄｋ＝０／ｙ）とを推定し、該情報の事後確率から最終的にＬＬＲ（Ｌｏｎｇ  Ｌｉｋｅｌｉｈｏｏｄ  Ｒａｔｉｏ）形態の復号化機の出力を求めるためのアルゴリズムである。前記ＬＬＲ形態の復号化機の出力は式１を介して説明される。
【００７０】
この時、情報ビットの事後確率を求めるためには“Ｐ（ｄk＝１／ｙ）”と“Ｐ（ｄｋ＝０／ｙ）”各々に対して状態遷移事後確率を求めるべきが、該各々の状態遷移事後の確率は三つの掛け算項目によって求められる。  前記状態遷移の事後確率に対する三つの掛け算項目は式２を介して説明される。
【００７１】
即ち、式２を参考とすると第１ターム（α（ＳK-1））は時間インデックス０からｋ−１を有する受信シーケンスにおいて、状態ＳK-1がｍ’であるものに対するジョイント確率関数として、次の式３のように示す。
【００７２】
【数３】
0003954347.tif 000004
前記式３からα（Ｓk）はシーケンスナンバが０からｋを有する受信シーケンス（ｙj<k+1）において、状態Ｓk-1がｍ’であり、状態Ｓkがｍの状態遷移に対するジョーイント確率の密度関数として次の式４のように示される。
【００７３】
【数４】
0003954347.tif 000005
第２項目（γ（Ｓk-1、Ｓk））は状態Ｓk-1が状態Ｓkに遷移するとき関係するｂｒａｎｃｈ  ｍｅｔｒｉｃとして、状態Ｓk-1がｍ’の条件下で次の状態Ｓkがｍであり、この時、受信されたシーケンスがｙkとなる条件確率関数として、次の式５のように示す。
【００７４】
【数５】
0003954347.tif 000006
第３タームは（β（Ｓk））は状態Ｓkがｍの条件下で受信シーケンスナンバがｋ＋１以上となる受信シーケンス（ｙj>k）となる条件確率関数として、式６のように示している。
【００７５】
【数６】
0003954347.tif 000007
前記ｄkはターボ符号化される前の情報ビットシーケンスを示し、Ｓkは受信シーケンスナンバｋにおける符号化機の状態を（ｍ＝｛０，１．．．Ｍ−１｝）示すもので、いずれもＭ  ｂｒａｎｃｈの状態を示し、受信シーケンスナンバがｋ−１からｋに遷移するとき前記入力ビットｄkは符号化機の状態Ｓk-1をＳkに変換させる。
【００７６】
即ち、ＭＡＰデコーディングにおいて前記”α（Ｓk）”は式４のように順方法回帰（ｆｏｒｗａｒｄ  ｒｅｃｕｒｓｉｏｎ）方法によって求めるが、計算されたａ（Ｓk）がデコーダの出力ビットを決定するのにすぐ用いられる。前記”α（Ｓk）”は一つの順方向（α）プロセッサーによって行われる。
【００７７】
また、前記”β（Ｓk）”は式６のように逆方向回帰（ｒｅｃｕｒｓｉｏｎ）方法によって求めることができ、該”β（Ｓk）”が最適の事後確率を求めるのに用いるためには一定期間が必要である。該一定期間を”学習”期間とし、該学習期間以後に一つの逆方向（ベータ）プロセッサーによって計算された”β（Ｓk）”がデコーダの出力ビットを決定するのに用いられる。
【００７８】
以下、前記はα（Ｓk）α値、前記β（Ｓk）はβ値に称される。
【００７９】
図２は本発明によるＭＡＰデコーダタイミング図を示す図面である。
【００８０】
図２を参照すると逆方向プロセッサーは任意のＷ0＋ＬからＷ0までのシンボルを有し”学習”を開始する。前記”学習”に対する期間は全体ＭＡＰデコーディングにおいて”Ｌ”長さの間行われる。前記”学習”には関連技術のように受信シーケンスのＬビットに該当するシンボルを用いる。ここで、Ｗ0は前記受信シーケンスの長さをＷに割った余りに当たる。
【００８１】
次にＷ0における０までのシンボルを有しβ値を計算してメモリに貯蔵する。ここで、前記メモリは入出力ポートが他のデュアルポートランダムアクセスメモリ（Ｄｕａｌ  Ｐｏｒｔ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＰＲＡＭ））を用いる。
【００８２】
次にＷ0＋Ｗ＋ＬからＷ0＋Ｗまでのシンボルを有し、”学習”過程を開始し、Ｗ0＋ＷからＷ0までのシンボルでβ値を計算してメモリに格納する。
【００８３】
前記Ｗ0＋Ｗ＋ＬからＷ0＋Ｗシンボルまでの”学習”過程の開始と同時に、順方向プロセッサーでは０からＷ0までのシンボルを有し、α値を計算して前記逆方向プロセッサーによって貯蔵されたＷ0から０までのβ値を共に用いてデコーダ出力のビットを決定する。前記β値又はα値の計算はＷの間行われる。
【００８４】
続いて、Ｗ0＋２Ｗ＋ＬからＷ0＋２Ｗまでのシンボルを有して”学習”過程を開始し、Ｗ0＋２ＷからＷ0＋Ｗまでのシンボルでβ値を計算してメモリに格納する。
【００８５】
前記Ｗ0＋２Ｗ＋ＬからＷ0＋２Ｗまでのシンボルを有して”学習”過程を開始すると同時に、順方向プロセッサーではＷ0からＷ0＋Ｗまでのシンボルを有しα値を計算して前記逆方向プロセッサーによって貯蔵されたＷ0＋ＷからＷ0までのβ値を共に用いてデコーダ出力のビットを決定する。
【００８６】
このように、”学習”と逆方向プロセッシング、順方向プロセッシング、デコーディングを繰り返して一つのコードブロック（本発明では説明の便利上受信シーケンスと称する。従って、該受信シーケンスの長さは一つのコードブロックサイズを称する）に対するＭＡＰデコーディングを完了する。
【００８７】
尚、図２の下の２線は逆方向はプロセッシングの結果のβ値を格納するデュアルポートラムのアドレスを示している。ポートＡではβ値を格納し、ポートβではβ値を読み取ることを仮定している。
【００８８】
但し、前記”学習”期間の内に計算されたβ値は格納していない。
【００８９】
前記Ｗ0から０まで計算されたβ値はポートＡのＷ0から０まで減少するアドレスの順で格納され、以後前記β値はポートβを介して０からＷ0まで増加するアドレスの順に読み取り、前記０からＷ0まで計算されたα値と共にデコーダの出力ビットを決定するのに用いられる。
【００９０】
また、前記”Ｗ0＋Ｗ”から”Ｗ0”まで計算されたβ値はポートＡの０からＷまで増加するアドレスの順で格納され、以後前記β値はポートβを介してＷから０まで減少するアドレスの順に読み取り、前記”Ｗ0”から”Ｗ0＋Ｗ”まで計算されたα値と共にデコーダの出力ビットを決定するのに用いられる。
【００９１】
即ち、前記ポートＡとポートＢは前記一定長さの間計算されたβ値を増加又は減少するアドレスの順に格納するか読み取って出力するが、前記ポートＡに格納されたβ値が増加されるアドレスの順に格納された場合にはポートＢを介して減少するアドレスの順に読み取り、減少されるアドレスの順に格納された場合にはポートＢを介して増加するアドレスの順に読み取って出力される。
【００９２】
即ち、前記ポートＡとポートＢは相互排他的に増加又は減少するアドレスの順によって値を入出力する。
【００９３】
もし、用いているアドレスが常に同一方向に進行すると、即ち、ポートＡのアドレスはＷ又はＷ0において０に減少し、ポートＢのアドレスも０からＷ又はＷ0に増加することを繰り返すしたら、格納されたβ値が読み取りきれないうちに新しい値が更新される。これを防止するためにβ値格納メモリを２倍に増やしたり、本発明から提案された方法を用いるべきである。
【００９４】
本発明では一つの逆方向プロセッシングがＷ0＋ＮＷ＋Ｌ（Ｎ＝０，１，２、、、）から開始され、該開始点はスライディングウィンドウごとにＷほどずつ増加する。また、逆方向プロセッシングの終点は０（Ｎ＝０）又はＷ0＋（Ｎ−１）Ｗ（Ｎ＝１，２、、）としてやはりＷ程ずつ増加させるとよい。
【００９５】
全ての”学習”には関連技術のように受信シーケンスのＬビットに該当するシンボルを用いる。
【００９６】
前記Ｗ0は（受信シーケンス長さ）ｍｏｄＷ（モジュール演算）に決定する。但し、モジュール結果が０であればＷを用いる。
【００９７】
例えば、受信シーケンス長さが３８４０ビットであり、Ｗが２５６であれば
Ｗ0はＷのように２５６に決定される。受信シーケンス長さが３８４１ビットであればＷ0は１となる。このようにＷ0を決定すると最終の逆方向のプロセッシング単位がいつもＷとなる。これによって３ＧＰＰ  ＷＣＤＭＡのようにトレリスターミネーション（ｔｒｅｌｌｉｓ  ｔｅｒｍｉｎａｔｉｏｎ）（３ＧＰＰ  ＴＳ２５．２１２  Ｖ２．２．１  Ｔｕｒｂｏ  Ｃｏｄｉｎｇ  ｓｅｃｔｉｏｎ、Ｏｃｔ．１９９９）を用いるターボコードの性質を最大限に活かすことができる。
【００９８】
これはテール（ｔａｉｌ）ビットを用いるとコンボルーショナルビテルビ（ｖｉｔｅｒｂｉ）デコーダでデコーディングするときコードブロックの最終トレースバック深さ（ｔｒａｃｅ−ｂａｃｋ  ｄｅｐｔｈ）はステート（ｓｔａｔｅ）０から開始して一挙にデコーディングするような概念である。
【００９９】
例えば、Ｗを２５６に決定した時３８４１ビットのコードブロックは１ビットが残ることになり、本発明のように一番最初のウィンドウで１ビットを処理するか、或いは一番最終のウィンドウにおいて１ビットを処理する方法が考えられる。
【０１００】
しかるに、各コードブロックの最終にはターミネーション特性を用いることができるのでこれを用いて１ビットをデコーディングするよりは２５６ビットをデコーディングするのが更に望ましいデコーディング性能が得られる方法である。
【０１０１】
尚、ＭＡＰデコーディングにおいて必要なメモリの大きさを比較すると関連技術では６０ｄｅｐｔｈほど必要とするものに対して、本発明のデコーダは２５６ｄｅｐｔｈを用いるので多く延伸されるように見えるが、本発明において用いられている”Ｘｉｌｉｎｘ  Ｖｉｒｔｅｘ”チップの内部ブロックラムの最小深さが２５６であるので実際回路を具現する観点からは差がない。
【０１０２】
本発明によれば、移動通信システムに関する、特に、スライディングウィンドウ方式を用いたターボコードのデコーディング方法が提供される。
【０１０３】
本発明は、受信シーケンスを最大事後（Ｍａｘｉｍｕｍ  Ａ  Ｐｏｓｔｅｒｉｏｒｉ）アルゴリズムを用いてデコーディングするのにおいて、一定長さの間逆方向のプロセッシングによる学習を行い、以後逆方向プロセッシングによる第１結果値を計算して格納し、前記学習時間と同時に順方向プロセッシングによる第２結果値を計算して該第２結果値と前記第１結果値以前に格納された第１結果値を用いてデコーディングビット出力を決定する。
【０１０４】
【発明の効果】
以上説明したように、本発明は逆方向プロセッサーを一つだけ用いることによって回路の大きさと演算量（電力消耗量）を減らすことができる。
【０１０５】
また、最終ウィンドウを満たすことによってトレリス（ｔｒｅｌｌｉｓ）ターミネーションの特性を活かして更に望ましいデコーディング能力を有する。
【０１０６】
また、デコーダの結果を順に得ることができるのでＬＩＦＯに必要とするメモリ及び回路を除去することができ、電力消耗面から改善効果を奏する。
【０１０７】
β値を格納するデュアルポートラムの読み取り及び書き取りのアドレスを調節してメモリの大きさを半分に減らすことができる。
【図面の簡単な説明】
【図１】関連技術によるＭＡＰデコーディングタイミング図を示す図である。
【図２】本発明によるＭＡＰデコーディングタイミング図を示す図である。
【図１】
0003954347.tif 000008
【図２】
0003954347.tif 000009