JP4917023B2 - 誤り訂正符号化装置 - Google Patents

誤り訂正符号化装置 Download PDF

Info

Publication number
JP4917023B2
JP4917023B2 JP2007512868A JP2007512868A JP4917023B2 JP 4917023 B2 JP4917023 B2 JP 4917023B2 JP 2007512868 A JP2007512868 A JP 2007512868A JP 2007512868 A JP2007512868 A JP 2007512868A JP 4917023 B2 JP4917023 B2 JP 4917023B2
Authority
JP
Japan
Prior art keywords
row
parity check
check matrix
weight
column
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.)
Expired - Fee Related
Application number
JP2007512868A
Other languages
English (en)
Other versions
JPWO2006106841A1 (ja
Inventor
渉 松本
塁 阪井
英夫 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007512868A priority Critical patent/JP4917023B2/ja
Publication of JPWO2006106841A1 publication Critical patent/JPWO2006106841A1/ja
Application granted granted Critical
Publication of JP4917023B2 publication Critical patent/JP4917023B2/ja
Expired - Fee Related 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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/1148Structural properties of the code parity-check or generator matrix
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Description

この発明は、誤り訂正符号化装置に係るものであり、特に擬似巡回行列を使用して確定的な組織的低密度パリティ検査符号を構成する技術に関する。
従来の消失訂正符号として代表的なものにLT(Luby Transfer)符号がある。この符号は通信路を消失通信路を仮定し、送信器側が情報長kパケットに対し符号長nパケットがn>kの範囲で任意に符号化できる点、また、受信機側で高々n+ε(ε≒1.05〜1.2×n)個のパケットを受信成功するだけで情報パケットkが復号成功できる点に特徴がある(例えば、非特許文献1)。
Michael Luby, "LT codes", in Proceedings of ACM Symposium on FOCS, 2002.
しかしながら、LT符号の生成には乱数系列を用いるため、特に短い符号長において良い性能が得られないという問題がある。この発明は、かかる問題を解決するためになされたものであって、乱数系列ではなく擬似巡回行列を使用して確定的な組織的LDPC符号を構成するものである。
この発明に係る誤り訂正符号化装置は、列重み0の存在確率がP0(設定された列重み0の存在確率の上限確率)以下となるように列重みの最小値を選択し、検査行列の列重みの総和が−N'×logP0以下となるように列重みに偏りを持たせて構成した所定の重み分布を満たす低密度パリティ検査行列(N×N')を用いて、入力情報系列から低密度パリティ検査符号を生成する誤り訂正符号化装置において、行の重みと同数の巡回置換行列を配置した行を前記所定の重み分布を満たす行数分連続させ、かつ行の重みを漸次的に増加乃至減少させるように構成した前記低密度パリティ検査行列を出力する低密度パリティ検査行列出力手段を備えたことを特徴とするものである。

