JP2017224874A - Coding device, transmission device, and coding method - Google Patents

Coding device, transmission device, and coding method Download PDF

Info

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
Application number
JP2016116861A
Other languages
Japanese (ja)
Inventor
泰三 前田
Taizo Maeda
泰三 前田
洋平 小金井
Yohei Koganei
洋平 小金井
誠致 夜船
Masanori Yofune
誠致 夜船
聡 李
Satoshi Ri
聡 李
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.)
Fujitsu Ltd
Mobile Techno Corp
Original Assignee
Fujitsu Ltd
Mobile Techno 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 Fujitsu Ltd, Mobile Techno Corp filed Critical Fujitsu Ltd
Priority to JP2016116861A priority Critical patent/JP2017224874A/en
Priority to US15/606,893 priority patent/US20170359085A1/en
Publication of JP2017224874A publication Critical patent/JP2017224874A/en
Pending legal-status Critical Current

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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • H03M13/1197Irregular repeat-accumulate [IRA] 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/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/2906Coding, 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

Abstract

PROBLEM TO BE SOLVED: To provide a coding device or the like, capable of improving an error floor.SOLUTION: A coding device includes: a parity inspection matrix; a calculation part; a selection part; and a synthesis part. The parity inspection matrix includes: a parity arithmetic matrix including a matrix on a diagonal line and a circulant matrix which is set to one line below on the diagonal line and a predetermine line; and an information arithmetic matrix. The calculation part sets an initial value of all cases to a following bit stream of a predetermined line number of a parity bit used when calculating the parity bit stream with an operational expression designated by the parity arithmetic matrix and the information arithmetic matrix in the parity inspection matrix, and calculates the parity bit line in each initial value. The selection part selects the parity bit line of the initial value when the following bit line of the parity bit line in each initial value is matched to the initial value. The synthesis part outputs a coding language by combining the parity bit line to be selected and a message bit line.SELECTED DRAWING: Figure 4

Description

本発明は、符号化装置、伝送装置及び符号化方法に関する。   The present invention relates to an encoding device, a transmission device, and an encoding method.

近年、光伝送システムのデジタルコヒーレント受信器では、例えば、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)を達成できず、エラーフロアが生じる。 In recent years, in a digital coherent receiver of an optical transmission system, for example, an LDPC (Low-Density Parity Check) which is a soft decision code having a higher error correction capability than a hard decision code such as a BCH code or an RS (Reed-Solomon) code. There is a code FEC (Forward Error Correction). FIG. 12 is an explanatory diagram showing an example of BER-SNR characteristics of error correction using an LDPC code and (LDPC code + hard decision code). The BER-SNR characteristic shown in FIG. 12 has a waterfall and an error floor. When the waterfall is steep and the error floor is at a position as low as possible, the error correction capability becomes high. However, with the BER-SNR characteristics of error correction using an LDPC code, the transmission quality (BER (Bit Error Rate) ≦ 1e −15 ) required for an optical transmission system cannot be achieved, and an error floor occurs.

そこで、LDPC符号と硬判定符号とを組み合わせることで、図12に示すように、エラーフロアを抑制し、光伝送システムの伝送品質BER≦1e-15を達成できる。しかしながら、LDPC符号の他に、硬判定符号のFECも必要になるため、回路規模及び消費電力が増加する。 Therefore, by combining the LDPC code and the hard decision code, as shown in FIG. 12, the error floor can be suppressed and the transmission quality BER ≦ 1e -15 of the optical transmission system can be achieved. However, in addition to the LDPC code, an FEC of a hard decision code is also required, which increases the circuit scale and power consumption.

図13は、LDPC符号の列重み2以下のパリティ検査行列の一例を示す説明図である。パリティ検査行列では、図13に示すように、列重みが2以下の場合にエラーフロアの位置が高くなることが知られている。そこで、列重みが2以下の列が存在しないようにパリティ検査行列を設計することでエラーフロアが抑制できる場合が多く、しかも、ウォータフォールの傾きも急峻になる。   FIG. 13 is an explanatory diagram illustrating an example of a parity check matrix having an LDPC code column weight of 2 or less. In the parity check matrix, as shown in FIG. 13, it is known that the position of the error floor becomes high when the column weight is 2 or less. Therefore, the error floor can often be suppressed by designing the parity check matrix so that there is no column having a column weight of 2 or less, and the slope of the waterfall becomes steep.

また、符号化装置の設計及び実装が容易で、誤り訂正能力が高い符号化方法として、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”要素が配置される構造の下三角行列である。   An RA (Repeat Accumulate) code is known as an encoding method that is easy to design and implement an encoding device and has high error correction capability. FIG. 14 is an explanatory diagram illustrating an example of a parity check matrix H20 of the RA code. A parity check matrix H20 illustrated in FIG. 14 is a matrix that specifies an arithmetic expression for calculating a parity bit string. The parity check matrix H20 includes an information calculation matrix H21 used for an arithmetic expression when substituting a predetermined bit element of a message bit string and a parity used for an arithmetic expression when substituting a predetermined bit element of a bit string of parity bits. And an arithmetic matrix H22. The information calculation matrix H21 is a matrix close to a random structure, and is, for example, a matrix of 3 columns × 6 rows of D1 to D3. The parity calculation matrix H22 is a matrix of 6 columns × 6 rows of P1 to P6 having a structure in which “1” elements are regularly arranged in a matrix on a diagonal line and in a matrix one row below the diagonal line. However, since the RA code parity calculation matrix H22 has a configuration in which the column weight is 2 or less, the error floor becomes high. Therefore, there is a w3RA (Weight-3 Repeat Accumulate) code as a method of suppressing the error floor by setting the column weight of the parity calculation matrix H22 to 3 or more. FIG. 15 is an explanatory diagram of an example of the parity check matrix H30 of the w3RA code. A parity check matrix H30 of the w3RA code illustrated in FIG. 15 includes an information calculation matrix H31 and a parity calculation matrix H32. The parity calculation matrix H32 is a lower triangular matrix having a structure in which “1” elements are regularly arranged in a matrix on the diagonal line and a matrix on the first row below the diagonal line, in addition to a matrix on the third row below the diagonal line.

図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)演算を使用してパリティビット列内の各パリティビットを順次算出する。   FIG. 16 is an explanatory diagram illustrating an example of a calculation performed when a message is encoded using the parity check matrix H30 illustrated in FIG. The message u is composed of [u1, u2, u3], for example, [101]. The code word c combines [u1, u2, u3, p1, p2, p3, p4] by combining the data [u1, u2, u3] and the parity bit sequence [p1, p2, p3, p4, p5, p6]. , P5, p6]. Each parity bit in the parity bit string is sequentially calculated using 0 (mod 2) operation for each column of the parity check matrix H30.

パリティ検査行列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を算出する。   The first row of the parity check matrix H30 focuses on the element “1” and is an arithmetic expression for 0 (mod 2) calculation of D1 + D2 + P1 = 0. Then, the calculation formula substitutes u1 = 1 and u2 = 0 to set P1 = 1 when 1 + 0 + P1 = 0, and calculate p1 = 1 as the parity bit p1 corresponding to P1. The second row of the parity check matrix H30 pays attention to the element “1”, and is an arithmetic expression of 0 (mod 2) calculation of D1 + D3 + P1 + P2 = 0. Then, u1 = 1, u3 = 1 and P1 = 1 are substituted into the arithmetic expression, P + 1 is set to 1 + 1 + 1 + P2 = 0, and p2 = 1 is calculated as a parity bit p2 corresponding to P2.

パリティ検査行列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を算出する。   The third row of the parity check matrix H30 is an arithmetic expression for 0 (mod2) calculation with D3 + P2 + P3 = 0, focusing on the element “1”. Then, the calculation formula substitutes u3 = 1 and P2 = 1 to set P3 = 0 when 1 + 1 + P3 = 0, and calculate p3 = 0 as the parity bit p3 corresponding to P3. The fourth row of the parity check matrix H30 is an arithmetic expression for 0 (mod 2) calculation of D2 + P1 + P3 + P4 = 0, paying attention to the element “1”. Then, the calculation formula substitutes u2 = 0, P1 = 1, and P3 = 0, 0 + 1 + 0 + P4 = 0, P4 = 1, and P4 = 1 is calculated as the parity bit p4 corresponding to P4.

パリティ検査行列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を算出する。   The fifth row of the parity check matrix H30 is an arithmetic expression for 0 (mod 2) calculation of D1 + P2 + P4 + P5 = 0 with attention paid to the element “1”. Then, the calculation formula substitutes u1 = 1, P2 = 1 and P4 = 1, 1 + 1 + 1 + P5 = 0 and P5 = 1, and P5 = 1 is calculated as a parity bit p5 corresponding to P5. The sixth row of the parity check matrix H30 focuses on the element “1” and is an arithmetic expression for 0 (mod 2) calculation of D2 + D3 + P3 + P5 + P6 = 0. Then, u2 = 0, u3 = 1, P3 = 0 and P5 = 1 are substituted into the arithmetic expression, 0 + 1 + 0 + 1 + P6 = 0, P6 = 0, and P6 = 0 as the parity bit p6 corresponding to P6.

