JP2017224874A - 符号化装置、伝送装置及び符号化方法 - Google Patents
符号化装置、伝送装置及び符号化方法 Download PDFInfo
- Publication number
- JP2017224874A JP2017224874A JP2016116861A JP2016116861A JP2017224874A JP 2017224874 A JP2017224874 A JP 2017224874A JP 2016116861 A JP2016116861 A JP 2016116861A JP 2016116861 A JP2016116861 A JP 2016116861A JP 2017224874 A JP2017224874 A JP 2017224874A
- Authority
- JP
- Japan
- Prior art keywords
- bit string
- parity
- matrix
- initial value
- unit
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
- H03M13/036—Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
- H03M13/1194—Repeat-accumulate [RA] codes
- H03M13/1197—Irregular repeat-accumulate [IRA] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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 using block codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
Abstract
【課題】エラーフロアを改善できる符号化装置等を提供する。【解決手段】符号化装置は、パリティ検査行列と、算出部と、選択部と、合成部とを有する。パリティ検査行列は、対角線上の行列及び、前記対角線上の1行下及び所定行下の巡回行列を有するパリティ演算行列と、情報演算行列とを有する。算出部は、メッセージのビット列の入力に応じて、パリティ検査行列内のパリティ演算行列及び情報演算行列で指定する演算式でパリティビット列を算出する際に使用するパリティビットの所定行数分の後方ビット列に全通りの初期値を設定して、初期値毎にパリティビット列を算出する。選択部は、初期値毎のパリティビット列の後方ビット列が初期値と一致する場合に当該初期値のパリティビット列を選択する。合成部は、選択されたパリティビット列とメッセージのビット列とを結合して符号語を出力する。【選択図】図4
Description
本発明は、符号化装置、伝送装置及び符号化方法に関する。
近年、光伝送システムのデジタルコヒーレント受信器では、例えば、BCH符号やRS(Reed-Solomon)符号等の硬判定符号に比べて誤り訂正能力の高い軟判定符号であるLDPC(Low-Density Parity Check)符号のFEC(Forward Error Correction)がある。図12は、LDPC符号及び(LDPC符号+硬判定符号)を使用した誤り訂正のBER−SNR特性の一例を示す説明図である。図12に示すBER−SNR特性には、ウォータフォール及びエラーフロアを有し、ウォータフォールが急峻で、かつ、エラーフロアがなるべく低い位置にある場合に誤り訂正能力が高くなる。しかしながら、LDPC符号を使用した誤り訂正のBER−SNR特性では、光伝送システムに求められる伝送品質(BER(Bit Error Rate)≦1e-15)を達成できず、エラーフロアが生じる。
そこで、LDPC符号と硬判定符号とを組み合わせることで、図12に示すように、エラーフロアを抑制し、光伝送システムの伝送品質BER≦1e-15を達成できる。しかしながら、LDPC符号の他に、硬判定符号のFECも必要になるため、回路規模及び消費電力が増加する。
図13は、LDPC符号の列重み2以下のパリティ検査行列の一例を示す説明図である。パリティ検査行列では、図13に示すように、列重みが2以下の場合にエラーフロアの位置が高くなることが知られている。そこで、列重みが2以下の列が存在しないようにパリティ検査行列を設計することでエラーフロアが抑制できる場合が多く、しかも、ウォータフォールの傾きも急峻になる。
また、符号化装置の設計及び実装が容易で、誤り訂正能力が高い符号化方法として、RA(Repeat Accumulate)符号が知られている。図14は、RA符号のパリティ検査行列H20の一例を示す説明図である。図14に示すパリティ検査行列H20は、パリティビット列を演算する演算式を指定する行列である。パリティ検査行列H20は、メッセージのビット列の所定ビットの要素を代入する際の演算式に使用する情報演算行列H21と、パリティビットのビット列の所定ビットの要素を代入する際の演算式に使用するパリティ演算行列H22とを有する。情報演算行列H21は、ランダムな構造に近い行列であって、例えば、D1〜D3の3列×6行の行列である。パリティ演算行列H22は、対角線上の行列及び、その対角線から1行下の行列に規則的に“1”要素が配置される構造のP1〜P6の6列×6行の行列である。しかしながら、RA符号のパリティ演算行列H22は、列重みが2以下の構成であるため、エラーフロアが高くなる。そこで、パリティ演算行列H22の列重みを3以上の構成にしてエラーフロアを抑制する方法として、w3RA(Weight-3 Repeat Accumulate)符号がある。図15は、w3RA符号のパリティ検査行列H30の一例を示す説明図である。図15に示すw3RA符号のパリティ検査行列H30は、情報演算行列H31と、パリティ演算行列H32とを有する。パリティ演算行列H32は、対角線上の行列及び、対角線から1行下の行列の他に、対角線から3行下の行列に規則的に“1”要素が配置される構造の下三角行列である。
図16は、図15に示すパリティ検査行列H30を使用してメッセージを符号化する際の演算の一例を示す説明図である。尚、メッセージuは、[u1,u2,u3]で構成し、例えば、[101]とする。符号語cは、データ[u1,u2,u3]と、パリティビット列[p1,p2,p3,p4,p5,p6]とを結合して、[u1,u2,u3,p1,p2,p3,p4,p5,p6]で構成する。パリティ検査行列H30の列毎に0(mod2)演算を使用してパリティビット列内の各パリティビットを順次算出する。
パリティ検査行列H30の1行目は、要素“1”に着目し、D1+D2+P1=0の0(mod2)演算の演算式となる。そして、演算式は、u1=1及びu2=0を代入して1+0+P1=0でP1=1とし、P1対応のパリティビットp1としてp1=1を算出する。パリティ検査行列H30の2行目は、要素“1”に着目し、D1+D3+P1+P2=0の0(mod2)演算の演算式となる。そして、演算式は、u1=1、u3=1及びP1=1を代入して1+1+1+P2=0でP2=1とし、P2対応のパリティビットp2としてp2=1を算出する。
パリティ検査行列H30の3行目は、要素“1”に着目し、D3+P2+P3=0の0(mod2)演算の演算式となる。そして、演算式は、u3=1及びP2=1を代入して1+1+P3=0でP3=0とし、P3対応のパリティビットp3としてp3=0を算出する。パリティ検査行列H30の4行目は、要素“1”に着目し、D2+P1+P3+P4=0の0(mod2)演算の演算式となる。そして、演算式は、u2=0、P1=1及びP3=0を代入して0+1+0+P4=0でP4=1とし、P4対応のパリティビットp4としてp4=1を算出する。
パリティ検査行列H30の5行目は、要素“1”に着目し、D1+P2+P4+P5=0の0(mod2)演算の演算式となる。そして、演算式は、u1=1、P2=1及びP4=1を代入して1+1+1+P5=0でP5=1とし、P5対応のパリティビットp5としてp5=1を算出する。パリティ検査行列H30の6行目は、要素“1”に着目し、D2+D3+P3+P5+P6=0の0(mod2)演算の演算式となる。そして、演算式は、u2=0、u3=1、P3=0及びP5=1を代入して0+1+0+1+P6=0でP6=0とし、P6対応のパリティビットp6としてp6=0を算出する。
その結果、パリティビット列[p1,p2,p3,p4,p5,p6]=[110110]となる。そして、符号化装置は、データ[u1,u2,u3]=[101]とパリティビット列[110110]とを結合して符号語c[101110110]を出力できる。
しかしながら、w3RA符号を採用した場合でも、図16に示すようにパリティ検査行列H30内のパリティ演算行列H32のP4、P5及びP6の列重みが2以下になるため、エラーフロアを改善できない。
一つの側面では、エラーフロアを改善できる符号化装置、伝送装置及び符号化方法を提供することを目的とする。
一つの態様では、符号化装置は、パリティ検査行列と、算出部と、選択部と、合成部とを有する。パリティ検査行列は、対角線上の行列及び、前記対角線上の1行下及び所定行下の巡回行列を有するパリティ演算行列と、情報演算行列とを有する。算出部は、メッセージのビット列の入力に応じて、パリティ演算行列及び情報演算行列で指定する演算式でパリティビット列を算出する際に使用するパリティビットの所定行数分の後方ビット列に全通りの初期値を設定して初期値毎にパリティビット列を算出する。選択部は、初期値毎のパリティビット列の後方ビット列が初期値と一致する場合に当該初期値のパリティビット列を選択する。合成部は、選択されたパリティビット列とメッセージのビット列とを結合して符号語を出力する。
一つの側面として、エラーフロアを改善できる。
以下、図面に基づいて、本願の開示する、符号化装置、伝送装置及び符号化方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。以下の各実施例は、適宜、組合せても良い。
図1は、実施例1の光伝送装置1の一例を示す説明図である。光伝送装置1は、OTU(Optical-channel Transport Unit)フレーマ11と、送信処理部12と、DAC(Digital Analog Converter)13と、第1のLD(Laser Diode)14と、送信側光モジュール15とを有する。更に、光伝送装置1は、受信側光モジュール16と、第2のLD17と、ADC(Analog Digital Converter)18と、受信処理部19とを有する。
OTUフレーマ11は、例えば、クライアント信号をOTUフレームに変換すると共に、OTUフレームからクライアント信号を抽出する処理部である。送信処理部12は、符号化部21と、予等化部22とを有する。符号化部21は、OTUフレーマ11からのOTUフレームを符号化して符号語cを出力する符号化装置である。予等化部22は、例えば、波長分散補償、周波数オフセット補償、光モジュールの入出力特性補償等の各種信号処理を実行する処理部である。DAC13は、OTUフレームをアナログ変換する処理部である。送信側光モジュール15は、アナログ変換されたOTUフレームを第1のLD14からの光信号で光送信する処理部である。
受信側光モジュール16は、第2のLD17からの光信号でOTUフレームを受信する処理部である。ADC18は、OTUフレームをデジタル変換する処理部である。受信処理部19は、等化部23と、復元部24と、復号部25とを有する。等化部23は、例えば、波長分散補償、周波数オフセット補償、偏波モード分散補償、波形歪み補償等の各種信号処理を実行する処理部である。復元部24は、搬送波位相を復元する処理部である。復号部25は、符号化データを復号する処理部である。復号部25は、パリティ検査行列を使用して符号語を繰り返し復号することで誤り訂正を実行する。
符号化部21は、w3RA符号のパリティ検査行列Hでデータを符号化して符号語cを出力する。符号化部21は、w3RA符号のパリティ検査行列Hを使用してデータを演算することでデータを符号化する。符号語cは、情報ビット列[u1,u2,u3]の3ビットと、パリティビット列[p1,p2,p3,p4,p5,p6]の6ビットとを結合した、合計9ビットのビット列[u1,u2,u3,p1,p2,p3,p4,p5,p6]である。
図2は、w3RA符号のパリティ検査行列Hの一例を示す説明図である。図2に示すパリティ検査行列Hは、パリティビット列を演算する演算式を指定する行列であって、情報演算行列H1と、パリティ演算行列H2とを有する。情報演算行列H1は、D1,D2,D3の3列×6行の行列である。情報演算行列H1は、例えば、メッセージのビット列の所定ビットの要素を代入する際の演算式に使用する行列である。パリティ演算行列H2は、P1〜P6の6列×6行の行列である。パリティ演算行列H2は、例えば、パリティビット列の所定ビットの要素を代入する際の演算式に使用する行列である。
パリティ演算行列H2は、対角線上の行列と、対角線から1行下の巡回行列と、対角線から所定行、例えば、3行下の巡回行列とに規則的に“1”要素が配置される構造である。対角線から1行下の巡回行列は、P1列の2行目、P2列の3行目、P3列の4行目、P4列の5行目、P5列の6行目、P6列の1行目に“1”要素を配置する。対角線から3行下の巡回行列は、P1列の4行目、P2列の5行目、P3列の6行目、P4列の1行目、P5列の2行目、P6列の3行目に“1”要素を配置する。その結果、パリティ演算行列H2は、P1〜P6の全列の列重みは3以上となる。従って、エラーフロアを低減できる。
パリティ検査行列Hの1行目はD1+D2+P1+P4+P6=0の0(mod2)演算の演算式、パリティ検査行列Hの2行目は、D1+D3+P1+P2+P5=0の0(mod2)演算の演算式となる。パリティ検査行列Hの3行目は、D3+P2+P3+P6=0の0(mod2)演算の演算式、パリティ検査行列Hの4行目は、D2+P1+P3+P4=0の0(mod2)演算の演算式となる。また、パリティ検査行列Hの5行目は、D1+P2+P4+P5=0の0(mod2)演算の演算式、パリティ検査行列Hの6列目は、D2+D3+P3+P5+P6=0の0(mod2)演算の演算式となる。パリティ検査行列H内の各行の演算式を使用してパリティビット列[p1,p2,p3,p4,p5,p6]を算出する。
図3は、実施例1の符号化部21の一例を示す説明図である。図3に示す符号化部21は、リピート部31と、インターリーバ部32と、結合部33と、アキュムレータ部34と、合成部35とを有する。リピート部31は、パリティ検査行列H内の情報演算行列H1の列の重みに応じてメッセージビットを複写する。リピート部31は、図2に示す情報演算行列H1の列重みが「3」であるため、3個のメッセージのビット列[u1,u2,u3]を複写する。
インターリーバ部32は、情報演算行列H1の行毎の“1”の配置状況に応じてビット列を並び替える。インターリーバ部32は、例えば、1行目の場合は[D1,D2,D3]の[110]であって、[D1,D2]のため、メッセージが[101]の場合、[10]となる。結合部33は、例えば、6個のEXOR(Exclusive-OR)33Aを有し、情報演算行列H1の行の重みに応じてビットを加算する。結合部33は、1行目の場合、[D1,D2,D3]の[110]であるため、D1+D2となる。尚、リピート部31、インターリーバ部32及び結合部33は、情報演算行列H1を構成し、図3に示すように、H1の重み(1)が回路の配線に相当する。例えば、1行目の場合、[D1,D2,D3]の[110]であるため、結合部33の1行目はu1及びu2のXORをとる。
アキュムレータ部34は、パリティ演算行列H2の構造に基づき、パリティビット列[p1,p2,p3,p4,p5,p6]を算出する。アキュムレータ部34は、例えば、w3RA符号のアキュムレータ部とし、後述する、EXOR51と、第1のシフトレジスタ52と、第2のシフトレジスタ53と、第3のシフトレジスタ54とを有する。合成部35は、メッセージのビット列[u1,u2,u3]と、パリティビット列[p1,p2,p3,p4,p5,p6]とを結合して符号語[u1,u2,u3,p1,p2,p3,p4,p5,p6]を出力する。
しかしながら、パリティ検査行列Hの1行目は、D1+D2+P1+P4+P5=0の演算式であり、D1=1及びD2=0は要素を代入できるものの、P1、P4及びP5は未知である。そこで、所定行ψ=3個相当のP4、P5及びP6のパリティビット列[p4、p5、p6]の各パターンは、第1の初期値〜第8の初期値の8通りである。第1の初期値は[000]、第2の初期値は[001]、第3の初期値は[010]、第4の初期値は[011]、第5の初期値は[100]、第6の初期値は「101」、第7の初期値は[110]、第8の初期値は[111]である。尚、この全パターンの内、1個だけ必ず、[p4,p5、p6]の正解がある。尚、所定行は、パリティ演算行列H2内の所定行下、すなわち3行下の巡回行列であるため、3となる。
図4は、実施例1のアキュムレータ部34の一例を示す説明図である。図4に示すアキュムレータ部34は、2^(所定行数)=2^3=8個のアキュムレータ部を内蔵している。アキュムレータ部34は、第1のアキュムレータ部41Aと、第2のアキュムレータ部41Bと、第3のアキュムレータ部41Cと、第4のアキュムレータ部41Dと、第5のアキュムレータ部41Eとを有する。アキュムレータ部34は、第6のアキュムレータ部41Fと、第7のアキュムレータ部41Gと、第8のアキュムレータ部41Hと、第1の選択部42とを有する。
第1のアキュムレータ部41Aは、EXOR51と、第1のシフトレジスタ52と、第2のシフトレジスタ53と、第3のシフトレジスタ54とを有する。尚、第2〜第8のアキュムレータ部41B〜41Hも、第1のアキュムレータ部41Aと同様にEXOR51、第1〜第3のシフトレジスタ52〜54を有する。
第1のアキュムレータ部41Aは、[p4,p5,p6]=第1の初期値[000]に設定し、その設定結果に基づく、パリティビット列[p1,p2,p3,p4,p5,p6]を算出する。第2のアキュムレータ部41Bは、[p4,p5,p6]=第2の初期値[001]に設定し、その設定結果に基づく、パリティビット列[p1,p2,p3,p4,p5,p6]を算出する。第3のアキュムレータ部41Cは、[p4,p5,p6]=第3の初期値[010]に設定し、その設定結果に基づく、パリティビット列[p1,p2,p3,p4,p5,p6]を算出する。
第4のアキュムレータ部41Dは、[p4,p5,p6]=第4の初期値[011]に設定し、その設定結果に基づく、パリティビット列[p1,p2,p3,p4,p5,p6]を算出する。第5のアキュムレータ部41Eは、[p4,p5,p6]=第5の初期値[100]に設定し、その設定結果に基づく、パリティビット列[p1,p2,p3,p4,p5,p6]を算出する。第6のアキュムレータ部41Fは、[p4,p5,p6]=第6の初期値[101]に設定し、その設定結果に基づく、パリティビット列[p1,p2,p3,p4,p5,p6]を算出する。第7のアキュムレータ部41Gは、[p4,p5,p6]=第7の初期値[110]に設定し、その設定結果に基づく、パリティビット列[p1,p2,p3,p4,p5,p6]を算出する。第8のアキュムレータ部41Hは、[p4,p5,p6]=第8の初期値[111]に設定し、その設定結果に基づく、パリティビット列[p1,p2,p3,p4,p5,p6]を算出する。
第1の選択部42は、第1〜第8のアキュムレータ部41A〜41Hから各パリティビット列を収集し、パリティビット列の後方ビット列[p4,p5,p6]と、設定ビット列とが一致しているか否かを判定する。尚、後方ビット列は、所定行ψ個相当のビット列である。第1の選択部42は、第1のアキュムレータ部41Aのパリティビット列の場合、当該パリティビット列の後方ビット列[p4,p5,p6]と設定中の第1の初期値[000]とが一致しているか否かを判定する。また、第1の選択部42は、第2のアキュムレータ部41Bのパリティビット列の場合、当該パリティビット列の後方ビット列[p4,p5,p6]と設定中の第2の初期値[001]とが一致しているか否かを判定する。第1の選択部42は、第3のアキュムレータ部41Cのパリティビット列の場合、当該パリティビット列の後方ビット列[p4,p5,p6]と設定中の第3の初期値[010]とが一致しているか否かを判定する。また、第1の選択部42は、第4のアキュムレータ部41Dのパリティビット列の場合、当該パリティビット列の後方ビット列[p4,p5,p6]と設定中の第4の初期値[011]とが一致しているか否かを判定する。第1の選択部42は、第5のアキュムレータ部41Eのパリティビット列の場合、当該パリティビット列の後方ビット列[p4,p5,p6]と設定中の第5の初期値[100]とが一致しているか否かを判定する。また、第1の選択部42は、第6のアキュムレータ部41Fのパリティビット列の場合、当該パリティビット列の後方ビット列[p4,p5,p6]と設定中の第6の初期値[101]とが一致しているか否かを判定する。第1の選択部42は、第7のアキュムレータ部41Gのパリティビット列の場合、当該パリティビット列の後方ビット列[p4,p5,p6]と設定中の第7の初期値[110]とが一致しているか否かを判定する。また、第1の選択部42は、第8のアキュムレータ部41Hのパリティビット列の場合、当該パリティビット列の後方ビット列[p4,p5,p6]と設定中の第8の初期値[111]とが一致しているか否かを判定する。
第1の選択部42は、パリティビット列の後方ビット列[p4,p5,p6]と設定中の初期値とが一致している場合、当該パリティビット列が正解と判断し、正解と判断されたパリティビット列をアキュムレータ部34の出力として合成部35に出力する。合成部35は、メッセージのビット列[u1,u2,u3]と、パリティビット列[p1,p2,p3,p4,p5,p6]とを結合して符号語[u1,u2,u3,p1,p2,p3,p4,p5,p6]を出力する。
次に実施例1の光伝送装置1の動作について説明する。図5は、第1の符号化処理に関わる符号化部21の処理動作の一例を示すフローチャートである。図5において符号化部21は、メッセージのビット列[u1,u2,u3]を蓄積したか否かを判定する(ステップS11)。符号化部21は、メッセージのビット列[u1,u2,u3]を蓄積した場合(ステップS11肯定)、リピート部31のリピート処理を実行する(ステップS12)。
符号化部21は、リピート処理を実行後、インターリーバ部32にてインターリーバ処理を実行する(ステップS13)。符号化部21は、結合部33にて結合処理を実行する(ステップS14)。符号化部21は、第1のアキュムレータ部41A〜第8のアキュムレータ部41Hで初期値毎のアキュムレート処理を並行して実行する(ステップS15)。符号化部21は、第1のアキュムレータ部41A〜第8のアキュムレータ部41Hのアキュムレート処理で初期値毎のパリティビット列を出力する(ステップS16)。
符号化部21は、初期値毎に取得したパリティビット列内の後方ビット列[p4,p5,p6]と設定中の初期値とを比較し(ステップS17)、後方ビット列と設定中の初期値とが一致したパリティビット列を選択する(ステップS18)。符号化部21は、選択したパリティビット列とメッセージのビット列とを結合して符号語cを生成し(ステップS19)、生成した符号語cを出力し(ステップS20)、図5に示す処理動作を終了する。
実施例1の符号化部21は、パリティ検査行列H内のパリティ演算行列H2の対角線上の行列と、対角線から1行下の巡回行列と、対角線から所定行、例えば、3行下の巡回行列とを有し、全ての列の列重みが3以上のパリティ検査行列Hを有するため、エラーフロアを改善できる。
符号化部21は、パリティ検査行列H内の情報演算行列H1、パリティ演算行列H2及び[p4,p5,p6]に代入する各初期値に基づき、初期値毎のパリティビット列を算出し、パリティビット列の後方ビット列と設定中の初期値とを比較する。そして、後方ビット列と初期値とが一致したパリティビット列を選択し、当該パリティビット列とメッセージのビット列とを結合して符号語cを出力する。その結果、全ての列の列重みが3以上のパリティ検査行列Hを使用した場合でもパリティビット列を算出できる。
しかも、符号化部21は、初期値毎の第1〜第8のアキュムレータ部41A〜41Hを並列に配置し、[p4,p5,p6]の全パターンのパリティビット列を算出する。更に、符号化部21は、パリティビット列の後方ビット列と設定中の初期値とを比較し、後方ビット列と設定中の初期値とが一致したパリティビット列を選択する。その結果、全ての列の列重みが3以上のパリティ検査行列Hを使用した場合でもパリティビット列を算出できる。
実施例1では、高い伝送品質が要求される光伝送システムにおいても、RA符号と同様のメリットを利用できる。しかも、硬判定の誤り訂正回路を併用しなくても済むため、回路規模及び消費電力を抑えた光伝送システムが実現できる。つまり、硬判定回路を持たずに受信BER≦1e-15を達成できる。
上記実施例1のアキュムレータ部34は、パリティビット列の後方ビット列[p4,p5,p6]の全パターンの初期値を設定した第1〜第8のアキュムレータ41A〜41Hを並列に配置した場合を例示した。しかしながら、このような構成に限定されるものではなく、単一のアキュムレータ部であっても良く、その場合の実施の形態につき、実施例2として以下に説明する。尚、実施例1の光伝送装置1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
実施例1と実施例2のアキュムレータ部とが異なるところは、第1〜第8のアキュムレータ部41A〜41Hを並列配置する代わりに、単一の第10のアキュムレータ部43で初期値を順次更新して各パターンのパリティビット列を順次出力する点にある。
図6は、実施例2のアキュムレータ部34Aの一例を示す説明図である。図6に示すアキュムレータ部34Aは、第10のアキュムレータ部43と、第2の選択部42Aとを有する。第10のアキュムレータ部43は、EXOR51と、第1のシフトレジスタ52と、第2のシフトレジスタ53と、第3のシフトレジスタ54と、パターンメモリ55と、設定部56とを有する。パターンメモリ55は、[p4,p5,p6]の全ての初期値を格納する領域である。設定部56は、パターンメモリ55内の各初期値を第1〜第3のシフトレジスタ52〜54に設定する。尚、初期値は、例えば、第1の[000]、第2の[001]、第3の[010]、第4の[011]、第5の[100]、第6の「101」、第7の[110]及び第8の[111]の8通りである。
設定部56は、パターンメモリ55から初期値を読み出し、読み出した初期値を第1〜第3のシフトレジスタ52〜54に更新することで、初期値毎のパリティビット列を順次出力する。つまり、第10のアキュムレータ部43は、設定部56の初期値の更新に応じて、初期値毎のパリティビット列を順次出力する。
第2の選択部42Aは、第10のアキュムレータ部43からの初期値のパリティビット列を順次入力し、入力したパリティビット列の後方ビット列[p4,p5,p6]と設定中の初期値とを比較する。第2の選択部42Aは、後方ビット列と設定中の初期値とが一致した場合に当該パリティビット列を出力する。第2の選択部42Aは、後方ビット列と設定中の初期値とが一致しなかった場合、当該パリティビット列を破棄する。尚、設定部56は、第2の選択部42Aで後方ビット列と設定中の初期値とが一致するまで初期値を順次設定する。
次に実施例2の光伝送装置1の動作について説明する。図7は、実施例2の第2の符号化処理に関わる符号化部21の処理動作の一例を示すフローチャートである。図7において符号化部21は、ステップS14にて結合処理を実行した後、第10のアキュムレータ部43に初期値を設定する(ステップS31)。符号化部21は、第10のアキュムレータ部43の初期値に基づき、アキュムレート処理を実行する(ステップS32)。
符号化部21は、アキュムレート処理で初期値のパリティビット列を取得する(ステップS33)。符号化部21は、設定したパリティビット列内の後方ビット列と現在設定中の初期値とを比較し(ステップS34)、後方ビット列と現在設定中の初期値とが一致したか否かを判定する(ステップS35)。符号化部21は、後方ビット列と初期値とが一致した場合(ステップS35肯定)、一致したパリティビット列を選択する(ステップS36)。
符号化部21は、選択したパリティビット列とメッセージのビット列とを結合して符号語cを生成し(ステップS37)、生成した符号語cを出力し(ステップS38)、図7に示す処理動作を終了する。符号化部21は、後方ビット列と初期値とが一致しなかった場合(ステップS35否定)、未設定の初期値を第10のアキュムレータ部43に設定し(ステップS39)、アキュムレート処理を実行すべく、ステップS32に移行する。
実施例2の符号化部21は、単一の第10のアキュムレータ部43で初期値を順次設定して初期値毎のパリティビット列を順次算出し、算出したパリティビット列の後方ビット列と設定中の初期値とを比較する。符号化部21は、後方ビット列と設定中の初期値とが一致している場合に当該パリティビット列を出力する。更に、符号化部21は、当該パリティビット列とメッセージのビット列とを結合して符号語cを出力する。その結果、全ての列の列重みが3以上のパリティ検査行列Hを使用した場合でもパリティビット列を算出できる。
尚、実施例1及び2のアキュムレータ部34(34A)の構成に限定されるものではなく、並列処理及び更新処理を併用したアキュムレータ部にしても良く、その実施の形態につき、実施例3として以下に説明する。尚、実施例1の光伝送装置1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
実施例1のアキュムレータ部34と実施例3のアキュムレータ部34Bとが異なるところは、第11〜第14のアキュムレータ部44A〜44Dの4台にし、各第11〜第14のアキュムレータ部44A〜44Dで2種類の初期値を設定可能にした点にある。
図8は、実施例3のアキュムレータ部34Bの一例を示す説明図である。図8に示すアキュムレータ部34Bは、第11のアキュムレータ部44Aと、第12のアキュムレータ部44Bと、第13のアキュムレータ部44Cと、第14のアキュムレータ部44Dと、第3の選択部42Bとを有する。
第11〜第14のアキュムレータ部44A〜44Dは、EXOR51と、第1〜第3のシフレジスタ部52〜54と、パターンメモリ55Aと、設定部56Aとを有する。
第11のアキュムレータ部44Aのパターンメモリ55Aには、2種類の初期値として、第1の初期値[000]及び第2の初期値[001]を格納している。第11のアキュムレータ部44Aの設定部56Aは、第1の初期値[000]及び第2の初期値[001]を設定可能にしている。
第12のアキュムレータ部44Bのパターンメモリ55Aには、2種類の初期値として、第3の初期値[010]及び第4の初期値[011]を格納している。第12のアキュムレータ部44Bの設定部56Aは、第3の初期値[010]及び第4の初期値[011]を設定可能にしている。
第13のアキュムレータ部44Cのパターンメモリ55Aには、2種類の初期値として、第5の初期値[100]及び第6の初期値[101]を格納している。第13のアキュムレータ部44Cの設定部56Aは、第5の初期値[100]及び第6の初期値[101]を設定可能にしている。
第14のアキュムレータ部44Dのパターンメモリ55Aには、2種類の初期値として、第7の初期値[110]及び第8の初期値[111]を格納している。第14のアキュムレータ部44Dの設定部56Aは、第7の初期値[110]及び第8の初期値[111]を設定可能にしている。
第3の選択部42Bは、第11〜第14のアキュムレータ部44A〜44Dから初期値毎のパリティビット列を並列に入力する。第3の選択部42Bは、初期値のパリティビット列の後方ビット列と設定中の初期値とを比較し、後方ビット列と設定中の初期値とが一致したか否かを判定する。第3の選択部42Bは、パリティビット列の後方ビット列と設定中の初期値とが一致した場合に当該パリティビット列を選択出力する。また、第3の選択部42Bは、パリティビット列の後方ビット列と初期値とが一致しなかった場合に当該パリティビット列を破棄する。
次に実施例3の光伝送装置1の動作について説明する。図9は、実施例3の第3の符号化処理に関わる符号化部21の処理動作の一例を示すフローチャートである。図9において符号化部21は、ステップS14にて結合処理を実行した後、第11〜第14のアキュムレータ部44A〜44Dに初期値を設定する(ステップS41)。符号化部21は、第11〜第14のアキュムレータ部44A〜44Dの初期値に基づき、アキュムレート処理を実行する(ステップS42)。
符号化部21は、アキュムレート処理で初期値のパリティビット列を取得する(ステップS43)。符号化部21は、設定したパリティビット列内の後方ビット列と現在設定中の初期値とを比較し(ステップS44)、後方ビット列と現在設定中の初期値とが一致したか否かを判定する(ステップS45)。符号化部21は、後方ビット列と設定中の初期値とが一致した場合(ステップS45肯定)、一致した初期値のパリティビット列を選択する(ステップS46)。
符号化部21は、選択したパリティビット列とメッセージのビット列とを結合して符号語cを生成し(ステップS47)、生成した符号語を出力し(ステップS48)、図9に示す処理動作を終了する。符号化部21は、後方ビット列と設定中の初期値とが一致しなかった場合(ステップS45否定)、未設定の初期値を第11〜第14のアキュムレータ部44A〜44Dに設定し(ステップS49)、アキュムレート処理を実行すべく、ステップS42に移行する。
実施例3の符号化部21は、第11〜第14のアキュムレータ部44A〜44Dで初期値を順次設定して初期値毎のパリティビット列を順次算出し、算出したパリティビット列の後方ビット列と設定中の初期値とを比較する。符号化部21は、後方ビット列と設定中の初期値とが一致している場合に当該パリティビット列を出力する。更に、符号化部21は、当該パリティビット列とメッセージのビット列とを結合して符号語cを出力する。その結果、全ての列の列重みが3以上のパリティ検査行列Hを使用した場合でもパリティビット列を算出できる。
尚、上記実施例1〜3では、w3RA符号を例示したが、w3RA符号に限定されるものではなく、空間結合RA符号にも適用できるため、その実施の形態につき、実施例4として以下に説明する。尚、実施例1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
空間結合RA符号は、RA符号又はw3RA符号の情報演算行列H11が空間結合LDPCで構成し、各要素行列を空間と見立てて結合している。図10は、空間結合RA符号のパリティ検査行列H10の一例を示す説明図である。
図10に示すパリティ検査行列H10は、情報演算行列H11と、パリティ演算行列H12とを有する。パリティ演算行列H12は、対角線上の行列と、対角線から1行下の巡回行列と、対角線から所定行、例えば、4行下の巡回行列とに規則的に“1”要素を配置する構造である。この場合、パリティ演算行列H12内の所定行、すなわち4桁の後方ビット列[p9,p10,p11,p12]の16通りの全パターンの設定ビット列を16台のアキュムレータ部に設定する。初期値は、2^(所定行数)=2^4=16通りである。16台のアキュムレータ部を並列配置するものとする。その結果、16台のアキュムレータ部は、設定ビット列毎に16通りのパリティビット列を出力する。
そして、第1の選択部42は、パリティビット列の後方ビット列[p9,p10,p11,p12]と設定中の初期値とが一致しているか否かを判定し、後方ビット列と設定中の初期値とが一致したパリティビット列を合成部35に出力する。
図11Aは、本発明を適用しない空間結合RA符号(巡回なし)の誤り訂正のBER−SNR特性の一例を示す説明図である。図11Aに示す例では、パリティ演算行列H12内に列重みが2以下の列が存在するため、エラーフロアが発生している。これに対して、図11Bは、実施例4の空間結合RA符号(巡回あり)の誤り訂正のBER−SNR特性の一例を示す説明図である。図11Bに示す例では、パリティ演算行列H12内の全ての列の列重みが3以上の構成であるため、エラーフロアが改善している。
実施例4の符号化部21は、空間結合RA符号のパリティ検査行列H10内のパリティ演算行列H12の対角線上の行列と、対角線から1行下の巡回行列と、対角線から4行下の巡回行列とを有し、全ての列の列重みが3以上のパリティ検査行列H10を有する。その結果、エラーフロアを改善できる。
実施例4の符号化部21は、パリティ検査行列H10内の情報演算行列H11、パリティ演算行列H12及び[p9,p10,p11,p12]に代入する各初期値に基づき、初期値毎のパリティビット列を算出する。符号化部21は、初期値毎のパリティビット列の後方ビット列と設定中の初期値とを比較する。そして、符号化部21は、後方ビット列と設定中の初期値とが一致したパリティビット列を出力し、当該パリティビット列とメッセージのビット列とを結合して符号語cを出力する。その結果、空間結合RA符号の全ての列の列重みが3以上のパリティ検査行列H10を使用した場合でもパリティビット列を算出できる。
しかも、実施例4の符号化部21は、初期値毎にアキュムレータ部34を並列に配置し、[p9,p10,p11,p12]の全パターンのパリティビット列を算出し、パリティビット列の後方ビット列と設定中の初期値とを比較する。符号化部21は、後方ビット列と設定中の初期値とが一致したパリティビット列を出力する。その結果、全ての列の列重みが3以上のパリティ検査行列H10を使用した場合でもパリティビット列を算出できる。
実施例4では、空間結合RA符号に適用することで、符号化処理を過度に複雑化することなく、高いエラー訂正能力と低いエラーフロアとを両立できる。
尚、上記実施例1〜3では、パリティ演算行列H2内の対角線上の行列、対角線から1行下の巡回行列、対角線から3行下の巡回行列で構成したが、これらの構成に限定されるものではなく、適宜変更可能であることは言うまでもない。所定行は対角線から3行下、若しくは4行下に限定されるものではなく、適宜変更可能である。
実施例4の符号化部21は、空間結合RA符号を実施例1のアキュムレータ部34に適用して説明したが、実施例2のアキュムレータ部34Aや実施例3のアキュムレータ部34Bに適用しても良く、適宜変更可能である。
また、上記実施例の符号化部21は、光伝送装置1に内蔵したが、光信号に限定されるものではなく、電気信号を符号化する場合にも適用可能である。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
1 光伝送装置
21 符号化部
34、34A、34B アキュムレータ部
41A〜41H 第1〜第8のアキュムレータ部
42 第1の選択部
42A 第2の選択部
42B 第3の選択部
43 第10のアキュムレータ部
44A〜44D 第11〜第14のアキュムレータ部
21 符号化部
34、34A、34B アキュムレータ部
41A〜41H 第1〜第8のアキュムレータ部
42 第1の選択部
42A 第2の選択部
42B 第3の選択部
43 第10のアキュムレータ部
44A〜44D 第11〜第14のアキュムレータ部
Claims (8)
- 対角線上の行列及び、前記対角線上の1行下及び所定行下の巡回行列を有するパリティ演算行列と、情報演算行列とを有するパリティ検査行列と、
メッセージのビット列の入力に応じて、前記パリティ演算行列及び前記情報演算行列で指定する演算式でパリティビット列を算出する際に使用するパリティビットの前記所定行数分の後方ビット列に全通りの初期値を設定して、前記初期値毎にパリティビット列を算出する算出部と、
前記初期値毎の前記パリティビット列の後方ビット列が前記初期値と一致する場合に当該初期値のパリティビット列を選択する選択部と、
選択されたパリティビット列と前記メッセージのビット列とを結合して符号語を出力する合成部と
を有することを特徴とする符号化装置。 - 前記算出部は、
前記初期値毎に前記パリティビット列を算出するアキュムレータ部を2^(所定行数)個有し、これらアキュムレータ部を並列配置することを特徴とする請求項1に記載の符号化装置。 - 前記算出部は、
前記初期値を設定する設定部と、
前記設定部にて設定された前記初期値毎に前記パリティビット列を算出するアキュムレータ部と
を有することを特徴とする請求項1に記載の符号化装置。 - 前記算出部は、
前記初期値を設定する設定部と、
前記設定部にて設定された前記初期値毎に前記パリティビット列を算出する複数のアキュムレータ部とを有し、これらアキュムレータ部を並列配置することを特徴とする請求項1に記載の符号化装置。 - 前記パリティ検査行列は、
weight−3 Repeat Accumulate符号のパリティ検査行列であることを特徴とする請求項1〜4の何れか一つに記載の符号化装置。 - 前記パリティ検査行列は、
空間結合Repeat Accumulate符号のパリティ検査行列であることを特徴とする請求項1〜4の何れか一つに記載の符号化装置。 - メッセージのビット列の入力に応じて符号語を出力する符号化装置を内蔵した伝送装置であって、
前記符号化装置は、
対角線上の行列及び、前記対角線上の1行下及び所定行下の巡回行列を有するパリティ演算行列と、情報演算行列とを有するパリティ検査行列と、
前記メッセージのビット列の入力に応じて、前記パリティ演算行列及び前記情報演算行列で指定する演算式でパリティビット列を算出する際に使用するパリティビットの前記所定行数分の後方ビット列に全通りの初期値を設定して、前記初期値毎にパリティビット列を算出する算出部と、
前記初期値毎の前記パリティビット列の後方ビット列が前記初期値と一致する場合に当該初期値のパリティビット列を選択する選択部と、
選択されたパリティビット列と前記メッセージのビット列とを結合して符号語を出力する合成部と
を有することを特徴とする伝送装置。 - 対角線上の行列及び、前記対角線上の1行下及び所定行下の巡回行列を有するパリティ演算行列と、情報演算行列とを有するパリティ検査行列を有し、
メッセージのビット列の入力に応じて、前記パリティ演算行列及び前記情報演算行列で指定する演算式でパリティビット列を算出する際に使用するパリティビットの前記所定行数分の後方ビット列に全通りの初期値を設定して、前記初期値毎にパリティビット列を算出し、
前記初期値毎の前記パリティビット列の後方ビット列が前記初期値と一致する場合に当該初期値のパリティビット列を選択し、
選択されたパリティビット列と前記メッセージのビット列とを結合して符号語を出力する
処理を実行することを特徴とする符号化方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016116861A JP2017224874A (ja) | 2016-06-13 | 2016-06-13 | 符号化装置、伝送装置及び符号化方法 |
US15/606,893 US20170359085A1 (en) | 2016-06-13 | 2017-05-26 | Coding apparatus, transport apparatus, and coding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016116861A JP2017224874A (ja) | 2016-06-13 | 2016-06-13 | 符号化装置、伝送装置及び符号化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017224874A true JP2017224874A (ja) | 2017-12-21 |
Family
ID=60573265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016116861A Pending JP2017224874A (ja) | 2016-06-13 | 2016-06-13 | 符号化装置、伝送装置及び符号化方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170359085A1 (ja) |
JP (1) | JP2017224874A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024098276A1 (zh) * | 2022-11-09 | 2024-05-16 | 华为技术有限公司 | 一种通信方法、通信装置及通信系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5354979B2 (ja) * | 2007-07-12 | 2013-11-27 | パナソニック株式会社 | 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器 |
US8707125B2 (en) * | 2009-11-18 | 2014-04-22 | Samsung Electronics Co., Ltd | Method and apparatus for transmitting and receiving data in a communication system |
KR101670511B1 (ko) * | 2010-05-07 | 2016-10-28 | 삼성전자주식회사 | 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치 |
US20160380722A1 (en) * | 2015-06-25 | 2016-12-29 | Mohamed K. Hassanin | Access point (ap), user station (sta) and methods for variable length encoding and for iterative decoding |
-
2016
- 2016-06-13 JP JP2016116861A patent/JP2017224874A/ja active Pending
-
2017
- 2017-05-26 US US15/606,893 patent/US20170359085A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20170359085A1 (en) | 2017-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104348491B (zh) | 发送装置及发送方法 | |
Bakshi et al. | Concatenated polar codes | |
JP5442024B2 (ja) | 誤り訂正符号化方法および装置ならびにそれを用いた通信システム | |
JP6656492B2 (ja) | 誤り訂正装置及び光送受信装置 | |
KR20080033381A (ko) | 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기 | |
KR20110005897A (ko) | 패리티 검사 디코더들에서 사용하기 위한 노드 처리기들 | |
CN101888251B (zh) | 纠错编码方法及其装置、纠错译码方法及其装置 | |
CN103886915B (zh) | 用于校正包括邻近2比特错误的3比特错误的电路和方法 | |
JP2007166605A (ja) | パリティ検査行列、パリティ検査行列の生成方法、エンコーディング方法及びエラー訂正装置 | |
CN104205647A (zh) | 用于前向纠错(fec)码的性能评估的方法和设备 | |
CN101795175B (zh) | 数据的校验处理方法及装置 | |
WO2019130475A1 (ja) | 通信路分極を用いた誤り訂正符号化方法および装置、復号方法および装置 | |
JPWO2006106841A1 (ja) | 誤り訂正符号化装置 | |
JP6472790B2 (ja) | 共通ハードウェアリソースを共用する、異なる低密度パリティ検査(ldpc)符号のための低密度パリティ検査の符号化 | |
JP2017224874A (ja) | 符号化装置、伝送装置及び符号化方法 | |
Hu et al. | Beyond 100Gbps encoder design for staircase codes | |
US20170288697A1 (en) | Ldpc shuffle decoder with initialization circuit comprising ordered set memory | |
CN111164897A (zh) | 广义低密度奇偶校验码 | |
JP2009201084A (ja) | 符号化器及び送信装置 | |
CN111527705B (zh) | 用于解码器重用的信道码构造 | |
JP4202161B2 (ja) | 符号化装置および復号装置 | |
JP5500357B2 (ja) | 符号化装置、および符号化方法 | |
JP7124276B2 (ja) | 伝送装置、及び誤り訂正方法 | |
Li et al. | Reconfigurable forward error correction decoder for beyond 100 Gbps high speed optical links | |
JP5385944B2 (ja) | 復号器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20160621 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20160621 |