この発明に係る誤り訂正符号化装置によれば、擬似巡回行列を使用して確定的な組織的低密度パリティ検査符号を構成したので、短い符号長の場合であっても、高効率に消失訂正を行うことが可能となる。
この発明の実施の形態による符号化装置と復号装置との構成を示すブロック図である。 この発明の実施の形態による低密度パリティ検査行列の構成例である。 この発明の実施の形態による低密度パリティ検査符号生成処理のフローチャートである。 この発明の実施の形態による復号処理のフローチャートである。 所定の列重みの行列において列重み0の列が発生する確率分布を示す図である。 列重みを固定した場合の確率分布とポアソン分布とを示す図である。
以下、この発明をより詳細に説明するために、この発明を実施するための最良の形態について、添付の図面に従って説明する。
実施の形態1.
以下、この発明による誤り訂正符号化装置と復号装置について説明する。ここでは、この発明の誤り訂正符号化方法とこの符号化方法に対応する復号方法とを具体的に説明するために、ネットワークを介して情報を伝送する系での構成例を用いる。
[装置構成]
図1は、かかる符号化装置と復号装置の構成を示すブロック図である。図において、符号化装置1は、情報を送信する側に配置されたこの発明による誤り訂正符号化装置であって、情報ビット2の入力を受け付けて、誤り訂正符号化を施し、符号化の結果として得られた信号をネットワーク3に伝送する装置である。また復号装置4はこの発明による誤り訂正符号化方法に対応する復号装置であって、ネットワーク3を介して符号化装置1が送信した情報を受信し、情報ビット5を復号する装置である。なお、ネットワーク3は情報を伝送する媒体であれば有線、無線の別を問わない。
符号化装置1は、パケット生成部11、符号化部12、検査行列記憶部13、送信部14とを備えている。パケット生成部11は、外部から情報ビット2の入力を受け付けて、パケットサイズ長L(ビット)の単位でパケットの位置番号を伴った入力パケット系列15を生成する部位である。以下の説明において、パケット系列15に含まれるパケットの総数をk(kは自然数)、パケット系列15の各要素をIP(1),IP(2),…,IP(k)と表す。なお、各系列の引数を位置番号である。
符号化部12は、入力パケット系列14に低密度パリティ検査符号化(Low Density Parity Check:LPDC符号化)を施して、符号化パケット系列16を生成する部位である。符号化パケット系列16は、消失訂正用に符号化されたものであって、個数N(Nは自然数)のパケットを含むものとする。以下において、符号化パケット系列16に含まれる各パケットをC(1),C(2),…,C(N)と表す。
符号化パケット系列16は、後に復号装置2の復号処理において参照されることにより、元のパケット系列15が復号されるように構成されていなければならない。そこで、符号化部12は、「入力パケット系列15の各要素IP(1)〜IP(K)を変数ノード」、「符号化パケット系列16の各要素C(1)〜C(N)をチェックノード」として、変数ノード、チェックノード、さらには変数ノードとチェックノードとを結ぶ枝、によって2部グラフが構成されるように、符号化パケット系列15を生成する。この場合において、チェックノードに接続されている枝の数を「重み」と呼ぶ。
検査行列記憶部13は、請求項1の低密度パリティ検査行列出力手段の例をなすものであって、所定の重み分布Dを満たすような2元の低密度パリティ検査行列H(以下、単に検査行列Hという)を記憶し、符号化部12に検査行列Hを出力する部位である。検査行列記憶部13が記憶する検査行列Hの構成と重み分布Dの求め方については後述する。
送信部14は、符号化部12が生成したパケット系列に対して変調等の処理を施した後に、このパケット系列を光又は電気信号、無線信号等ネットワーク3に適合する信号形式で送出する部位であって、その構成は採用するネットワーク3に依存する。
復号装置2は、受信部21、復号部22、索引算出テーブル記憶部23、情報ビット再生部24を備えている。受信部21は、送信部13によって送信されネットワーク3によって伝送された信号を受信する部位であり、受信部21が受信した信号は受信パケット系列25として出力される。
復号部22は、受信パケット系列25の消失訂正符号を復号する部位である。復号部22の復号結果は、復号済みパケット系列25として出力される。なお、復号部22は、受信部21が受信に成功した受信パケット系列24のみを受け取るため、受信パケット系列24に含まれるパケットは、送信側のパケット系列16の一部が欠落したもの、例えばC(1),C(3),C(7),…,C(N)のようになる。復号部22は、受信パケット系列24から復号済みパケット系列25として、IP(1),IP(2),…,IP(K)を復号する。
索引算出テーブル記憶部23は、索引算出テーブルを記憶する記憶装置である。索引算出テーブルは検査行列の行成分間の関係を保持するものであって、検査行列の一部の行がネットワーク3を介する送信によって欠落してしまった場合であっても、受信に成功した行成分を組み合わせて簡易な演算を行うことで欠落した行成分を復元できるようにするものである。
最後に情報ビット再生部24は、復号部22が出力する復号済みパケット系列25の入力を受け付けて、情報ビット5に変換し出力する部位である。
[符号化側の動作説明]
次に、この発明の実施の形態による符号化装置1の動作について説明する。パケット生成部11は、情報ビット2として情報ベクトルx=(x12 … xk)∈F2 k、{0,1}∈F2を外部から取得する。以降においては、説明を簡略化するために1パケットのサイズLの値を1とする。その結果、パケット生成部11が生成するパケット系列15のIP(1),IP(2),…,IP(K)と情報ベクトルxとの間には、x1=IP(1),x2=IP(2),x3=IP(3),…,xK=IP(K)という関係が成立する。以下、パケット系列15をx1,x2,…,xKと表す。
符号化部12は、検査行列記憶部13によって記憶される検査行列Hを用いてパケット系列15を符号化し、符号化パケット系列16を生成する。検査行列HはN×Kの2元検査行列であって、1と0のみの成分から構成された検査行列である。なお、Nは符号長であって、Kは情報長である。
検査行列Hは、所定の重み分布Dを満たす検査行列であって(構成条件1)、検査行列Hの列方向において値が1となる成分を、なるべく行列内において均一に分散させた(構成条件2)構成となっている。かかる検査行列Hの構成方法の詳細は後述することとして、ここではまずこのような条件を満たす検査行列Hの実例に基づいた符号化処理を説明する。
図2は、検査行列Hの構成例を示す図である。図においてAは巡回置換行列(部分行列)である。またA以外の成分はすべて0である。行列Aは、列重み1、行重み1のp×pの巡回置換行列である。例えばp=3の場合に、Aの成分を完全な形で示すとすれば、次の(1)〜(3)のようになる。
Figure 0004917023
図2に示した検査行列Hの特徴の1つは、ある行の重みとなる行が重み分布Dを満たす行数分だけ連続し、さらにそれらの行に隣接して行の重みを漸次的に増加させる行が連続することにある。つまり、構成条件1に基づいて、重み分布Dを満たす重みwとなる行の数をR(w)とすると、1行目からp行目までが行重み1(w=1)の行となり、p+1行目から(p+R(2))行目までは行重み2(w=2)の行、(p+R(2)+1)行目から(p+R(2)+R(3))行目までは行重み3(w=3)の行、というように同じ行重みの行が連続した後、その次に大きい行重みの行が連続する、という構成となっている点にある。
なお、ここでは行重みが漸次的に増加する構成のみを示しているが、漸次的に減少する構成も同様の効果を有することはいうまでもない。
加えて、図2に示した検査行列Hは、Aが巡回置換行列であるために、行重みが同じ行の範囲(例えば、行重み2の場合は、p+1行目から(p+R(2))行目まで)では、前の行の成分を巡回シフトすることで次の行の成分を得ることができるという特徴も有している。
このように構成することで、検査行列記憶部13は各行重みの最初の行のみを記憶しておけばよく、その他の行の成分については重み分布Dに基づいて符号化時に展開することが可能となる。すなわち記憶容量の削減につながる。
またそのように記憶容量を削減するものであるにもかかわらず、巡回シフト演算という極めて計算負荷の軽い演算のみで検査行列における次の行の成分復元できるという効果も有する。
なお、構成条件2は、値が1となる成分が一部の列に偏ってしまった結果、検査行列に1のない列が存在することによって、行列のランクが情報ベクトルの要素数よりも小さくなり、情報ベクトルの復号が行えない状況が生じるという問題を回避するための条件である。この条件に従って検査行列Hを構成する方法については、後に詳述する。
以降の説明では、符号化処理を具体的に説明するために、検査行列の多項式表現を導入する。巡回置換行列Aのi行目を表現する巡回多項式をIi(x)とすると、Ii(x)=a00+a11+…ap-1p-1,aj∈{0,1}と表現することができる。例えば、巡回置換行列Aが数1で示した行列(1)となる場合、行番号i,1≦i≦pに対して、Ii(1)=g(i-1)mod pとなる。また巡回置換行列Aが数1で示した行列(2)となる場合、Ii(2)=gi mod pとなる。巡回置換行列Aが数1で示した行列(3)の場合、Ii(3)=g(i+1)mod pとなる。このように、巡回置換行列のj(1≦j≦p)列目の要素はgj-1と係数aj∈{0,1}との積として表現される。
p×p巡回置換行列Aと同様に、N行K列の行列である検査行列Hの各行も多項式表現が可能である。検査行列Hのn行目の多項式表現をyn=b00+b11+…bK-1K-1,bj∈{0,1}とする。検査行列記憶部13は、検査行列Hの特徴に基づいて重みwの最初の行の多項式の係数のみを記憶しているものとする。
次に、符号化部12は検査行列記憶部13によって記憶されている検査行列に基づいて情報ベクトルの符号化を行う。図3は符号化部12における符号化処理のフローチャートである。この処理を行うに先立って、予め行重みの最大値をwmaxとして定めておく。まず符号化部12は重みwを1に初期化する(ステップS101)。続いて、カウンタ変数iを0に初期化する(ステップS102)。
このような初期化の後、符号化部12は、検査行列記憶部13よりwに対する多項式ys(w)=b0 s(w)0+b1 s(w)1+…bK-1 s(w)K-1,bj s(w)∈{0,1}の係数ベクトルbs(w)=(b0 s(w)1 s(w) … bK-1 s(w))を取得する(ステップS103)。
そして情報ベクトルxに対する重みwの符号語cをcs(w)+i=bs(w)+i×xTとして算出する(ステップS104)。なおxTはxの転置を表す。ここで、係数ベクトルbs(w)+iは以下のように巡回シフトして構成するものとする。
s(w)=(b0 s(w)1 s(w) … bK-1 s(w))
s(w)+1=(bK-1 s(w)0 s(w) … bK-2 s(w))
s(w)+2=(bK-2 s(w)K-1 s(w) … bK-3 s(w))
: :
iに1を加えて(ステップS105)、1を加えた後のiがs(w)−s(w+1)−1を越えたか否かを判定する(ステップS106)。その結果、iがs(w)−s(w+1)−1以下である場合(ステップS105:No)には、ステップS103に戻る。
一方、iがs(w)−s(w+1)−1を越えている場合(ステップS105:Yes)は、wに1を加える(ステップS107)。wに1を加えた後、wがwmaxを越えたか否かを判定し(ステップS108)、wがwmax以下である場合(ステップS108:No)にはステップS102に戻る。またwがwmaxを越えた場合(ステップS108:Yes)は処理を終了する。
送信部14は、符号化部12によって符号化された符号語ベクトルをネットワーク3に送出する。これによって符号化側の動作が完了する。
[復号側の動作説明]
復号装置4の受信部21がネットワーク3から符号語ベクトルを受信すると、復号部22は、受信パケット系列24の消失訂正符号を復号することで復号済みパケット系列25を生成する。受信部21が受信に成功した符号語ベクトルの要素(チェックノード)の個数を(1+ε)K個とし、符号語ベクトルをc’∈F2 (1+τ)Kとする。
復号部22は、索引算出テーブル記憶部23によって記憶される索引算出テーブルを参照しながら情報系列の要素の復元を行う。そこで、索引算出テーブルの構成について説明する。
例えば、数1の行列(1)を用いて検査行列Hが構成されている場合、行重み1の開始行をs1=1、行重み2の開始行をs2、行重み3の開始行をs3、…とすると、非負の整数i,a,b,cに対して
行重み1の部分行列の多項式表現は、ys1+i=y1+i=gi
行重み2の部分行列の多項式表現は、ys2+i=gi+g(a+i)
行重み3の部分行列の多項式表現は、ys3+i=gi+g(b+i)+g(c+i)
となる。ここでgiは情報系列のi番目の要素に対応する。
ここでb=2aとすると、行重み3の部分行列ys3+iは、ys3+i=gi+g(2a+i)+g(c+i)となる。そこで、ys2+i+ys3+a+i+ys3+iを求めると、
s2+i+ys3+a+i+ys3+i
=gi+g(a+i)+g(a+i)+g(2a+i)+gi+g(2a+i)+g(c+i)
=g(c+i)
となって、g(c+i)を導出できる。このことは{s2+i,s3+a+i,s3+i},0≦iを満たす行番号のパケットの受信が成功していれば、g(c+i)を求めることができることを意味している。索引算出テーブルは、行番号に対応する多項式の加算のみで、部分的に欠落した他の行番号の多項式が存在していても特定の情報系列の要素を復元できる行番号の関係を保持するテーブルである。
このようなテーブルを設けることによって、欠落した行番号が存在していても、簡易に特定の情報系列の要素を復元することが可能となる。また、各多項式は巡回構造であるから巡回構造の周期をqとすれば、およそ周期q個分を同一の算法で計算できる。
続いて復号部22の復号処理について説明する。図4は復号部22の復号処理のフローチャートである。復号部22では、2元の連立一次方程式を解く要領で以下の手順により、復号を行う。但しi≠j≠k≠lとする。まずc’の各要素に対応する行番号に対し、1つまたは複数の算出索引テーブルと一致する組み合わせを検索する(ステップS201)。
続いて、算出索引テーブルと一致した行番号(チェックノードの番号に一致)に対応する多項式の組み合わせを用いて、その各多項式を加算して重み1のチェックノードciを算出し、そのciに接続する変数ノードxjの値をxj=ciから定める(ステップS202)。既知となった変数ノード(その個数をbとする)に接続する重みb+1のチェックノードckに式(4)のように加算し、未知の変数ノードxlを求める(ステップS203)。
Figure 0004917023
なお、Σxjはチェックノードckに接続する既知となったb個の変数ノードすべての加算値である。
次に、既知となったb個の変数ノードに接続する重みb+1のチェックノードが存在していたら(ステップS204:Yes)、ステップS203に戻る。それ以外の場合は終了する。
このように、索引算出テーブルを設けたことによって、極めて簡易に特定の情報系列の要素の復元を行うことができる。
以上がこの発明の実施の形態による符号化処理と復号処理の説明であるが、次にこの発明の実施の形態で用いられる検査行列の構成方法について説明する。まず最初に検査行列が構成条件1として満たす重み分布の導出方法について説明し、次に構成条件2の検査行列Hの列方向において値が1となる成分を、なるべく行列内において均一に分散させるための構成方法について説明する。
[重み分布Dの導出方法]
重み分布Dは復号法に依存する。この発明の実施の形態では、後述するようにガウス消去法をベースにした復号法である。ここで再構成した検査行列に1のない列が存在するために、再構成した検査行列のランクがK未満になってしまう場合は、ガウス消去法では復号できないこととなる。また、ガウス消去法では検査行列の持つ1の数が多いほど、演算時間が大きくなる。
このような問題を回避するためには、すべての列に所定の確率以上で1が存在する必要がある。そこで、少ない総重みで達成するためには列重みの平均値が低くかつ列に存在する“1”の数が“0”である確率を低くすることが望ましいことになる。
再構成された検査行列に1のない列が存在する確率を小さくするために、従来のようにランダムに構成する方法に替えて、検査行列のすべての列重みが十分な大きさになるよう規制する。符号語ベクトルの長さがN、情報ベクトルの長さがKであり、列重みがλである検査行列からランダムにN’(N’はN以下の自然数)行抽出した行列の重みxの列が存在する確率g(x)は、式(5)によって算出される。
Figure 0004917023
各列重みλに対して、再構成した検査行列に1のない列が存在する確率を式(5)から算出し、算出した確率とλとの関係を図示すると、図5のようになる。なお、ここではN=150、N'=100としている。この図から、列重みを4以上とすれば、1のない列が存在する確率を1%程度以下に抑えられることがわかる。
列重みが4の検査行列(N×N’)からN’行抽出して再構成した検査行列の列重みの分布を図6に示す。ここでは、N=150、N’=100としている。また同図では、比較のために同じ列重みλ=4を持ち、LT符号のようにランダムに検査行列を構成した場合に、N’行抽出して再構成した検査行列の列重み分布についても示している。ランダムに符号を構成した場合の列重み分布は、平均λ×N’/Nのポアソン分布となり、重みxの列が存在する確率f(x)は式(6)から算出される。
Figure 0004917023
図6から同じ列重みであってもランダムに構成した場合と列重みを確定させた場合とでは、後者の方が1のない列が存在する確率が小さくなり、ガウス消去法で復号するのに有利である。
重みの存在確率が最も高くなる重みをxmaxとすると、列重みを固定した場合の特徴は重み0から重みxmaxまでは存在確率の上昇率が高いが、xmax以降は存在確率の下降率が低いことである。このためランダムに構成するよりも、xmaxを低く抑え重み0の存在確率を小さくできる。0の存在確率を小さくできるという性質によりケース1の問題を回避することにつながる。xmaxを低く抑えこむことができるという性質により、計算量の低減に効果がある。列重みを小さくすることができれば、ガウス消去法の際に行同士の加算数を少なくすることにつながるからである。
ガウス消去法の演算において、後に演算される列ほど列重みが大きい方が良い。同じ行に1を持つ列同士の加算によって、1の存在する列でも1が対角成分とならずガウス消去法を失敗することがあるからである。そこで、ガウス消去法を行う方向と逆から列重みを大きくとるような列重みが不均一な構成とする。
このように、列重みを不均一に固定した確率分布に従って重み分布を導出すると有利である。そこで、この発明の実施の形態による検査行列では、上記分布に従って重み分布Dを導出し、その重み分布Dに基づいて検査行列を構成する。次に重み分布の導出方法を具体的に説明する。
まず、列重み0の存在確率の上限確率P0を設定する。続いて検査行列の列重みの総和の上限を決める。ランダムに構成した場合の総和を上限として、列重みが0となる確率をP0とするためにはf(0)=e=P0であるから、列重みの総和の上限N’×λ=−N’×logP0を算出する。列重み0の存在確率がP0以下となるように列重みの最小値を選び、総和が−N’×logP0以下となるように列重みに偏りを持たせて構成する。列重みはガウス消去法を行う方向と逆から大きくなるように線形に大きくしていく。
なお、上述の手順は列重みの存在確率の上限P0のみを入力すれば、計算機で各重みの行数を算出することが可能である。また、システムの設計時にこの方法に基づいて重み分布を算出しておき、算出した重み分布に従うように検査行列を構成してもよい。
なお、ここで説明した手順では、不均一な列重みを線形に算出したが、2次曲線など非線形な式で算出して検査行列を構成しても構わない。
[検査行列の構成方法]
次に、検査行列Hの構成方法について説明する。検査行列Hの構成条件1については、重み1の行を重み分布Dに従って最初に配置し、次に重み2の行を重み分布Dに従って配置し、…、というように、行の重みと同数の巡回置換行列を配置した行を重み分布Dを満たす行数分連続させ、かつ行の重みを漸次的に増加又は減少させるようにすることで、構成条件1を満たすことができる。
重みを漸次的に増加又は減少させるように検査行列を構成することで、多項式あるいは検査行列の一部の成分のみを記憶しておけばよく、また記憶されていない成分を符号化時に展開する場合にも演算量が増大することがほとんどないことはすでに述べた通りである。
次に構成条件2を満たす多項式yn(検査行列Hのn行目の行を表す多項式)は次のように設定される。情報長(検査行列Hの総次数)をK、検査行列Hにおいて重み分布Dを満たす行重みwの行数をR(w)、検査行列Hにおいて、行重みwとなる部分行列の開始行をs(w)とすると、行重みwとなる部分行列の行位置はs(w)+i,i=0,1,…,R(w)−1となる。そうすると多項式はys(w)+iとなる。
まずに多項式yiに次数iの項と次数K−R(w)+1+iの項を設ける。すなわち多項式ys(w)+ii
s(w)+i=gi+…+g(K-R(w)+1+i),i=0,1,…,R(w)−1
となる。ここでは、次数iを最小次数、次数K−R(w)+1+iを最大次数と呼ぶ。
さらにwが2を越える場合は、w−2個の次数の項(この項の次数を中間次数という)を最小次数と最大次数の間の次数から均等な間隔となるように選択し、選択した次数の項をさらに設ける。例えば、行重みw=3で情報長K=100,R(3)=5(行重み3の行が5行存在するということ)の場合、最小次数はi、最大次数はK−R(w)+1+i=100−5+1+i=96+iとなる。そこで、w−2=3−2=1となって、中間次数の項としてiと96+iの中間から1つの項48+iが選択される。したがって、w=3の場合の多項式ys(3)+i
s(3)+i=gi+…+g47+i=gi+g48+i+g96+i,i=0,1,…,4
とする。
こうすることで、検査行列Hの1の分布ができるだけ偏らない分布とすることが可能となる。
以上のように、この発明の実施の形態の符号化装置によれば、低密度パリティ検査符号を生成する際、所定の重み分布を満たす低密度パリティ検査行列として、重みと同数の巡回置換行列を配置した行を前記所定の重み分布を満たす行数分連続させ、かつ行の重みを漸次的に増加乃至減少させるように構成した前記低密度パリティ検査行列を用いるようにしたので、乱数系列を用いる従来の方法に比べて性能が向上するという効果を奏する。
この発明は、消失訂正誤り符号を用いる通信システムや信号伝送を行う機器等に幅広く適用することが可能である。