その結果、パリティビット列[p1,p2,p3,p4,p5,p6]=[110110]となる。そして、符号化装置は、データ[u1,u2,u3]=[101]とパリティビット列[110110]とを結合して符号語c[101110110]を出力できる。   As a result, the parity bit string [p1, p2, p3, p4, p5, p6] = [110110]. Then, the encoding device can output the codeword c [101110110] by combining the data [u1, u2, u3] = [101] and the parity bit string [110110].

特表2008−541496号公報Special table 2008-541496 gazette 国際公開第2006/120844号International Publication No. 2006/120844

しかしながら、w3RA符号を採用した場合でも、図16に示すようにパリティ検査行列H30内のパリティ演算行列H32のP4、P5及びP6の列重みが2以下になるため、エラーフロアを改善できない。   However, even when the w3RA code is adopted, the error floor cannot be improved because the column weights of P4, P5, and P6 of the parity calculation matrix H32 in the parity check matrix H30 are 2 or less as shown in FIG.

一つの側面では、エラーフロアを改善できる符号化装置、伝送装置及び符号化方法を提供することを目的とする。   An object of one aspect is to provide an encoding device, a transmission device, and an encoding method that can improve an error floor.

一つの態様では、符号化装置は、パリティ検査行列と、算出部と、選択部と、合成部とを有する。パリティ検査行列は、対角線上の行列及び、前記対角線上の1行下及び所定行下の巡回行列を有するパリティ演算行列と、情報演算行列とを有する。算出部は、メッセージのビット列の入力に応じて、パリティ演算行列及び情報演算行列で指定する演算式でパリティビット列を算出する際に使用するパリティビットの所定行数分の後方ビット列に全通りの初期値を設定して初期値毎にパリティビット列を算出する。選択部は、初期値毎のパリティビット列の後方ビット列が初期値と一致する場合に当該初期値のパリティビット列を選択する。合成部は、選択されたパリティビット列とメッセージのビット列とを結合して符号語を出力する。   In one aspect, the encoding apparatus includes a parity check matrix, a calculation unit, a selection unit, and a synthesis unit. The parity check matrix includes a matrix on a diagonal line, a parity operation matrix having a cyclic matrix on the diagonal line and one row below the predetermined line, and an information operation matrix. The calculation unit, in accordance with the input of the bit string of the message, sets all the initial bit strings in the rear bit string for a predetermined number of rows of parity bits to be used when calculating the parity bit string with an arithmetic expression specified by the parity arithmetic matrix and the information arithmetic matrix. A value is set and a parity bit string is calculated for each initial value. The selection unit selects the parity bit string of the initial value when the backward bit string of the parity bit string for each initial value matches the initial value. The combining unit combines the selected parity bit string and the message bit string and outputs a codeword.

一つの側面として、エラーフロアを改善できる。   As one aspect, the error floor can be improved.

図1は、実施例1の光伝送装置内の一例を示す説明図である。FIG. 1 is an explanatory diagram illustrating an example of the optical transmission apparatus according to the first embodiment. 図2は、実施例1のw3RA符号のパリティ検査行列の一例を示す説明図である。FIG. 2 is an explanatory diagram illustrating an example of a parity check matrix of the w3RA code according to the first embodiment. 図3は、符号化部の一例を示す説明図である。FIG. 3 is an explanatory diagram illustrating an example of an encoding unit. 図4は、実施例1のアキュムレータ部の一例を示す説明図である。FIG. 4 is an explanatory diagram illustrating an example of an accumulator unit according to the first embodiment. 図5は、第1の符号化処理に関わる符号化部の処理動作の一例を示す説明図である。FIG. 5 is an explanatory diagram illustrating an example of the processing operation of the encoding unit related to the first encoding process. 図6は、実施例2のアキュムレータ部の一例を示す説明図である。FIG. 6 is an explanatory diagram illustrating an example of an accumulator unit according to the second embodiment. 図7は、第2の符号化処理に関わる符号化部の処理動作の一例を示す説明図である。FIG. 7 is an explanatory diagram illustrating an example of the processing operation of the encoding unit related to the second encoding process. 図8は、実施例3のアキュムレータ部の一例を示す説明図である。FIG. 8 is an explanatory diagram illustrating an example of an accumulator unit according to the third embodiment. 図9は、第3の符号化処理に関わる符号化部の処理動作の一例を示す説明図である。FIG. 9 is an explanatory diagram illustrating an example of the processing operation of the encoding unit related to the third encoding process. 図10は、実施例4の空間結合RA符号のパリティ検査行列の一例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a parity check matrix of a spatially combined RA code according to the fourth embodiment. 図11Aは、本発明を適用しない空間結合RA符号(巡回なし)の誤り訂正のBER−SNR特性の一例を示す説明図である。FIG. 11A is an explanatory diagram illustrating an example of a BER-SNR characteristic of error correction of a spatially-coupled RA code (no cyclic) to which the present invention is not applied. 図11Bは、実施例4の空間結合RA符号(巡回あり)の誤り訂正のBER−SNR特性の一例を示す説明図である。FIG. 11B is an explanatory diagram illustrating an example of a BER-SNR characteristic of error correction of the spatially-combined RA code (with circulation) according to the fourth embodiment. 図12は、LDPC符号及び(LDPC符号+硬判定符号)を使用した誤り訂正のBER−SNR特性の一例を示す説明図である。FIG. 12 is an explanatory diagram showing an example of BER-SNR characteristics of error correction using an LDPC code and (LDPC code + hard decision code). 図13は、LDPC符号の列重み2以下のパリティ検査行列の一例を示す説明図である。FIG. 13 is an explanatory diagram illustrating an example of a parity check matrix having an LDPC code column weight of 2 or less. 図14は、RA符号のパリティ検査行列の一例を示す説明図である。FIG. 14 is an explanatory diagram illustrating an example of a parity check matrix of an RA code. 図15は、w3RA符号のパリティ検査行列の一例を示す説明図である。FIG. 15 is an explanatory diagram illustrating an example of a parity check matrix of a w3RA code. 図16は、符号化部のパリティ検査行列による符号語の生成方法の一例を示す説明図である。FIG. 16 is an explanatory diagram illustrating an example of a method of generating a code word using a parity check matrix of the encoding unit.

以下、図面に基づいて、本願の開示する、符号化装置、伝送装置及び符号化方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。以下の各実施例は、適宜、組合せても良い。   Hereinafter, embodiments of an encoding device, a transmission device, and an encoding method disclosed in the present application will be described in detail based on the drawings. The disclosed technology is not limited by the present embodiment. The following embodiments may be appropriately combined.

図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とを有する。   FIG. 1 is an explanatory diagram illustrating an example of the optical transmission device 1 according to the first embodiment. The optical transmission apparatus 1 includes an OTU (Optical-channel Transport Unit) framer 11, a transmission processing unit 12, a DAC (Digital Analog Converter) 13, a first LD (Laser Diode) 14, and a transmission-side optical module 15. Have Further, the optical transmission device 1 includes a reception side optical module 16, a second LD 17, an ADC (Analog Digital Converter) 18, and a reception processing unit 19.

OTUフレーマ11は、例えば、クライアント信号をOTUフレームに変換すると共に、OTUフレームからクライアント信号を抽出する処理部である。送信処理部12は、符号化部21と、予等化部22とを有する。符号化部21は、OTUフレーマ11からのOTUフレームを符号化して符号語cを出力する符号化装置である。予等化部22は、例えば、波長分散補償、周波数オフセット補償、光モジュールの入出力特性補償等の各種信号処理を実行する処理部である。DAC13は、OTUフレームをアナログ変換する処理部である。送信側光モジュール15は、アナログ変換されたOTUフレームを第1のLD14からの光信号で光送信する処理部である。   The OTU framer 11 is, for example, a processing unit that converts a client signal into an OTU frame and extracts the client signal from the OTU frame. The transmission processing unit 12 includes an encoding unit 21 and a pre-equalization unit 22. The encoding unit 21 is an encoding device that encodes the OTU frame from the OTU framer 11 and outputs a codeword c. The pre-equalization unit 22 is a processing unit that executes various signal processing such as chromatic dispersion compensation, frequency offset compensation, and optical module input / output characteristic compensation. The DAC 13 is a processing unit that performs analog conversion of the OTU frame. The transmission-side optical module 15 is a processing unit that optically transmits an analog-converted OTU frame with an optical signal from the first LD 14.

