JP6533039B2 - メッセージパッシングを用いた訂正符号の復号、特にldpc符号又はターボ符号の復号改良方法 - Google Patents

メッセージパッシングを用いた訂正符号の復号、特にldpc符号又はターボ符号の復号改良方法 Download PDF

Info

Publication number
JP6533039B2
JP6533039B2 JP2014152627A JP2014152627A JP6533039B2 JP 6533039 B2 JP6533039 B2 JP 6533039B2 JP 2014152627 A JP2014152627 A JP 2014152627A JP 2014152627 A JP2014152627 A JP 2014152627A JP 6533039 B2 JP6533039 B2 JP 6533039B2
Authority
JP
Japan
Prior art keywords
decoding
value
external information
bit
item
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.)
Active
Application number
JP2014152627A
Other languages
English (en)
Other versions
JP2015033137A (ja
Inventor
バンジャマン・ガダ
ニコラ・バン・ワンベク
Original Assignee
タレス
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 タレス filed Critical タレス
Publication of JP2015033137A publication Critical patent/JP2015033137A/ja
Application granted granted Critical
Publication of JP6533039B2 publication Critical patent/JP6533039B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、デジタル電気通信の分野に関し、より正確には、最初に生成されたメッセージを不完全な伝搬チャネル上でこのメッセージを送信する間に導入された誤りにもかかわらず再構築できるように送信された情報の冗長性レベルを増加させる目的で訂正符号の使用を伴うチャネル符号化の分野に関する。
本発明は、特に、メッセージパッシングを用いた復号アルゴリズムに適用可能な訂正符号の改良復号方法に関する。本発明は、LDPC(「低密度パリティ検査」)符号及びターボ符号に有利に適用できるが、パリティ行列によって表すことができる、及びメッセージパッシングアルゴリズムを用いて反復的に復号されることが可能で、その過程で、復号される各ビットに対して、反復の過程で決定の信頼性を向上させる目的で外部情報アイテムが生成される他の訂正符号にも適用できる。
反復的に復号され得る訂正符号のファミリーは、特にLDPC符号及びターボ符号を含むチャネル符号化の特定のファミリーである。以下、「ターボファミリーの符号」という表現は、パリティ行列によって表すことができる、及びメッセージパッシングアルゴリズムを用いて反復的に復号され得る全ての訂正符号を表すために使用する。
これらの符号は、パケット又は信号対雑音比に相関したビット誤り率の観点から良好な性能を得ることを可能にするが、2つの大きな欠点を持つ。
第1に、これらの符号の性能は、その下では、受信の際の信号対雑音比の増加にもかかわらず誤り率がもはや減少しないフロアを有する。この現象は、当該分野において「エラーフロア」という名称で知られている。
第2に、これらの符号の性能は、小さなパケットサイズ(一般的に100〜500ビット)の場合に大幅に低下する。実際、これらの符号ファミリーがシャノンの定理の意味で理論上のチャネル容量に漸近的に近づくことを可能にすることが知られているが、小さなパケットサイズの場合、実際に達成される容量との差は、かなりの程度であることが多い。
ターボファミリーの符号の性能を向上させる第1の公知の解決策は、それをBCH符号又はリードソロモン符号タイプの外部符号で補うことにより、連結符号化スキームを形成することにある。この方法は、性能の観点では効果的であるが、送信の有用なスループットを減少させる欠点を有する。
参考文献[2]に記載の第2の公知の解決策は、復号入力で生成されたフレームにおける最小保護ビットを識別するために、符号語のスペクトルを分析することにある。実際、そのような符号に関して、全てのビットが等しく保護されるとは限らず、従って、あるビットに対する誤りの影響は、別のビットに対する誤りの影響と同じではない。これらのビットのセットΩが決定されると、ターボ符号器は、セットΩによって示された位置に既知のビットを挿入する。その結果、復号の際に、セットΩ及び挿入されたビットの値が分かっているので、ターボ復号器の入力において、その性能を向上させるために、かなりのレベルの信頼性が断言される。その後、最初の情報フレームを回復させるために、挿入されたビットをターボ復号器の出力において取り出す。
ここでも、この技術は、情報ビットが除去され、既知の値のビットによって置き換えられるので、符号の有効収率を減少させる欠点を有する。
[3]に提案された第3の解決策は、復号器の入力フレームの特定の位置にパルスを導入することにある。これらの位置は、復号器入力におけるビットの尤度情報に基づいて決定される。尤度は、それらの大きさに従ってのみソートされ、パルスは、最も信頼性の低い尤度から開始して、1つずつフレームに導入される。
この方法は、効果的であるが、その主な欠点は、実施が非常に複雑である点である。実際、これは、多数の位置にとって効果的であるように思われ、フレーム中の全てのビットが同じ重要性を有するという原則に基づくが、これは、ターボファミリーの符号に関しては当てはまらない。
参考文献[4]に記載の第4の解決策は、復号器の多様性を生かすために復号器の決定則を変更することにある。
この方法は、LDPC符号にのみ有効で、同じファミリーの他の符号には有効ではない。さらに、これは、復号器の複雑なパラメータ化を必要とする。
最後に、幾つかの復号パスを実行するために、復号器のグラフにおいて所定数の誤りノードを識別しようと試みることにある[5]に記載の解決策も公知である。しかしながら、この方法は、提案されたアルゴリズムが様々な復号の試みの過程で復号器によって交換された全てのメッセージの保存を必要とするので、高度な複雑性を有する。さらに、[5]に記載の方法は、特定の種類の復号アルゴリズムにのみ適合し、軟入力値にのみ有効である。
公知の解決策の上述の制約を改善するために、本発明は、最尤復号の性能に近づくことが可能な反復復号方法を提案する。
本発明による方法は、復号器の入力において、反復復号の過程で交換された外部情報アイテムの記号変化に基づいて最も信頼性の低いビットの識別に基づき、用いられる復号アルゴリズムは、「メッセージパッシング」タイプのものである、すなわち、復号される各ビットに対して、復号決定の信頼性を向上させる目的で各復号反復において外部情報アイテムが生成される。
従って、本発明の主題は、反復復号アルゴリズムを用いて訂正符号語を反復的に復号する方法であって、その過程で、各反復において前記符号語の各ビットに対して少なくとも1つの外部情報アイテムが生成され、前記方法は、以下のステップ:
前記反復復号アルゴリズムを用いた復号の初期ステップと、
前記反復復号と同時に、前記符号語の各ビットに対して、連続する復号反復の過程で、少なくとも1つの外部情報アイテム又は別の外部情報アイテムに対する1つの外部情報アイテムの変動数を表す基準を作るステップと、
復号が収束しない場合は、
前記変動数が最も高い前記符号語のビットの値を変更することによって、少なくとも1つの変更符号語を生成するステップと、
前記反復復号アルゴリズムを用いて前記少なくとも1つの変更符号語を復号する追加ステップと、
を含むことを特徴とする。
本発明のある特定の局面によれば、符号語の1ビットの値を変更するステップ及び変更符号語を復号するステップは、各反復において、前の反復において値が変更されていないビットの中で前記変動数が最も高い前記符号語のビットの値を変更しながら反復される。
本発明のある特定の局面によれば、
追加復号ステップと同時に、前記符号語の各ビットに対して、連続する復号反復の過程で、少なくとも1つの外部情報アイテム又は別の外部情報アイテムに対する1つの外部情報アイテムの変動数を表す基準を作る新規ステップが実行され、
符号語の1ビットの値を変更するステップ及び変更符号語を復号するステップは、
i:前の反復において生じたビット値の1つ又は複数の変更の保存と、
ii:前の反復において実行された追加復号ステップにおいて前記変動数が最も高い前記符号語のビットの値の変更と、
を行いながら反復される。
本発明のある特定の局面によれば、符号語の1ビットの値を変更するステップ及び変更符号語を復号するステップの反復は、所定の反復数の終了時に停止される。
本発明のある特定の局面によれば、符号語の1ビットの値を変更するステップ及び変更符号語を復号するステップの反復は、復号器が収束するとすぐに停止される。
本発明のある特定の局面によれば、復号器が収束すると、復号語がリストに保存され、符号語の1ビットの値を変更するステップ及び変更符号語を復号するステップの反復は、リストが所定数の要素に達するとすぐに停止される。
本発明のある特定の局面によれば、この方法は、復号語のリスト中の各要素に対して、尤度基準及び前記尤度基準を最適化する復号語の選択を計算するステップをさらに含む。
本発明のある特定の局面によれば、前記反復復号アルゴリズムは、変数ノードと呼ばれ、各変数ノードは前記符号語の1ビットに関連付けられた複数の第1のノードを含むタナーグラフと呼ばれる二部グラフの使用を含み、前記グラフは、チェックノードと呼ばれる複数の第2のノードをさらに含み、各変数ノードは、少なくとも1つのチェックノードに接続されることによって前記チェックノードから外部情報アイテムを受信し、変動数を表す前記基準は、連続する復号反復の過程における、チェックノードに由来する変数ノードによって受信された外部情報アイテムの記号変化数と等しくなるように選択される。
本発明のある特定の局面によれば、外部情報アイテムの記号変化数の計数は、チェックノードに由来する変数ノードによって受信された全ての外部情報アイテムに対して行われる。
本発明のある特定の局面によれば、チェックノードに由来する変数ノードによって受信された全ての外部情報アイテムに基づいて包括的外部情報アイテムが計算され、外部情報アイテムの記号変化数の計数は、包括的外部情報アイテムに対して行われる。
本発明のある特定の局面によれば、前記訂正符号は、LDPC符号である。
本発明のある特定の局面によれば、前記訂正符号がターボ符号であり、前記反復復号アルゴリズムは、互いに第1の外部情報アイテム及び第2の外部情報アイテムを交換可能な第1の復号器及び第2の復号器の使用を含み、変動数を表す前記基準は、前記反復復号アルゴリズムの連続する反復の過程における、第2の復号器によって受信された外部情報アイテムの記号変化数、又は前記反復復号アルゴリズムの連続する反復の過程における、第2の復号器によって受信された外部情報アイテム及び第1の復号器によって受信された外部情報アイテムの記号変化数、又は前記反復復号アルゴリズムの連続する反復の過程における、1つの反復又は半分の反復の過程における第2の復号器によって受信された外部情報アイテムと第1の復号器によって受信された外部情報アイテムとの記号差数に等しくなるように選択される。
本発明のある特定の局面によれば、前記符号語が二値を含み、前記符号語の1ビットの値を変更する前記ステップは、前記ビットの値を反転させることにある。
本発明の別の特定の局面によれば、前記符号語は、軟値を含み、前記符号語の1ビットの値を変更する前記ステップは、前記ビットの値を正の最大飽和値及び負の最小飽和値にそれぞれ飽和させることによって、2つの変更符号語を生成することにある。
本発明のある特定の局面によれば、符号語の1ビットの値を変更するステップ及び変更符号語を復号するステップの反復は、各ノードが正の最大値及び負の最小値中の2つの飽和値の一方に関連付けられた復号反復に対応するツリーの形で表され、前記ツリーは、幅方向又は深さ方向にトラバースされる。
本発明のある特定の局面によれば、前記ツリーのノードに関連付けられた復号反復が収束すると、前記ノードの子ノードはトラバースされない。
本発明の別の主題は、本発明による反復復号方法のステップの実行に適した手段を含む通信を受信するためのシステム、プログラムがプロセッサによって実行される場合に、本発明による反復復号方法を実行するための命令を含むコンピュータプログラム、及びプログラムがプロセッサによって実行される場合に、本発明による反復復号方法を実行するための命令を含むプログラムが保存される、プロセッサによって読み取り可能なストレージ媒体である。
本発明の他の特徴及び利点は、以下を示す添付の図面を参照して、以下の記載を読めば、より明白となるであろう。
本発明による方法を実施するステップを記載するフローチャートである。 タナーグラフを用いたLDPCタイプの訂正符号の表現を示す図である。 本発明の実施形態による、本方法のある特定のステップにおけるツリーの使用及びそのトラバースを示す図である。 本発明の実施形態による、本方法のある特定のステップにおけるツリーの使用及びそのトラバースを示す図である。 ターボ符号の復号中の外部情報アイテムの交換を示す図である。
図1は、所与の訂正符号の符号語を復号するための本発明による方法を実施するための一連のステップをフローチャートで記述する。
まず、LDPC符号を復号するのに適した本発明の第1の実施形態を説明する。
準備ステップ101において、符号語を復号するための復号の第1のインスタンスが実行される。本発明の第1の実施形態によれば、使用される復号アルゴリズムは、タナーグラフと呼ばれる二部グラフの使用に基づく。このようなグラフは、特に、LDPC符号の復号に適している。
参考文献テキスト[1]、特に「低密度パリティ検査符号」というタイトルの第5章は、LDPC符号を復号するためのタナーグラフの使用及びそのようなグラフに基づく様々な復号アルゴリズム(特にsum−productアルゴリズム)を詳細に説明する。本発明の方法の準備ステップ101に使用される復号アルゴリズムは、前記テキストの第5章に記載されるものの1つ又は二部タナーグラフに基づいたものであることを前提とした他の同等のアルゴリズムでもよい。このようなアルゴリズムは、訂正符号の専門家である当業者がテキスト[1]又はこのアルゴリズムを実施するための分野の他の参考文献テキストを参照できるので、本明細書において詳細な説明は行わない。
タナーグラフは、2種類のノードから構成される二部グラフである。第1の種類のノードは、カスタムに応じて変数ノード又は符号ビットノードと呼ばれる。変数ノードは、復号アルゴリズムの入力において生成された符号語の1ビットと各々関連付けられる。従って、復号される符号語のビットと同数の変数ノードが存在する。各変数ノードは、1つ又は複数のチェックノード又は制約ノードに接続される。チェックノードの数は、訂正符号のパリティ行列の行数に等しい。添え字iのチェックノードは、符号のパリティ行列の行i及び列jの要素が1と等しい場合に限り、添え字jの変数ノードに接続される。
図2は、互いにリンクされた変数ノードV及びチェックノードCを含むタナーグラフの一部を示す。図2の例では、変数ノードVは、3つの他のチェックノードにも接続されている。変数ノードVは、アルゴリズムの入力で受信した符号語の添え字jのビットの値Lを用いて初期化される。この値は、二値でもよいが、ほとんどの場合、対数尤度比LLRに等しい、いわゆる軟値である。復号アルゴリズムの各反復において、変数ノードVは、それが接続されるチェックノードに外部情報アイテムLj→iを送信し、それが接続されるチェックノードから外部情報アイテムLi→jを受信する。
外部情報アイテムの概念は、当該分野では周知であり、例えば、参考文献テキスト[1]の第5章に説明されている。これは、対数尤度比タイプの情報アイテムと等しくなり得る。尤度比は、受信した符号語が分かっている場合に0の1ビットを有する確率と、受信した符号語が分かっている場合に1の1ビットを有する確率の比によって定義される。
復号と同時に、かつ、復号される符号語の各ビットに関連付けられた各変数ノードに対して、変数ノードによって受信された外部情報アイテムの記号変化数が記録され、復号の終了まで保存される。
記号変化数は、変数ノードが接続される全てのチェックノードから生じた、変数ノードによって受信された外部情報アイテムの全てにわたって計数されてもよく、あるいは、受信された外部情報アイテムの合計に等しい包括的外部情報アイテムを事前に計算し、その後包括的外部情報アイテムの記号変化数を計数することによって計数してもよい。
従って、復号の終了時に、各復号ビットに対して、このビットに関連する変数ノードによって受信された外部情報アイテムの記号変化数に関する関連情報アイテムが存在する。
この情報アイテムは、復号ビットの信頼性の指標を与え、以下、1つ又は複数の連続する復号パスを実行することによって復号を向上させるために使用される。
準備ステップ101において実行された復号が収束すると、得られた復号語は、保持され、プロセスが停止される。ある変形実施形態では、この復号語は、幾つかの復号語のリストに加えられ、このリストから、以下により詳細に説明する基準に応じて最も可能性の高い語が選択される。
使用される収束の基準は、任意の通常の基準でよく、特に、この基準は、受信した符号語を補うCRC符号の検査、シンドローム検出、又は復号アルゴリズムの収束の定義を可能にする他の基準から成り得る。
準備ステップ101において実行された復号が収束しない場合、本発明による方法の新規ステップ102において、復号アルゴリズムの入力において生成された符号語中で、受信された外部情報アイテムの記号変化数が最も高いタナーグラフの変数ノードに対応するビットが識別される。識別されたビットの値は、次に、変更符号語を生成するために変更される。
識別されたビットにもたらされる変更は、この方法の入力において生成された符号語が二値であるか、又は軟値から構成されているかに応じて異なる。第1のケースでは、ビットの値は、識別されたビットを反転することにより、すなわち、その値を0から1へ、又は1から0へ変更することによって変更される。第2のケースでは、ビットの値は、軟値の変動範囲に応じて最大及び最小可能値で飽和する。例えば、軟値が末端−S及び+S間で異なるように数値化される場合(Sは、正の数)、識別されたビットの変更は、2つの変更符号語を生成するために、値+S及び値−Sでこのビットの値をそれぞれ飽和させることにある。
この変更は、関連する外部情報アイテムの多数の記号変化(これらは、復号器の決断の不安定性の表れである)により信頼性が低いと識別されたビットに対して事前に決断を下すことによって、復号器を支援することを可能にする。
次のステップ103では、準備ステップ101と同じ復号アルゴリズムを用いるが、それを変更符号語に適用して、復号方法が繰り返される。2つの変更符号語が生成された場合は、ステップ103は、これら2つの語に対して交互に復号アルゴリズムを実行することにある。
ステップ102及び103は、停止テスト104が検証されるまで数回反復される。
ステップ102、103、104の反復の幾つかの変形実施形態をこれより説明する。
第1の変形例では、各反復において、前の反復で値が変更されていないビットの中で受信された外部情報アイテムの記号変化数が最も高い変数ノードに関連付けられた符号語のビットの値が変更される。
つまり、符号語のビットは、関連する記号変化数の多い順にソートされ、次に、各反復において、次のビットの値を所定の多い順に変更しながら復号103が実行される。新規の反復ごとに、符号語は、そのビットの1つの値を変更する前にリセットされる。
この変形例は、最初の復号パスにおける記号変化の1回の計数のみを必要とするので、複雑性の低さという利点を有する。
第2の変形例では、各復号反復103において、復号103の過程における各変数ノードによって受信された外部情報アイテムの記号変化数の新規の計数が実行され、前の反復において変更された符号語中で、記号変化数が最も高い変数ノードに関連付けられたビットの値が変更される。
この第2の変形例は、符号語のビットの変更という形での決定支援が連続する反復によって高められるので、復号性能の向上という利点を有する。
この第2の変形例において、符号語が軟値を含む場合には、復号反復103は、図3a及び3bに示されるようなツリーの形で表すことができる。
このようなツリー300では、ツリーのノード301、302、303、304はそれぞれ、変更ビットの2つの飽和値−S、+Sの一方と関連付けられた1つの復号反復に対応する。
ツリー300は、まず、図3aに示されるように、幅方向にトラバースされ得る。この場合、第1の復号反復ITが正の飽和値+Sを用いて変更された最初の符号語に適用され、次に、第2の復号反復ITが負の飽和値−Sを用いて変更された最初の符号語に適用される。次に、ツリーの第2の深さレベルがトラバースされる。つまり、第3の復号反復ITが正の飽和値+Sを用いて変更された第1の反復で変更された符号語に適用され、第4の復号反復ITが負の飽和値−Sを用いて変更された第1の反復で変更された符号語に適用され、第5の復号反復ITが正の飽和値+Sを用いて変更された第2の反復で変更された符号語に適用され、第6の復号反復ITが負の飽和値−Sを用いて変更された第2の反復で変更された符号語に適用される。ツリーの次の深さレベルが同様にトラバースされる。各反復において、前のステップで変更された符号語が保存され、受信した外部情報アイテムの記号変化数が最も高い変数ノードに関連するビットの値が変更される。
深さレベルの数、すなわち、反復の最大数が先験的に設定される。
図3bは同じツリーを表すが、図3aのように幅方向ではなく深さ方向のツリーのトラバースを示す。
図3bに表現される変形例では、ツリーは、一方では正の飽和値+Sを用いて変更された最初の符号語に対応するノード301の子ノードをテストし、他方では負の飽和値−Sを用いて変更された最初の符号語に対応するノード302の子ノードをテストすることによってトラバースされる。
この変形例は、ノード301に起因する反復及びノード302に起因する反復を同時に実行しながら、復号反復を並行して行うことができるという利点を提供する。
別の変形実施形態では、ツリーのトラバース方法がどんなものであれ、ツリーは、復号器の収束をもたらした反復に対応するノードの子ノードを除外することにより、枝刈りが行われ得る。実際、復号器が収束すると、子ノードの中から復号語の別のより可能性の高い候補を見つけ出す確率は、限りなく小さい。ツリーの枝刈りは、無用な復号反復を取り除くことによって、その複雑性を低下させることを可能にする。
復号反復103を停止させるために使用される停止テスト104は、幾つかの形を取り得る。
第1の変形例では、反復102、103は、復号器が収束するとすぐに停止される。
第2の変形例では、反復102、103は、例えばツリー300の深さの程度に一致する所定の反復数の終了時に停止される。
本発明のある変形実施形態では、追加ステップの群110が、保持される復号語を決定する前に実行される。
この群110の第1のステップ105では、停止テスト104の終了時又は復号器が収束した場合は第1の最初の復号パス101の終了時に得られた復号語が、候補復号語のリストに保存される。このリストは、例えば最大3つの候補に等しい所定サイズを有する。
リスト中の各候補に対して、復号語の尤度の基準が計算される。
候補語の数がリスト中の語の最大数に等しければ(106)、尤度基準の最適化を可能にする候補が選択される(107)。
これらの追加ステップ105、106、107は、幾つかの候補の中から最も可能性の高い復号語を選択することによって復号性能のさらなる向上を可能にする。
使用される尤度基準は、復号器入力における符号語の性質による。
符号語が二値データを含む場合、基準は、復号器入力における変調受信ビット(すなわち、値+1又は−1を取り得る)及び候補復号語の変調決定ビットの積のペアワイズ総和と、その後のこの基準を最大にする候補復号語の選択とにあり得る。
符号語が軟データを含む場合、基準は、復号器入力において受信されたビットの尤度及び候補復号語の変調決定ビットの積のペアワイズ総和と、その後のこの基準を最大にする候補復号語の選択とにあり得る。
2つの上述の基準に代えて、訂正符号を復号するためのアルゴリズムの分野において公知の他の同等の尤度基準を代わりに使用してもよい。
本発明の第2の実施形態によれば、復号方法は、ターボ符号にも適用できる。
この場合、本発明による方法のステップ101及び103を実行するために使用される復号アルゴリズムは、もはや、タナーグラフの使用には基づかないが、2つの復号器間の外部情報アイテムの交換を用いた反復復号に基づく。
図4は、ターボ符号の復号に適した復号器の動作を図式化する。
このような復号器400は、特に、第1及び第2のインターリーバ403、404によって互いにリンクされた第1の訂正符号の第1の単一復号器401及び第2の訂正符号の第2の単一復号器402を含む。
このような復号器400の詳細な動作は、当該分野で公知であり、特に、参考文献テキスト[1]の第7章に記載されている。これは、本発明の主題ではなく、従って、本特許出願においては詳細な記載を行わない。
要約すれば、復号器400は、以下の原則に従って反復的に動作する。復号される符号語の各ビットに対して、第1の単一復号器401が実行され、第2の単一復号器402に送信される第1の外部情報アイテムL1→2の生成を可能にし、第2の単一復号器402は、次に、この情報アイテムを使用して符号語を復号し、第2の外部情報アイテムL2→1を生成する。この第2の情報アイテムは、復号器400の新規反復を実行する目的で第1の復号器401に再送信される。このプロセスは、幾つかの連続的反復を続ける。最後の反復の終了時に、復号語を得るための決定が第2の単一復号器402によって行われる。
符号語のビット毎に2つの単一復号器間で交換された外部情報アイテムは、二部タナーグラフのノード間で交換された外部情報アイテムと同じ性質のものである。
従って、本発明による方法をターボ符号の復号に適用するためには、LDPC符号の復号の過程で変数ノードによって受信された外部情報アイテムを、ターボ符号の復号の過程で2つの単一復号器401、402間で交換された外部情報アイテムによって置き換えれば十分である。
この主題に関して、幾つかの変形実施形態が可能である。
第1の変形例では、LDPC符号の場合に関して先に説明したような記号変化数の計数に関して、第2の復号器402によって受信された外部情報アイテムL1→2のみを考慮する。記号変化は、連続する復号反復の際に計数される。
実際、復号に関する決断は第2の復号器402によって最後に行われるので、後者によって受信された外部情報アイテムの記号変化は、関連する復号ビットの信頼性の指標を提供する。多くの変動が様々な連続する復号反復の際に生じた場合、これは、復号ビットの値に関する決定の不安定性を示す。つまり、外部情報アイテムの変動が多いほど、ビットの実際の値がより不確かとなる。
第2の変形例では、記号変化数の計数は、第2の復号器402によって受信された外部情報アイテムL1→2及び第1の復号器401によって受信された外部情報アイテムL2→1の両方を考慮に入れ得る。
第3の変形例では、記号変化数の計数は、連続する復号反復の過程で、第2の復号器402によって受信された外部情報アイテムL1→2及び第1の復号器401によって受信された外部情報アイテムL2→1の記号が正反対である回数の計数に置き換えることができる。実際、全く同一のビットに関して、半分の反復で2つの復号器によって交換された外部情報アイテムの記号が正反対である場合、これもまた、復号ビットの値に関する決断の変動を表す。
より一般的に、復号反復の過程で交換された外部情報アイテムの記号変化数又は2つの外部情報アイテム間の記号差の数に関する基準は、1つ又は複数の外部情報アイテム又は別の外部情報アイテムに対する1つの外部情報アイテムの変動を表す任意の同等の基準によって置き換えられてもよい。従って、本発明による方法を、2つの上述の例に記載したものとは異なる別の種類のメッセージパッシングアルゴリズムを用いた別の種類の訂正符号の復号に適用するために、当業者は、使用される基準を使用される復号器の固有動作に適応させて同等の基準を作る方法が分かるであろう。
本発明による復号方法は、ハードウェア及び/又はソフトウェア要素に基づいて実施され得る。これは、特に、その実行のための命令を含むコンピュータプログラムとして実施され得る。コンピュータプログラムは、プロセッサによって読み取り可能なストレージ媒体に保存され得る。
エミッタ及びレシーバ間の符号化データのストリームの送信状況で使用されてもよく、本発明による方法は、レシーバによって実施される。
これは、符号化され、ストレージデバイスに保存されたデータのストリームに基づいて実行されてもよい。
本発明による方法の様々なステップは、プロセッサ及びメモリを含むデバイスによって実行されてもよい。プロセッサは、一般的なプロセッサ、特殊プロセッサ、ASIC(特定用途向け集積回路)、又はFPGA(フィールドプログラマブルゲートアレイ)でもよい。
参考文献
[1]“Channel codes,classical and modern”,William E.Ryan,Shu Lin,Cambridge University Press.
[2]M.Oberg & P.Siegel,“Application of distance spectrum analysis to turbo code performance improvement”,Proc.35th Annu.Conf.Commun,Control and Computing. pp 701−710,Sept 1997.
[3]Y.Ould−Cheikh−Mouhamedou,“A Method for Lowering Turbo Code Error Flare using Correction Impulses and Repeated Decoding”,6th international ITG−Conference on Source and Channel Coding(Turbocoding),2006 4th international symposium
[4]“Approaching Maximum Likelihood decoding of finite length LDPC codes via FAID diversity”,D.Declercq et al.
[5]“Augmented Belief Propagation Decoding of Low−Density Parity Check Codes”,Varnica et al.IEEE Trans on Com 2007
i→j、L1→2、L2→1 外部情報アイテム
101 準備ステップ
104 停止テスト
変数ノード
チェックノード
401 第1の復号器
402 第2の復号器
300 ツリー
301、302、303、304 ノード
−S、+S 飽和値

Claims (15)

  1. 反復復号アルゴリズムを用いて訂正符号語を反復的に復号する方法であって、その過程において、前記符号語の各ビットに対して、各反復において少なくとも1つの外部情報のアイテム(Li→j、L1→2、L2→1)が生成され、前記方法は、以下のステップ:
    前記反復復号アルゴリズムを用いた復号の初期ステップ(101)と、
    前記反復復号と同時に、前記符号語の各ビットに対して、前記反復復号アルゴリズムの一連の連続する反復の過程において、第1のタイプの外部情報の少なくとも1つのアイテム(Li→j)の変動数又は第2のタイプの外部情報の1つのアイテム(L2→1)に対する第2のタイプの外部情報の別のアイテム(L1→2)の変動数を表す値を生成するステップと、
    前記復号が収束しない場合は、前の反復において値が変更されていない前記ビットの中で前記変動数が最も高い前記符号語のビットの値を各反復において変更しながら以下のステップ:
    i:少なくとも1つの変更符号語を生成するために、前記変動数が最も高い前記符号語の1ビットの値を変更するステップ(102)と、
    ii:前記反復復号アルゴリズムを用いて前記少なくとも1つの変更符号語を復号する追加ステップ(103)とを反復することと
    復号器が収束すると、復号語をリストに保存することと、前記符号語の1ビットの値を変更する前記ステップ及び前記変更符号語を復号する追加ステップ(103)の前記反復を前記リストが所定数の要素に達する(106)とすぐに停止することと、
    を含むことを特徴とする方法。
  2. 前記変更符号語を復号する追加ステップ(103)と同時に、前記符号語の各ビットに対して、前記連続する復号反復の過程において、第1のタイプの外部情報の少なくとも1つのアイテム(Li→j)の変動数又は第2のタイプの外部情報の1つのアイテム(L2→1)に対する第2のタイプの外部情報の別のアイテム(L1→2)の変動数を表す値を作る新規ステップが実行され、
    前記符号語の1ビットの値を変更するステップ(102)及び前記変更符号語を復号する追加ステップ(103)は、
    i:前の前記反復において生じたビット値の1つ又は複数の前記変更の保存と、
    ii:前記前の反復において実行された前記変更符号語を復号する追加ステップ(103)において前記変動数が最も高い前記符号語の1ビットの値の変更と、
    を行いながら反復される、請求項1に記載の訂正符号語を反復的に復号する方法。
  3. 前記復号語の前記リスト中の各要素に対して、尤度基準及び前記尤度基準を最適化する前記復号語の選択を計算するステップ(105)をさらに含む、請求項に記載の訂正符号語を反復的に復号する方法。
  4. 前記反復復号アルゴリズムは、変数ノードと呼ばれ、各変数ノードは前記符号語の1ビットに関連付けられた複数の第1のノード(V)を含むタナーグラフと呼ばれる二部グラフの使用を含み、前記グラフは、チェックノードと呼ばれる複数の第2のノード(C)をさらに含み、前記各変数ノード(V)は、少なくとも1つのチェックノード(C)に接続されることによって前記チェックノードから外部情報のアイテム(Li→j)を受信し、前記変動数を表す前記値は、前記連続する復号反復の過程において、チェックノードに由来する変数ノード(V)によって受信された外部情報のアイテム(Li→j)の記号変化数と等しくなるように選択される、請求項1〜の何れか一項に記載の訂正符号語を反復的に復号する方法。
  5. 外部情報のアイテムの記号変化数の計数は、チェックノードに由来する変数ノードによって受信された全ての前記外部情報のアイテムに対して行われる、請求項に記載の訂正符号語を反復的に復号する方法。
  6. チェックノードに由来する変数ノードによって受信された全ての前記外部情報のアイテムに基づいて包括的な外部情報のアイテムが計算され、外部情報のアイテムの記号変化数の計数は、前記包括的な外部情報のアイテムに対して行われる、請求項に記載の訂正符号語を反復的に復号する方法。
  7. 前記訂正符号がLDPC符号である、請求項の何れか一項に記載の反復復号方法。
  8. 前記訂正符号がターボ符号であり、前記反復復号アルゴリズムは、互いに第1の外部情報のアイテム(L1→2)及び第2の外部情報のアイテム(L2→1)を交換可能な第1の復号器(401)及び第2の復号器(402)の使用を含み、前記変動数を表す前記値は、前記反復復号アルゴリズムの前記連続する反復の過程における、前記第2の復号器によって受信された前記外部情報のアイテム(L2→1)の記号変化数、又は前記反復復号アルゴリズムの前記連続する反復の過程における、前記第2の復号器(402)によって受信された前記外部情報のアイテム(L2→1)及び前記第1の復号器(401)によって受信された前記外部情報のアイテム(L1→2)の記号変化数、又は前記反復復号アルゴリズムの前記連続する反復の過程における、1つの反復又は半分の反復の過程における前記第2の復号器(402)によって受信された前記外部情報のアイテム(L2→1)と前記第1の復号器(401)によって受信された前記外部情報のアイテム(L1→2)との記号差数に等しくなるように選択される、請求項1〜の何れか一項に記載の訂正符号語を反復的に復号する方法。
  9. 前記符号語が二値を含み、前記符号語の1ビットの値を変更する前記ステップは、前記ビットの前記値を反転させることにある、請求項1〜の何れか一項に記載の訂正符号語を反復的に復号する方法。
  10. 前記符号語は、軟値を含み、前記符号語の1ビットの値を変更する前記ステップは、前記ビットの前記値を正の最大飽和値及び負の最小飽和値にそれぞれ飽和させることによって、2つの変更符号語を生成することにある、請求項1〜の何れか一項に記載の訂正符号語を反復的に復号する方法。
  11. 前記変更符号語を復号する追加ステップ(103)と同時に、前記符号語の各ビットに対して、前記連続する復号反復の過程において、第1のタイプの外部情報の少なくとも1つのアイテム(Li→j)の変動数又は第2のタイプの外部情報の1つのアイテム(L2→1)に対する第2のタイプの外部情報の別のアイテム(L1→2)の変動数を表す値を作る新規ステップが実行され、
    前記符号語の1ビットの値を変更するステップ(102)及び前記変更符号語を復号する追加ステップ(103)は、
    i:前の前記反復において生じたビット値の1つ又は複数の前記変更の保存と、
    ii:前記前の反復において実行された前記変更符号語を復号する追加ステップ(103)において前記変動数が最も高い前記符号語の1ビットの値の変更と、
    を行いながら反復され、
    前記符号語の1ビットの値を変更するステップ(102)及び前記変更符号語を復号する追加ステップ(103)の前記反復は、各ノードが前記正の最大値及び前記負の最小値中の前記2つの飽和値の一方に関連付けられた復号反復に対応するツリーの形で表され、前記ツリーは、幅方向又は深さ方向にトラバースされる、請求項10に記載の訂正符号語を反復的に復号する方法。
  12. 前記ツリーのノードに関連付けられた前記復号反復が収束すると、前記ノードの子ノードはトラバースされない、請求項11に記載の訂正符号語を反復的に復号する方法。
  13. 請求項1〜12の何れか項に記載の前記反復復号方法の前記ステップを実行する手段を含む通信を受信するためのシステム。
  14. 請求項1〜12の何れか項に記載の前記反復復号方法をプロセッサに実行させるための命令を含むコンピュータプログラム。
  15. 請求項1〜12の何れか項に記載の前記反復復号方法をプロセッサに実行させるための命令を含む、前記プロセッサによって読み取り可能なストレージ媒体。
JP2014152627A 2013-08-02 2014-07-28 メッセージパッシングを用いた訂正符号の復号、特にldpc符号又はターボ符号の復号改良方法 Active JP6533039B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1301859 2013-08-02
FR1301859A FR3009462B1 (fr) 2013-08-02 2013-08-02 Procede ameliore de decodage d'un code correcteur avec passage de message, en particulier pour le decodage de codes ldpc ou codes turbo

Publications (2)

Publication Number Publication Date
JP2015033137A JP2015033137A (ja) 2015-02-16
JP6533039B2 true JP6533039B2 (ja) 2019-06-19

Family

ID=50097716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014152627A Active JP6533039B2 (ja) 2013-08-02 2014-07-28 メッセージパッシングを用いた訂正符号の復号、特にldpc符号又はターボ符号の復号改良方法

Country Status (6)

Country Link
US (1) US9432054B2 (ja)
EP (1) EP2833555B1 (ja)
JP (1) JP6533039B2 (ja)
AU (1) AU2014208194B2 (ja)
CA (1) CA2857921C (ja)
FR (1) FR3009462B1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014144758A1 (en) * 2013-03-15 2014-09-18 Huawei Technologies Co., Ltd. Low complexity receiver and method for low density signature modulation
EP4133631A4 (en) 2020-04-07 2023-09-27 Telefonaktiebolaget LM ERICSSON (PUBL) NETWORK NODE AND IMPROVED DECODING METHOD IN A NETWORK NODE
US11502712B2 (en) * 2021-03-05 2022-11-15 Aspeed Technology Inc. Signal transceiving system and signal receiver thereof
KR102611823B1 (ko) * 2023-03-17 2023-12-08 주식회사 프라터 Ldpc 디코더의 tdmp 알고리즘에 의한 패리티 검사 행렬의 디코딩 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237181B2 (en) * 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
JP2006311464A (ja) * 2005-04-01 2006-11-09 Ntt Docomo Inc Ipパケットマッピング方法
US7861135B2 (en) * 2006-02-03 2010-12-28 Electronics And Telecommunications Research Institute Of Daejeon Low-complexity and low-power-consumption turbo decoder with variable scaling factor
FR2912574B1 (fr) * 2007-02-13 2010-09-17 Commissariat Energie Atomique Procede de decodage a passage de messages et a convergence forcee.
JP4208017B2 (ja) * 2007-02-16 2009-01-14 ソニー株式会社 復号方法および復号装置
US8565329B2 (en) * 2008-06-03 2013-10-22 Ntt Docomo, Inc. Soft output M-algorithm receiver structures with generalized survivor selection criteria for MIMO systems
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US8301979B2 (en) * 2008-10-07 2012-10-30 Sandisk Il Ltd. Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders
US8458555B2 (en) * 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
JP5132758B2 (ja) * 2010-12-13 2013-01-30 株式会社東芝 誤り訂正復号器及び記憶装置
EP2501049A1 (en) * 2011-03-14 2012-09-19 Commissariat à l'Énergie Atomique et aux Énergies Alternatives Trellis state based stopping criterion for turbodecoding
WO2014187495A1 (en) * 2013-05-23 2014-11-27 Telefonaktiebolaget L M Ericsson (Publ) A method and apparatus for determining transmission quality

Also Published As

Publication number Publication date
EP2833555B1 (fr) 2019-07-24
US9432054B2 (en) 2016-08-30
CA2857921C (en) 2023-06-27
FR3009462A1 (fr) 2015-02-06
AU2014208194A1 (en) 2015-02-19
FR3009462B1 (fr) 2019-08-23
JP2015033137A (ja) 2015-02-16
CA2857921A1 (en) 2015-02-02
US20150039959A1 (en) 2015-02-05
EP2833555A1 (fr) 2015-02-04
AU2014208194B2 (en) 2018-01-18

Similar Documents

Publication Publication Date Title
US10326478B2 (en) Apparatus and method for encoding and decoding data in twisted polar code
US9490849B1 (en) Systems and methods for configuring product codes for error correction in a hard disk drive
US9214958B2 (en) Method and decoder for processing decoding
Van Wonterghem et al. Performance comparison of short-length error-correcting codes
US8495462B1 (en) Absorb decode algorithm for 10gbase-t LDPC decoder
JP5318583B2 (ja) 高スループット・アプリケーションのためのh−arqレート・コンパチブル符号を提供するためのシステム及び方法
CN101039119B (zh) 编码与解码的方法及***
US8726137B2 (en) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
US8468430B2 (en) Product code decoding method and device
US7949932B2 (en) Strengthening parity check bit protection for array-like LDPC codes
Sarkis et al. Increasing the speed of polar list decoders
JP6522889B2 (ja) 符号のワードの拡大スペクトル解析による、訂正符号、例えばターボ符号の復号法
CN107528597A (zh) 一种基于crc校验码的ldpc码后处理译码方法
JP6533039B2 (ja) メッセージパッシングを用いた訂正符号の復号、特にldpc符号又はターボ符号の復号改良方法
EP3316486A1 (en) Elementary check node-based syndrome decoding with input pre-sorting
JP2023547596A (ja) 連結極性調整畳み込み符号を用いたデータの符号化および復号化のための方法および装置
US11177834B2 (en) Communication method and apparatus using polar codes
EP3713096B1 (en) Method and device for decoding staircase code, and storage medium
US8019020B1 (en) Binary decoding for correlated input information
Mitzenmacher Polynomial time low-density parity-check codes with rates very close to the capacity of the $ q $-ary random deletion channel for large $ q$
RU2700398C1 (ru) Способ передачи данных в системе цифровой радиосвязи на основе кодов с низкой плотностью проверок на четность и способ перемежения кодовых символов
Gaurihar et al. Design and implementation of ldpc codes and turbo codes using fpga
Hadavian et al. Ordered Reliability Direct Error Pattern Testing Decoding Algorithm
Djordjevic Advanced Coding and Coded Modulation Techniques
Alrtaimi Improved successive cancellation decoding of polar codes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190329

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190523

R150 Certificate of patent or registration of utility model

Ref document number: 6533039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250