Claims (4)

  1. 列重み0の存在確率がP0(設定された列重み0の存在確率の上限確率)以下となるように列重みの最小値を選択し、検査行列の列重みの総和が−N'×logP0以下となるように列重みに偏りを持たせて構成した所定の重み分布を満たす低密度パリティ検査行列(N×N')を用いて、入力情報系列から低密度パリティ検査符号を生成する誤り訂正符号化装置において、
    行の重みと同数の巡回置換行列を配置した行を前記所定の重み分布を満たす行数分連続させ、かつ行の重みを漸次的に増加乃至減少させるように構成した前記低密度パリティ検査行列を出力する低密度パリティ検査行列出力手段、
    を備えたことを特徴とする誤り訂正符号化装置。
  2. 前記低密度パリティ検査行列出力手段は、前記低密度パリティ検査行列において重みw(wは自然数)の行が開始する開始位置をs(w)とした場合に、s(w)行からs(w+1)行までの中のいずれかの行の成分を予め記憶して出力するとともに、
    前記低密度パリティ検査行列出力手段が出力する行の成分以外の行を前記行の成分を巡回シフトすることによって復元し、復元した行と前記低密度パリティ検査行列出力手段が出力する行を用いて入力情報系列から低密度パリティ検査符号を生成する低密度パリティ検査符号化手段、
    を備えたことを特徴とする請求項1記載の誤り訂正符号化装置。
  3. 前記低密度パリティ検査行列出力手段は、前記所定の重み分布をポアソン分布に従う重み分布としたことを特徴とする請求項1記載の誤り訂正符号化装置。
  4. 低密度パリティ検査行列出力手段は、重みをw(wは3以上の自然数)となる行からなる部分行列の行数をR(w)、重みwの行が開始する開始位置をs(w)、情報長をK(Kは自然数)、前記部分行列内の行位置をi(0≦i≦R(w)−1)として、行位置iの行のi列目と(K−R(w)+1+i)列目とを1とするとともにi列目と(K−R(w)+1+i)列目との間に(w−2)個の1がほぼ等間隔に分布するように巡回置換行列を配置することで構成された前記部分行列を出力することを特徴とする請求項1記載の誤り訂正符号化装置。