受信側光モジュール16は、第2のLD17からの光信号でOTUフレームを受信する処理部である。ADC18は、OTUフレームをデジタル変換する処理部である。受信処理部19は、等化部23と、復元部24と、復号部25とを有する。等化部23は、例えば、波長分散補償、周波数オフセット補償、偏波モード分散補償、波形歪み補償等の各種信号処理を実行する処理部である。復元部24は、搬送波位相を復元する処理部である。復号部25は、符号化データを復号する処理部である。復号部25は、パリティ検査行列を使用して符号語を繰り返し復号することで誤り訂正を実行する。   The receiving-side optical module 16 is a processing unit that receives an OTU frame with an optical signal from the second LD 17. The ADC 18 is a processing unit that digitally converts the OTU frame. The reception processing unit 19 includes an equalization unit 23, a restoration unit 24, and a decoding unit 25. The equalizing unit 23 is a processing unit that executes various signal processing such as chromatic dispersion compensation, frequency offset compensation, polarization mode dispersion compensation, and waveform distortion compensation. The restoration unit 24 is a processing unit that restores the carrier wave phase. The decoding unit 25 is a processing unit that decodes encoded data. The decoding unit 25 performs error correction by repeatedly decoding the codeword using the parity check matrix.

符号化部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]である。   The encoding unit 21 encodes data with the parity check matrix H of the w3RA code and outputs a codeword c. The encoding unit 21 encodes data by calculating data using the parity check matrix H of the w3RA code. The code word c is composed of a bit string [u1, u3, which is a combination of 3 bits of the information bit string [u1, u2, u3] and 6 bits of the parity bit string [p1, p2, p3, p4, p5, p6]. 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は、例えば、パリティビット列の所定ビットの要素を代入する際の演算式に使用する行列である。   FIG. 2 is an explanatory diagram illustrating an example of the parity check matrix H of the w3RA code. The parity check matrix H illustrated in FIG. 2 is a matrix that specifies an arithmetic expression for calculating a parity bit string, and includes an information operation matrix H1 and a parity operation matrix H2. The information calculation matrix H1 is a matrix of 3 columns × 6 rows of D1, D2, and D3. The information calculation matrix H1 is, for example, a matrix used for an arithmetic expression when a predetermined bit element of a message bit string is substituted. The parity calculation matrix H2 is a matrix of 6 columns × 6 rows of P1 to P6. The parity calculation matrix H2 is, for example, a matrix used for an arithmetic expression when a predetermined bit element of a parity bit string is substituted.

パリティ演算行列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以上となる。従って、エラーフロアを低減できる。   The parity calculation matrix H2 is a structure in which “1” elements are regularly arranged in a diagonal matrix, a cyclic matrix one row below the diagonal, and a predetermined number of rows from the diagonal, for example, a cyclic matrix three rows below. is there. The circulant matrix one row below the diagonal is the second row of column P1, the third row of column P2, the fourth row of column P3, the fifth row of column P4, the sixth row of column P5, and the first row of column P6. Place a “1” element in the eye. The circulant matrix three rows below the diagonal line is the fourth row of the P1 column, the fifth row of the P2 column, the sixth row of the P3 column, the first row of the P4 column, the second row of the P5 column, and the third row of the P6 column. Place a “1” element in the eye. As a result, in the parity calculation matrix H2, the column weights of all the columns P1 to P6 are 3 or more. Therefore, the error floor can be reduced.

パリティ検査行列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]を算出する。   The first row of the parity check matrix H is an arithmetic expression for 0 (mod 2) operation of D1 + D2 + P1 + P4 + P6 = 0, and the second row of the parity check matrix H is an arithmetic expression of 0 (mod 2) operation of D1 + D3 + P1 + P2 + P5 = 0. The third row of the parity check matrix H is an arithmetic expression for 0 (mod 2) operation of D3 + P2 + P3 + P6 = 0, and the fourth row of the parity check matrix H is an arithmetic expression of 0 (mod 2) operation of D2 + P1 + P3 + P4 = 0. The fifth row of the parity check matrix H is an arithmetic expression for 0 (mod2) calculation of D1 + P2 + P4 + P5 = 0, and the sixth column of the parity check matrix H is an arithmetic expression for 0 (mod2) calculation of D2 + D3 + P3 + P5 + P6 = 0. Parity bit strings [p1, p2, p3, p4, p5, p6] are calculated using the arithmetic expression of each row in the parity check matrix H.

図3は、実施例1の符号化部21の一例を示す説明図である。図3に示す符号化部21は、リピート部31と、インターリーバ部32と、結合部33と、アキュムレータ部34と、合成部35とを有する。リピート部31は、パリティ検査行列H内の情報演算行列H1の列の重みに応じてメッセージビットを複写する。リピート部31は、図2に示す情報演算行列H1の列重みが「3」であるため、3個のメッセージのビット列[u1,u2,u3]を複写する。   FIG. 3 is an explanatory diagram illustrating an example of the encoding unit 21 according to the first embodiment. The encoding unit 21 illustrated in FIG. 3 includes a repeat unit 31, an interleaver unit 32, a combining unit 33, an accumulator unit 34, and a combining unit 35. The repeat unit 31 copies message bits according to the column weight of the information calculation matrix H1 in the parity check matrix H. Since the column weight of the information calculation matrix H1 shown in FIG. 2 is “3”, the repeat unit 31 copies the bit strings [u1, u2, u3] of three messages.

インターリーバ部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をとる。   The interleaver unit 32 rearranges the bit strings according to the arrangement status of “1” for each row of the information calculation matrix H1. For example, in the case of the first row, the interleaver unit 32 is [110] of [D1, D2, D3] and is [10] when the message is [101] because of [D1, D2]. . The combining unit 33 includes, for example, six EXORs (Exclusive-OR) 33A, and adds bits according to the row weight of the information calculation matrix H1. In the case of the first row, since the coupling unit 33 is [110] of [D1, D2, D3], D1 + D2. The repeat unit 31, the interleaver unit 32, and the combining unit 33 constitute an information calculation matrix H1, and the weight (1) of H1 corresponds to the circuit wiring as shown in FIG. For example, in the case of the first row, since [110] of [D1, D2, D3], the first row of the coupling unit 33 takes XOR of u1 and u2.

アキュムレータ部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]を出力する。   The accumulator unit 34 calculates a parity bit string [p1, p2, p3, p4, p5, p6] based on the structure of the parity calculation matrix H2. The accumulator unit 34 is, for example, a w3RA code accumulator unit, and includes an EXOR 51, a first shift register 52, a second shift register 53, and a third shift register 54, which will be described later. The combining unit 35 combines the bit string [u1, u2, u3] of the message and the parity bit string [p1, p2, p3, p4, p5, p6] to generate the codeword [u1, u2, u3, p1, p2, p3, p4, p5, p6] are output.

しかしながら、パリティ検査行列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となる。   However, the first row of the parity check matrix H is an arithmetic expression of D1 + D2 + P1 + P4 + P5 = 0, and although D1 = 1 and D2 = 0 can substitute elements, P1, P4, and P5 are unknown. Therefore, each pattern of the parity bit string [p4, p5, p6] of P4, P5, and P6 corresponding to the predetermined row ψ = 3 is eight patterns from the first initial value to the eighth initial value. The first initial value is [000], the second initial value is [001], the third initial value is [010], the fourth initial value is [011], the fifth initial value is [100], The sixth initial value is “101”, the seventh initial value is [110], and the eighth initial value is [111]. Of all the patterns, only one correct answer is always [p4, p5, p6]. The predetermined row is 3 because it is a cyclic matrix below a predetermined row in the parity calculation matrix H2, that is, three rows below.

図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とを有する。   FIG. 4 is an explanatory diagram illustrating an example of the accumulator unit 34 according to the first embodiment. The accumulator unit 34 shown in FIG. 4 includes 2 ^ (predetermined number of rows) = 2 ^ 3 = 8 accumulator units. The accumulator unit 34 includes a first accumulator unit 41A, a second accumulator unit 41B, a third accumulator unit 41C, a fourth accumulator unit 41D, and a fifth accumulator unit 41E. The accumulator unit 34 includes a sixth accumulator unit 41F, a seventh accumulator unit 41G, an eighth accumulator unit 41H, and a first selection unit 42.

第1のアキュムレータ部41Aは、EXOR51と、第1のシフトレジスタ52と、第2のシフトレジスタ53と、第3のシフトレジスタ54とを有する。尚、第2〜第8のアキュムレータ部41B〜41Hも、第1のアキュムレータ部41Aと同様にEXOR51、第1〜第3のシフトレジスタ52〜54を有する。   The first accumulator unit 41A includes an EXOR 51, a first shift register 52, a second shift register 53, and a third shift register 54. The second to eighth accumulator units 41B to 41H also have an EXOR 51 and first to third shift registers 52 to 54, similarly to the first accumulator unit 41A.

第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]を算出する。   The first accumulator unit 41A sets [p4, p5, p6] = first initial value [000], and generates a parity bit string [p1, p2, p3, p4, p5, p6] based on the setting result. calculate. The second accumulator unit 41B sets [p4, p5, p6] = second initial value [001], and generates a parity bit string [p1, p2, p3, p4, p5, p6] based on the setting result. calculate. The third accumulator unit 41C sets [p4, p5, p6] = third initial value [010], and generates a parity bit string [p1, p2, p3, p4, p5, p6] based on the setting result. calculate.