JP2007512868A 2005-03-31 2006-03-30 誤り訂正符号化装置 Expired - Fee Related JP4917023B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007512868A JP4917023B2 (ja) 2005-03-31 2006-03-30 誤り訂正符号化装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005101134 2005-03-31
JP2005101134 2005-03-31
JP2007512868A JP4917023B2 (ja) 2005-03-31 2006-03-30 誤り訂正符号化装置
PCT/JP2006/306696 WO2006106841A1 (ja) 2005-03-31 2006-03-30 誤り訂正符号化装置

Publications (2)

Publication Number Publication Date
JPWO2006106841A1 JPWO2006106841A1 (ja) 2008-09-11
JP4917023B2 true JP4917023B2 (ja) 2012-04-18

Family

ID=37073397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007512868A Expired - Fee Related JP4917023B2 (ja) 2005-03-31 2006-03-30 誤り訂正符号化装置

Country Status (7)

Country Link
US (1) US8122324B2 (ja)
EP (1) EP1871010A4 (ja)
JP (1) JP4917023B2 (ja)
KR (1) KR20070116904A (ja)
CN (1) CN101147326B (ja)
CA (1) CA2602067A1 (ja)
WO (1) WO2006106841A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117514B2 (en) 2006-11-13 2012-02-14 Qualcomm Incorporated Methods and apparatus for encoding data in a communication network
US8196014B2 (en) 2007-06-29 2012-06-05 Mitsubishi Electric Corporation Check matrix generating device, check matrix generating method, encoder, transmitter, decoder, and receiver
US8139655B2 (en) 2008-06-09 2012-03-20 Sony Corporation System and method for effectively transferring electronic information
WO2010073922A1 (ja) 2008-12-25 2010-07-01 日本電気株式会社 誤り訂正符号化装置、復号装置、符号化方法、復号方法、及びそのプログラム
US8732545B2 (en) * 2008-12-26 2014-05-20 Panasonic Corporation Encoding method and encoder for generating a low-density parity check convolutional code and decoder for decoding a low-density parity check convolutional code using belief propagation
US8713398B2 (en) * 2011-03-22 2014-04-29 Nec Corporation Error correct coding device, error correct coding method, and error correct coding program
US8862967B2 (en) 2012-03-15 2014-10-14 Sandisk Technologies Inc. Statistical distribution based variable-bit error correction coding
US9020958B2 (en) 2012-12-11 2015-04-28 International Business Machines Corporation Efficient sorting of large dimensional data
JP2016213701A (ja) * 2015-05-11 2016-12-15 富士通株式会社 誤り訂正方法、半導体装置、送受信モジュールおよび伝送装置
JP7124276B2 (ja) 2017-08-14 2022-08-24 富士通株式会社 伝送装置、及び誤り訂正方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004006444A1 (ja) * 2002-07-02 2004-01-15 Mitsubishi Denki Kabushiki Kaisha 検査行列生成方法および検査行列生成装置
JP2005045735A (ja) * 2003-07-25 2005-02-17 Sony Corp 符号検出装置及び方法、復号装置及び方法、並びに情報処理装置及び方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6789227B2 (en) * 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
JP3893383B2 (ja) * 2002-02-28 2007-03-14 三菱電機株式会社 Ldpc符号用検査行列生成方法および検査行列生成装置
JP2004015551A (ja) 2002-06-07 2004-01-15 Sumitomo Electric Ind Ltd 中継装置、中継用プログラム及び自律型誤り訂正ネットワーク
CN1593012B (zh) * 2002-07-03 2015-05-20 Dtvg许可公司 一种用于通信系统中编码信号的装置和方法
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US7120856B2 (en) 2002-09-25 2006-10-10 Leanics Corporation LDPC code and encoder/decoder regarding same
KR100996029B1 (ko) * 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
US20050160351A1 (en) * 2003-12-26 2005-07-21 Ko Young J. Method of forming parity check matrix for parallel concatenated LDPC code
CN100364237C (zh) * 2004-02-09 2008-01-23 清华大学 非规则低密度奇偶校验码的系统码设计方法及其通信系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004006444A1 (ja) * 2002-07-02 2004-01-15 Mitsubishi Denki Kabushiki Kaisha 検査行列生成方法および検査行列生成装置
JP2005045735A (ja) * 2003-07-25 2005-02-17 Sony Corp 符号検出装置及び方法、復号装置及び方法、並びに情報処理装置及び方法