第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]を算出する。   The fourth accumulator unit 41D sets [p4, p5, p6] = fourth initial value [011], and generates a parity bit string [p1, p2, p3, p4, p5, p6] based on the setting result. calculate. The fifth accumulator unit 41E sets [p4, p5, p6] = fifth initial value [100], and generates a parity bit string [p1, p2, p3, p4, p5, p6] based on the setting result. calculate. The sixth accumulator unit 41F sets [p4, p5, p6] = sixth initial value [101], and generates a parity bit string [p1, p2, p3, p4, p5, p6] based on the setting result. calculate. The seventh accumulator unit 41G sets [p4, p5, p6] = seventh initial value [110], and generates a parity bit string [p1, p2, p3, p4, p5, p6] based on the setting result. calculate. The eighth accumulator unit 41H sets [p4, p5, p6] = eighth initial value [111], and generates a parity bit string [p1, p2, p3, p4, p5, p6] based on the setting result. calculate.

第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]とが一致しているか否かを判定する。   The first selection unit 42 collects each parity bit string from the first to eighth accumulator units 41A to 41H, and whether or not the backward bit string [p4, p5, p6] of the parity bit string matches the set bit string. Determine whether. The backward bit string is a bit string corresponding to a predetermined row ψ. In the case of the parity bit string of the first accumulator unit 41A, the first selection unit 42 matches the rear bit string [p4, p5, p6] of the parity bit string with the first initial value [000] being set. It is determined whether or not. Further, in the case of the parity bit string of the second accumulator unit 41B, the first selection unit 42 sets the backward bit string [p4, p5, p6] of the parity bit string and the second initial value [001] being set as one. Determine whether you are doing it. In the case of the parity bit string of the third accumulator unit 41C, the first selection unit 42 matches the rear bit string [p4, p5, p6] of the parity bit string with the third initial value [010] being set. It is determined whether or not. Further, in the case of the parity bit string of the fourth accumulator unit 41D, the first selection unit 42 sets the backward bit string [p4, p5, p6] of the parity bit string and the fourth initial value [011] being set as one. Determine whether you are doing it. In the case of the parity bit string of the fifth accumulator unit 41E, the first selection unit 42 matches the rear bit string [p4, p5, p6] of the parity bit string with the fifth initial value [100] being set. It is determined whether or not. Further, in the case of the parity bit string of the sixth accumulator unit 41F, the first selection unit 42 sets the backward bit string [p4, p5, p6] of the parity bit string and the sixth initial value [101] being set as one. Determine whether you are doing it. In the case of the parity bit sequence of the seventh accumulator unit 41G, the first selection unit 42 matches the rear bit sequence [p4, p5, p6] of the parity bit sequence with the seventh initial value [110] being set. It is determined whether or not. Further, in the case of the parity bit string of the eighth accumulator unit 41H, the first selection unit 42 sets the backward bit string [p4, p5, p6] of the parity bit string and the eighth initial value [111] being set as one. Determine whether you are doing it.

第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]を出力する。   When the rear bit string [p4, p5, p6] of the parity bit string matches the initial value being set, the first selection unit 42 determines that the parity bit string is correct and the parity bit string determined to be correct Is output to the synthesis unit 35 as an output of the accumulator unit 34. The combining unit 35 combines the bit string [u1, u2, u3] of the message and the parity bit string [p1, p2, p3, p4, p5, p6] to generate the codeword [u1, u2, u3, p1, p2, p3, p4, p5, p6] are output.

次に実施例1の光伝送装置1の動作について説明する。図5は、第1の符号化処理に関わる符号化部21の処理動作の一例を示すフローチャートである。図5において符号化部21は、メッセージのビット列[u1,u2,u3]を蓄積したか否かを判定する(ステップS11)。符号化部21は、メッセージのビット列[u1,u2,u3]を蓄積した場合(ステップS11肯定)、リピート部31のリピート処理を実行する(ステップS12)。   Next, the operation of the optical transmission device 1 according to the first embodiment will be described. FIG. 5 is a flowchart illustrating an example of the processing operation of the encoding unit 21 related to the first encoding process. In FIG. 5, the encoding unit 21 determines whether or not the bit string [u1, u2, u3] of the message is accumulated (step S11). When the encoding unit 21 has accumulated the bit string [u1, u2, u3] of the message (Yes at Step S11), the encoding unit 21 performs the repeat process of the repeat unit 31 (Step S12).

符号化部21は、リピート処理を実行後、インターリーバ部32にてインターリーバ処理を実行する(ステップS13)。符号化部21は、結合部33にて結合処理を実行する(ステップS14)。符号化部21は、第1のアキュムレータ部41A〜第8のアキュムレータ部41Hで初期値毎のアキュムレート処理を並行して実行する(ステップS15)。符号化部21は、第1のアキュムレータ部41A〜第8のアキュムレータ部41Hのアキュムレート処理で初期値毎のパリティビット列を出力する(ステップS16)。   After executing the repeat process, the encoding unit 21 performs the interleaver process in the interleaver unit 32 (step S13). The encoding unit 21 performs a combining process in the combining unit 33 (step S14). The encoding unit 21 executes the accumulation process for each initial value in parallel in the first accumulator unit 41A to the eighth accumulator unit 41H (step S15). The encoding unit 21 outputs a parity bit string for each initial value in the accumulation process of the first accumulator unit 41A to the eighth accumulator unit 41H (step S16).

符号化部21は、初期値毎に取得したパリティビット列内の後方ビット列[p4,p5,p6]と設定中の初期値とを比較し(ステップS17)、後方ビット列と設定中の初期値とが一致したパリティビット列を選択する(ステップS18)。符号化部21は、選択したパリティビット列とメッセージのビット列とを結合して符号語cを生成し(ステップS19)、生成した符号語cを出力し(ステップS20)、図5に示す処理動作を終了する。   The encoding unit 21 compares the backward bit string [p4, p5, p6] in the parity bit string acquired for each initial value with the initial value being set (step S17), and the backward bit string and the initial value being set are determined. The matched parity bit string is selected (step S18). The encoding unit 21 combines the selected parity bit string and the message bit string to generate a code word c (step S19), outputs the generated code word c (step S20), and performs the processing operation shown in FIG. finish.

実施例1の符号化部21は、パリティ検査行列H内のパリティ演算行列H2の対角線上の行列と、対角線から1行下の巡回行列と、対角線から所定行、例えば、3行下の巡回行列とを有し、全ての列の列重みが3以上のパリティ検査行列Hを有するため、エラーフロアを改善できる。   The encoding unit 21 according to the first embodiment includes a matrix on the diagonal line of the parity calculation matrix H2 in the parity check matrix H, a cyclic matrix that is one row below the diagonal line, and a cyclic matrix that is a predetermined row, for example, three rows below the diagonal line. And all the columns have a parity check matrix H having a column weight of 3 or more, so that the error floor can be improved.

符号化部21は、パリティ検査行列H内の情報演算行列H1、パリティ演算行列H2及び[p4,p5,p6]に代入する各初期値に基づき、初期値毎のパリティビット列を算出し、パリティビット列の後方ビット列と設定中の初期値とを比較する。そして、後方ビット列と初期値とが一致したパリティビット列を選択し、当該パリティビット列とメッセージのビット列とを結合して符号語cを出力する。その結果、全ての列の列重みが3以上のパリティ検査行列Hを使用した場合でもパリティビット列を算出できる。   The encoding unit 21 calculates a parity bit string for each initial value based on each initial value to be assigned to the information calculation matrix H1, the parity calculation matrix H2, and [p4, p5, p6] in the parity check matrix H. The backward bit string of is compared with the initial value being set. Then, a parity bit string in which the backward bit string matches the initial value is selected, and the parity bit string and the message bit string are combined to output a code word c. As a result, a parity bit string can be calculated even when a parity check matrix H having a column weight of 3 or more for all the columns is used.

しかも、符号化部21は、初期値毎の第1〜第8のアキュムレータ部41A〜41Hを並列に配置し、[p4,p5,p6]の全パターンのパリティビット列を算出する。更に、符号化部21は、パリティビット列の後方ビット列と設定中の初期値とを比較し、後方ビット列と設定中の初期値とが一致したパリティビット列を選択する。その結果、全ての列の列重みが3以上のパリティ検査行列Hを使用した場合でもパリティビット列を算出できる。   Moreover, the encoding unit 21 arranges the first to eighth accumulator units 41A to 41H for each initial value in parallel, and calculates the parity bit strings of all patterns [p4, p5, p6]. Furthermore, the encoding unit 21 compares the rear bit string of the parity bit string with the initial value being set, and selects a parity bit string whose post-bit string matches the initial value being set. As a result, a parity bit string can be calculated even when a parity check matrix H having a column weight of 3 or more for all the columns is used.

実施例1では、高い伝送品質が要求される光伝送システムにおいても、RA符号と同様のメリットを利用できる。しかも、硬判定の誤り訂正回路を併用しなくても済むため、回路規模及び消費電力を抑えた光伝送システムが実現できる。つまり、硬判定回路を持たずに受信BER≦1e-15を達成できる。 In the first embodiment, the same merit as the RA code can be used even in an optical transmission system that requires high transmission quality. In addition, since it is not necessary to use an error correction circuit for hard decision, an optical transmission system with reduced circuit scale and power consumption can be realized. That is, the reception BER ≦ 1e- 15 can be achieved without having a hard decision circuit.

上記実施例1のアキュムレータ部34は、パリティビット列の後方ビット列[p4,p5,p6]の全パターンの初期値を設定した第1〜第8のアキュムレータ41A〜41Hを並列に配置した場合を例示した。しかしながら、このような構成に限定されるものではなく、単一のアキュムレータ部であっても良く、その場合の実施の形態につき、実施例2として以下に説明する。尚、実施例1の光伝送装置1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。   The accumulator unit 34 of the first embodiment exemplifies a case where the first to eighth accumulators 41A to 41H in which initial values of all patterns of the backward bit string [p4, p5, p6] of the parity bit string are set are arranged in parallel. . However, the present invention is not limited to such a configuration, and a single accumulator unit may be used. An embodiment in that case will be described below as Example 2. The same components as those of the optical transmission device 1 according to the first embodiment are denoted by the same reference numerals, and the description of the overlapping configuration and operation is omitted.

実施例1と実施例2のアキュムレータ部とが異なるところは、第1〜第8のアキュムレータ部41A〜41Hを並列配置する代わりに、単一の第10のアキュムレータ部43で初期値を順次更新して各パターンのパリティビット列を順次出力する点にある。   The difference between the first embodiment and the second embodiment is that the initial values are sequentially updated by a single tenth accumulator unit 43 instead of arranging the first to eighth accumulator units 41A to 41H in parallel. Thus, the parity bit string of each pattern is sequentially output.

図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通りである。   FIG. 6 is an explanatory diagram illustrating an example of an accumulator unit 34A according to the second embodiment. The accumulator unit 34A illustrated in FIG. 6 includes a tenth accumulator unit 43 and a second selection unit 42A. The tenth accumulator unit 43 includes an EXOR 51, a first shift register 52, a second shift register 53, a third shift register 54, a pattern memory 55, and a setting unit 56. The pattern memory 55 is an area for storing all initial values of [p4, p5, p6]. The setting unit 56 sets each initial value in the pattern memory 55 in the first to third shift registers 52 to 54. The initial values are, for example, the first [000], the second [001], the third [010], the fourth [011], the fifth [100], the sixth “101”, Eight types of seventh [110] and eighth [111].

設定部56は、パターンメモリ55から初期値を読み出し、読み出した初期値を第1〜第3のシフトレジスタ52〜54に更新することで、初期値毎のパリティビット列を順次出力する。つまり、第10のアキュムレータ部43は、設定部56の初期値の更新に応じて、初期値毎のパリティビット列を順次出力する。   The setting unit 56 reads the initial value from the pattern memory 55, updates the read initial value to the first to third shift registers 52 to 54, and sequentially outputs a parity bit string for each initial value. That is, the tenth accumulator unit 43 sequentially outputs a parity bit string for each initial value in accordance with the update of the initial value of the setting unit 56.

第2の選択部42Aは、第10のアキュムレータ部43からの初期値のパリティビット列を順次入力し、入力したパリティビット列の後方ビット列[p4,p5,p6]と設定中の初期値とを比較する。第2の選択部42Aは、後方ビット列と設定中の初期値とが一致した場合に当該パリティビット列を出力する。第2の選択部42Aは、後方ビット列と設定中の初期値とが一致しなかった場合、当該パリティビット列を破棄する。尚、設定部56は、第2の選択部42Aで後方ビット列と設定中の初期値とが一致するまで初期値を順次設定する。   The second selection unit 42A sequentially inputs the parity bit string of the initial value from the tenth accumulator unit 43, and compares the backward bit string [p4, p5, p6] of the input parity bit string with the initial value being set. . The second selection unit 42A outputs the parity bit string when the backward bit string matches the initial value being set. The second selection unit 42A discards the parity bit string when the backward bit string does not match the initial value being set. The setting unit 56 sequentially sets initial values until the rear bit string matches the initial value being set by the second selection unit 42A.

次に実施例2の光伝送装置1の動作について説明する。図7は、実施例2の第2の符号化処理に関わる符号化部21の処理動作の一例を示すフローチャートである。図7において符号化部21は、ステップS14にて結合処理を実行した後、第10のアキュムレータ部43に初期値を設定する(ステップS31)。符号化部21は、第10のアキュムレータ部43の初期値に基づき、アキュムレート処理を実行する(ステップS32)。   Next, the operation of the optical transmission device 1 according to the second embodiment will be described. FIG. 7 is a flowchart illustrating an example of a processing operation of the encoding unit 21 related to the second encoding process according to the second embodiment. In FIG. 7, the encoding unit 21 sets the initial value in the tenth accumulator unit 43 after executing the combining process in step S14 (step S31). The encoding unit 21 performs an accumulation process based on the initial value of the tenth accumulator unit 43 (step S32).

符号化部21は、アキュムレート処理で初期値のパリティビット列を取得する(ステップS33)。符号化部21は、設定したパリティビット列内の後方ビット列と現在設定中の初期値とを比較し(ステップS34)、後方ビット列と現在設定中の初期値とが一致したか否かを判定する(ステップS35)。符号化部21は、後方ビット列と初期値とが一致した場合(ステップS35肯定)、一致したパリティビット列を選択する(ステップS36)。   The encoding unit 21 acquires an initial value parity bit string by the accumulation process (step S33). The encoding unit 21 compares the backward bit string in the set parity bit string with the initial value currently set (step S34), and determines whether or not the backward bit string and the initial value currently set match (step S34). Step S35). When the backward bit string matches the initial value (Yes at Step S35), the encoding unit 21 selects the matched parity bit string (Step S36).

符号化部21は、選択したパリティビット列とメッセージのビット列とを結合して符号語cを生成し(ステップS37)、生成した符号語cを出力し(ステップS38)、図7に示す処理動作を終了する。符号化部21は、後方ビット列と初期値とが一致しなかった場合(ステップS35否定)、未設定の初期値を第10のアキュムレータ部43に設定し(ステップS39)、アキュムレート処理を実行すべく、ステップS32に移行する。   The encoding unit 21 combines the selected parity bit string and the message bit string to generate a code word c (step S37), outputs the generated code word c (step S38), and performs the processing operation shown in FIG. finish. When the backward bit string does not match the initial value (No at Step S35), the encoding unit 21 sets an unset initial value in the tenth accumulator unit 43 (Step S39), and executes the accumulation process. Therefore, the process proceeds to step S32.

実施例2の符号化部21は、単一の第10のアキュムレータ部43で初期値を順次設定して初期値毎のパリティビット列を順次算出し、算出したパリティビット列の後方ビット列と設定中の初期値とを比較する。符号化部21は、後方ビット列と設定中の初期値とが一致している場合に当該パリティビット列を出力する。更に、符号化部21は、当該パリティビット列とメッセージのビット列とを結合して符号語cを出力する。その結果、全ての列の列重みが3以上のパリティ検査行列Hを使用した場合でもパリティビット列を算出できる。   The encoding unit 21 according to the second embodiment sequentially sets the initial value by the single tenth accumulator unit 43 to sequentially calculate the parity bit string for each initial value, and the rear bit string of the calculated parity bit string and the initial bit being set Compare the value. The encoding unit 21 outputs the parity bit sequence when the backward bit sequence matches the initial value being set. Further, the encoding unit 21 combines the parity bit string and the message bit string and outputs a codeword c. As a result, a parity bit string can be calculated even when a parity check matrix H having a column weight of 3 or more for all the columns is used.

尚、実施例1及び2のアキュムレータ部34(34A)の構成に限定されるものではなく、並列処理及び更新処理を併用したアキュムレータ部にしても良く、その実施の形態につき、実施例3として以下に説明する。尚、実施例1の光伝送装置1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。   In addition, it is not limited to the structure of the accumulator part 34 (34A) of Example 1 and 2, You may be made into the accumulator part which used the parallel processing and the update process together, and it is referred to as Example 3 below about the embodiment. Explained. The same components as those of the optical transmission device 1 according to the first embodiment are denoted by the same reference numerals, and the description of the overlapping configuration and operation is omitted.

実施例1のアキュムレータ部34と実施例3のアキュムレータ部34Bとが異なるところは、第11〜第14のアキュムレータ部44A〜44Dの4台にし、各第11〜第14のアキュムレータ部44A〜44Dで2種類の初期値を設定可能にした点にある。   The difference between the accumulator unit 34 of the first embodiment and the accumulator unit 34B of the third embodiment is the four units of the 11th to 14th accumulator units 44A to 44D, and each of the 11th to 14th accumulator units 44A to 44D. Two types of initial values can be set.

図8は、実施例3のアキュムレータ部34Bの一例を示す説明図である。図8に示すアキュムレータ部34Bは、第11のアキュムレータ部44Aと、第12のアキュムレータ部44Bと、第13のアキュムレータ部44Cと、第14のアキュムレータ部44Dと、第3の選択部42Bとを有する。   FIG. 8 is an explanatory diagram illustrating an example of the accumulator unit 34B according to the third embodiment. The accumulator unit 34B shown in FIG. 8 includes an eleventh accumulator unit 44A, a twelfth accumulator unit 44B, a thirteenth accumulator unit 44C, a fourteenth accumulator unit 44D, and a third selection unit 42B. .

第11〜第14のアキュムレータ部44A〜44Dは、EXOR51と、第1〜第3のシフレジスタ部52〜54と、パターンメモリ55Aと、設定部56Aとを有する。   The 11th to 14th accumulator units 44A to 44D include an EXOR 51, first to third shift register units 52 to 54, a pattern memory 55A, and a setting unit 56A.

第11のアキュムレータ部44Aのパターンメモリ55Aには、2種類の初期値として、第1の初期値[000]及び第2の初期値[001]を格納している。第11のアキュムレータ部44Aの設定部56Aは、第1の初期値[000]及び第2の初期値[001]を設定可能にしている。   The pattern memory 55A of the eleventh accumulator unit 44A stores a first initial value [000] and a second initial value [001] as two types of initial values. The setting unit 56A of the eleventh accumulator unit 44A can set the first initial value [000] and the second initial value [001].

第12のアキュムレータ部44Bのパターンメモリ55Aには、2種類の初期値として、第3の初期値[010]及び第4の初期値[011]を格納している。第12のアキュムレータ部44Bの設定部56Aは、第3の初期値[010]及び第4の初期値[011]を設定可能にしている。   The pattern memory 55A of the twelfth accumulator unit 44B stores a third initial value [010] and a fourth initial value [011] as two types of initial values. The setting unit 56A of the twelfth accumulator unit 44B can set the third initial value [010] and the fourth initial value [011].

第13のアキュムレータ部44Cのパターンメモリ55Aには、2種類の初期値として、第5の初期値[100]及び第6の初期値[101]を格納している。第13のアキュムレータ部44Cの設定部56Aは、第5の初期値[100]及び第6の初期値[101]を設定可能にしている。   The pattern memory 55A of the thirteenth accumulator unit 44C stores a fifth initial value [100] and a sixth initial value [101] as two types of initial values. The setting unit 56A of the thirteenth accumulator unit 44C can set the fifth initial value [100] and the sixth initial value [101].

第14のアキュムレータ部44Dのパターンメモリ55Aには、2種類の初期値として、第7の初期値[110]及び第8の初期値[111]を格納している。第14のアキュムレータ部44Dの設定部56Aは、第7の初期値[110]及び第8の初期値[111]を設定可能にしている。   The pattern memory 55A of the fourteenth accumulator unit 44D stores a seventh initial value [110] and an eighth initial value [111] as two types of initial values. The setting unit 56A of the fourteenth accumulator unit 44D can set the seventh initial value [110] and the eighth initial value [111].

第3の選択部42Bは、第11〜第14のアキュムレータ部44A〜44Dから初期値毎のパリティビット列を並列に入力する。第3の選択部42Bは、初期値のパリティビット列の後方ビット列と設定中の初期値とを比較し、後方ビット列と設定中の初期値とが一致したか否かを判定する。第3の選択部42Bは、パリティビット列の後方ビット列と設定中の初期値とが一致した場合に当該パリティビット列を選択出力する。また、第3の選択部42Bは、パリティビット列の後方ビット列と初期値とが一致しなかった場合に当該パリティビット列を破棄する。   The third selection unit 42B inputs a parity bit string for each initial value in parallel from the first to fourteenth accumulator units 44A to 44D. The third selection unit 42B compares the backward bit string of the parity bit string of the initial value with the initial value being set, and determines whether or not the backward bit string matches the initial value being set. The third selection unit 42B selects and outputs the parity bit string when the backward bit string of the parity bit string matches the initial value being set. Further, the third selection unit 42B discards the parity bit string when the backward bit string of the parity bit string does not match the initial value.

次に実施例3の光伝送装置1の動作について説明する。図9は、実施例3の第3の符号化処理に関わる符号化部21の処理動作の一例を示すフローチャートである。図9において符号化部21は、ステップS14にて結合処理を実行した後、第11〜第14のアキュムレータ部44A〜44Dに初期値を設定する(ステップS41)。符号化部21は、第11〜第14のアキュムレータ部44A〜44Dの初期値に基づき、アキュムレート処理を実行する(ステップS42)。   Next, the operation of the optical transmission device 1 according to the third embodiment will be described. FIG. 9 is a flowchart illustrating an example of the processing operation of the encoding unit 21 related to the third encoding process according to the third embodiment. In FIG. 9, the encoding unit 21 sets the initial value in the 11th to 14th accumulator units 44A to 44D after executing the combining process in step S14 (step S41). The encoding unit 21 performs an accumulation process based on the initial values of the 11th to 14th accumulator units 44A to 44D (step S42).

符号化部21は、アキュムレート処理で初期値のパリティビット列を取得する(ステップS43)。符号化部21は、設定したパリティビット列内の後方ビット列と現在設定中の初期値とを比較し(ステップS44)、後方ビット列と現在設定中の初期値とが一致したか否かを判定する(ステップS45)。符号化部21は、後方ビット列と設定中の初期値とが一致した場合(ステップS45肯定)、一致した初期値のパリティビット列を選択する(ステップS46)。   The encoding unit 21 acquires an initial value parity bit string by the accumulation process (step S43). The encoding unit 21 compares the backward bit string in the set parity bit string with the currently set initial value (step S44), and determines whether or not the backward bit string matches the currently set initial value ( Step S45). When the backward bit string matches the initial value being set (Yes at Step S45), the encoding unit 21 selects the parity bit string having the matching initial value (Step S46).

符号化部21は、選択したパリティビット列とメッセージのビット列とを結合して符号語cを生成し(ステップS47)、生成した符号語を出力し(ステップS48)、図9に示す処理動作を終了する。符号化部21は、後方ビット列と設定中の初期値とが一致しなかった場合(ステップS45否定)、未設定の初期値を第11〜第14のアキュムレータ部44A〜44Dに設定し(ステップS49)、アキュムレート処理を実行すべく、ステップS42に移行する。   The encoding unit 21 combines the selected parity bit string and the message bit string to generate a codeword c (step S47), outputs the generated codeword (step S48), and ends the processing operation shown in FIG. To do. If the backward bit string does not match the initial value being set (No at Step S45), the encoding unit 21 sets an unset initial value in the 11th to 14th accumulator units 44A to 44D (Step S49). ), The process proceeds to step S42 to execute the accumulation process.

実施例3の符号化部21は、第11〜第14のアキュムレータ部44A〜44Dで初期値を順次設定して初期値毎のパリティビット列を順次算出し、算出したパリティビット列の後方ビット列と設定中の初期値とを比較する。符号化部21は、後方ビット列と設定中の初期値とが一致している場合に当該パリティビット列を出力する。更に、符号化部21は、当該パリティビット列とメッセージのビット列とを結合して符号語cを出力する。その結果、全ての列の列重みが3以上のパリティ検査行列Hを使用した場合でもパリティビット列を算出できる。   The encoding unit 21 according to the third embodiment sequentially sets initial values in the first to fourteenth accumulator units 44A to 44D, sequentially calculates a parity bit string for each initial value, and is setting a backward bit string of the calculated parity bit string Compare the initial value of. The encoding unit 21 outputs the parity bit sequence when the backward bit sequence matches the initial value being set. Further, the encoding unit 21 combines the parity bit string and the message bit string and outputs a codeword c. As a result, a parity bit string can be calculated even when a parity check matrix H having a column weight of 3 or more for all the columns is used.

尚、上記実施例1〜3では、w3RA符号を例示したが、w3RA符号に限定されるものではなく、空間結合RA符号にも適用できるため、その実施の形態につき、実施例4として以下に説明する。尚、実施例1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。   In the first to third embodiments, the w3RA code is exemplified. However, the present invention is not limited to the w3RA code and can be applied to a spatially coupled RA code. Therefore, the embodiment will be described below as a fourth embodiment. To do. In addition, the same code | symbol is attached | subjected to the structure same as Example 1, and the description of the overlapping structure and operation | movement is abbreviate | omitted.

空間結合RA符号は、RA符号又はw3RA符号の情報演算行列H11が空間結合LDPCで構成し、各要素行列を空間と見立てて結合している。図10は、空間結合RA符号のパリティ検査行列H10の一例を示す説明図である。   In the spatially-coupled RA code, the information calculation matrix H11 of the RA code or the w3RA code is configured by a spatially-coupled LDPC, and each element matrix is regarded as a space and coupled. FIG. 10 is an explanatory diagram illustrating an example of the parity check matrix H10 of the spatially-coupled RA code.

図10に示すパリティ検査行列H10は、情報演算行列H11と、パリティ演算行列H12とを有する。パリティ演算行列H12は、対角線上の行列と、対角線から1行下の巡回行列と、対角線から所定行、例えば、4行下の巡回行列とに規則的に“1”要素を配置する構造である。この場合、パリティ演算行列H12内の所定行、すなわち4桁の後方ビット列[p9,p10,p11,p12]の16通りの全パターンの設定ビット列を16台のアキュムレータ部に設定する。初期値は、2^(所定行数)=2^4=16通りである。16台のアキュムレータ部を並列配置するものとする。その結果、16台のアキュムレータ部は、設定ビット列毎に16通りのパリティビット列を出力する。   A parity check matrix H10 illustrated in FIG. 10 includes an information operation matrix H11 and a parity operation matrix H12. The parity calculation matrix H12 has a structure in which “1” elements are regularly arranged in a diagonal matrix, a cyclic matrix one row below the diagonal, and a cyclic matrix below the predetermined row, for example, four rows from the diagonal. . In this case, 16 set bit strings of all 16 patterns of a predetermined row in the parity calculation matrix H12, that is, a 4-digit backward bit string [p9, p10, p11, p12] are set in 16 accumulator units. The initial value is 2 ^ (predetermined number of rows) = 2 ^ 4 = 16. Assume that 16 accumulator units are arranged in parallel. As a result, the 16 accumulator units output 16 parity bit strings for each set bit string.

そして、第1の選択部42は、パリティビット列の後方ビット列[p9,p10,p11,p12]と設定中の初期値とが一致しているか否かを判定し、後方ビット列と設定中の初期値とが一致したパリティビット列を合成部35に出力する。   Then, the first selection unit 42 determines whether or not the backward bit string [p9, p10, p11, p12] of the parity bit string matches the initial value being set, and the backward bit string and the initial value being set A parity bit string that matches is output to the synthesizer 35.

図11Aは、本発明を適用しない空間結合RA符号(巡回なし)の誤り訂正のBER−SNR特性の一例を示す説明図である。図11Aに示す例では、パリティ演算行列H12内に列重みが2以下の列が存在するため、エラーフロアが発生している。これに対して、図11Bは、実施例4の空間結合RA符号(巡回あり)の誤り訂正のBER−SNR特性の一例を示す説明図である。図11Bに示す例では、パリティ演算行列H12内の全ての列の列重みが3以上の構成であるため、エラーフロアが改善している。   FIG. 11A is an explanatory diagram illustrating an example of a BER-SNR characteristic of error correction of a spatially-coupled RA code (no cyclic) to which the present invention is not applied. In the example shown in FIG. 11A, an error floor occurs because a column having a column weight of 2 or less exists in the parity calculation matrix H12. In contrast, FIG. 11B is an explanatory diagram illustrating an example of a BER-SNR characteristic of error correction of the spatially-combined RA code (with cyclic) according to the fourth embodiment. In the example shown in FIG. 11B, the error floor is improved because the column weights of all the columns in the parity calculation matrix H12 are 3 or more.

実施例4の符号化部21は、空間結合RA符号のパリティ検査行列H10内のパリティ演算行列H12の対角線上の行列と、対角線から1行下の巡回行列と、対角線から4行下の巡回行列とを有し、全ての列の列重みが3以上のパリティ検査行列H10を有する。その結果、エラーフロアを改善できる。   The encoding unit 21 according to the fourth embodiment includes a matrix on the diagonal line of the parity operation matrix H12 in the parity check matrix H10 of the spatially coupled RA code, a cyclic matrix one row below the diagonal line, and a cyclic matrix four rows below the diagonal line. And a parity check matrix H10 in which the column weights of all the columns are 3 or more. As a result, the error floor can be improved.

実施例4の符号化部21は、パリティ検査行列H10内の情報演算行列H11、パリティ演算行列H12及び[p9,p10,p11,p12]に代入する各初期値に基づき、初期値毎のパリティビット列を算出する。符号化部21は、初期値毎のパリティビット列の後方ビット列と設定中の初期値とを比較する。そして、符号化部21は、後方ビット列と設定中の初期値とが一致したパリティビット列を出力し、当該パリティビット列とメッセージのビット列とを結合して符号語cを出力する。その結果、空間結合RA符号の全ての列の列重みが3以上のパリティ検査行列H10を使用した場合でもパリティビット列を算出できる。   The encoding unit 21 according to the fourth embodiment uses a parity bit string for each initial value based on each information calculation matrix H11, parity calculation matrix H12, and [p9, p10, p11, p12] in the parity check matrix H10. Is calculated. The encoding unit 21 compares the backward bit string of the parity bit string for each initial value with the initial value being set. Then, the encoding unit 21 outputs a parity bit string in which the backward bit string matches the initial value being set, combines the parity bit string and the bit string of the message, and outputs a code word c. As a result, a parity bit string can be calculated even when a parity check matrix H10 having a column weight of 3 or more for all the columns of the spatially coupled RA code is used.

しかも、実施例4の符号化部21は、初期値毎にアキュムレータ部34を並列に配置し、[p9,p10,p11,p12]の全パターンのパリティビット列を算出し、パリティビット列の後方ビット列と設定中の初期値とを比較する。符号化部21は、後方ビット列と設定中の初期値とが一致したパリティビット列を出力する。その結果、全ての列の列重みが3以上のパリティ検査行列H10を使用した場合でもパリティビット列を算出できる。   In addition, the encoding unit 21 according to the fourth embodiment arranges the accumulator unit 34 in parallel for each initial value, calculates parity bit sequences of all patterns [p9, p10, p11, p12], Compare the initial value being set. The encoding unit 21 outputs a parity bit string in which the backward bit string matches the initial value being set. As a result, a parity bit string can be calculated even when a parity check matrix H10 having a column weight of 3 or more for all the columns is used.

実施例4では、空間結合RA符号に適用することで、符号化処理を過度に複雑化することなく、高いエラー訂正能力と低いエラーフロアとを両立できる。   In the fourth embodiment, by applying to the spatially coupled RA code, it is possible to achieve both a high error correction capability and a low error floor without excessively complicating the encoding process.

尚、上記実施例1〜3では、パリティ演算行列H2内の対角線上の行列、対角線から1行下の巡回行列、対角線から3行下の巡回行列で構成したが、これらの構成に限定されるものではなく、適宜変更可能であることは言うまでもない。所定行は対角線から3行下、若しくは4行下に限定されるものではなく、適宜変更可能である。   In the first to third embodiments, the diagonal matrix in the parity calculation matrix H2, the cyclic matrix one row below the diagonal line, and the cyclic matrix three rows below the diagonal line are used. However, the configurations are limited to these configurations. Needless to say, it can be changed as appropriate. The predetermined line is not limited to three lines or four lines below the diagonal, and can be changed as appropriate.

実施例4の符号化部21は、空間結合RA符号を実施例1のアキュムレータ部34に適用して説明したが、実施例2のアキュムレータ部34Aや実施例3のアキュムレータ部34Bに適用しても良く、適宜変更可能である。   The encoding unit 21 according to the fourth embodiment has been described by applying the spatially coupled RA code to the accumulator unit 34 according to the first embodiment. However, the encoding unit 21 may be applied to the accumulator unit 34A according to the second embodiment or the accumulator unit 34B according to the third embodiment. It can be changed as appropriate.

また、上記実施例の符号化部21は、光伝送装置1に内蔵したが、光信号に限定されるものではなく、電気信号を符号化する場合にも適用可能である。   Moreover, although the encoding part 21 of the said Example was incorporated in the optical transmission apparatus 1, it is not limited to an optical signal, It is applicable also when encoding an electrical signal.

また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。   In addition, each component of each part illustrated does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each part is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed / integrated in arbitrary units according to various loads and usage conditions. Can be configured.

更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。   Furthermore, various processing functions performed in each device are performed on a CPU (Central Processing Unit) (or a microcomputer such as an MPU (Micro Processing Unit), MCU (Micro Controller Unit), etc.) in whole or in part. You may make it perform. Various processing functions may be executed entirely or arbitrarily on a program that is analyzed and executed by a CPU (or a microcomputer such as an MPU or MCU) or hardware based on wired logic. Needless to say.

1 光伝送装置
21 符号化部
34、34A、34B アキュムレータ部
41A〜41H 第1〜第8のアキュムレータ部
42 第1の選択部
42A 第2の選択部
42B 第3の選択部
43 第10のアキュムレータ部
44A〜44D 第11〜第14のアキュムレータ部
DESCRIPTION OF SYMBOLS 1 Optical transmission apparatus 21 Encoding part 34, 34A, 34B Accumulator part 41A-41H 1st-8th accumulator part 42 1st selection part 42A 2nd selection part 42B 3rd selection part 43 10th accumulator part 44A-44D 11th-14th accumulator part

Claims (8)

対角線上の行列及び、前記対角線上の1行下及び所定行下の巡回行列を有するパリティ演算行列と、情報演算行列とを有するパリティ検査行列と、
メッセージのビット列の入力に応じて、前記パリティ演算行列及び前記情報演算行列で指定する演算式でパリティビット列を算出する際に使用するパリティビットの前記所定行数分の後方ビット列に全通りの初期値を設定して、前記初期値毎にパリティビット列を算出する算出部と、
前記初期値毎の前記パリティビット列の後方ビット列が前記初期値と一致する場合に当該初期値のパリティビット列を選択する選択部と、
選択されたパリティビット列と前記メッセージのビット列とを結合して符号語を出力する合成部と
を有することを特徴とする符号化装置。
A parity check matrix having a matrix on a diagonal line, a parity operation matrix having a cyclic matrix one row below and a predetermined row below the diagonal line, and an information operation matrix;
Depending on the input of the bit string of the message, all the initial values in the rear bit string of the predetermined number of rows of the parity bits used when calculating the parity bit string with the arithmetic expression specified by the parity arithmetic matrix and the information arithmetic matrix And calculating a parity bit string for each initial value;
A selection unit that selects a parity bit string of the initial value when a backward bit string of the parity bit string for each initial value matches the initial value;
An encoding apparatus, comprising: a combining unit that combines the selected parity bit string and the bit string of the message to output a code word.
前記算出部は、
前記初期値毎に前記パリティビット列を算出するアキュムレータ部を2^(所定行数)個有し、これらアキュムレータ部を並列配置することを特徴とする請求項1に記載の符号化装置。
The calculation unit includes:
2. The encoding apparatus according to claim 1, comprising 2 ^ (predetermined number of rows) accumulator units for calculating the parity bit string for each initial value, and arranging these accumulator units in parallel.
前記算出部は、
前記初期値を設定する設定部と、
前記設定部にて設定された前記初期値毎に前記パリティビット列を算出するアキュムレータ部と
を有することを特徴とする請求項1に記載の符号化装置。
The calculation unit includes:
A setting unit for setting the initial value;
The encoding apparatus according to claim 1, further comprising: an accumulator unit that calculates the parity bit string for each of the initial values set by the setting unit.
前記算出部は、
前記初期値を設定する設定部と、
前記設定部にて設定された前記初期値毎に前記パリティビット列を算出する複数のアキュムレータ部とを有し、これらアキュムレータ部を並列配置することを特徴とする請求項1に記載の符号化装置。
The calculation unit includes:
A setting unit for setting the initial value;
The encoding apparatus according to claim 1, further comprising: a plurality of accumulator units that calculate the parity bit string for each of the initial values set by the setting unit, wherein the accumulator units are arranged in parallel.
前記パリティ検査行列は、
weight−3 Repeat Accumulate符号のパリティ検査行列であることを特徴とする請求項1〜4の何れか一つに記載の符号化装置。
The parity check matrix is
5. The encoding apparatus according to claim 1, wherein the encoding apparatus is a parity check matrix of a weight-3 Repeat Accumulate code.
前記パリティ検査行列は、
空間結合Repeat Accumulate符号のパリティ検査行列であることを特徴とする請求項1〜4の何れか一つに記載の符号化装置。
The parity check matrix is
5. The encoding apparatus according to claim 1, wherein the encoding apparatus is a parity check matrix of a spatially coupled Repeat Accumulate code.
メッセージのビット列の入力に応じて符号語を出力する符号化装置を内蔵した伝送装置であって、
前記符号化装置は、
対角線上の行列及び、前記対角線上の1行下及び所定行下の巡回行列を有するパリティ演算行列と、情報演算行列とを有するパリティ検査行列と、
前記メッセージのビット列の入力に応じて、前記パリティ演算行列及び前記情報演算行列で指定する演算式でパリティビット列を算出する際に使用するパリティビットの前記所定行数分の後方ビット列に全通りの初期値を設定して、前記初期値毎にパリティビット列を算出する算出部と、
前記初期値毎の前記パリティビット列の後方ビット列が前記初期値と一致する場合に当該初期値のパリティビット列を選択する選択部と、
選択されたパリティビット列と前記メッセージのビット列とを結合して符号語を出力する合成部と
を有することを特徴とする伝送装置。
A transmission device including a coding device that outputs a code word in response to input of a bit string of a message,
The encoding device includes:
A parity check matrix having a matrix on a diagonal line, a parity operation matrix having a cyclic matrix one row below and a predetermined row below the diagonal line, and an information operation matrix;
In accordance with the bit string input of the message, all the initial bit strings in the rear bit string corresponding to the predetermined number of rows of parity bits used when calculating the parity bit string by the arithmetic expression specified by the parity arithmetic matrix and the information arithmetic matrix A calculation unit for setting a value and calculating a parity bit string for each initial value;
A selection unit that selects a parity bit string of the initial value when a backward bit string of the parity bit string for each initial value matches the initial value;
A transmission apparatus comprising: a combining unit that combines the selected parity bit string and the bit string of the message to output a code word.
対角線上の行列及び、前記対角線上の1行下及び所定行下の巡回行列を有するパリティ演算行列と、情報演算行列とを有するパリティ検査行列を有し、
メッセージのビット列の入力に応じて、前記パリティ演算行列及び前記情報演算行列で指定する演算式でパリティビット列を算出する際に使用するパリティビットの前記所定行数分の後方ビット列に全通りの初期値を設定して、前記初期値毎にパリティビット列を算出し、
前記初期値毎の前記パリティビット列の後方ビット列が前記初期値と一致する場合に当該初期値のパリティビット列を選択し、
選択されたパリティビット列と前記メッセージのビット列とを結合して符号語を出力する
処理を実行することを特徴とする符号化方法。
A parity check matrix having a matrix on a diagonal line, a parity operation matrix having a cyclic matrix below and one row below the diagonal line, and an information operation matrix,
Depending on the input of the bit string of the message, all the initial values in the rear bit string of the predetermined number of rows of the parity bits used when calculating the parity bit string with the arithmetic expression specified by the parity arithmetic matrix and the information arithmetic matrix To calculate a parity bit string for each initial value,
When a backward bit string of the parity bit string for each initial value matches the initial value, the parity bit string of the initial value is selected,
An encoding method comprising: executing a process of combining the selected parity bit string and the bit string of the message to output a code word.
JP2016116861A 2016-06-13 2016-06-13 Coding device, transmission device, and coding method Pending JP2017224874A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016116861A JP2017224874A (en) 2016-06-13 2016-06-13 Coding device, transmission device, and coding method
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 (en) 2016-06-13 2016-06-13 Coding device, transmission device, and coding method

Publications (1)

Publication Number Publication Date
JP2017224874A true JP2017224874A (en) 2017-12-21

Family

ID=60573265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016116861A Pending JP2017224874A (en) 2016-06-13 2016-06-13 Coding device, transmission device, and coding method

Country Status (2)

Country Link
US (1) US20170359085A1 (en)
JP (1) JP2017224874A (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5354979B2 (en) * 2007-07-12 2013-11-27 パナソニック株式会社 Low density parity check convolutional code (LDPC-CC) encoder and LDPC-CC decoder
EP2337259B1 (en) * 2009-11-18 2021-08-25 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data in a communication system
KR101670511B1 (en) * 2010-05-07 2016-10-28 삼성전자주식회사 Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
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

Also Published As

Publication number Publication date
US20170359085A1 (en) 2017-12-14

Similar Documents

Publication Publication Date Title
KR101093313B1 (en) Node processors for use in parity check decoders
Bakshi et al. Concatenated polar codes
WO2011062111A1 (en) Error correction method and device, and communication system using the same
JP6656492B2 (en) Error correction device and optical transceiver
KR20080033381A (en) Test matrix generating method, encoding method, decoding method, communication apparatus, communication system, encoder and decoder
CN102412847A (en) Method and apparatus for decoding low density parity check code using united node processing
JP2007166605A (en) Parity check matrix, method for generating parity check matrix, encoding method, and error corrector
CN104205647A (en) Method and device for performance evaluation of forward error correction (fec) codes
WO2019130475A1 (en) Error correction encoding method and device and decoding method and device using channel polarization
JPWO2006106841A1 (en) Error correction coding device
CN101888251A (en) Error correction coding method, error correction decoding method, error correction coding apparatus, and error correction decoding apparatus
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
JP2017224874A (en) Coding device, transmission device, and coding method
JP2009201084A (en) Coder and transmission apparatus
JP6472790B2 (en) Low density parity check encoding for different low density parity check (LDPC) codes sharing common hardware resources
JP4202161B2 (en) Encoding device and decoding device
JP7214013B2 (en) Error correction coding device, error correction coding method, error correction device, error correction method, communication method, optical communication system, and error correction program
JP5500357B2 (en) Encoding device and encoding method
US10623137B2 (en) Transmission apparatus and error correction method
CN111527705B (en) Channel code construction for decoder reuse
Li et al. Reconfigurable forward error correction decoder for beyond 100 Gbps high speed optical links
JP5385944B2 (en) Decoder
CA3222608A1 (en) Forward error correction coding using a tree structure
JP5642651B2 (en) Decoding device, encoding / decoding system, encoding / decoding method, and decoding program
JP2011109228A (en) Decoding device and method

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