Also Published As

Publication number Publication date
CN101147326B (zh) 2010-08-18
US8122324B2 (en) 2012-02-21
WO2006106841A1 (ja) 2006-10-12
EP1871010A8 (en) 2008-03-05
US20090031186A1 (en) 2009-01-29
CN101147326A (zh) 2008-03-19
KR20070116904A (ko) 2007-12-11
EP1871010A4 (en) 2008-06-18
CA2602067A1 (en) 2006-10-12
JPWO2006106841A1 (ja) 2008-09-11
EP1871010A1 (en) 2007-12-26

Similar Documents

Publication Publication Date Title
JP4917023B2 (ja) 誤り訂正符号化装置
US10326478B2 (en) Apparatus and method for encoding and decoding data in twisted polar code
US8438459B2 (en) Apparatus and method for decoding using channel code
US7395494B2 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
US7992066B2 (en) Method of encoding and decoding using low density parity check matrix
CN101032082B (zh) 编码和解码数据的方法和设备
US20180287639A1 (en) Transmission apparatus and method, and reception apparatus and method
US7523375B2 (en) Set of irregular LDPC codes with random structure and low encoding complexity
US8347170B2 (en) Method and apparatus for performing decoding using LDPC code
KR101529360B1 (ko) 부호화기, 복호화기 및 부호화 방법
US20090019333A1 (en) Generation of parity-check matrices
KR20080033381A (ko) 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기
EP1782540B1 (en) Method of encoding and decoding using low density parity check code
JP6817414B2 (ja) 2のべき乗でない長さに拡張されたポーラ符号の符号化および復号化
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
JP5523064B2 (ja) 復号装置及び方法
JP5642651B2 (ja) 復号装置、符号化復号システム、符号化復号方法、及び復号プログラム
Mahdi et al. An encoding scheme and encoder architecture for rate-compatible QC-LDPC codes
Fan et al. Polytope codes for large-alphabet channels
Mahdi et al. Simplified multi-level quasi-cyclic LDPC codes for low-complexity encoders
Sagingalieva et al. Adaptive algorithms of error correction and error estimation in quantum cryptography
US11777524B2 (en) Method for supporting rate-compatible non-binary LDPC code, and wireless terminal using same
Vaezi et al. Extended subspace error localization for rate-adaptive distributed source coding
Tang et al. Bitplane coding for correlations exploitation in wireless sensor networks
Veresova et al. Estimation of Independent Errors and Bursts Correction Capability of Linear Codes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111209

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: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120125

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4917023

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees