JP5490931B2 - Encoder, decoder, encoding method, and decoding method - Google Patents
Encoder, decoder, encoding method, and decoding method Download PDFInfo
- Publication number
- JP5490931B2 JP5490931B2 JP2013026585A JP2013026585A JP5490931B2 JP 5490931 B2 JP5490931 B2 JP 5490931B2 JP 2013026585 A JP2013026585 A JP 2013026585A JP 2013026585 A JP2013026585 A JP 2013026585A JP 5490931 B2 JP5490931 B2 JP 5490931B2
- Authority
- JP
- Japan
- Prior art keywords
- sequence
- encoder
- termination
- ldpc
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/255—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] 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/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/1105—Decoding
- H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
-
- 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/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6527—IEEE 802.11 [WLAN]
Description
本発明は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Code)を用いて誤り訂正符号化/復号を行う符号器、復号器、符号化方法、及び、復号方法に関する。 The present invention relates to an encoder, a decoder, an encoding method, and a decoding method that perform error correction encoding / decoding using a low-density parity-check convolutional code (LDPC-CC). .
近年、実現可能な回路規模で高い誤り訂正能力を発揮する誤り訂正符号として、低密度パリティ検査(LDPC:Low-Density Parity-Check)符号に注目が集まっている。LDPC符号は、その誤り訂正能力の高さと、実装の容易さからIEEE802.11nの高速無線LAN(Local Area Network)システムやデジタル放送システムなどの誤り訂正符号化方式に採用されている。 In recent years, attention has been focused on a low-density parity check (LDPC) code as an error correction code that exhibits high error correction capability with a feasible circuit scale. The LDPC code is adopted in an error correction coding system such as an IEEE802.11n high-speed wireless local area network (LAN) system or a digital broadcasting system because of its high error correction capability and ease of implementation.
LDPC符号は低密度な(行列中に含まれる1の要素数が0の要素数に比べて大幅に少ない)パリティ検査行列Hで定義される誤り訂正符号である。LDPC符号は、検査行列Hの列数Nと等しいブロック長を持つブロック符号である。 The LDPC code is an error correction code defined by a parity check matrix H having a low density (the number of 1 elements included in the matrix is significantly smaller than the number of 0 elements). The LDPC code is a block code having a block length equal to the number N of columns of the check matrix H.
しかし、現在の通信システムの多くは、イーサネット(登録商標)のように可変長のパケットやフレームに基づいて通信を行うという特徴がある。このようなシステムにブロック符号であるLDPC符号を適用する場合、例えば、可変長なイーサネット(登録商標)のフレームに対して固定長のLDPC符号のブロックをどのように対応させるかといった課題が発生する。LDPC符号が採用されている無線LANの規格であるIEEE802.11nでは、送信情報系列にパディングやパンクチャなどを適用して、送信情報系列の長さと、LDPC符号のブロック長の調節を行っている。しかし、パディング、パンクチャにより符号化率の変化や冗長な系列の送信が必要になるという問題がある。 However, many of the current communication systems are characterized by performing communication based on variable-length packets and frames, such as Ethernet (registered trademark). When an LDPC code that is a block code is applied to such a system, for example, there is a problem of how a block of a fixed-length LDPC code corresponds to a variable-length Ethernet (registered trademark) frame. . In IEEE802.11n, which is a wireless LAN standard that employs an LDPC code, padding and puncturing are applied to a transmission information sequence to adjust the length of the transmission information sequence and the block length of the LDPC code. However, there is a problem that a coding rate change or redundant sequence transmission is required due to padding and puncturing.
このようなブロック符号のLDPC符号(以下「LDPC−BC:Low-Density Parity-Check Block Code」と標記する)に対して、任意の長さの情報系列に対しての符号化・復号化が可能な低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Code)の検討が行われている(非特許文献1参照)。 An LDPC code of such a block code (hereinafter referred to as “LDPC-BC: Low-Density Parity-Check Block Code”) can be encoded / decoded for an information sequence of any length. A low-density parity-check convolutional code (LDPC-CC) has been studied (see Non-Patent Document 1).
LDPC−CCは、低密度なパリティ検査行列により定義される畳み込み符号である。図54に、一例として、符号化率R=1/2(=b/c)のLDPC−CCのパリティ検査行列H[0、n] Tを示す。 LDPC-CC is a convolutional code defined by a low-density parity check matrix. FIG. 54 shows, as an example, an LDPC-CC parity check matrix H [0, n] T with a coding rate R = 1/2 (= b / c).
LDPC−CCにおいて、検査行列H[0、n] Tの要素h1 (m)(t),h2 (m)(t)は、0または1をとる。また、検査行列H[0、n]Tに含まれるh1 (m)(t),h2 (m)(t)以外の要素は全て0である。同図中、Mは、LDPC−CCにおけるメモリ長を表し、nは、送信情報系列の長さを表す。図54に示されるように、LDPC−CCの検査行列は、行列の対角項とその近辺の要素にのみに1が立っており、行列の左下及び右上の要素はゼロであり、平行四辺形の行列であるという特徴がある。 In LDPC-CC, elements h 1 (m) (t) and h 2 (m) (t) of parity check matrix H [0, n] T take 0 or 1. In addition, all elements other than h 1 (m) (t) and h 2 (m) (t) included in the check matrix H [0, n] T are 0. In the figure, M represents the memory length in LDPC-CC, and n represents the length of the transmission information sequence. As shown in FIG. 54, in the LDPC-CC parity check matrix, 1 is set only in the diagonal term of the matrix and the elements in the vicinity thereof, the elements in the lower left and upper right of the matrix are zero, and the parallelogram There is a feature that it is a matrix.
ここで、符号化率R=1/2(=b/c)の例を示すと、h1 (0)(t),h2 (0)(t)=1であるとき、LDPC−CCの符号化は、図54の検査行列H[0、n] Tに従って、式(1)及び式(2)で行われる。
図55に、式(1)及び式(2)を行うLDPC−CCの符号器の構成例を示す。図55に示すように、LDPC−CC符号器10は、シフトレジスタ11−1〜11−M,14−1〜14−M、ウェイト乗算器12−0〜12−M,13−0〜13−M、ウェイト制御部16、及びmod2加算器15を備えて構成される。
FIG. 55 shows a configuration example of an LDPC-CC encoder that performs equations (1) and (2). As shown in FIG. 55, the LDPC-
シフトレジスタ11−1〜11−M及び14−1〜14−Mは、それぞれv1,t−i,v2,t−i(i=0,…,M)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。 The shift registers 11-1 to 11-M and 14-1 to 14-M are registers that hold v1 , ti , v2 , ti (i = 0,..., M), respectively. Is input to the shift register on the right and the value output from the shift register on the left is newly stored.
ウェイト乗算器12−0〜12−M,13−0〜13−Mは、ウェイト制御部16から出力される制御信号に従って、h1 (m),h2 (m)の値を0/1に切り替える。ウェイト制御部16は、内部に保持している検査行列に基づいて、そのタイミングにおけるh1 (m),h2 (m)の値をウェイト乗算器12−0〜12−M,13−0〜13−Mに出力する。
The weight multipliers 12-0 to 12-M and 13-0 to 13-M set the values of h 1 (m) and h 2 (m) to 0/1 according to the control signal output from the
mod2加算器15は、ウェイト乗算器12−0〜12−M,13−0〜13−Mの出力に対しmod2加算を行い、v2,tを算出する。
The
このような構成を採ることで、LDPC−CC符号器10は、検査行列に従ったLDPC−CCの符号化を行うことができる。
By adopting such a configuration, LDPC-
LDPC−CC符号器は、生成行列の乗算を行う符号器の回路や,後退代入法または前方代入法に基づく演算を行うLDPC−BC符号器に比べ、非常に簡易な回路で実現できるという特徴がある。また、LDPC−CCは畳み込み符号であるため、送信情報系列を固定長のブロックに区切って符号化する必要がなく、任意の長さの情報系列を符号化できる。 The LDPC-CC encoder can be realized with a very simple circuit compared to an encoder circuit that performs multiplication of a generator matrix and an LDPC-BC encoder that performs an operation based on a backward substitution method or a forward substitution method. is there. Also, since LDPC-CC is a convolutional code, it is not necessary to encode a transmission information sequence by dividing it into fixed-length blocks, and an information sequence of an arbitrary length can be encoded.
LDPC−CC復号には、LDPC−BCと同様に検査行列Hに基づいたsum−productアルゴリズムを適用することができる。そのため、ビタビアルゴリズムのような最尤系列推定に基づく復号アルゴリズムを使用する必要がなく、低処理遅延時間で復号処理を完了できる。さらに、非特許文献1には、平行四辺形の形に1が立っているという検査行列の形を活かした復号アルゴリズムが提案されている(特許文献1)。
A sum-product algorithm based on the parity check matrix H can be applied to LDPC-CC decoding as in LDPC-BC. Therefore, it is not necessary to use a decoding algorithm based on maximum likelihood sequence estimation like the Viterbi algorithm, and the decoding process can be completed with a low processing delay time. Furthermore, Non-Patent
LDPC−CCとLDPC−BCの復号特性を復号器の回路規模が同等になるパラメータで比較した場合、LDPC−CCの復号特性の方が優れると言うことが示されている(非特許文献1参照)。 It has been shown that when the decoding characteristics of LDPC-CC and LDPC-BC are compared with parameters having the same circuit scale of the decoder, the decoding characteristics of LDPC-CC are superior (see Non-Patent Document 1). ).
LDPC−CCにおいて、任意の長さnで符号化を終了した場合、受信側の復号器において受信符号語系列を復号する際に、sum−product復号における後部のc×Mビットの確率伝搬をその他のビットと同等にするためには、n以降の送信情報系列を符号化した符号語及び符号化終了時のシフトレジスタの状態が必要になる。 In LDPC-CC, when encoding is completed with an arbitrary length n, when the received codeword sequence is decoded in the decoder on the receiving side, the probability propagation of the rear c × M bits in the sum-product decoding is added. In order to make it equal to the bits of n, a code word obtained by encoding the transmission information series after n and the state of the shift register at the end of encoding are required.
しかし、送信情報系列を単純に符号化しただけでは、符号化終了時点の符号器のシフトレジスタの状態が送信情報系列に依存するため、受信側で復号する際にその状態を一意に決定することは困難である。 However, if the transmission information sequence is simply encoded, the state of the shift register of the encoder at the end of encoding depends on the transmission information sequence, so that the state is uniquely determined when decoding on the receiving side. It is difficult.
このような状況で、受信側で受信符号語に基づいて復号処理を行うと、復号後に得られる受信情報系列の終わりの方、特に後部c×Mビットに誤りが増えるという現象が起こる。 In such a situation, when decoding processing is performed on the receiving side based on the received codeword, a phenomenon occurs in which errors increase toward the end of the received information sequence obtained after decoding, particularly the rear c × M bits.
このような誤りを避けるために、符号化の終了状態を一意に決める終端処理(ターミネーション)を送信情報系列に施すことが必要となる。 In order to avoid such an error, it is necessary to perform termination processing (termination) for uniquely determining the end state of encoding on the transmission information sequence.
IEEE802.11a準拠の畳み込み符号では、送信情報系列の後部にテイルビットと呼ばれる符号器のシフトレジスタと同数(6個)の0ビットを付加して符号化することで終端処理を行う。このようにすれば、テイルビットが入力し終わった時点で、符号器のシフトレジスタの状態をオールゼロにすることができる。なお、テイルビットを入力した際に出力される符号語は、受信側で復号処理を行う際に必要になるので、送信符号語とともに受信側に送信される。 In a convolutional code conforming to IEEE802.11a, termination processing is performed by adding the same number (six) of 0 bits as the shift register of the encoder called tail bits to the rear part of the transmission information sequence. In this way, the state of the shift register of the encoder can be set to all zeros when the tail bits have been input. Note that the codeword output when the tail bit is input is necessary for decoding on the reception side, and is therefore transmitted to the reception side together with the transmission codeword.
LDPC−CCの場合、式(2)で示したように、符号語v2,tを求めるには、過去のM時刻における符号語v2,t-iが必要になるため、LDPC−CC符号器には過去M時刻の符号語v2,t-iを保持するシフトレジスタが備えられている。送信情報系列を保持するレジスタは、送信情報系列の終端を長さMのオールゼロの系列にする(ターミネーション)ことでオールゼロ状態にすることができるが、この終端処理だけでは、符号語v2,t-iを保持するシフトレジスタをオールゼロ状態にすることが困難であるという問題がある。 For LDPC-CC, as shown in equation (2), to determine the codeword v 2, t, since the codeword v 2, t-i for the past M-time is required, LDPC-CC code The device is provided with a shift register that holds code words v 2, t-i of the past M times. Register that holds the transmission information sequence, can be all zeros state by which a sequence of all zeros of length M the end of a transmission information sequence (termination), only this termination processing, codeword v 2, t There is a problem that it is difficult to set the shift register holding -i to an all-zero state.
非特許文献2において、送信情報系列の後部にオールゼロではない終端系列を付加した後に符号化することで、符号化終了時のシフトレジスタの状態をオールゼロにする終端処理が提案されている。
Non-Patent
非特許文献2で提案されている終端処理では、送信符号語系列を式(3)の様に定義する。式(3)は、符号化率R=1/2の場合の例である。式(3)において、v1×2nは、長さnの情報系列を畳み込み符号化することによって得られる、長さ2nの符号語系列であり、x1×2Lは、長さLの終端系列を符号化することで得られる終端符号語系列であり、01×2Mは長さ2Mの0系列である。
ここで、終端系列x1×2Lは、式(4)及び式(5)により決定される。
このような終端系列を付加した送信符号語系列をLDPC−CC符号器で符号化することで、シフトレジスタの状態をオールゼロ状態にすることができる。送信側の通信装置はこのようにして終端処理された送信符号語を受信装置に対して送信することで、受信側の復号器は、符号化終了時のシフトレジスタの状態を一意に決定することができ、所望の性能で誤り訂正復号を行う。 By encoding the transmission codeword sequence to which such a termination sequence is added with an LDPC-CC encoder, the state of the shift register can be set to the all-zero state. The transmitting communication device transmits the transmission codeword thus terminated to the receiving device, so that the receiving decoder uniquely determines the state of the shift register at the end of encoding. Error correction decoding with desired performance.
図56に、式(5)で示される、終端系列x1×2Lを生成する終端系列生成部を付加したLDPC−CC符号器の構成を示す。図56に示すLDPC−CC符号器20は、LDPC−CC符号器10の構成要素に加え、終端系列生成部17、検査行列記憶部18、及び、切り替え器19を備えて構成される。
FIG. 56 shows a configuration of an LDPC-CC encoder to which a termination sequence generation unit that generates termination sequence x 1 × 2L shown in Expression (5) is added. An LDPC-CC encoder 20 shown in FIG. 56 includes a termination
検査行列記憶部18は、LDPC−CCの検査行列を記憶している。
The parity check
終端系列生成部17は、検査行列記憶部18に記憶されている検査行列、及び、v1,t,v2,tを用いることにより、式(5)に従って終端系列x1×2Lを生成し、得られた終端系列x1×2Lを切り替え器19に出力する。
The termination
切り替え器19は、シフトレジスタ11−1に出力する系列を、終端処理制御信号に基づいて、送信情報系列または終端系列のどちらか一方に切り替える。具体的には、切り替え器19は、終端処理制御信号が送信情報系列の符号化を示す場合には、送信情報系列をシフトレジスタ11−1に出力し、終端処理制御信号が終端処を示す場合には、終端系列をシフトレジスタ11−1に出力する。
The
図57に、LDPC−CC符号器20の入力系列及び出力系列を表す。図57(a)は、LDPC−CC符号器20に入力される入力系列を示し、図57(b)は、LDPC−CC符号器20から出力される出力系列を示す。なお、図57において、時系列は、各系列の右から左の方向に沿っている。 FIG. 57 shows an input sequence and an output sequence of the LDPC-CC encoder 20. FIG. 57A shows an input sequence input to the LDPC-CC encoder 20, and FIG. 57B shows an output sequence output from the LDPC-CC encoder 20. In FIG. 57, the time series are along the direction from the right to the left of each series.
LDPC−CC符号器20の入力系列は、nビットからなる情報系列、0からMビットからなるパディング系列、及び(M+1)ビットからなる終端系列から構成される。 The input sequence of the LDPC-CC encoder 20 is composed of an information sequence consisting of n bits, a padding sequence consisting of 0 to M bits, and a termination sequence consisting of (M + 1) bits.
ここで、情報系列の長さnは任意であるため、nの値によって、情報系列の符号化が終了する際に、ウェイト制御部16からウェイト乗算器12−0〜12−M,13−0〜13−Mに出力されるウェイトパターンが異なる。これは、式(5)におけるD2L×(L+M)が、nによって異なることを示している。その結果、D2L×(L+M)がフルランクになる場合とならない場合とが生じる。そのため、情報系列のビット数nによって、終端系列を求める際のD2L×(L+M)が変わってしまう。そこで、終端処理を行うときのD2L×(L+M)を情報系列のビット数nによらず同一にするため、情報系列の後にK(K=0〜M)ビットのパディング系列を挿入する。なお、パディング系列は、符号化側と復号側とで既知の系列であればどのような系列でも良い。例えば、オールゼロの系列を使うことができる。 Here, since the length n of the information sequence is arbitrary, the weight controller 12-0 to the weight multipliers 12-0 to 12-M, 13-0 is used when the encoding of the information sequence is completed according to the value of n. The weight pattern output to .about.13-M is different. This indicates that D 2L × (L + M ) in Equation (5) differs depending on n. As a result, there are cases where D 2L × (L + M) becomes a full rank and not. Therefore, D 2L × (L + M) for obtaining the termination sequence varies depending on the number of bits n of the information sequence. Therefore, a padding sequence of K (K = 0 to M) bits is inserted after the information sequence in order to make D 2L × (L + M) when performing the termination process the same regardless of the number of bits n of the information sequence. The padding sequence may be any sequence as long as it is a known sequence on the encoding side and the decoding side. For example, an all-zero sequence can be used.
パディング系列及び終端系列は、終端処理のために必要な系列であって、パディング及び終端処理の目的以外には、何ら情報を含んでいないため、情報伝送時のオーバーヘッドとなる。 The padding sequence and the termination sequence are sequences necessary for termination processing, and do not include any information other than the purpose of padding and termination processing.
LDPC−CC符号器20の出力系列には、情報系列を符号化して得られる符号語系列に加え、パディング系列及び終端系列を符号化して得られる符号語系列も含まれる。その結果、情報伝送時のオーバーヘッドは、(K+M+1)×cビットとなる。ここで、Kは、パディング系列の長さを表し、cは、LDPC−CC符号の符号化率R=b/cの分母を表す。 The output sequence of the LDPC-CC encoder 20 includes a codeword sequence obtained by encoding a padding sequence and a termination sequence in addition to a codeword sequence obtained by encoding an information sequence. As a result, the overhead during information transmission is (K + M + 1) × c bits. Here, K represents the length of the padding sequence, and c represents the denominator of the coding rate R = b / c of the LDPC-CC code.
しかしながら、前記従来の構成では、LDPC−CC符号器に、終端系列x1×2Lを生成するための構成が必要となるため、符号器の回路規模が大きくなってしまうという問題がある。一例として、非特許文献3には、LDPC−CC符号器に終端系列生成回路を付加すると、回路規模が、LDPC−CC符号器の約7倍になることが記載されている。
However, the conventional configuration requires a configuration for generating an end sequence x 1 × 2L in the LDPC-CC encoder, and there is a problem that the circuit scale of the encoder increases. As an example,
また、前記従来の構成では、送信する終端系列長として(K+M+1)×cビットの系列が必要であり、冗長な信号系列を出力することによるオーバーヘッド量の増加や伝送効率の劣化が問題となる。例えば、メモリ長M=200のLDPC−CCを使って、8000ビットの送信情報系列を送信するとき、終端処理のために400ビット以上すなわち送信情報系列の5%以上もの冗長ビットを送信しなければならない。 In addition, the conventional configuration requires a (K + M + 1) × c bit sequence as the terminal sequence length to be transmitted, and there is a problem of an increase in overhead amount and deterioration in transmission efficiency due to the output of a redundant signal sequence. For example, when transmitting an 8000-bit transmission information sequence using an LDPC-CC with a memory length M = 200, 400 bits or more, that is, 5% or more redundant bits of the transmission information sequence must be transmitted for termination processing. Don't be.
本発明はかかる点に鑑みてなされたものであり、簡易な構成でLDPC−CC符号化の終端系列を提供し、伝送路に送信する終端系列の量を削減することができる符号器、復号器、符号化方法、及び、復号方法を提供することを目的とする。 The present invention has been made in view of such points, and provides an LDPC-CC coding termination sequence with a simple configuration, and can reduce the amount of termination sequences transmitted to a transmission line. An object is to provide an encoding method and a decoding method.
本発明の符号器の一つの態様は、情報系列及び(M×b)ビット以下の終端系列に対して、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Code)の検査行列に従って、符号化率R=b/c、メモリ長Mの畳み込み符号化を行い、前記情報系列に対し符号化して得られた情報符号系列と、前記(M×b)ビット以下の終端系列に対し符号化して得られた終端符号系列と、を出力する符号化部と、前記情報系列、前記情報符号系列、前記終端符号系列を連接した符号語を出力する連接部と、を含み、前記終端系列は、前記符号語の通信相手である復号器においても既知の系列である、構成を採る。 One aspect of the encoder of the present invention is a low-density parity check convolutional code (LDPC-CC) check for an information sequence and a termination sequence of (M × b) bits or less. An information code sequence obtained by performing convolutional coding with a coding rate R = b / c and a memory length M according to a matrix and coding the information sequence, and a termination sequence of (M × b) bits or less. A terminal code sequence obtained by encoding, and a coding unit that outputs the information sequence, the information code sequence, and a concatenation unit that outputs a codeword concatenating the terminal code sequence, The sequence adopts a configuration that is a known sequence even in a decoder that is a communication partner of the code word.
本発明の復号器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Code)の検査行列に従って、符号化率R=b/c、メモリ長Mの畳み込み復号を行う復号器であって、通信相手である符号器においても既知の系列である終端系列を、入力された符号語に連接し、前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を入力系列とし、前記入力系列に対しBP(Belief Propagation)復号を行い、BP復号により得られた推定情報系列を出力する構成を採る。 One aspect of the decoder of the present invention is a convolution with a coding rate R = b / c and a memory length M according to a low-density parity-check convolutional code (LDPC-CC) check matrix. A decoder that performs decoding, wherein a termination sequence that is a known sequence in the encoder that is a communication partner is concatenated with an input codeword, and the termination sequence and an information sequence included in the input codeword The estimated values of the information code sequence obtained by encoding the information sequence and the termination code sequence obtained by encoding the termination sequence are set as input sequences, and BP (Belief Propagation) decoding is performed, and an estimated information sequence obtained by BP decoding is output.
本発明の符号化方法の一つの態様は、情報系列及び(M×b)ビット以下の終端系列に対して、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Code)の検査行列に従って、符号化率R=b/c、メモリ長Mの畳み込み符号化を行い、前記情報系列と(M×b)ビット以下の終端系列を入力系列とし、前記入力系列に対し、前記検査行列に基づいて符号化を行うステップと、前記情報系列と、前記情報系列に対し符号化して得られた情報符号系列と、前記終端系列に対し符号化して得られた終端符号系列と、を連接した符号語を出力するステップと、を含み、前記終端系列は、前記符号語の通信相手である復号器においても既知の系列である、ようにした。 One aspect of the coding method according to the present invention is that a low-density parity check convolutional code (LDPC-CC) is applied to an information sequence and a terminal sequence of (M × b) bits or less. In accordance with a parity check matrix, convolutional coding with an encoding rate of R = b / c and a memory length of M is performed, and the information sequence and a termination sequence of (M × b) bits or less are used as input sequences. A step of performing coding based on a matrix, the information sequence, an information code sequence obtained by coding the information sequence, and a termination code sequence obtained by coding the termination sequence. And outputting the code word, and the termination sequence is a sequence known also in the decoder which is a communication partner of the code word.
本発明の復号方法の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Code)の検査行列に従って、符号化率R=b/c、メモリ長Mの畳み込み復号を行う復号方法であって、通信相手である符号器においても既知の系列である終端系列を、入力された符号語に連接するステップと、前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を入力系列とし、前記入力系列に対しBP(Belief Propagation)復号を行うステップと、BP復号により得られた推定情報系列を出力するステップと、を有する。 One aspect of the decoding method of the present invention is a convolution with a coding rate R = b / c and a memory length M according to a low-density parity-check convolutional code (LDPC-CC) check matrix. A decoding method for performing decoding, comprising: a step of concatenating a terminal sequence, which is a known sequence even in an encoder as a communication partner, to an input codeword; and the terminal sequence and the input codeword An estimated value of each of an information sequence, an information code sequence obtained by encoding the information sequence, and a termination code sequence obtained by encoding the termination sequence is used as an input sequence, and BP is input to the input sequence. (Belief Propagation) decoding and a step of outputting an estimated information sequence obtained by BP decoding.
本発明によれば、簡易な構成でLDPC−CC符号化の終端系列を提供し、伝送路に送信する終端系列の量を削減することができる。 ADVANTAGE OF THE INVENTION According to this invention, the termination sequence of LDPC-CC encoding can be provided with a simple structure, and the quantity of termination sequences transmitted to a transmission line can be reduced.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(実施の形態1)
本実施の形態では、LDPC−CCの符号化を行うLDPC−CC符号器、及び、その終端処理の方法について説明する。
(Embodiment 1)
In the present embodiment, an LDPC-CC encoder that performs LDPC-CC encoding and a termination processing method thereof will be described.
図1に、本実施の形態におけるLDPC−CCの検査行列の一例を示す。図1の検査行列100は、符号化率R=1/2、メモリ長M=5の周期的時変LDPC−CCを定義する検査行列である。ここで、周期的時変とは、検査行列において1/0の配置パターンが列ごとに異なっており、かつ、そのパターンに周期性があることを示す。 FIG. 1 shows an example of a parity check matrix of LDPC-CC in the present embodiment. 1 is a parity check matrix that defines a periodic time-varying LDPC-CC with a coding rate R = 1/2 and a memory length M = 5. Here, the periodic time variation indicates that the 1/0 arrangement pattern in the check matrix is different for each column and that the pattern has periodicity.
図1において、検査行列100の各行は、パリティ検査方程式(パリティ検査式)に対応する。図1には、各行のパリティ検査式に、c1,c2,…,とラベル付けしている。また、検査行列100の各列は、送信符号語系列の各ビットに対応する。図1の検査行列100は、組織符号を定義する検査行列であり、各列は、送信符号語系列の1番目の情報ビットu1、1番目のパリティビットp1、2番目の情報ビットu2、2番目のパリティビットp2、…という順序で並んでいる。
In FIG. 1, each row of the
図2に、検査行列100から情報ビットに対応する列を抽出した部分検査行列(以下「情報部分検査行列」ともいう)110を示す。また、図3に、検査行列100からパリティビットに対応する列を抽出した部分検査行列(以下「パリティ部分検査行列」ともいう)120を示す。
FIG. 2 shows a partial parity check matrix (hereinafter, also referred to as “information partial parity check matrix”) 110 obtained by extracting columns corresponding to information bits from
図2及び図3に示すように、本実施の形態におけるLDPC−CC符号器は、検査行列100を、情報部分検査行列110、及び、パリティ部分検査行列120に分解した上で、LDPC−CC符号化を行うことを特徴とする。
As shown in FIGS. 2 and 3, the LDPC-CC encoder in the present embodiment decomposes the
図4に、本実施の形態におけるLDPC−CC符号器の構成の一例を示す。図4のLDPC−CC符号器200は、第1符号器230及び第2符号器240を備えて構成される。なお、図4には、LDPC−CC符号器200の他、終端系列生成部210、終端系列連接部220、及び、符号語連接部250が示されており、LDPC−CC符号器200は、情報系列がそのまま送信符号語系列に現れる組織符号の符号化を行う。
FIG. 4 shows an example of the configuration of the LDPC-CC encoder in the present embodiment. The LDPC-
終端系列生成部210は、LDPC−CC符号器200の終端処理を行うために必要な終端系列を生成し、生成した終端系列を終端系列連接部220に出力する。
Termination
終端系列連接部220は、情報系列及び終端系列生成部210から出力される終端系列を入力し、終端系列を情報系列の後尾に連接する。終端系列連接部220は、連接した情報系列及び終端系列を第1符号器230に出力する。このようにして、終端系列生成部210から提供される終端系列は、第1符号器230の入力系列として、第1符号器230に入力されることになる。また、終端系列連接部220は、連接した情報系列及び終端系列を符号語連接部250に出力する。
The termination
第1符号器230は、終端系列連接部220から出力される情報系列又は終端系列に対し、情報部分検査行列110に基づいて符号化を行い、第1符号語系列を取得する。第1符号器230は、第1符号語系列を第2符号器240に出力する。
The
第2符号器240は、第1符号器230から出力される第1符号語系列に対し、パリティ部分検査行列120に基づいて符号化を行い、第2符号語系列を取得する。第2符号器240は、第2符号語系列を符号語連接部250に出力する。
符号語連接部250は、情報系列及び終端系列と第2符号語系列とを連接して、送信符号語系列を生成し、当該送信符号語系列を符号語として出力する。
The
このように、LDPC−CC符号器200は、検査行列100から情報ビットに対応する列を抽出した情報部分検査行列110を用いた符号化と、検査行列100からパリティビットに対応する列を抽出したパリティ部分検査行列120を用いた符号化とを連接して行う。
As described above, the LDPC-
(第1符号器)
図5に、第1符号器230の内部構成を示す。図5の第1符号器230は、情報部分検査行列110の各行を生成多項式(シフトレジスタとmod2加算器の接続を表す式)の係数とする畳み込み符号器である。第1符号器230は、遅延器数4個の非再帰的畳み込み符号器であり、入力系列に対し、情報部分検査行列110の各列の1/0の配置に対応した生成多項式に基づいて符号化を行う。
(First encoder)
FIG. 5 shows the internal configuration of the
図5において、第1符号器230は、シフトレジスタ231−1〜231−4、ウェイト乗算器232−0〜232−4、ウェイト制御部233、及び、mod2加算器234を備えて構成される。第1符号器のシフトレジスタの数をM1とすると、図5に示す第1符号器230は、M1=4の場合の例である。なお、M1は、第1符号器のメモリ長である。
In FIG. 5, the
シフトレジスタ231−1〜231−4は、入力ビットを保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を保持する。 The shift registers 231-1 to 231-4 are registers that hold input bits, and at the timing when the next input is input, the held values are output to the shift register on the right and the shift register on the left Holds the value output from.
ウェイト乗算器232−0〜232−4は、ウェイト制御部233から出力されるウェイトパターンに従って、シフトレジスタ231−1〜231−4の出力にウェイト値を乗算する。
The weight multipliers 232-0 to 232-4 multiply the outputs of the shift registers 231-1 to 231-4 by weight values according to the weight pattern output from the
ウェイト制御部233は、内部に保持するウェイトパターンに基づいて、そのタイミングにおけるウェイト値をウェイト乗算器232−0〜232−4に出力する。
The
mod2加算器234は、ウェイト乗算器232−0〜232−4の出力結果のmod2加算を行い、mod2加算結果を、第1符号語系列の符号語ビットvc1,tとして算出する。
The
図6に、ウェイト制御部233に保持されるウェイトパターンを示す。なお、図6のウェイトパターンは、図2の情報部分検査行列110の各行の1/0の並びの位置を揃え、かつ、左右反転させたものである。図2に示すように、情報部分検査行列110の各行の1/0の並びは、4種類のパターンが繰り返して並んでいるので、ウェイト制御部233は、4つのウェイトパターン(ウェイトパターン1〜4)を保持する。
FIG. 6 shows a weight pattern held in the
ウェイト制御部233は、図6に示すウェイトパターン1〜4を順に繰り返して出力する。ここで、図6(a)は、ウェイト乗算器232−0に出力されるウェイト値を示し、図6(b)はウェイト乗算器232−1に出力されるウェイト値を示し、図6(c)はウェイト乗算器232−2に出力されるウェイト値を示し、図6(d)はウェイト乗算器232−3に出力されるウェイト値を示し、図6(e)はウェイト乗算器232−4に出力されるウェイト値を示している。
The
(第2の符号器)
第2符号器240は、パリティ部分検査行列120の各行の1/0の並びに基づいて符号化を行う。図3に示されるように、パリティ部分検査行列120の各行の1/0の並びは、{1、0、0、0、0、1}となっている。これは、ある時点のパリティビットが、その時点の入力と、その時点の5つ前の時点のパリティビットとをmod2加算することにより得られることを示す。例えば、p6の時点のパリティビットは、p6の時点で第2符号器240の入力と、p1の時点で得られたパリティビットp1とをmod2加算することにより求められる。
(Second encoder)
このことから、パリティ部分検査行列120の各行の1/0の並びに基づく符号化は、遅延器数5個の差動符号器、遅延器数5個の再帰的畳み込み符号器、または、遅延器数5個のアキュムレータで実現することができる。
Therefore, encoding based on the 1/0 sequence of each row of the
図7に、第2符号器240の内部構成を示す。図7の第2符号器240は、シフトレジスタ241−1〜241−5、及び、mod2加算器242を備えて構成される。第2符号器の遅延器の数をM2とすると、図7の第2符号器240は、M2=5の場合の例である。なお、M2は、第2符号器のメモリ長である。
FIG. 7 shows the internal configuration of the
シフトレジスタ241−1〜241−5は、パリティビットpt−iを保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を左隣のシフトレジスタに出力し、右隣のシフトレジスタから出力される値を保持する。 The shift registers 241-1 to 241-5 are registers that hold the parity bit pt -i , and at the timing when the next input is input, the held value is output to the shift register on the left and the right side. Holds the value output from the adjacent shift register.
mod2加算器242は、第2符号器240に入力される第1符号語系列の符号語ビットvc1,tとシフトレジスタ241−1の出力とのmod2加算を行い、加算結果により得られたパリティビットptを、第2符号語系列の符号語ビットvc2,tとして符号語連接部250に出力する。なお、第2符号語系列の符号語ビットvc2,tは、式(2)で示したv2,tに相当する。
The
符号語連接部250は、情報系列又は終端系列と、第2符号器240から出力される第2符号語系列とを連接し、連接後の系列を送信符号語系列として出力する。
The
このようにして、第1符号器230は、入力系列に対し符号化を施し、第1符号語系列の符号語ビットvc1,tを算出し、第2符号器240は、第1符号語系列の符号語ビットvc1,tを入力して、第2符号語系列の符号語ビットvc2,tを算出する。
In this way, the
このように、第1符号器230と第2符号器240とを連接することにより、LDPC−CC符号語系列の符号語ビットvc2,tを算出することができるのは、LDPC−CC符号化では、符号語ビットv2,tが、式(2)により生成されるからである。
In this way, by connecting the
なお、LDPC−CC符号器のメモリサイズは、M=max(M1,M2)となる。M1は、第1符号器の遅延器(シフトレジスタ)数を示し、M2は、第2符号器の遅延器(シフトレジスタ)数を示し、max(・)は(・)内の数の最大値をとることを表す。 Note that the memory size of the LDPC-CC encoder is M = max (M1, M2). M1 indicates the number of delay units (shift registers) of the first encoder, M2 indicates the number of delay units (shift registers) of the second encoder, and max (·) is the maximum number in (·). Represents taking.
以下、上述のように構成されたLDPC−CC符号器200の終端処理について説明する。
Hereinafter, termination processing of the LDPC-
(終端処理)
図4において、終端系列生成部210は、LDPC−CC符号器200を終端させるための終端系列を生成し、終端系列を終端系列連接部220に提供する。終端系列は、第1符号器230及び第2符号器240の構成から、以下のようになる。
(Termination processing)
In FIG. 4, termination
本実施の形態における第1符号器230は、図5に示したとおり、非再帰的畳み込み符号器であるので、シフトレジスタ数M1と同数ビットのゼロ系列、すなわち、4ビットのゼロ系列を第1符号器230に入力することにより、符号化終了時のシフトレジスタ231−1〜231−4の状態を全てゼロにすることができる。すなわち、第1符号器230を終端させるための終端系列は、{0,0,0,0}となる。
Since the
一方、本実施の形態における第2符号器240は、図7に示したとおり、遅延器(シフトレジスタ)数が5個の差動符号器であり、各シフトレジスタに保持される値は、それ以前の時点で通信路に出力されている。そのため、復号側では、受信した符号語を用いることにより、シフトレジスタの状態を一意に決めることができるので、第2符号器240の終端処理が不要となる。
On the other hand, as shown in FIG. 7,
以上のことから、LDPC−CC符号器200の終端処理に必要な終端系列は、第1符号器230のシフトレジスタの数(M1)と同数のゼロ系列となる。したがって、終端系列生成部210は、終端系列として、4ビット(M1×bビット)のゼロ系列を生成し、終端系列連接部220に提供すればよい。
From the above, the termination sequence necessary for termination processing of the LDPC-
終端系列連接部220は、情報系列の後尾に終端系列生成部210から提供される終端系列を連接し、連接後の情報系列及び終端系列を第1符号器230に出力する。
Termination
図8に、LDPC−CC符号器200の入力系列及び出力系列の関係を示す。図8(a)は、第1符号器230の入力系列を示している。また、図8(b)は、符号語連接部250から出力されるパリティビット部に対応する第2符号語系列を示している。
FIG. 8 shows the relationship between the input sequence and output sequence of LDPC-
図8に示されるように、第1符号器230に入力される入力系列は、nビットからなる情報系列と、(M1×b)ビットからなる終端系列である。
As shown in FIG. 8, the input sequence input to the
なお、本実施の形態におけるLDPC−CC符号器200では、終端系列を、第1符号器230のメモリ長M1をb倍した数と同数のゼロ系列とすればよいので、終端系列を、式(5)の方程式を解いて求める必要がなく、終端系列は、終端処理を開始する際のウェイトパターンに依存しない。そのため、LDPC−CC符号器20では必要とされたKビット(K:0〜M)のパディング系列の挿入が不要となる。この結果、LDPC−CC符号器200を用いる場合、終端処理によって発生する情報伝送時のオーバーヘッドが、(M1×c)ビットになる。
In LDPC-
このように、本実施の形態におけるLDPC−CC符号器200は、情報部分検査行列110に基づき符号化を行う第1符号器230と、パリティ部分検査行列120に基づき符号化を行う第2符号器240とを連接し、検査行列100に基づくLDPC−CC符号化を行うようにした。
As described above, LDPC-
上述したように、パリティ部分検査行列120に基づき符号化を行う第2符号器240は、差動符号器により構成される。そのため、各シフトレジスタに保持されている値は、それ以前の時点で通信路に出力されており、復号側では、受信した符号語よりシフトレジスタの状態を一意に決めることができるため、第2符号器240の終端処理は不要となる。
As described above, the
したがって、LDPC−CC符号器200を上記のように構成することにより、LDPC−CC符号器200の終端処理は、情報系列の後尾に第1符号器230のシフトレジスタの数と同数、つまり、第1符号器230のメモリ長M1をb倍した数と同数の0系列を連接して符号化することで実現することができるようになる。
Therefore, by configuring the LDPC-
このように、終端系列生成部210は、シフトレジスタの数と同数、つまり、第1符号器230のメモリ長M1をb倍した数と同数の0からなる終端系列を提供すればよいので、前述した従来のLDPC−CC符号器における終端系列生成回路に比し、終端系列生成部210をより大幅に小さい規模で構成することができる。
As described above, the termination
また、前記従来のLDPC−CC符号器の構成では、LDPC−CC符号器のシフトレジスタの数と同数の0系列を符号器に入力しただけでは、符号器の終端処理を行うことができなかったのに対し、本実施の形態では、LDPC−CC符号器200に、第1符号器230を構成するシフトレジスタの数と同数の0系列を入力するだけで終端処理を行うことができる。前記従来のLDPC−CC符号器20を使った場合のオーバーヘッドは、(K+M+1)×b/R=(K+M+1)×cであるのに対し、LDPC−CC符号器200の終端処理によって発生する情報伝送時のオーバーヘッドは、M1×b/R=M1×cビットとなり、M1×c≦(K+M+1)×cであるので、前記従来のLDPC−CC符号器20を使った場合に比し、本実施の形態におけるLDPC−CC符号器200では、終端処理によって発生する情報伝送時のオーバーヘッドを小さくすることができる。
Further, in the configuration of the conventional LDPC-CC encoder, the termination processing of the encoder cannot be performed only by inputting the same number of 0 series as the number of shift registers of the LDPC-CC encoder to the encoder. On the other hand, in the present embodiment, termination processing can be performed only by inputting the same number of 0 series as the number of shift registers constituting the
なお、図4では、終端系列連接部220が、情報系列の後部に終端系列を連接し、連接後の系列を、第1符号器230及び符号語連接部250に出力するという構成を採ったが、図9に示すように、第1符号器230にだけ連接後の系列を出力し、符号語連接部250には情報系列を出力する終端系列連接部220Aを用いるようにしても良い。
In FIG. 4, the termination
上述したように、第1符号器230が非再帰的畳み込み符号器で構成される場合、終端系列は、第1符号器230を構成するシフトレジスタの数と同数の0系列とすればよいので、復号側では、終端系列が何であるか、符号化側が終端系列を送信しなくても予め知ることができる。したがって、図9に示すように、終端系列連接部220Aから符号語連接部250に終端系列を出力しないようにしても、復号側では終端系列が何であるか予め知ることができるので、終端系列が送信されない分、オーバーヘッドをさらに削減することができる。
As described above, when the
図10に、LDPC−CC符号器200の入力系列及び出力系列を示す。図10(a)は、第1符号器230の入力系列を示している。また、図10(b)は、符号語連接部250から出力されるパリティビット部に対応する第2符号語系列を示している。
FIG. 10 shows an input sequence and an output sequence of LDPC-
図10に示されるように、第1符号器230に入力される入力系列は、nビットからなる情報系列と、(M1×b)ビットとからなる終端系列である。ただし、終端系列は、全てゼロ系列であり、復号側で知ることができるため、伝送路に送信しなくてもよい。
As shown in FIG. 10, the input sequence input to the
したがって、LDPC−CC符号器200の終端処理によって発生する情報伝送時のオーバーヘッドは、M1×(c−b)ビットになる。なお、R=b/cであるので、M1×(c−b)<M1×cとなり、終端系列を伝送路に送信しないことにより、さらに、オーバーヘッドを削減することができる。
Therefore, the overhead at the time of information transmission generated by the termination process of the LDPC-
また、M1×(c−b)≦(K+M+1)×cであるので、上述したようなLDPC−CC符号器200の終端処理を行うことにより、(K+M+1)/Rビットのオーバーヘッドが発生する前述従来のLDPC−CC符号器20に比し、伝送路の利用効率を向上することができる。
Further, since M1 × (c−b) ≦ (K + M + 1) × c, the termination processing of the LDPC-
なお、図4の終端系列連接部220は、情報系列の後部に終端系列を連接した系列を、第1符号器230及び符号語連接部250に出力するという構成を採ったが、これに限られない。例えば、図11に示すように、終端系列連接部220に代えて、入力系列選択部260を用いてもよい。
4 employs a configuration in which a sequence in which a termination sequence is connected to the rear part of an information sequence is output to
入力系列選択部260は、終端処理制御信号に応じて、第1符号器230及び符号語連接部250に出力する系列を切り替える。終端処理制御信号は、終端処理の開始を指示する信号であり、終端処理制御信号が終端処理の開始前を示す場合、入力系列選択部260は、情報系列を第1符号器230及び符号語連接部250に出力する。一方、終端処理制御信号が、終端処理の開始を示す場合、入力系列選択部260は、終端系列を第1符号器230及び符号語連接部250に出力する。
The input
また、終端系列連接部220Aと同様に、入力系列選択部260が、終端処理制御信号に応じて、終端系列を符号語連接部250に出力しないよう切り替えるようにしてもよい。具体的には、入力系列選択部260が、終端処理制御信号が終端処理の開始前を示す場合、情報系列を第1符号器230及び符号語連接部250に出力し、終端処理制御信号が、終端処理の開始を示す場合、終端系列を第1符号器230に出力する切り替え動作を行うようにしてもよい。
Similarly to the terminal
なお、以上の説明では、図1の検査行列100に基づきLDPC−CC符号化を行う場合について説明したが、これに限られず、他の検査行列に基づきLDPC−CC符号化を行う場合にも適用することができる。
In the above description, the case where LDPC-CC encoding is performed based on
以下、一例として、図12に示す検査行列に基づきLDPC−CC符号化を行うLDPC−CC符号器について説明する。図12の検査行列100Aに対し、パリティビットに対応する列を抽出した部分検査行列を、図13に示す。なお、情報ビットに対応する列を抽出した部分検査行列は、情報部分検査行列110と同様であるので説明を省略する。図13のパリティ部分検査行列120Aの列方向の1/0の並びは、{1、0、1、0、0、1}となっており、これは、例えば、p6の時点で得られるパリティビットp6は、p6の時点で第2符号器240の入力と、p1,p3の時点で得られたパリティビットp1,p3とをmod2加算することにより得られることを示している。つまり、パリティ部分検査行列120Aの各行の1/0の並びに基づく符号化は、遅延器数5個の差動符号器、遅延器数5個の再帰的畳み込み符号器、または、遅延器数5個のアキュムレータで実現することができる。
Hereinafter, an LDPC-CC encoder that performs LDPC-CC encoding based on the parity check matrix illustrated in FIG. 12 will be described as an example. FIG. 13 shows a partial parity check matrix obtained by extracting columns corresponding to parity bits from
図14に、図13のパリティ部分検査行列120Aを用いて符号化を行う第2符号器の構成を示す。図14の第2符号器240Aは、図7の第2符号器240と同様に、シフトレジスタ241−1〜241−5、及び、mod2加算器242を備えて構成され、シフトレジスタ241−3の出力が、mod2加算器242に出力される点が、図7の第2符号器240と異なっている。
FIG. 14 shows a configuration of a second encoder that performs encoding using parity
図14の第2符号器240Aも、図7の第2符号器240と同様に、差動符号器により構成されるので、各シフトレジスタに保持されている値は、それ以前の時点で通信路に出力されている。そのため、復号側では、受信した符号語を用いることにより、シフトレジスタの状態を一意に決めることができるので、第2符号器240Aの終端処理が不要となり、LDPC−CC符号器200の終端処理としては、上述したように、第1符号器230に対する終端処理を行うのみでよい。
Similarly to the
なお、以上の説明では、パリティ部分検査行列が時不変の場合を例に説明したが、時変の場合であっても良い。図15にパリティ部分検査行列が時変の場合の一例を示す。図15のパリティ部分検査行列120Bは、1/0の配置パターンが列ごとに異なっている。
In the above description, the case where the parity partial check matrix is time-invariant has been described as an example, but it may be time-variant. FIG. 15 shows an example when the parity partial check matrix is time-varying. In the parity
図16に、図15のパリティ部分検査行列120Bを用いた符号化を行う第2符号器の構成を示す。図16に示す第2符号器240Bは、シフトレジスタ241−1〜241−5、mod2加算器242、ウェイト乗算器243−1〜243−5、及び、ウェイト制御部244を備えて構成される。
FIG. 16 shows a configuration of a second encoder that performs encoding using parity
ウェイト制御部244は、パリティ部分検査行列120Bの行方向の1/0の並びに応じて、ウェイト乗算器243−1〜243−5に与えるウェイトパターンを出力する。
ウェイト乗算器243−1〜243−5は、ウェイト制御部244から出力されるウェイトパターンに従って、シフトレジスタの出力にウェイトを乗算する。
The weight multipliers 243-1 to 243-5 multiply the output of the shift register by a weight according to the weight pattern output from the
図16の第2符号器240Bも、図7の第2符号器240と同様に、差動符号器により構成されるので、各シフトレジスタに保持されている値は、それ以前の時点で通信路に出力されている。そのため、復号側では、受信した符号語を用いることにより、シフトレジスタの状態を一意に決めることができるので、第2符号器240Bの終端処理が不要となり、LDPC−CC符号器200の終端処理としては、上述したように、第1符号器230に対する終端処理を行うのみでよい。
Similarly to the
なお、以上の説明では、情報ビット部の部分検査行列が時変である場合を例に説明したが、時不変の場合であっても良い。図17に情報ビット部の部分検査行列が時不変の場合の第1符号器の構成例を示す。図17の第1符号器230Aは、シフトレジスタ231−1〜231−5、及び、mod2加算器234を備えて構成される。第1符号器230Aの終端処理としては、時変である第1符号器230の場合と同様に、第1符号器230Aを構成するシフトレジスタの数と同数の5ビット((M1×b)ビット)のゼロ系列を終端系列として入力すればよい。
In the above description, the case where the partial check matrix of the information bit part is time-varying has been described as an example, but it may be a time-invariant case. FIG. 17 shows a configuration example of the first encoder when the partial check matrix of the information bit part is time-invariant. The
なお、時変・時不変の組み合わせは、上述した組み合わせに限られず、他の組み合わせでも良い。第1符号器が非再帰的畳み込み符号器により構成される場合、他の組み合わせの場合においても、第2符号器の終端処理は不要であり、LDPC−CC符号器200の終端処理としては、第1符号器のシフトレジスタの数と同数のゼロ系列を入力すれば良いので、本発明による効果を得ることができる。
The time-variant / time-invariant combination is not limited to the above-described combinations, and other combinations may be used. When the first encoder is configured by a non-recursive convolutional encoder, the termination process of the second encoder is not necessary even in other combinations, and the termination process of the LDPC-
以上のように、本実施の形態によれば、入力系列に対し、検査行列100の情報ビットに対応する列を抽出した情報部分検査行列110に基づいて符号化を行うことにより第1符号語系列を生成する第1符号器230と、第1符号語系列に対し、検査行列100のパリティビットに対応する列を抽出したパリティ部分検査行列120に基づいて符号化を行うことにより第2符号語系列を生成する第2符号器240と、を備え、情報部分検査行列110に基づいて符号化を行う第1符号器230と、パリティ部分検査行列120に基づいて符号化を行う第2符号器240とを連接して符号化を施すことにより、LDPC−CC符号化を施すようにした。
As described above, according to the present embodiment, the first codeword sequence is obtained by encoding the input sequence based on the information partial
パリティ部分検査行列120に基づく符号化は、差動符号器を用いて実装することができるので、第2符号器240に対する終端処理が不要となり、終端系列生成部210は、LDPC−CC符号器200の終端系列として、第1符号器230に対する終端系列を提供すればよくなるため、オーバーヘッドの量を削減することができる。
Since the encoding based on the parity
また、第1符号器230が、非再帰的畳み込み符号器の場合、終端系列生成部210は、終端系列としてゼロ系列を提供すればよいので、終端系列生成部210を非常に簡易な構成により実装することができ、LDPC−CC符号器200の回路規模が増大するのを抑圧することができる。
Further, when
また、第1符号器230が、非再帰的畳み込み符号器の場合、終端系列をゼロ系列とすることができ、復号側で予め知ることができるので、終端系列を伝送路に送信しないことにより、オーバーヘッドをさらに低減し、伝送路の利用効率を向上することができる。
Further, when the
(実施の形態2)
実施の形態1では、第1符号器に非再帰的畳み込み符号器を用いる場合について説明したが、本実施の形態では、第1符号器に再帰的畳み込み符号器を用いるLDPC−CC符号器の構成及び終端方法について説明する。なお、上述の実施の形態1で説明した構成要素と共通する部分には、同一の符号を付して説明を省略する。
(Embodiment 2)
In the first embodiment, the case of using a non-recursive convolutional encoder as the first encoder has been described. However, in this embodiment, the configuration of an LDPC-CC encoder using a recursive convolutional encoder as the first encoder. The termination method will be described. In addition, the same code | symbol is attached | subjected to the part which is common in the component demonstrated in the above-mentioned
図18に、本実施の形態におけるLDPC−CC検査行列の一例を示す。図18の検査行列300は、符号化率1/2(=b/c)、メモリ長M=2のLDPC−CC(又は畳み込み符号)の検査行列を表す。
FIG. 18 shows an example of the LDPC-CC parity check matrix in the present embodiment. A
図18において、検査行列300の各行は、パリティ検査式c1,c2,…に対応し、各列は、送信符号語系列の各ビットに対応する。ここで、インデックスusx(x=1,2,…)が付されている列は、情報系列のビットに対応し、インデックスupxが付されている列は、再帰的畳み込み符号化によって得られるフィードバック系列のビット(以下「フィードバックビット」ともいう)に対応し、インデックスpx(x=1,2,…)が付されている列は、符号化によって得られるパリティビットに対応する。
18, each row of
図19に、検査行列300の情報ビットに対応する列を抽出した部分検査行列(以下「情報部分検査行列」ともいう)310を示す。なお、図19の情報部分検査行列310は、情報ビットに対応する列として、フィードバックビットに対応する列を含む。また、図20に、検査行列300のパリティビットに対応する列を抽出した部分検査行列(以下「パリティ部分検査行列」ともいう)320を示す。
FIG. 19 shows a partial parity check matrix (hereinafter also referred to as “information partial parity check matrix”) 310 from which columns corresponding to information bits of
本実施の形態におけるLDPC−CC符号器も、実施の形態1と同様に、検査行列300を、情報ビットに対応する列を抽出した情報部分検査行列310、及び、パリティビットに対応する列を抽出したパリティ部分検査行列320に分解した上で、LDPC−CC符号化を行うことを特徴とする。
Similarly to the first embodiment, the LDPC-CC encoder in the present embodiment also extracts the
図21に、本実施の形態におけるLDPC−CC符号器の構成の一例を示す。図21のLDPC−CC符号器400は、第1符号器420及び第2符号器430を備えて構成される。なお、図21には、入力系列選択部410、及び符号語連接部250を示す。
FIG. 21 shows an example of the configuration of the LDPC-CC encoder in the present embodiment. The LDPC-
入力系列選択部410は、終端処理制御信号に応じて、第1符号器420に出力する系列を選択する。終端処理制御信号は、LDPC−CC符号器400の終端処理の開始を指示する信号であり、終端処理制御信号が終端処理の開始前を示す場合、入力系列選択部410は、情報系列を第1符号器420及び符号語連接部250に出力する。一方、終端処理制御信号が終端処理の開始を示す場合、入力系列選択部410は、第1符号器420から出力される系列を終端系列として、第1符号器420及び符号語連接部250に出力する。
Input
(第1符号器)
第1符号器420は、入力系列に対し、情報部分検査行列310に基づき符号化を行う。
(First encoder)
The
図22に、第1符号器420の内部構成を示す。図22の第1符号器420は、シフトレジスタ421−1,421−2、mod2加算器422−1〜422−3を備えて構成され、シフトレジスタ数2(M1=2)の再帰的畳み込み符号器である。
FIG. 22 shows the internal configuration of the
mod2加算器422−1は、第1符号器420に入力されるビットと、mod2加算器422−3から出力されるビットとをmod2加算する。
The mod2 adder 422-1 adds mod2 to the bit input to the
mod2加算器422−2は、mod2加算器422−1の出力と、シフトレジスタ421−2の出力とのmod2加算を行う。 The mod2 adder 422-2 performs mod2 addition between the output of the mod2 adder 422-1 and the output of the shift register 421-2.
mod2加算器422−3は、シフトレジスタ421−1の出力と、シフトレジスタ421−2の出力とのmod2加算を行う。 The mod2 adder 422-3 performs mod2 addition between the output of the shift register 421-1 and the output of the shift register 421-2.
第1符号器420は、mod2加算器422−2の出力を第1符号語系列の符号語ビットvc1,tとして、第2符号器430に出力し、また、mod2加算器422−3の出力を、入力系列選択部410に出力する。
The
(第2符号器)
第2符号器430は、パリティ部分検査行列320に基づき符号化を行う。
(Second encoder)
図23に、第2符号器430の内部構成を示す。図23の第2符号器430は、シフトレジスタ431−1,431−2、及び、mod2加算器432を備えて構成され、シフトレジスタ数2(M2=2)の差動符号器(「再帰的畳み込み符号器」又は「アキュムレータ」ともいう)である。
FIG. 23 shows an internal configuration of
mod2加算器432は、第1符号器420から出力される第1符号語系列の符号語ビットvc1,tと、シフトレジスタ431−1の出力とをmod2加算し、その結果を、シフトレジスタ431−2に出力するとともに、第2符号語系列vc2,tとして符号語連接部250に出力する。
The
符号語連接部250は、情報系列又は終端系列と、第2符号器430から出力される第2符号語系列とを連接し、連接後の系列を送信符号語系列として出力する。
以下、上述のように構成されたLDPC−CC符号器400の終端処理について説明する。
Hereinafter, termination processing of the LDPC-
(終端処理)
実施の形態1で説明したLDPC−CC符号器200と同様、LDPC−CC符号器400の第2符号器430も、差動符号器により構成される。上述したように、差動符号器の各シフトレジスタに保持されている値は、それ以前の時点で通信路に出力されている。そのため、復号側では、受信した符号語を用いることによりシフトレジスタの状態を一意に決めることができるので、第2符号器430の終端処理が不要となり、LDPC−CC符号器400の終端処理としては、実施の形態1と同様に、第1符号器420に対する終端処理を行うのみでよい。
(Termination)
Similar to the LDPC-
以下では、第1符号器420の終端処理について説明する。
Hereinafter, termination processing of the
上述したように、第1符号器420は、第1符号器420の入力と、mod2加算器422−3の出力とのmod2加算結果が、シフトレジスタ421−1,421−2に出力される。そのため、第1符号器420にゼロ系列を入力するだけでは、シフトレジスタ421―1,421−2をゼロ状態にすることは困難であるが、第1符号器420は、再帰的畳み込み符号器であるので、mod2加算器422−3の出力を、第1符号器420の入力とすることにより、第1符号器420を終端することができる。
As described above, the
そこで、入力系列選択部410は、終端処理制御信号が終端処理の開始前を示し、情報系列の符号化を行う場合には、情報系列を第1符号器420に出力し、終端処理制御信号が、終端処理の開始を示す場合、第1符号器420から出力される第1符号器420のmod2加算器422−3の出力を、第1符号器420に出力する。
Therefore, the input
このように、第1符号器420が再帰的畳み込み符号器の場合、第1符号器420のmod2加算器422−3のmod2加算結果を、終端系列として、第1符号器420に提供すればよいので、終端系列を別途生成する必要がない。そのため、終端処理生成部を備える必要がなくなり、その分回路規模の増大を抑圧することができる。
As described above, when the
また、終端処理に必要な終端系列の長さも、(M1×c)ビットであり、(K+M+1)×cビット必要な前記従来のLDPC−CC符号器よりも短くすることができるので、情報伝送時のオーバーヘッドを少なくすることができる。 The length of the termination sequence required for termination processing is also (M1 × c) bits, which can be shorter than the conventional LDPC-CC encoder that requires (K + M + 1) × c bits. Can reduce overhead.
なお、以上の説明では、LDPC−CC符号器400の第1符号器420が、時不変の再帰的畳み込み符号器の場合を例に説明したが、これに限られず、第1符号器が、時変の再帰的畳み込み符号器であるとしても良い。
In the above description, the case where the
図24に、時変の再帰的畳み込み符号器の場合の第1符号器の構成例を示す。図24の第1符号器420Aは、第2符号器420と同様に、再帰的畳み込み符号器であるので、第1符号器420のmod2加算器422−3のmod2加算結果を、終端系列として、第1符号器420Aに提供すればよく、終端系列を別途生成する必要がない。そのため、終端処理生成部を備える必要がなくなり、その分回路規模の増大を抑圧することができる。
FIG. 24 shows a configuration example of the first encoder in the case of a time-varying recursive convolutional encoder. Since the
なお、以上の説明では、LDPC−CC符号器400の第2符号器430が、時不変の差動符号器の構成を採る場合を例に説明したが、これに限られず、実施の形態1で説明したように、各行の1の数が2個以上であったり、1/0の並びが行ごとに異なる時変のパリティ部分検査行列に基づいて符号化を行う符号器であっても良い。
In the above description, the case where the
(実施の形態3)
本実施の形態では、送信符号語系列に情報系列が含まれない非組織LDPC−CCの符号化を行うLDPC−CC符号器の構成及び終端方法について説明する。
(Embodiment 3)
In this embodiment, a configuration and termination method of an LDPC-CC encoder that performs non-systematic LDPC-CC encoding in which an information sequence is not included in a transmission codeword sequence will be described.
図25に、本実施の形態におけるLDPC−CC検査行列の一例を示す。図25の検査行列500は、符号化率1/2の非組織畳み込み符号の検査行列である。 FIG. 25 shows an example of the LDPC-CC parity check matrix in the present embodiment. 25 is a parity check matrix of an unstructured convolutional code with a coding rate of 1/2.
図26に、検査行列500の情報ビットに対応する列を抽出した部分検査行列(以下「情報部分検査行列」ともいう)510を示す。また、図27に、検査行列500のパリティビットに対応する列を抽出した部分検査行列(以下「パリティ部分検査行列」ともいう)520を示す。
FIG. 26 shows a partial parity check matrix (hereinafter also referred to as “information partial parity check matrix”) 510 obtained by extracting columns corresponding to information bits of
本実施の形態におけるLDPC−CC符号器も、実施の形態1及び実施の形態2と同様に、検査行列500を、情報ビットに対応する列を抽出した情報部分検査行列510、及び、パリティビットに対応する列を抽出したパリティ部分検査行列520に分解した上で、LDPC−CC符号化を行うことを特徴とする。
Similarly to the first and second embodiments, the LDPC-CC encoder in the present embodiment also converts the
図28に、本実施の形態におけるLDPC−CC符号器の構成の一例を示す。図28のLDPC−CC符号器600は、第1符号器610、及び、第2符号器620−1,620−2を備えて構成される。また、図28に、終端系列生成部210、終端系列連接部220、及び、符号語連接部630を示す。なお、上述の実施の形態1で説明した構成要素と共通する部分には、同一の符号を付して説明を省略する。
FIG. 28 shows an example of the configuration of the LDPC-CC encoder in the present embodiment. The LDPC-
(第1符号器)
第1符号器610は、シフトレジスタ数6(M1=6)、符号化率1/2の非組織畳み込み符号器であり、入力系列に対し、検査行列500の情報ビットに対応する列を抽出した情報部分検査行列510に基づき符号化を行う。
(First encoder)
図29に、第1符号器610の内部構成を示す。図29の第1符号器610は、シフトレジスタ611−1〜611−6、及び、mod2加算器612−1,612−2を備えて構成される。
FIG. 29 shows the internal configuration of the
mod2加算器612−1は、第1符号器610に入力されたビットと、シフトレジスタ611−2の出力と、シフトレジスタ611−3の出力と、シフトレジスタ611−5の出力と、シフトレジスタ611−6の出力とを、mod2加算し、mod2加算結果を、第1符号語系列#1の符号語ビットとして、第2符号器620−1に出力する。
The mod2 adder 612-1 includes the bit input to the
また、mod2加算器612−2は、第1符号器610に入力されたビットと、シフトレジスタ611−1の出力と、シフトレジスタ611−2の出力と、シフトレジスタ611−3の出力と、シフトレジスタ611−6の出力とを、mod2加算し、mod2加算結果を、第1符号語系列#2の符号語ビットとして、第2符号器620−2に出力する。
Further, the mod2 adder 612-2 includes the bit input to the
(第2符号器)
図30に、第2符号器620−1,620−2の構成を示す。第2符号器620−1,620−2は、図7に示す第2符号器240に対し、シフトレジスタ241−6を追加した構成を採る。
(Second encoder)
FIG. 30 shows the configuration of the second encoders 620-1 and 620-2. The second encoders 620-1 and 620-2 adopt a configuration in which a shift register 241-6 is added to the
第2符号器620−1は、第1符号器610から出力される第1符号語系列#1を入力し、第1符号語系列#1に対し、パリティ部分検査行列520の奇数行の検査多項式に基づき符号化を行い、符号化後の系列を第2符号語系列#1として符号語連接部630に出力する。なお、第2符号語系列#1の符号語ビットは、その時点の第1符号語系列#1の符号語ビットと、シフトレジスタ241−1に蓄積されている過去の第2符号語系列#1の符号語ビットとのmod2加算により得られる。
Second encoder 620-1 receives first
第2符号器620−2は、第1符号器610から出力される第1符号語系列#2を入力し、パリティ部分検査行列520の偶数行の検査多項式に基づき符号化を行い、符号化後の系列を第2符号語系列#2として符号語連接部630に出力する。なお、第2符号語系列#2の符号語ビットは、その時点の第1符号語系列#2の符号語ビットと、シフトレジスタ241−1に蓄積されている過去の第2符号語系列#2の符号語ビットとのmod2加算により得られる。
Second encoder 620-2 receives first
符号語連接部630は、第2符号器620−1から出力される第2符号語系列#1と、第2符号器620−2から出力される第2符号語系列#2とを連接し、連接後の系列を送信符号語系列として出力する。
The
以下、上述のように構成されたLDPC−CC符号器600の終端処理について説明する。
Hereinafter, termination processing of LDPC-
(終端処理)
LDPC−CC符号器600において、第2符号器620−1,620−2は、差動符号器の構成を採るので、実施の形態1及び実施の形態2で既に説明したように、終端処理が不要となる。そのため、LDPC−CC符号器600の終端処理としては、第1符号器610に対する終端処理を行うのみでよい。
(Termination processing)
In LDPC-
第1符号器610は、シフトレジスタ数6(M1=6)の非再帰的畳み込み符号器であるので、M1個のシフトレジスタの状態をすべてゼロにするためには、M1ビットのゼロ系列を終端系列として入力すれば終端処理を完了することができる。なお、M1は、第1符号器のメモリ長である。
Since the
このことから、終端系列生成部210は、終端処理の開始を示す終端処理制御信号が入力された場合に、M1ビットのゼロ系列を終端系列として終端系列連接部220に提供すればよい。なお、符号化率R=b/cの場合には、実施の形態1と同様に、M1×bビットのゼロ系列を終端系列とすればよい。
Therefore, the
終端系列連接部220は、情報系列の後に終端系列を連接し、連接後の系列を第1符号器610に出力する。
End
図31に、LDPC−CC符号器600の入力系列及び出力系列を示す。図31(a)は、第1符号器610の入力系列を示し、図31(b)は、第2符号器620−1,620−2の出力系列を示している。
FIG. 31 shows an input sequence and an output sequence of LDPC-
図31に示されるように、第1符号器610の入力系列は、nビットからなる情報系列と、(M1×b)ビットからなる終端系列である。
As shown in FIG. 31, the input sequence of the
なお、本実施の形態におけるLDPC−CC符号器600では、終端系列を、第1符号器610のメモリ長M1をb倍した数と同数のゼロ系列とすればよいので、終端系列を、式(5)の方程式を解いて求める必要がなく、終端系列は、終端処理を開始する際のウェイトパターンに依存しない。そのため、LDPC−CC符号器20では必要とされたKビット(K:0〜M)のパディング系列の挿入が不要となる。この結果、LDPC−CC符号器600を用いる場合、終端処理によって発生する情報伝送時のオーバーヘッドが、(M1×c)ビットになる。
In LDPC-
このように、本実施の形態におけるLDPC−CC符号器600は、検査行列500の情報ビットに対応する列を抽出した情報部分検査行列510に基づいて符号化を行う第1符号器610と、検査行列500のパリティビットに対応する列を抽出したパリティ部分検査行列520に基づいて符号化を行う第2符号器620−1,620−2とを連接し、検査行列500に基づくLDPC−CC符号化を行うようにした。
As described above, LDPC-
上述したように、LPDC−CC検査行列500のパリティ部分検査行列520に基づき符号化を行う第2符号器620−1,620−2は、差動符号器により構成される。そのため、実施の形態1及び実施の形態2と同様に、第2符号器620−1,620−2の終端処理は不要となる。
As described above, the second encoders 620-1 and 620-2 that perform encoding based on the parity
したがって、LDPC−CC符号器600を上記のように構成することにより、LDPC−CC符号器600の終端処理は、情報系列の後尾に第1符号器610のシフトレジスタの数M1、つまり、第1符号器610のメモリ長と同数の0系列を連接して符号化することで実現することができるようになる。
Therefore, by configuring the LDPC-
終端系列生成部210は、シフトレジスタの数M1と同数の0からなる終端系列を提供すればよいので、前述した従来のLDPC−CC符号器における終端系列生成回路に比し、終端系列生成部210をより大幅に小さい規模で構成することができる。
Since the
また、前記従来のLDPC−CC符号器の構成では、LDPC−CC符号器のシフトレジスタの数と同数の0系列を符号器に入力しただけでは、符号器の終端処理を行うことができなかったのに対し、本実施の形態では、LDPC−CC符号器600に、第1符号器610を構成するシフトレジスタの数M1と同数の0系列を入力するだけで終端処理を行うことができる。前記従来のLDPC−CC符号器20を使った場合のオーバーヘッドは、(K+M+1)×cであるのに対し、LDPC−CC符号器600の終端処理によって発生する情報伝送時のオーバーヘッドは、(M1×c)ビットとなり、M1×c≦(K+M+1)×cであるので、前記従来のLDPC−CC符号器20を使った場合に比し、本実施の形態におけるLDPC−CC符号器600では、終端処理によって発生する情報伝送時のオーバーヘッドを小さくすることができる。
Further, in the configuration of the conventional LDPC-CC encoder, the termination processing of the encoder cannot be performed only by inputting the same number of 0 series as the number of shift registers of the LDPC-CC encoder to the encoder. On the other hand, in the present embodiment, the termination process can be performed simply by inputting the LDPC-
なお、以上の説明では、第2符号器620−1,620−2が、パリティ部分検査行列520に基づき符号化を行う場合について説明したが、これに限られず、例えば、図32に示すようなパリティ部分検査行列520Aに基づき符号化を行うようにしてもよい。
In the above description, the case where the second encoders 620-1 and 620-2 perform coding based on the parity
図33に、この場合のLDPC−CC符号器600Aを示す。 FIG. 33 shows an LDPC-CC encoder 600A in this case.
LDPC−CC符号器600Aは、第1符号器610、及び、第2符号器620Aを備えて構成される。また、図33に、終端系列連接部220、終端系列生成部210、及び、符号語連接部630を示す。
The LDPC-CC encoder 600A includes a
図34に第2符号器620Aの構成を示す。
FIG. 34 shows the configuration of the
第2符号器620Aは、シフトレジスタ621−1〜621−6,622−1〜622−6、及び、mod2加算器623−1,623−2を備えて構成される。
The
第2符号器620Aは、第1符号器610から出力される第1符号語系列#1及び第1符号語系列#2を入力し、パリティ部分検査行列520Aの検査多項式に基づき符号化を行い、符号化後の系列を第2符号語系列#1及び第2符号語系列#2として符号語連接部630に出力する。なお、第2符号語系列#1の符号語ビットは、その時点の第1符号語系列#1の符号語ビットと、シフトレジスタ622−1に蓄積されている過去の第2符号語系列#2の符号語ビットとのmod2加算により得られる。また、第2符号語系列#2の符号語ビットは、その時点の第1符号語系列#2の符号語ビットと、シフトレジスタ621−1に蓄積されている過去の第2符号語系列#1の符号語ビットとのmod2加算により得られる。
図34の第2符号器620Aも、第2符号器620と同様に、差動符号器の構成を採るので、既に説明したとおり終端処理が不要となる。そのため、LDPC−CC符号器600Aの終端処理としては、LDPC−CC符号器600と同様に、第1符号器610の終端処理を行うのみでよいため、同様の効果を得ることができる。
Similarly to the second encoder 620, the
(実施の形態4)
本実施の形態では、復号時のメモリ量の削減を図ることができるLDPC−CC符号器の構成及び終端方法について説明する。本実施の形態では、終端系列に対しては、第2符号器を用いず、第1符号器を用いて符号化して生成された第1終端符号系列を、送信符号語系列とする。
(Embodiment 4)
In the present embodiment, a configuration and termination method of an LDPC-CC encoder that can reduce the amount of memory during decoding will be described. In the present embodiment, for the termination sequence, the first termination code sequence generated by encoding using the first encoder is used as the transmission codeword sequence without using the second encoder.
図35に、本実施の形態におけるLDPC−CC符号器の構成を示す。なお、図35の本実施の形態におけるLDPC−CC符号器において、図4と共通する構成部分には、図4と同一の符号を付して説明を省略する。 FIG. 35 shows the configuration of the LDPC-CC encoder in the present embodiment. In the LDPC-CC encoder in the present embodiment in FIG. 35, the same reference numerals as those in FIG.
図35のLDPC−CC符号器700は、第1符号器230、第2符号器240、及び、符号語選択部720を備えて構成される。また、図35に、終端系列生成部210、終端系列連接部220、符号語連接部250、及び、切り替え器710を示す。
The LDPC-
切り替え器710は、第1符号器230から出力される第1符号語系列を入力し、終端処理制御信号に応じて、当該第1符号語系列を第2符号器240に出力するか、符号語選択部720に出力するか、第1符号語系列の出力先を切り替える。具体的には、終端処理制御信号が終端処理の開始前を示す場合、すなわち、第1符号器230の出力が情報系列を符号化して得られた符号語(第1情報符号系列)である場合、切り替え器710は、第1情報符号系列を第2符号器240に出力する。一方、終端系列制御信号が終端処理の開始を示す場合、すなわち、第1符号器230の出力が、終端系列を符号化して得られた符号語(第1終端符号系列)である場合、切り替え器710は、第1終端符号系列を符号語選択部720に出力する。
The
符号語選択部720は、終端処理制御信号に応じて、符号語連接部250に出力する系列を選択する。具体的には、終端処理制御信号が終端処理の開始前を示す場合、符号語選択部720は、第2符号器240から出力される第2符号語系列を選択し、符号語連接部250に出力する。一方、終端処理制御信号が終端処理の開始を示す場合、符号語選択部720は、切り替え器710から出力される第1終端符号系列を選択し、符号語連接部250に出力する。
The code
このように、本実施の形態では、第1符号器230の終端処理を行った結果生成される第1終端符号系列が、第2符号器240によって符号化されず、そのまま送信符号語系列として出力される。
As described above, in the present embodiment, the first termination code sequence generated as a result of the termination process of the
以下、上述のように構成されたLDPC−CC符号器700の終端処理について説明する。なお、以下では、第1符号器230が、図2に示す情報部分検査行列110に基づき符号化を行い、第2符号器240が、図3に示す情報部分検査行列110に基づき符号化を行う場合を例に説明する。
Hereinafter, termination processing of LDPC-
(終端処理)
第1符号器230によって、情報系列又は終端系列に対し、情報部分検査行列110が用いられて符号化が施され、第1符号語系列が生成される。第1符号語系列は、切り替え器710に出力される。
(Termination processing)
The
切り替え器710では、終端処理制御信号に応じて、第1符号語系列の出力先が、第2符号器240、又は、符号語選択部720のどちらかに切り替えられる。具体的には、終端処理制御信号が終端処理の開始前を示す場合、すなわち、第1符号器230の出力が第1情報符号系列の場合、第1情報符号系列は、第2符号器240に出力される。
In the
一方、終端系列制御信号が終端処理の開始を示す場合、すなわち、第1符号器230の出力が、第1終端符号系列の場合、第1終端符号系列は、符号語選択部720に出力される。
On the other hand, when the termination sequence control signal indicates the start of termination processing, that is, when the output of the
このように、終端処理時には、第1終端符号系列は、第2符号器240に出力されず、符号語選択部720を経由して、符号語連接部250に出力される。したがって、終端処理時には、送信符号語系列として、第1終端符号系列が符号語連接部250から出力されることになる。
Thus, during the termination process, the first termination code sequence is not output to the
図36は、終端処理時に、第2符号器240を用いずに、第1符号器230のみを用いて符号化して生成された第1終端符号系列を、送信符号語系列とする場合の検査行列の終端部を示す。図36において、四角枠で囲まれた部分に対応するビットは、第1符号終端系列が、第2符号器240に出力される場合に、加算されるビットを示している。第1終端符号系列が第2符号器240に出力される場合、四角枠で囲まれた部分には1が立ち、対応するビットが加算される。例えば、c7のパリティ検査式では、第1終端符号系列として(u3+u6+u7)が第2符号器240に出力され、第2符号器240では、(u3+u6+u7)に過去のp2が加算されることにより、p7が算出される。
FIG. 36 shows a parity check matrix in the case where the first termination code sequence generated by using only the
これに対し、第1終端符号系列が第2符号器240に出力されず、符号語選択部720に出力される場合には、第2符号器240で加算された過去のp2が(u3+u6+u7)に加算されずに、p7が算出されることになる。
On the other hand, when the first terminal code sequence is not output to the
したがって、図36に示すように、終端処理時に、第1終端符号系列が第2符号器240に出力されず、第1終端符号系列が送信符号語系列として送信される場合には、四角枠で囲まれた部分が0に置き換えられたパリティ検査式を用いて符号化されることになる。
Therefore, as shown in FIG. 36, when the first termination code sequence is not output to the
この結果、p2以降の検査行列のパリティビット部に対応する列の列重みが1となり、これらのビットを復号するときに必要となる復号側で接続するゼロ系列を短くすることができる。例えば、図36に示す例で、u4に着目すると、u4が含まれるパリティ検査式c8が含むu8は、パリティ検査式c9にも含まれる。パリティ検査式c9に含まれるu9は、パリティ検査式c13にも含まれる。そのため、復号側では、u4を復号するために、パリティ検査式c13に必要なビット数だけ、終端系列の後段にさらにゼロ系列を接続する必要がある。図36に示す例では、ゼロ系列が4ビット接続されている。 As a result, the column weight of the column corresponding to the parity bit portion of the parity check matrix after p2 becomes 1, and the zero sequence connected on the decoding side required when decoding these bits can be shortened. For example, in the example shown in FIG. 36, focusing on u4, u8 included in the parity check expression c8 including u4 is also included in the parity check expression c9. U9 included in the parity check expression c9 is also included in the parity check expression c13. Therefore, on the decoding side, in order to decode u4, it is necessary to connect a zero sequence further to the subsequent stage of the termination sequence by the number of bits necessary for the parity check equation c13. In the example shown in FIG. 36, the zero series is connected by 4 bits.
これに対し、第1終端符号系列が第2符号器240に出力される場合の検査行列の終端部を、図37に示す。この場合、第1終端符号系列に対し符号化して得られた第2符号語系列は、符号語選択部720を経由して符号語連接部250に出力され、符号語連接部250から送信符号語系列として送信される。
On the other hand, FIG. 37 shows a termination part of the parity check matrix when the first termination code sequence is output to
図37に示されるように、パリティ検査式c7では、第2符号器240において、第1終端符号系列として第1符号器230から出力される(u3,u6,u7)に対し、過去のp2が加算されることにより、p7が算出される。他のパリティ検査式においても同様である。そのため、図37において、四角枠で囲まれた部分には、1が立っている。
As shown in FIG. 37, in the parity check equation c7, the
図37に示す例で、p6に着目すると、p6が含まれるパリティ検査式c11が含むp11は、他のパリティ検査式c16にも含まれるので、パリティ検査式c16に必要なビット数のゼロ系列を接続する必要がある。図37に示す例では、ゼロ系列が10ビット接続されている。 In the example shown in FIG. 37, when paying attention to p6, p11 included in the parity check expression c11 including p6 is also included in the other parity check expression c16. Therefore, a zero sequence of the number of bits necessary for the parity check expression c16 is obtained. Need to connect. In the example shown in FIG. 37, 10 bits of the zero series are connected.
これに対し、本実施の形態では、終端処理時に、第1終端符号系列に対し第2符号器240で符号化しないようにすることにより、図36に示したように、接続する必要のあるゼロ系列のビット数を減少させることができる。例えば、図37に示す、実施の形態1で示した検査行列100の終端部と比べると、復号器で接続する必要があるゼロ系列のビット数が6ビット分短くなっていることがわかる。この結果、復号器で必要なメモリサイズ、及び、復号演算量を削減することができるようになる。
On the other hand, in the present embodiment, at the time of termination processing, the first termination code sequence is not encoded by the
なお、第1終端符号系列を第2符号器240において符号化しないことにより、対応する列の列重みが1になり、誤り訂正能力が劣化してしまうものの、第2符号器240において符号化されない系列は、終端系列であること、また、LDPC−CCの復号アルゴリズムは、検査行列の左に位置する符号語から順に信頼度伝搬するため、検査行列の最右列に位置する終端系列の誤りが、それより左に位置する情報ビットに関係する符号語ビットの復号に与える影響は少ないこと等から、誤り訂正能力の劣化は少ないと予想される。したがって、復号器のメモリサイズや復号演算量等に厳しい制限がある場合に、本実施の形態におけるLDPC−CC符号器700を適用すると有効である。
Although the first end code sequence is not encoded by the
以上のように、本実施の形態によれば、切り替え器710は、入力系列が情報系列か終端系列かに応じて、第1符号器230から出力される第1符号語系列を、第2符号器240に出力するか否か切り替え、符号語選択部720は、入力系列が情報系列か終端系列かに応じて、第1符号語系列、又は、第2符号語系列のいずれか一方を符号語系列として出力するようにした。このようにすることで、検査行列の列重みが減少し、復号側で終端処理時に接続する必要がある0系列のビット数を減らすことができるので、復号器のメモリサイズ、及び、符号演算量を削減することができる。
As described above, according to the present embodiment, switch 710 converts the first codeword sequence output from
(実施の形態5)
実施の形態1から実施の形態4では、伝送路に送信する終端系列の量を削減することができるLDPC−CC符号器及び符号化方法について説明した。本実施の形態では、上記LDPC−CC符号器の入力系列及び出力系列に着目し、検査行列との関係を説明するとともに、上記LDPC−CC符号器から送信された送信符号語系列を復号する復号器及び復号方法について、主に終端系列の処理を中心に説明する。
(Embodiment 5)
In the first to fourth embodiments, the LDPC-CC encoder and the encoding method that can reduce the amount of the termination sequence transmitted to the transmission path have been described. In the present embodiment, focusing on the input sequence and output sequence of the LDPC-CC encoder, the relationship with the parity check matrix will be explained, and decoding for decoding the transmission codeword sequence transmitted from the LDPC-CC encoder The decoder and decoding method will be described mainly focusing on termination sequence processing.
(符号化方法)
図38に、本実施の形態におけるLDPC−CC符号器の入力系列及び出力系列を示す。図38のLDPC−CC符号器800は、低密度なパリティ検査行列に基づいて、符号化率R=b/c、メモリ長MのLDPC−CCの符号化を行う符号器である。
(Encoding method)
FIG. 38 shows an input sequence and an output sequence of the LDPC-CC encoder in the present embodiment. The LDPC-
LDPC−CC符号器800は、情報ビットから構成される情報系列と、それに続く、LDPC−CC符号器800の終端処理のための終端系列(以降、これらを合わせて「送信情報系列」と呼ぶ)を入力系列とし、当該入力系列に対して符号化を行う。
LDPC-
LDPC−CC符号器800は、入力系列が情報系列の場合、情報符号系列を出力する。また、LDPC−CC符号器800は、入力系列が終端系列の場合、終端符号系列を出力する。以降、情報符号系列及び終端符号系列を合わせて「送信符号語系列」と呼ぶ。
LDPC-
以下では、LDPC−CC符号器800が、図1に示すパリティ検査行列を用いてLDPC−CC符号化を行う場合の終端系列について説明する。図1の検査行列100は、符号化率R=1/2、メモリ長M=5のLDPC−CCを定義する検査行列である。
Hereinafter, a termination sequence when LDPC-
図1に示す検査行列100の各列に付されているラベルのうち、u1,u2,…は、LDPC−CC符号器800に入力される送信情報系列の各ビットに対応し、p1,p2,…は、LDPC−CC符号器800から出力される送信符号語系列の各ビットに対応する。u1,u2,…に対応する列を抽出した部分行列は、図2の情報部分検査行列110である。また、p1,p2,…に対応する列を抽出した部分行列は、図3のパリティ部分検査行列120である。
Among the labels attached to each column of
ところで、情報部分検査行列の各行において、一番左に1が存在する列のインデックスと、一番右に1が存在する列のインデックスの差の最大値は、(M1×b)に対応する。図2の情報部分検査行列110は、b=1,M1=4の例であり、上記インデックスの差の最大値4と一致する。
By the way, in each row of the information partial check matrix, the maximum value of the difference between the index of the column having 1 at the left and the index of the column having 1 at the right corresponds to (M1 × b). The information partial
又、パリティ部分検査行列の各行において、一番左に1が存在する列のインデックスと、一番右に1が存在する列のインデックスの差の最大値は、M2(c−b)に対応する。図3のパリティ部分検査行列120は、b=1,c=2,M2=5の例であり、上記インデックスの差の最大値5と一致する。
Further, in each row of the parity partial check matrix, the maximum value of the difference between the index of the column having 1 on the left and the index of the column having 1 on the right corresponds to M2 (c−b). . The parity
LDPC−CC符号器800に対する終端系列の長さは、上述の実施の形態で説明した通り、M1×b=4×1=4でよい。また、LDPC−CC符号器800のメモリ長Mは、M1とM2のうちの大きい方をとる(M=max(M1,M2))。すなわち、終端系列の長さは、メモリ長Mをb倍した数以下になる。符号化は、以下のように行われる。
The length of the termination sequence for LDPC-
先ず、LDPC−CC符号器800に、情報系列が入力された場合の符号化について、検査行列100のうち、c6とラベル付けされたパリティ検査式を例に説明する。c6のパリティ検査式は、送信情報系列として、ビットu6がLDPC−CC符号器800に入力された場合に出力される送信符号語系列のビットp6の生成方法を表す。
First, coding when an information sequence is input to the LDPC-
具体的には、送信符号語ビットp6は、c6の行でp6以外の1の立っている列に対応するビットをmod2加算することで求められる。すなわち、p6=p1+u5+u6により、p6は算出される。 Specifically, the transmission codeword bit p6 is obtained by adding mod2 to a bit corresponding to a standing column other than p6 in the row c6. That is, p6 is calculated by p6 = p1 + u5 + u6.
また、検査行列100は、各行の1と0の配置のパターンが行ごとに異なるので、p7の場合は、p7=p2+u3+u7により算出される。
Further, since the pattern of arrangement of 1 and 0 in each row is different for each row, the
次に、LDPC−CC符号器800に、M1×b(=4)ビットの終端系列が入力された場合の符号化について説明する。
Next, encoding when an M1 × b (= 4) bit termination sequence is input to LDPC-
終端系列をt=[t1,t2,t3,t4]と表す。また、終端系列の直前に入力された情報系列を、d=[…,d5,d4,d3,d2,d1]と表す。このときの送信情報系列は、u=[…,d5,d4,d3,d2,d1,t1,t2,t3,t4]となる。 The terminal sequence is expressed as t = [t1, t2, t3, t4]. An information sequence input immediately before the termination sequence is represented as d = [..., d5, d4, d3, d2, d1]. The transmission information sequence at this time is u = [..., D5, d4, d3, d2, d1, t1, t2, t3, t4].
また、送信符号語系列をv=[…,g5,g4,g3,g2,g1,s1,s2,s3,s4]とする。ここで、情報符号系列g5〜g1は、情報系列d5〜d1に対応する送信符号語系列であり、終端符号系列s1〜s4は、終端系列t1〜t4に対応する送信符号語系列である。 The transmission codeword sequence is assumed to be v = [..., g5, g4, g3, g2, g1, s1, s2, s3, s4]. Here, the information code sequences g5 to g1 are transmission codeword sequences corresponding to the information sequences d5 to d1, and the termination code sequences s1 to s4 are transmission codeword sequences corresponding to the termination sequences t1 to t4.
図39に、検査行列100の終端部を示す。パリティ検査式ct1〜ct4の行より、終端符号系列s1〜s4は、式(6−1)〜式(6−4)により算出される。
すなわち、終端符号系列s1〜s4は、終端系列t1〜t4と、情報系列の後ろ4ビットd1〜d4と、情報符号系列の後ろ5ビットg1〜g5とが用いられて生成される。 That is, the terminal code sequences s1 to s4 are generated using the terminal sequences t1 to t4, the last 4 bits d1 to d4 of the information sequence, and the last 5 bits g1 to g5 of the information code sequence.
LDPC−CC符号器800は、畳み込み符号器であるため情報系列として任意の長さの系列をとることができる。また、LDPC−CC符号器800は、時変の畳み込み符号器で構成することができる。そのため、情報系列の長さや情報系列の値によって、終端符号系列の生成に用いられるビットが変わってくる。
Since LDPC-
しかし、上述したように、情報部分検査行列、パリティ部分検査行列の各行の一番左の1の位置と一番右の1の位置のインデックスの差の最大値は、それぞれ(M1×b)、M2×(c−b)に対応しているので、終端符号系列のビットは次のように表現できる。 However, as described above, the maximum difference between the index of the leftmost 1 position and the rightmost 1 position of each row of the information partial parity check matrix and the parity partial parity check matrix is (M1 × b), respectively. Since it corresponds to M2 × (c−b), the bits of the terminal code sequence can be expressed as follows.
つまり、終端符号系列は、(M1×b)ビットからなる終端系列と、情報系列の後ろから多くて(M1×b)ビットと、情報符号系列の後ろから多くてM2×(c−b)ビットとが用いられて生成されることになる。 That is, the terminal code sequence includes a terminal sequence composed of (M1 × b) bits, a maximum of (M1 × b) bits after the information sequence, and a maximum of M2 × (c−b) bits after the information code sequence. And will be generated.
(復号方法)
次に、LDPC−CC符号器800から出力される送信符号語系列を復号するLDPC−CC復号器の復号方法について説明する。
(Decryption method)
Next, a decoding method of the LDPC-CC decoder that decodes the transmission codeword sequence output from LDPC-
図40に、本実施の形態におけるLDPC−CC復号器の入力系列及び出力系列を示す。図40のLDPC−CC復号器900は、低密度なパリティ検査行列に基づいて符号化率R=b/c、メモリ長MのLDPC−CCの復号を行う復号器である。
FIG. 40 shows an input sequence and an output sequence of the LDPC-CC decoder in the present embodiment. The LDPC-
LDPC−CC復号器900は、通信路から得られた受信系列(情報系列、終端系列、情報符号系列、終端符号系列)の推定値を入力して復号処理を行う。復号処理方法としては、LDPC−BCと同様に、検査行列に基づいたsum−productアルゴリズムを適用することができる。LDPC−CC復号器900は、復号後の推定情報系列を出力する。なお、情報系列の推定値と終端系列の推定値とからなる系列を受信情報系列と呼び、情報符号系列の推定値と終端符号系列の推定値とからなる系列を受信符号語系列と呼ぶ。
LDPC-
図41に、LDPC−CC復号器900が復号処理に用いる検査行列の終端部の一例を示す。なお、図41に示す検査行列の終端部は、符号化側のLDPC−CC符号器800で用いられた検査行列100に対応する終端部である。
FIG. 41 shows an example of a termination part of a parity check matrix used by LDPC-
符号化側で、終端処理が行われると、終端処理完了後のLDPC−CC符号器800の状態は全ゼロになるため、復号側では、終端系列と終端符号系列の後に、メモリ長Mのゼロ系列x,yをそれぞれ追加して復号する。
When termination processing is performed on the encoding side, the state of the LDPC-
さらに、本実施の形態では、LDPC−CC復号器900は、図41に示すように、受信符号語系列の最後のビットからM2×(c−b)番目のビットに対応する列の右側に、列がそれぞれ1つ挿入された検査行列を用いる。
Further, in the present embodiment, LDPC-
挿入された列は、受信符号語系列のビット対応する列(挿入された列の左側の列)における一番下の1と同じ行に1があり、それ以外の行はすべて0の列である。図41に示す例では、検査行列の終端部に、g1’,s1’,s2’,s3’,s4’という5(=M2×(c−b))列が挿入されている。 The inserted column has 1 in the same row as the lowest 1 in the bit corresponding column of the received codeword sequence (the column on the left side of the inserted column), and the other rows are all 0 columns. . In the example shown in FIG. 41, 5 (= M2 × (c−b)) columns g1 ′, s1 ′, s2 ′, s3 ′, and s4 ′ are inserted at the end of the parity check matrix.
列が挿入されたことにより、図41の検査行列のc6〜c10のパリティ検査式は、式(7−1)〜(7−5)のようになる。
本実施の形態では、LDPC−CC復号器800は、挿入された列の通信路値として、一つ左の受信符号語系列のビットの列の通信路値と同じ値を用いて復号を行う。図41に示す例では、g1’,s1’,s2’,s3’,s4’の列の通信路値として、それぞれ、g1,s1,s2,s3,s4と同じ値が用いられる。
In the present embodiment, LDPC-
これは、LDPC−CCでは、式(2)に示したように、符号語v2,tを求めるに、過去の時刻における符号語v2,t-iが必要になるため、LDPC−CC符号器800のシフトレジスタには過去の時刻の符号語v2,t-iが保持されているからである。終端処理時に、LDPC−CC復号器900は、LDPC−CC符号器800のシフトレジスタの状態を必要とするが、シフトレジスタに保持されているのは、過去の時刻の符号語であり、過去の時刻の符号語は、すでに送信されている。したがって、復号側で、g1,s1,s2,s3,s4の右に、g1’,s1’,s2’,s3’,s4’の列が挿入された検査行列を用いて復号することにより、シフトレジスタに保持された符号語を用いて終端処理を行うことになる。そのため、符号化側では、符号語v2,tを求めるために必要となるシフトレジスタに保持された過去の時刻における符号語を送信する必要がなく、(M1×b)ビットの終端系列を用いるだけでよくなる。
This is the LDPC-CC, as shown in Equation (2), to obtain the codeword v 2, t, this would require codeword v 2, t-i at a past time, LDPC-CC code This is because the code word v 2, t-i of the past time is held in the shift register of the
終端処理が完了している場合、x1〜x5及びy1〜y5が0であること、かつ、g1=g1’,sx=sx’(x=1,…,4)であることから式(8−1)〜(8−5)が得られる。
したがって、式(8−1)〜(8−5)より、終端系列t=[t1、t2、t3、t4]は、式(9−1)〜(9−2)の関係を満たす系列であればよく、例えば、終端系列としてt=[0、0、0、0]を用いることができることがわかる。
このように、本実施の形態におけるLDPC−CC符号器は、情報系列に続く、(M1×b)ビットからなる終端系列を入力として、情報符号系列及び終端符号系列を出力するようにした。 As described above, the LDPC-CC encoder in this embodiment is configured to output the information code sequence and the termination code sequence with the termination sequence including (M1 × b) bits following the information sequence as an input.
また、本実施の形態におけるLDPC−CC復号器は、符号化に用いた検査行列に、それぞれ受信符号語系列(情報符号系列の推定値と終端符号系列の推定値とからなる系列)の後ろからM2×(c−b)ビットと同じ通信路値を持つM2×(c−b)個の列を追加した検査行列を用いて復号処理を行うようにした。 Also, the LDPC-CC decoder according to the present embodiment adds the check matrix used for encoding to the back of each received codeword sequence (sequence consisting of an estimated value of an information code sequence and an estimated value of a terminal code sequence). Decoding processing is performed using a parity check matrix to which M2 × (c−b) columns having the same channel value as M2 × (c−b) bits are added.
このようにすることで、(M1×b)個のゼロからなる終端系列を用いてLDPC−CC符号器の終端処理を行うことができ、情報符号系列や終端符号系列を用いて終端系列を生成するための演算が不要となり、簡易な構成でLDPC−CC符号器を実現することができる。 In this way, termination processing of the LDPC-CC encoder can be performed using (M1 × b) zero termination sequences, and termination sequences are generated using information code sequences and termination code sequences. Thus, an LDPC-CC encoder can be realized with a simple configuration.
なお、以上の説明では、LDPC−CC符号器800が、非再帰的畳み込み符号の検査行列100を用いて符号化を行う場合を例に説明したが、検査行列100に限らず、例えば、図18に示すような再帰的畳み込み符号の検査行列300を用いて符号化を行う場合にも、同様に適用することできる。ただし、この場合の終端系列は、ゼロ系列ではなく、実施の形態2で説明したように、(M1×b)ビットのフィードバックビットとなる。
In the above description, the case where the LDPC-
また、本実施の形態で説明した終端系列及び復号方法を用いる場合には、図55に示すような従来のLDPC−CC符号器10に対しても、同様の効果を得ることができる。
Further, when the termination sequence and decoding method described in the present embodiment are used, the same effect can be obtained for the conventional LDPC-
(他の実施の形態1)
本実施の形態では、(7,5)の畳み込み符号から、新しいLDPC−CCを設計する方法について詳しく説明する。
(Other embodiment 1)
In the present embodiment, a method for designing a new LDPC-CC from the (7, 5) convolutional code will be described in detail.
図42は、(7,5)の畳み込み符号の符号器の構成を示す図である。図42に示す符号器は、シフトレジスタ4201、4202と、排他的論理和回路4203、4204、4205と、を有する。図42に示す符号器は、入力xに対し、出力xとパリティpを出力する。この符号は組織符号である。
FIG. 42 is a diagram illustrating the configuration of the encoder of the (7, 5) convolutional code. The encoder illustrated in FIG. 42 includes
なお、本発明では、組織符号である畳み込み符号を用いることが重要となる。 In the present invention, it is important to use a convolutional code that is a systematic code.
符号化率1/2、生成多項式G=[1 G1(D)/G0(D)]の畳み込み符号を例に考える。このとき、G1はフィードフォワード多項式、G0はフィードバック多項式をあらわす。情報系列(データ)の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とするとパリティ検査多項式は、以下の式(10)のようにあらわされる。
図43に、(7,5)の畳み込み符号に関する情報を記載する。(7,5)畳み込み符号の生成行列はG=[1 (D2+1)/(D2+D+1)]とあらわされる。したがって、パリティ検査多項式は、以下の式(11)となる。
ここで、時点iにおけるデータをXi、パリティをPiとあらわし、送信系列Wi=(Xi,Pi)とあらわす。そして、送信ベクトルw=(X1,P1,X2,P2,・・・,Xi,Pi・・・)とあらわす。すると、式(11)から、検査行列Hは図43に示すようにあらわすことができる。このとき、以下の式(12)の関係式が成立する。
したがって、受信装置では、検査行列Hを用い、非特許文献4〜非特許文献6に示されているようなBP(Belief Propagation)復号、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などを用いることで、復号を行うことができる。
Therefore, the receiving apparatus uses the check matrix H, BP (Belief Propagation) decoding as shown in
ここで、図43の検査行列において、行番号=列番号の「1」より左下の部分(図43の4301の左下の部分)を近似下三角行列と定義する。行番号=列番号の「1」より右上の部分を上台形行列と定義する。 Here, in the parity check matrix of FIG. 43, the lower left portion (the lower left portion of 4301 in FIG. 43) from the row number = column number “1” is defined as an approximate lower triangular matrix. The upper right part of row number = column number “1” is defined as an upper trapezoid matrix.
次に、本発明におけるLDPC−CCの設計方法について詳しく説明する。 Next, the LDPC-CC design method in the present invention will be described in detail.
符号器を簡単な構成で実現するために、本実施の形態では、図43に示した(7,5)の畳み込み符号のための検査行列Hの近似下三角行列に「1」を追加する手法をとる。 In this embodiment, in order to realize the encoder with a simple configuration, a method of adding “1” to the approximate lower triangular matrix of the parity check matrix H for the (7, 5) convolutional code shown in FIG. Take.
<符号化方法>
ここでは、一例として図43の検査行列に対し、追加する「1」は、データ、パリティそれぞれに1つとするものとする。図43の検査行列Hの近似下三角行列に「1」をデータ、パリティそれぞれに1つ追加した場合、検査多項式は以下の式(13)のようにあらわされる。ただし、式(13)において、α≧3、β≧3である。
Here, as an example, it is assumed that “1” to be added to the parity check matrix of FIG. 43 is one for each of data and parity. When “1” is added to the approximate lower triangular matrix of the parity check matrix H in FIG. 43 for each of data and parity, the parity check polynomial is expressed as in the following equation (13). However, in formula (13), α ≧ 3 and β ≧ 3.
したがって、パリティP(D)は、以下の式(14)のようにあらわされる。
検査行列の近似下三角行列に「1」を追加した場合、DβP(D)、D2P(D)、DP(D)は過去のデータであり、既知の値であるから、簡単にパリティP(D)を求めることができる。 When “1” is added to the approximate lower triangular matrix of the parity check matrix, D β P (D), D 2 P (D), and DP (D) are past data and are known values. Parity P (D) can be obtained.
<「1」を追加する位置>
次に、図44を用いて、追加する「1」の位置について詳しく説明する。図44において、符号4401は時点iのデータXiの復号に関連する「1」、符号4402は時点iのパリティPiに関連する「1」である。点線4403は、1回のBP復号を行った場合、時点iのデータXi、パリティPiに対し、外部情報の伝搬に関与するプロトグラフである。つまり、時点i−2から時点i+2の信頼度が伝播に関与することになる。
<Location to add “1”>
Next, the position of “1” to be added will be described in detail with reference to FIG. In FIG. 44,
プロトグラフ4403の最右にある「1」(4404)に対し、縦軸に境界線4405を引く。そして、境界線4405に隣接する最左の「1」(4406)に対し、境界線4407を引く(各行のうち、最左となる「1」が、境界線4405に隣接する行)。そして、時点iのデータXi、パリティPiに境界線4405以降の信頼度が伝播するように、領域4408にいずれかに「1」を追加する。これにより、「1」を追加する以前には得られなかった確率、つまり、時点i−2から時点i+2以外の信頼度を伝播させることができる。なお、新規の確率を伝播させるには、図44の領域4408に追加する必要がある。つまり、境界線4405より右側で、境界線4407より下側の「1」による信頼度は、領域4408に追加された「1」を介して、時点iのデータXi、パリティPiに対して伝搬されることになる。
A
ここで、図44の検査行列Hの各行において、最右の「1」と最左の「1」の幅をLとする。これまでは、「1」を追加する位置を列方向で説明した。これを、行方向で考えると、図43の検査行列において、最左の「1」からL−2以上左の位置に「1」を追加することになる。また、検査多項式で説明した場合、式(13)において、αを5以上、βを5以上に設定すればよい。 Here, in each row of parity check matrix H in FIG. 44, the width of the rightmost “1” and the leftmost “1” is L. So far, the position where “1” is added has been described in the column direction. Considering this in the row direction, in the parity check matrix of FIG. 43, “1” is added to the left position of “L-2” or more from the leftmost “1”. Further, in the case of explanation using a check polynomial, in equation (13), α may be set to 5 or more and β may be set to 5 or more.
これを一般式であらわして考える。畳み込み符号のパリティ検査多項式の一般式は以下の式(15)のようにあらわされる。
検査行列Hの近似下三角行列に「1」をデータ、パリティそれぞれに1つ追加した場合、検査多項式は以下の式(16)のようにあらわされる。
この場合、αを2K+1以上、βを2K+1以上に設定すればよい。K≧2である。 In this case, α may be set to 2K + 1 or more, and β may be set to 2K + 1 or more. K ≧ 2.
図45は、図44の検査行列の近似下三角行列に「1」を追加した場合の一例を示す図である。そして、すべての時点のデータ、パリティに対し「1」を追加すると、検査行列は図46のようにあらわされる。図46は、本実施の形態におけるLDPC−CCの検査行列の構成の一例を示す図である。図46において、領域4601、4602内の「1」が、追加した「1」であり、検査行列Hを持つ符号が本実施の形態におけるLDPC−CCとなる。このとき、検査多項式は以下の式(17)のようにあらわされる。
以上のように、送信装置では、検査行列Hの近似下三角行列に「1」を追加して畳み込み符号からLDPC−CCを作成することにより、受信装置では、作成したLDPC−CCの検査行列を用いて、BP復号または近似したBP復号を行えば、良好な受信品質を得ることができる。 As described above, the transmission apparatus adds “1” to the approximate lower triangular matrix of the parity check matrix H and creates an LDPC-CC from the convolutional code, so that the reception apparatus uses the created LDPC-CC parity check matrix. By using BP decoding or approximated BP decoding, good reception quality can be obtained.
なお、本実施の形態では、データ、パリティに対し、それぞれ「1」を1個追加する場合について説明したが、本発明はこれに限られず、例えばデータ、パリティのいずれかに対し「1」を追加する方法でもよい。例えば、データに対し「1」を追加し、パリティに対しては「1」を追加しないとしてもよい。一例として、上記式(16)において、Dβがない場合を考える。このとき、αを2K+1以上にすると受信装置は良好な受信品質を得ることができる。逆に、式(16)において、Dαがない場合を考える。このとき、βを2K+1以上にすると受信装置は良好な受信品質を得ることができる。 In this embodiment, the case where one “1” is added to each of data and parity has been described. However, the present invention is not limited to this, and for example, “1” is set to either data or parity. The method of adding may be used. For example, “1” may be added to data and “1” may not be added to parity. As an example, let us consider a case where there is no Dβ in the above equation (16). At this time, if α is set to 2K + 1 or more, the receiving apparatus can obtain good reception quality. Conversely, let us consider a case where there is no Dα in equation (16). At this time, if β is set to 2K + 1 or more, the receiving apparatus can obtain good reception quality.
また、データ、パリティの両者に対し、複数個の「1」を追加した符号でも受信品質は大きく改善される。例えば、複数個挿入する場合の例として、ある畳み込み符号のパリティ検査多項式を式(18)であらわすものとする。なお、式(18)において、K≧2である。
検査行列Hの近似下三角行列に「1」をデータ、パリティに対し複数個追加した場合、検査多項式は以下の式(19)のようにあらわされる。
この場合、α1,・・・,αnを2K+1以上、β1,・・・,βmを2K+1以上に設定すると受信装置において良好な受信品質を得ることができる。この点は本実施の形態では重要である。 In this case, when α 1 ,..., Α n is set to 2K + 1 or more and β 1 ,..., Β m are set to 2K + 1 or more, good reception quality can be obtained in the receiving apparatus. This point is important in the present embodiment.
ただし、α1,・・・,αnのうちの1つ以上が2K+1以上を満たす場合でも、受信装置において良好な受信品質を得ることができる。また、β1,・・・,βmのうちの1つ以上が2K+1以上を満たす場合でも、受信装置において良好な受信品質を得ることができる。 However, even when one or more of α 1 ,..., Α n satisfy 2K + 1 or more, good reception quality can be obtained in the receiving apparatus. Further, even when one or more of β 1 ,..., Β m satisfy 2K + 1 or more, good reception quality can be obtained in the receiving apparatus.
また、LDPC−CCの検査多項式が以下の式(20)のようにあらわされた場合、α1,・・・,αnを2K+1以上に設定すると、受信装置のおいて良好な受信品質を得ることができる。この点は本実施の形態では重要である。
ただし、α1,・・・,αnのうち1つ以上が2K+1以上を満たす場合でも、受信装置において良好な受信品質を得ることができる。 However, even when one or more of α 1 ,..., Α n satisfy 2K + 1 or more, good reception quality can be obtained in the receiving apparatus.
同様に、LDPC−CCの検査多項式が以下の式(21)のようにあらわされた場合、β1,・・・,βmを2K+1以上に設定すると、受信装置のおいて良好な受信品質を得ることができる。この点は本実施の形態では重要である。
ただし、β1,・・・,βmのうち1つ以上が2K+1以上を満たす場合でも、受信装置において良好な受信品質を得ることができる。 However, even when one or more of β 1 ,..., Β m satisfy 2K + 1 or more, good reception quality can be obtained in the receiving apparatus.
次に、(7,5)畳み込み符号の式(11)とは異なるパリティ検査多項式を用いて、LDPC−CCを設計する方法について詳しく説明する。ここでは一例として、データに対し「1」を2個、パリティに対し「1」を2個追加する場合を例に説明する。 Next, a method for designing an LDPC-CC using a parity check polynomial different from Equation (11) of the (7, 5) convolutional code will be described in detail. Here, as an example, a case where two “1” s are added to data and two “1” s are added to parity will be described as an example.
(7,5)畳み込み符号の式(11)とは異なるパリティ検査多項式が、非特許文献7に示されている。その一例は次の式(22)のようにあらわされる。
この場合、検査行列Hは、図47のようにあらわすことができる。 In this case, the check matrix H can be represented as shown in FIG.
<符号化方法>
ここでは、図47の検査行列に対し、データ、パリティそれぞれに「1」を2つずつ追加する場合について説明する。図47の検査行列Hの近似下三角行列にデータ、パリティそれぞれに「1」を2つ追加した場合、検査多項式は以下の式(23)のようにあらわされる。
Here, a case where two “1” s are added to each of the data and the parity for the parity check matrix of FIG. 47 will be described. When two “1” s are added to each of the data and parity in the approximate lower triangular matrix of the parity check matrix H in FIG. 47, the parity check polynomial is represented by the following equation (23).
したがって、パリティP(D)は以下の式(24)のようにあらわすことができる。
このように、検査行列の近似下三角行列に「1」を追加した場合、Dβ1P(D)、Dβ2P(D)、D9P(D)、D8P(D)、D3P(D)、DP(D)は過去のデータであり、既知の値であるから、簡単にパリティP(D)を求めることができる。 Thus, when “1” is added to the approximate lower triangular matrix of the parity check matrix, D β1 P (D), D β2 P (D), D 9 P (D), D 8 P (D), D 3 Since P (D) and DP (D) are past data and are known values, the parity P (D) can be easily obtained.
<「1」を追加する位置>
上述と同様の効果を得るためには、α1,α2を19以上、β1,β2を19以上に設定すると受信装置において良好な受信品質を得ることができる。一例として、図48の検査行列では、α1=26、α2=19、β1=30、β2=24としている。これにより、上述と同様な理由から、受信装置では、良好な受信品質を得ることができる。
<Location to add “1”>
In order to obtain the same effect as described above, when α 1 and α 2 are set to 19 or more and β 1 and β 2 are set to 19 or more, good reception quality can be obtained in the receiving apparatus. As an example, in the parity check matrix of FIG. 48, α 1 = 26, α 2 = 19, β 1 = 30, and β 2 = 24. Thereby, for the same reason as described above, the reception apparatus can obtain good reception quality.
以上の例から、畳み込み符号からLDPC−CCを作成する方法は、以下のような手順となる。なお、以下の手順は、畳み込み符号が符号化率1/2の場合の例である。 From the above example, a method for creating an LDPC-CC from a convolutional code is as follows. The following procedure is an example when the convolutional code is an encoding rate of 1/2.
<1>良好な特性を与える畳み込み符号を選択する。 <1> Select a convolutional code that gives good characteristics.
<2>選択した畳み込み符号の検査多項式を生成する(例えば、式(15))。ただし、選択した畳み込み符号を組織符号として利用することが重要となる。また、検査多項式は、上述のとおり一つに限らない。良好な受信品質を与える検査多項式を選択する必要がある。このとき、生成多項式から生成した検査多項式より次数が大きく等価な検査多項式を用いるほうがよい(非特許文献7参照)。 <2> A check polynomial for the selected convolutional code is generated (for example, Equation (15)). However, it is important to use the selected convolutional code as a systematic code. Further, the check polynomial is not limited to one as described above. It is necessary to select a check polynomial that gives good reception quality. At this time, it is better to use an equivalent check polynomial having a higher degree than the check polynomial generated from the generator polynomial (see Non-Patent Document 7).
<3>選択した畳み込み符号の検査行列Hを作成する。 <3> A check matrix H of the selected convolutional code is created.
<4>データ、または(および)、パリティに対し、確率伝播を考慮し、検査行列に対し「1」を追加する。「1」を追加する位置については、上述で説明したとおりである。 <4> Probability propagation is considered for data or (and) parity, and “1” is added to the parity check matrix. The position where “1” is added is as described above.
本実施の形態では、(7,5)畳み込み符号からLDPC−CCを作成する方法を説明したが、本発明は(7,5)畳み込み符号に限ったものではなく、他の畳み込み符号を用いても同様に実施することができる。このとき、良好な受信品質を与える畳み込み符号の生成多項式Gについては非特許文献8に詳しく記載されている。 In the present embodiment, the method of creating the LDPC-CC from the (7, 5) convolutional code has been described. However, the present invention is not limited to the (7, 5) convolutional code, and other convolutional codes are used. Can be similarly implemented. At this time, the generating polynomial G of the convolutional code that gives good reception quality is described in detail in Non-Patent Document 8.
以上のように、送信装置では、式(19)において、α1,・・・,αnを2K+1以上、β1,・・・,βmを2K+1以上に設定し、畳み込み符号からLDPC−CCを作成することにより、受信装置では、作成したLDPC−CCの検査行列を用いてBP復号または近似したBP復号を行えば、良好な受信品質を得ることができる。また、畳み込み符号からLDPC−CCを作成した場合、プロトグラフ、つまり、検査多項式のサイズが、非特許文献9、非特許文献10で示されているプロトグラフよりサイズが非常に小さいため、送信データのビット数が小さいパケットを送信するときに発生する余分なビットの数を少なくすることができ、データの伝送効率が低下するという課題を抑制することができる。
As described above, in the transmission apparatus, α 1 ,..., Α n are set to 2K + 1 or more, β 1 ,..., Β m are set to 2K + 1 or more in Equation (19), and the LDPC-CC is calculated from the convolutional code. Thus, the reception apparatus can obtain good reception quality by performing BP decoding or approximated BP decoding using the created LDPC-CC parity check matrix. Further, when the LDPC-CC is created from the convolutional code, the size of the protograph, that is, the check polynomial, is much smaller than the protographs shown in Non-Patent Document 9 and
以上の説明を、実施の形態1から実施の形態5で説明したLDPC−CC符号器の構成及びLDPC−CCの検査行列に対応付ける。 The above description is associated with the configuration of the LDPC-CC encoder and the LDPC-CC parity check matrix described in the first to fifth embodiments.
元の畳み込み符号のデータX(D)に関与する最大次数を、αとする。この場合に、検査行列Hの近似下三角行列に「1」をパリティP(D)に対し追加し、パリティ検査多項式のパリティP(D)に関し、Dβの項を追加するLDPC−CCを考える。ここで、βは、上述のような説明に従い作成したLDPC−CCのパリティP(D)に関与する最大次数とする。このとき、本実施の形態において説明したように、βを2α+1以上に設定することにより、良好な受信品質を得ることができる。 Let α be the maximum order involved in the data X (D) of the original convolutional code. In this case, consider an LDPC-CC in which “1” is added to the approximate lower triangular matrix of the parity check matrix H to the parity P (D), and a term of D β is added to the parity P (D) of the parity check polynomial. . Here, β is the maximum order involved in the parity P (D) of the LDPC-CC created according to the above description. At this time, as described in the present embodiment, by setting β to 2α + 1 or more, good reception quality can be obtained.
データX(D)は、第1符号器により生成される。つまり、第1符号器のメモリ長をM1とすると、αはデータX(D)に関与する最大次数であるので、αはM1に対応する。 Data X (D) is generated by the first encoder. That is, if the memory length of the first encoder is M1, α corresponds to M1 because α is the maximum order involved in the data X (D).
また、パリティP(D)は、第2符号器により生成される。つまり、第2符号器のメモリ長をM2とすると、パリティP(D)の最大次数βはM2に対応する。 The parity P (D) is generated by the second encoder. That is, assuming that the memory length of the second encoder is M2, the maximum order β of the parity P (D) corresponds to M2.
このとき、良好な受信性能を得るための関係式β≧2α+1と、α=M1、及び、β=M2とから式(25)を得る。
つまり、第1符号器のメモリ長M1及び第2符号器のメモリ長M2が、式(25)を満たすような構成を採ることにより、実施の形態1から実施の形態5で述べた終端系列長およびそれに伴う終端符号系列長を短くすることができるという効果に加え、さらに、良好な受信性能を得ることができるという効果が得られるようになる。 That is, by adopting a configuration in which the memory length M1 of the first encoder and the memory length M2 of the second encoder satisfy Equation (25), the termination sequence length described in the first to fifth embodiments is used. In addition to the effect of shortening the length of the termination code sequence associated therewith, it is possible to obtain an effect of obtaining good reception performance.
換言すると、第2符号器のメモリ長M2を、第1符号器のメモリ長M1の2倍以上とすると、終端系列長を短くすることができるとともに、良好な受信性能を得ることができる。 In other words, if the memory length M2 of the second encoder is at least twice the memory length M1 of the first encoder, the termination sequence length can be shortened and good reception performance can be obtained.
なお、(M1×b)は、検査行列の情報ビットに対応する列を抽出した情報部分行列の各行において、一番左に1が存在する列のインデックスと、一番右に1が存在する列のインデックスとの差の最大値である。また、M2×(c−b)は、検査行列の情報ビットに対応する列を抽出したパリティ部分行列の各行において、一番左に1が存在する列のインデックスと、一番右に1が存在する列のインデックスとの差の最大値である。したがって、符号化率R=b/cの場合、M2がM1の2倍以上となるような、情報部分行列とパリティ部分行列とを用いてLDPC−CC符号語系列を生成するようにすることにより、終端系列を短くすることができるとともに、良好な受信性能を得ることができる。 Note that (M1 × b) is an index of a column in which 1 is present on the left and a column in which 1 is present on the right in each row of the information submatrix extracted from the column corresponding to the information bit of the parity check matrix. Is the maximum difference from the index. M2 × (c−b) is an index of a column having 1 on the left and 1 on the right in each row of the parity submatrix extracted from the column corresponding to the information bit of the check matrix. This is the maximum difference from the index of the column to be executed. Therefore, when the coding rate R = b / c, an LDPC-CC codeword sequence is generated using an information sub-matrix and a parity sub-matrix such that M2 is twice or more of M1. The termination sequence can be shortened and good reception performance can be obtained.
(他の実施の形態2)
以下では、実施の形態1から実施の形態5の構成に適したLDPC―CCの例について以下では詳しく述べる。
(Other embodiment 2)
Hereinafter, an example of LDPC-CC suitable for the configuration of the first to fifth embodiments will be described in detail below.
本実施の形態では、パンクチャを容易に行うことが可能であり、かつ、符号器の構成が簡単な時変LDPC−CCの構成について説明する。特に、本実施の形態では、周期的にデータをパンクチャすることができるLDPC−CCについて説明する。LDPC符号では、これまで、周期的にデータをパンクチャするパンクチャ方法については、十分な検討がなされておらず、特に、簡単にパンクチャを行う方法について、十分に議論がされているわけではない。本実施の形態におけるLDPC−CCでは、データをランダムにパンクチャするのではなく、周期的に、かつ、規則的にパンクチャすることができると、受信品質の劣化を抑えることができる。以下では、符号化率R=1/2の上記を実現できる時変LDPC−CCの構成方法について説明する。 In this embodiment, a configuration of a time-varying LDPC-CC that can easily perform puncturing and that has a simple encoder configuration will be described. In particular, in this embodiment, an LDPC-CC capable of periodically puncturing data will be described. In the LDPC code, a puncturing method for periodically puncturing data has not been sufficiently studied so far, and a method for performing puncturing in particular has not been sufficiently discussed. In LDPC-CC in the present embodiment, if data can be punctured periodically and regularly instead of being randomly punctured, degradation of reception quality can be suppressed. In the following, a configuration method of time-varying LDPC-CC capable of realizing the coding rate R = 1/2 will be described.
符号化率1/2のとき、情報系列(データ)の多項式表現をX(D)、パリティの系列の多項式表現をP(D)とすると、パリティ検査多項式は以下のようにあらわされる。
式(26)において、a1、a2、・・・、anは1以上の整数(ただし、a1≠a2≠・・・≠an)とする。また、b1、b2、・・・bmは1以上の整数(ただし、b1≠b2≠・・・≠bm)とする。ここで、符号化を容易に行うことを可能とするため、D0X(D)、および、D0P(D)の項(D0=1)が存在するものとする。したがって、P(D)は以下のようにあらわされる。
式(27)から分かるように、D0=1が存在し、かつ、過去のパリティの項、つまり、b1、b2、・・・bmが1以上の整数であるため、パリティPを逐次的に求めることができる。 As can be seen from the equation (27), since D 0 = 1 exists and past parity terms, that is, b1, b2,... Bm are integers of 1 or more, the parity P is sequentially changed. Can be sought.
次に、式(26)とは異なる符号化率1/2のパリティ検査多項式を以下のようにあらわす。
式(28)において、A1、A2、・・・、ANは1以上の整数(ただし、A1≠A2≠・・・≠AN)とする。また、B1、B2、・・・、BMは1以上の整数(ただし、B1≠B2≠・・・≠BM)とする。ここで、符号化を容易に行うことを可能とするため、D0X(D)およびD0P(D)の項(D0=1)が存在するものとする。このときP(D)は、式(29)のようにあらわされる。
以下、時点2iのデータXとパリティPをそれぞれX2i、P2iであらわし、時点2i+1のデータXとパリティPをそれぞれX2i+1、P2i+1であらわす(i:整数)。 Hereinafter, data X and parity P at time 2i are represented by X 2i and P 2i , respectively, and data X and parity P at time 2i + 1 are represented by X 2i + 1 and P 2i + 1 , respectively (i: integer).
本実施の形態では、時点2iのパリティP2iは式(27)を用いて算出し、時点2i+1のパリティP2i+1は式(29)を用いて算出する時変周期が2のLDPC−CCを提案する。上述の実施の形態と同様に、パリティは、逐次的に簡単に求めることができるという利点がある。 In the present embodiment, an LDPC-CC with a time-varying period of 2 calculated using the equation (27) for the parity P 2i at the time point 2i and calculated using the equation (29) for the parity P 2i + 1 at the time point 2i + 1 is proposed. To do. Similar to the above-described embodiment, there is an advantage that the parity can be easily obtained sequentially.
以下では、式(26)及び式(28)の一例として、式(30)及び式(31)を用いて説明する。
このとき検査行列は、図49のようにあらわすことができる。図49において、(Ha,11)は式(30)に相当する部分であり、(Hc,11)は式(31)に相当する部分である。図49の検査行列、つまり、時変周期2の検査行列を用いてBP復号を行った場合、実施の形態1から実施の形態6で説明したLDPC−CCに比べ、データの受信品質が大きく改善することが確認された。
At this time, the parity check matrix can be expressed as shown in FIG. In FIG. 49, (Ha, 11) is a portion corresponding to the equation (30), and (Hc, 11) is a portion corresponding to the equation (31). When the BP decoding is performed using the parity check matrix of FIG. 49, that is, the time-varying
以上、時変周期が2の場合について説明したが、時変周期は2に限られない。しかし、時変周期が大きすぎると、周期的にパンクチャすることが難しく、例えば、ランダムにパンクチャしなければならなくなるため、受信品質が劣化してしまう可能性がある。以下に、時変周期を小さくすることにより、受信品質が改善するという利点について説明する。 Although the case where the time varying period is 2 has been described above, the time varying period is not limited to 2. However, if the time-varying period is too large, it is difficult to puncture periodically, and for example, it is necessary to puncture at random, so that reception quality may be deteriorated. Hereinafter, the advantage that the reception quality is improved by reducing the time-varying period will be described.
図50に、時変周期1の場合のパンクチャ方法の一例を示す。同図において、Hは、LDPC−CCの検査行列であり、送信系列ベクトルをvであらわすと、式(32)の関係式が成立する。
図50は、符号化率R=1/2の送信系列をパンクチャし、符号化率R=3/4とする場合の例を示している。パンクチャを周期的に行う場合、まず、パンクチャビットを選択するためのブロック周期を設定する。図50には、ブロック周期を6とし、ブロックが点線(5002)のように設定される例が示されている。そして、1ブロックを構成する6ビットのうち2ビットがパンクチャビットとして選択され、選択された2ビットは、送信されないビットとして設定される。図50では、丸印で囲まれたビット5001が、送信されないビットとなる。このようにして、符号化率3/4を実現することができる。したがって、送信データ系列は、v1、v3、v4、v5、v7、v9、v11、v13、v15、v16、v17、v19、v21、v22、v23、v25、・・・となる。
FIG. 50 illustrates an example in which a transmission sequence with a coding rate R = 1/2 is punctured to obtain a coding rate R = 3/4. When puncturing is performed periodically, first, a block cycle for selecting puncture bits is set. FIG. 50 shows an example in which the block period is set to 6 and the block is set as indicated by a dotted line (5002). Of the 6 bits constituting one block, 2 bits are selected as puncture bits, and the selected 2 bits are set as bits that are not transmitted. In FIG. 50, a
図50において四角枠で囲まれた“1”は、パンクチャにより、受信時に、初期の対数尤度比が存在しないので、対数尤度比が0に設定されることになる。 In FIG. 50, “1” surrounded by a square frame is set to 0 because the initial log likelihood ratio does not exist at the time of reception due to puncturing.
BP復号では行演算と列演算とを反復して行う。したがって、初期の対数尤度比が存在しない(対数尤度比が0の)ビット(消失ビット)が、同一行に2つ以上含まれると、当該行では、列演算により初期の対数尤度比が存在しない(対数尤度比が0の)ビットの対数尤度比が更新されるまで、行演算単独では、対数尤度比が更新されないことになる。すなわち、行演算単独では信頼度が伝搬されず、信頼度を伝搬させるためには、行演算と列演算とを反復する必要がある。したがって、このような行が多数存在すると、BP復号において反復処理数に制限があるような場合、または、反復処理を何度行っても信頼度が伝搬されずに、受信品質の劣化を招く原因となる。図50に示す例では、四角枠で囲まれた1に対応するビットが消失ビットを示し、行5003が、行演算単独では信頼度が伝搬されない行、つまり、受信品質の劣化を招く原因となる行となる。
In BP decoding, row operations and column operations are repeated. Therefore, if two or more bits (erasure bits) for which no initial log likelihood ratio exists (log likelihood ratio is 0) are included in the same row, the initial log likelihood ratio is calculated by column operation in that row. The log-likelihood ratio is not updated by the row operation alone until the log-likelihood ratio of bits for which there is no (the log-likelihood ratio is 0) is updated. That is, the reliability is not propagated by the row operation alone, and in order to propagate the reliability, it is necessary to repeat the row operation and the column operation. Therefore, when there are a large number of such rows, there is a limit on the number of iteration processes in BP decoding, or the reliability is not propagated even if the iteration process is performed many times, which causes deterioration in reception quality. It becomes. In the example shown in FIG. 50, a bit corresponding to 1 surrounded by a square frame indicates an erasure bit, and a
したがって、パンクチャビット(送信しないビット)の決定方法、すなわち、パンクチャパターンの決定方法として、パンクチャにより、単独では、信頼度が伝播されない行ができるだけ少なくなるような方法を探索する必要がある。以下、パンクチャビットの選択方法の探索について説明する。 Therefore, as a method for determining puncture bits (bits not to be transmitted), that is, a method for determining a puncture pattern, it is necessary to search for a method that minimizes the number of rows whose reliability is not propagated by puncture alone. Hereinafter, a search for a puncture bit selection method will be described.
1ブロックを構成する6ビットのうち2ビットをパンクチャビットとする場合、2ビットの選択方法は3×2C2存在する。このうち、ブロック周期の6ビットの中で巡回シフトした選択方法は、同一とみなすことができる。以下、図52Aを用いて補足説明をする。一例として、図52Aに、6ビットのうち2ビットを連続してパンクチャする場合の6通りのパンクチャパターンを示す。図52Aにおいて示すように、パンクチャパターン#1〜#3は、ブロック区切りを変更することで、同一のパンクチャパターンとなる。同様に、パンクチャパターン#4〜#6も、ブロック区切りを変更することで、同一のパンクチャパターンとなる。このように、ブロック周期の6ビットの中で巡回シフトした選択方法は、同一とみなすことができる。したがって、パンクチャビットの選択方法は、3×2C2×2/(3×2)=5通り存在する。
When 2 bits out of 6 bits constituting one block are set as puncture bits, there are 3 × 2 C 2 selection methods for 2 bits. Among these, the selection method that is cyclically shifted within 6 bits of the block period can be regarded as the same. Hereinafter, supplementary explanation will be given with reference to FIG. 52A. As an example, FIG. 52A shows six puncture patterns when two of the six bits are continuously punctured. As shown in FIG. 52A,
なお、1ブロックがL×kビットから構成され、L×kビットのうちkビットをパンクチャする場合、式(33)により求められる数のパンクチャパターンが存在する。
一つのパンクチャパターンに着目した場合の、符号化系列とパンクチャパターンとの関係を図52Bに示す。図52Bから分かるように、1ブロックを構成する6ビットのうち2ビットをパンクチャした場合、パンクチャパターン1つに対し、存在する検査式のパターンは、(3×2)×1/2となる。同様に、1ブロックがL×kビットから構成され、L×kビットのうちkビットをパンクチャする場合、パンクチャパターン1つに対し、式(34)により求められる数の検査式が存在する。
したがって、パンクチャパターンの選択方法において、式(35)から求められる数の検査式(行)について、単独で、信頼度が伝播されるか否かチェックする必要がある。
以上の関係から、符号化率1/2の符号から符号化率3/4とする場合、L×kビットのブロックからkビットをパンクチャする場合、式(36)から求められる数の検査式(行)について、単独で、信頼度が伝播されるか否かチェックする必要がある。
そして、よいパンクチャパターンが見つからない場合、L及びkを増加させる必要がある。 If no good puncture pattern is found, L and k need to be increased.
次に、時変周期がmの場合について検討する。この場合も、時変周期が1の場合と同様に、式(26)であらわされる異なるm個の検査式を用意する。以下、m個の検査式を、「検査式#1、検査式#2、・・・、検査式#m」と名付ける。
Next, consider the case where the time-varying period is m. In this case as well, as in the case where the time-varying period is 1, m different inspection formulas represented by the formula (26) are prepared. Hereinafter, m inspection formulas are named “
そして、時点mi+1のパリティPmi+1を「検査式#1」を用いて求め、時点mi+2のパリティPmi+2を「検査式#2」を用いて求め、・・・、時点mi+mのパリティPmi+mを「検査式#m」を用いて求めるLDPC−CCを考える。このとき、図49と同様に考えると、検査行列は図51のようにあらわされる。すると、符号化率1/2の符号から符号化率3/4とする場合、例えば、6ビットのブロックから2ビットをパンクチャする場合について、式(35)と同様に考えると、式(37)から求められる数の検査式(行)について、単独では、信頼度が伝播されない行であるかどうかをチェックする必要がある。
式(37)から分かるように、mの増加に伴い、チェックしなければならない検査式が増加する。そのため、周期的にパンクチャを行うパンクチャ方法は適さず、例えば、ランダムにパンクチャする方法を用いることになるため、受信品質が劣化する可能性がある。 As can be seen from equation (37), as m increases, the number of check equations that must be checked increases. Therefore, a puncturing method that periodically punctures is not suitable, and for example, a method of puncturing at random is used, so that reception quality may be deteriorated.
なお、図52Cに、パンクチャにより、L×kビットからkビットをパンクチャして、符号化率R=2/3,3/4,5/6の符号系列を生成する場合に、チェックしなければならないパリティ検査多項式の数を示す。 Note that in FIG. 52C, when puncturing is performed to generate a code sequence of coding rates R = 2/3, 3/4, and 5/6 by puncturing from L × k bits to k bits, this must be checked. Indicates the number of parity check polynomials that should not be.
現実的に、最良なパンクチャパターンを探索できる時変周期は2から10程度である。特に、最良なパンクチャパターンを探索できる時変周期、および、受信品質の向上を考慮すると、時変周期2は適している。さらに、時変周期が2で、式(26)、式(28)のような検査式を周期的に繰り返した場合、符号・復号器が非常に簡単に構成することができるという利点がある。
In reality, the time-varying period during which the best puncture pattern can be searched is about 2 to 10. In particular, the time-varying
なお、時変周期3、4、5、・・・10の場合には、時変周期が2の場合に比べると、符号・復号器の構成が若干大きくなるももの、時変周期2の場合と同様に、式(26)、式(28)に基づく複数のパリティ検査式を周期的に繰り返す場合には、簡易な構成を採ることができる。
In the case of time-varying
なお、時変周期が極端に長い周期(semi-infinite)であったり、LDPC−BCをもとにLDPC−CCを作成する場合、一般に、時変周期が非常に長くなってしまうため、周期的にパンクチャビットを選択する方式を採用し、最良のパンクチャパターンを探索することは困難である。例えば、ランダムにパンクチャビットを選択する方式の採用が考えられるが、パンクチャ時の受信品質が大きく劣化する可能性がある。 Note that when the time-varying cycle is an extremely long cycle (semi-infinite) or when an LDPC-CC is created based on the LDPC-BC, the time-varying cycle is generally very long. It is difficult to search for the best puncture pattern by adopting a method of selecting puncture bits. For example, it is conceivable to adopt a method of selecting puncture bits at random, but there is a possibility that the reception quality at the time of puncture is greatly degraded.
なお、式(26)、(28)、(30)、(31)において、両辺にDnを乗算して検査多項式を表現することもできる。本実施の形態では、式(26)、(28)、(30)、(31)においてD0X(D)、及び、D0P(D)の項(D0=1)が存在するものとした。 Incidentally, formula (26), (28), (30), it is also possible to express check polynomial by multiplying the D n in, on both sides (31). In the present embodiment, there are D 0 X (D) and D 0 P (D) terms (D 0 = 1) in formulas (26), (28), (30) and (31). It was.
このようにすることで、パリティが逐次的に演算することができるため、符号器の構成が簡易になり、又、組織符号の場合、時点iのデータへの信頼度伝播を考えると、データ及びパリティの双方にD0の項が存在すると、データへの信頼度伝搬を簡単に理解することができるため、符号設計を容易に行うことができる。なお、符号設計の容易性を考慮しないのであれば、式(26)、(28)、(30)、(31)において、D0X(D)が存在する必要はない。 In this way, since the parity can be calculated sequentially, the configuration of the encoder is simplified, and in the case of the systematic code, considering the reliability propagation to the data at the time point i, the data and If there is a term of D 0 in both of the parities, it is possible to easily understand the reliability propagation to the data, so that the code design can be easily performed. If the ease of code design is not taken into consideration, D 0 X (D) does not need to exist in the equations (26), (28), (30), and (31).
図53Aに、時変周期2のLDPC−CCの検査行列の一例を示す。図53Aに示されるように、時変周期2の場合、パリティ検査式5301と、パリティ検査式5302との2つのパリティ検査式が、交互に用いられる。
FIG. 53A shows an example of an LDPC-CC parity check matrix with a time varying period of 2. As shown in FIG. 53A, in the case of time-varying
また、図53Bに、時変周期4のLDPC−CCの検査行列の一例を示す。図53Bに示されるように、時変周期4の場合、パリティ検査式5301と、パリティ検査式5302と、パリティ検査式5303と、パリティ検査式5304との4つのパリティ検査式が、繰り返し用いられる。
FIG. 53B shows an example of an LDPC-CC parity check matrix with a time varying period of 4. As shown in FIG. 53B, in the case of time-varying
以上のように、本実施の形態によれば、パリティ検査多項式(26)と、式(26)と異なるパリティ検査多項式(28)と、から構成される時変周期2の検査行列により、パリティ系列を求めるようにした。なお、時変周期は2に限られず、例えば、図53Bに示すような、時変周期4の検査行列を用いて、パリティ系列を求めるようにしてもよい。ただし、時変周期mが大きすぎると、周期的にパンクチャすることが難しく、例えばランダムにパンクチャすることになるため、受信品質が劣化してしまう。現実的に、最適なパンクチャパターンを探索できる時変周期は、2から10程度である。この場合、受信品質を向上することができるとともに、周期的にパンクチャを行うことができるので、LDPC−CCの符号器を簡単に構成することができる。
As described above, according to the present embodiment, the parity sequence is determined by the parity check matrix (26) and the parity check polynomial (28) different from the equation (26), and the parity check matrix having a time-varying period of 2 is used. I asked for. Note that the time varying period is not limited to 2, and for example, a parity sequence may be obtained using a parity check matrix having a
なお、検査行列Hにおける行重み、つまり、検査行列を構成する行要素のうち、1が立っている要素数が、7〜12であると良好な受信品質が得られることが確認されている。非特許文献8に記載されているように、畳み込み符号において最小距離が優れている符号を考えると、拘束長が大きくなるにつれ、行重みが増える、例えば、拘束長11のフィードバック畳み込み符号では、行重みが14となることを考慮すると、行重みが7〜12とする点は、本提案のLDPC−CC特有の値であると考えることができる。また、符号設計のメリットを考慮した場合、LDPC−CCの検査行列の各行の行重みを等しくすると設計が容易となる。 It has been confirmed that good reception quality can be obtained when the row weight in the parity check matrix H, that is, the number of elements with 1 standing among the row elements constituting the parity check matrix is 7 to 12. As described in Non-Patent Document 8, when a code having an excellent minimum distance in a convolutional code is considered, the row weight increases as the constraint length increases. For example, in a feedback convolutional code having a constraint length of 11, Considering that the weight is 14, the point where the row weight is 7 to 12 can be considered as a value peculiar to the LDPC-CC of the present proposal. Further, when considering the merit of code design, the design is facilitated by making the row weights of the rows of the LDPC-CC parity check matrix equal.
また、以上の説明では、符号化率1/2の場合について説明したが、これに限られず、符号化率1/2以外においても、時変周期mの検査行列を用いてパリティ系列を求めることができ、時変周期2から時変周期10程度の場合、同様の効果を得ることができる。
In the above description, the case of
特に、符号化率R=5/6、7/8以上の場合、本実施の形態で説明した時変周期2または時変周期mのLDPC−CCにおいて、消失ビットを2つ以上含む行のみにより構成されないようなパンクチャパターンを選択する。つまり、消失ビットが0または1つの行が存在するようなパンクチャパターンを選択することは、符号化率R=5/6、7/8以上のように符号化率が高い場合に良好な受信品質を得る上で重要となる。
In particular, when the coding rate R = 5/6, 7/8 or more, in the LDPC-CC having the
上述で説明したLDPC−CCに対し、実施の形態1から実施の形態5において説明した符号化方法または他の実施の形態1において説明した符号化方法を用いることにより、周期的、かつ、規則的なパンクチャを行うことができるようになるので、符号器を簡易に構成することができ、良好な受信品質を得ることができるとともに、なおかつ、終端系列を短くすることができる非常に優れた符号を生成することができる。
By using the encoding method described in
(他の実施の形態3)
本実施の形態では、検査行列の上台形行列に「1」が存在するような検査式を用い、かつ、符号器を簡単に構成することができる時変LDPC−CCについて説明する。以下では、符号化率R=1/2の上記を実現できる時変LDPC−CCの構成方法について説明する。
(Other embodiment 3)
In the present embodiment, a time-varying LDPC-CC that uses a check equation in which “1” exists in the upper trapezoid matrix of the check matrix and can easily configure the encoder will be described. In the following, a configuration method of time-varying LDPC-CC capable of realizing the coding rate R = 1/2 will be described.
符号化率1/2のとき、情報系列(データ)の多項式表現をX(D)、パリティの系列の多項式表現をP(D)とすると、パリティ検査多項式は以下のようにあらわされる。
式(38)において、a1、a2、・・・、anは1以上の整数(ただし、a1≠a2≠・・・≠an)とする。また、b1、b2、・・・、bmは、1以上の整数(ただし、、b1≠b2≠・・・≠bmとする。また、c1、c2、・・・、cqは、−1以下の整数でc1≠c2≠・・・≠cqとする。このとき、P(D)は以下のようにあらわされる。
他の実施の形態2と同様に、パリティPは逐次的に求めることができる。 Similar to the second embodiment, the parity P can be obtained sequentially.
次に、式(38)とは異なる符号化率1/2のパリティ検査多項式として、式(40)および式(41)を考える。
式(40)、式(41)において、A1、A2、・・・、ANは、1以上の整数(ただし、A1≠A2≠・・・≠AN)とする。また、B1、B2、・・・、BMは1以上の整数(ただし、B1≠B2≠・・・≠BM)とする。また、C1、C2、・・・、CQは、−1以下の整数(ただし、C1≠C2≠・・・≠CQ)とする。このとき、P(D)は以下のようにあらわされる。
以下、時点2iのデータXとパリティPをそれぞれX2i、P2iであらわし、時点2i+1のデータXとパリティPをそれぞれX2i+1、P2i+1であらわす(i:整数)。 Hereinafter, data X and parity P at time 2i are represented by X 2i and P 2i , respectively, and data X and parity P at time 2i + 1 are represented by X 2i + 1 and P 2i + 1 , respectively (i: integer).
このとき、時点2iのパリティP2iは式(39)を用いて求め、時点2i+1のパリティP2i+1は式(42)を用いて求める時変周期が2のLDPC−CC、または、時点2iのパリティP2iは式(39)を用いて求め、時点2i+1のパリティP2i+1は式(43)を用いて求める時変周期が2のLDPC−CCを考える。 At this time, the parity P 2i at the time point 2i is obtained by using the equation (39), and the parity P 2i + 1 at the time point 2i + 1 is obtained by using the equation (42). The LDPC-CC having the time varying period of 2 or the parity at the time point 2i Consider an LDPC-CC with a time-varying period of 2 obtained from P 2i using equation (39) and parity P 2i + 1 at time 2i + 1 obtained using equation (43).
このようなLDPC−CC符号は、
・符号器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる。
・周期的にパンクチャビットを設定することができる。
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
Such LDPC-CC codes are:
The encoder can be easily configured, and the parity can be obtained sequentially.
• Puncture bits can be set periodically.
-It has the advantage that it is possible to reduce the number of termination bits and improve the reception quality at the time of puncturing at the termination.
次に、時変周期をmとするLDPC−CCを考える。時変周期2の場合と同様に、式(40)であらわされる「検査式#1」を用意し、式(40)または式(41)のいずれかであらわされる「検査式#2」から「検査式#m」を用意する。時点mi+1のデータXとパリティPをそれぞれXmi+1、Pmi+1とあらわし、時点mi+2のデータXとパリティPをそれぞれXmi+2、Pmi+2とあらわし、・・・時点mi+mのデータXとパリティPを、それぞれXmi+m、Pmi+mとあらわす(i:整数)。
Next, consider LDPC-CC with a time-varying period of m. As in the case of the time-varying
このとき、時点mi+1のパリティPmi+1を「検査式#1」を用いて求め、時点mi+2のパリティPmi+2を「検査式#2」を用いて求め、・・・、時点mi+mのパリティPmi+mを「検査式#m」を用いて求めるLDPC−CCを考える。このようなLDPC−CC符号は、
・符号器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる。
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
At this time, the parity P mi + 1 at the time point mi + 1 is obtained using the “
The encoder can be easily configured, and the parity can be obtained sequentially.
-It has the advantage that it is possible to reduce the number of termination bits and improve the reception quality at the time of puncturing at the termination.
以上のように、本実施の形態によれば、パリティ検査多項式(38)と、式(38)と異なるパリティ検査多項式(40)と、からなる時変周期2の検査行列により、パリティ系列を求めるようにした。 As described above, according to the present embodiment, a parity sequence is obtained using a parity check matrix (38) and a parity check polynomial (40) different from equation (38), and a parity check matrix having a time-varying period of 2. I did it.
このように、検査行列の上台形行列に「1」が存在するような検査式を用いる場合において、時変LDPC−CCの符号器を簡単に構成することができる。なお、時変周期は2に限られない。ただし、周期的にパンクチャを行う方法を採る場合、現実的に、最良なパンクチャパターンを探索できる時変周期は2から10程度である。 Thus, when using a check equation in which “1” is present in the upper trapezoidal matrix of the check matrix, a time-varying LDPC-CC encoder can be easily configured. The time varying period is not limited to 2. However, when the method of periodically puncturing is employed, the time-varying period in which the best puncture pattern can be actually searched is about 2 to 10.
なお、時変周期3、4、5、・・・10の場合には、時変周期が2の場合に比べると、符号・復号器の構成が若干大きくなるももの、時変周期2の場合と同様に、式(40)、式(41)の検査式を周期的に繰り返す場合には、簡易な構成を採ることができる。
In the case of time-varying
なお、式(38)、(40)、(41)において、両辺にDnを乗算して検査多項式を表現することもできる。本実施の形態では、式(38)、(40)、(41)においてD0X(D)および、D0P(D)の項(D0=1)が存在するものとするとした。 Incidentally, formula (38), (40), it is also possible to express check polynomial by multiplying the D n in, on both sides (41). In the present embodiment, it is assumed that D 0 X (D) and D 0 P (D) terms (D 0 = 1) exist in formulas (38), (40), and (41).
このようにすることで、パリティが逐次的に演算することができるため、符号器の構成が簡易になり、又、組織符号の場合、時点iのデータへの信頼度伝播を考えると、データ及びパリティの双方にD0の項が存在すると、符号設計を容易に行うことができる。なお、符号設計の容易性を考慮しないのであれば、式(38)、(40)、(41)において、D0X(D)が存在する必要はない。 In this way, since the parity can be calculated sequentially, the configuration of the encoder is simplified, and in the case of the systematic code, considering the reliability propagation to the data at the time point i, the data and If a term of D 0 exists in both of the parities, code design can be easily performed. If the ease of code design is not taken into consideration, D 0 X (D) does not need to exist in the equations (38), (40), and (41).
また、検査行列Hにおける行重み、つまり、検査行列を構成する行要素のうち、1が立っている要素数が、7〜12とすると良好な受信品質が得られることが確認されている。非特許文献8に記載されているように、畳み込み符号において最小距離が優れている符号を考えると、拘束長が大きくなるにつれ、行重みが増える、例えば、拘束長11のフィードバック畳み込み符号では、行重みが14となることを考慮すると、行重みが7〜12とする点は、本提案のLDPC−CC特有の値であると考えることができる。また、符号設計のメリットを考慮した場合、LDPC−CCの検査行列の各行の行重みを等しくすると設計が容易となる。 In addition, it has been confirmed that good reception quality can be obtained when the row weight in the parity check matrix H, that is, the number of elements with 1 standing among the row elements constituting the parity check matrix is 7-12. As described in Non-Patent Document 8, when a code having an excellent minimum distance in a convolutional code is considered, the row weight increases as the constraint length increases. For example, in a feedback convolutional code having a constraint length of 11, Considering that the weight is 14, the point where the row weight is 7 to 12 can be considered as a value peculiar to the LDPC-CC of the present proposal. Further, when considering the merit of code design, the design is facilitated by making the row weights of the rows of the LDPC-CC parity check matrix equal.
上述で説明したLDPC−CCに対し、実施の形態1から実施の形態5において説明した符号化方法または他の実施の形態1において説明した符号化方法を用いることにより、周期的、かつ、規則的なパンクチャを行うことができるようになるので、符号器を簡易に構成することができ、良好な受信品質を得ることができるとともに、なおかつ、終端系列を短くすることができる非常に優れた符号を生成することができる。
By using the encoding method described in
なお、本発明は上記すべての実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、無線通信装置として行う場合について説明しているが、これに限られるものではなく、電灯線通信装置で実現する場合においても適用可能である。 The present invention is not limited to all the above embodiments, and can be implemented with various modifications. For example, in the above-described embodiment, the case of performing as a wireless communication device has been described. However, the present invention is not limited to this, and the present invention can also be applied to a case where it is realized by a power line communication device.
また、この通信方法をソフトウェアとして行うことも可能である。例えば、上記通信方法を実行するプログラムを予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(Central Processor Unit)によって動作させるようにしても良い。 It is also possible to perform this communication method as software. For example, a program for executing the communication method may be stored in advance in a ROM (Read Only Memory), and the program may be operated by a CPU (Central Processor Unit).
また、上記通信方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのRAM(Random Access Memory)に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。 Further, a program for executing the communication method is stored in a computer-readable storage medium, the program stored in the storage medium is recorded in a RAM (Random Access Memory) of the computer, and the computer is operated according to the program. You may do it.
また、本発明は、無線通信に限らず、電灯線通信(PLC:Power Line Communication)、可視光通信、光通信においても有用であることは言うまでもない。 Needless to say, the present invention is useful not only in wireless communication but also in power line communication (PLC), visible light communication, and optical communication.
本発明にかかる符号器、復号器、符号化方法、及び、復号方法は、簡易な構成でLDPC−CC符号化の終端系列を提供し、伝送路に送信する終端系列の量を削減することができ、LDPC−CCを用いて誤り訂正符号化/復号を行う符号器、復号器、符号化方法、及び、復号方法として有用である。 An encoder, a decoder, an encoding method, and a decoding method according to the present invention provide a termination sequence for LDPC-CC encoding with a simple configuration, and reduce the amount of termination sequence transmitted to a transmission line. It is useful as an encoder, decoder, encoding method, and decoding method for performing error correction encoding / decoding using LDPC-CC.
200,400,600,600A,700,800 LDPC−CC符号器
210 終端系列生成部
220,220A 終端系列連接部
230,420,420A,610 第1符号器
240,240A,240B,430,620−1,620−2,620A 第2符号器
250,630 符号語連接部
260,410 入力系列選択部
710 切り替え器
720 符号語選択部
900 LDPC−CC復号器
200, 400, 600, 600A, 700, 800 LDPC-
Claims (8)
前記情報系列、前記情報符号系列、前記終端符号系列を連接した符号語を出力する連接部と、
を含み、
前記終端系列は、前記符号語の送信先である復号器においても既知の系列である、
符号器。 For an information sequence and a terminal sequence of (M × b) bits or less, a coding rate R = b / c according to a low-density parity check convolutional code (LDPC-CC) parity check matrix. An information code sequence obtained by performing convolutional coding of memory length M and coding the information sequence, and a termination code sequence obtained by coding the termination sequence of (M × b) bits or less , And an encoding unit that outputs
A concatenation unit that outputs a codeword obtained by concatenating the information sequence, the information code sequence, and the terminal code sequence;
Including
The termination sequence is a sequence that is also known in the decoder that is the transmission destination of the codeword.
Encoder.
請求項1に記載の符号器。The encoder according to claim 1.
前記情報系列、前記情報符号系列、前記終端符号系列を連接した符号語を出力する連接部と、A concatenation unit that outputs a codeword obtained by concatenating the information sequence, the information code sequence, and the terminal code sequence;
前記符号語を送信する送信部と、A transmission unit for transmitting the codeword;
を含み、Including
前記終端系列は、前記符号語の送信先である受信装置においても既知の系列である、The termination sequence is a sequence that is also known in the receiving device that is the transmission destination of the codeword.
送信装置。Transmitter device.
通信相手である符号器においても既知の系列である終端系列を、入力された符号語に連接し、
前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を入力系列とし、前記入力系列に対しBP(Belief Propagation)復号を行い、BP復号により得られた推定情報系列を出力する、
復号器。 A decoder that performs convolutional decoding with a coding rate R = b / c and a memory length M according to a parity check matrix of a low-density parity check convolutional code (LDPC-CC),
In the encoder that is the communication partner, a termination sequence that is a known sequence is concatenated to the input codeword,
Each of the termination sequence, the information sequence included in the input codeword, the information code sequence obtained by encoding the information sequence, and the termination code sequence obtained by encoding the termination sequence An estimated value is used as an input sequence, BP (Belief Propagation) decoding is performed on the input sequence, and an estimated information sequence obtained by BP decoding is output .
Decoder.
請求項4に記載の復号器。The decoder according to claim 4.
通信相手である送信装置においても既知の系列である終端系列を、前記入力された符号語に連接する連接部と、In a transmission device that is a communication partner, a termination sequence that is a known sequence, a concatenation unit that concatenates the input codeword,
前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を生成する推定値生成部と、Each of the termination sequence, the information sequence included in the input codeword, the information code sequence obtained by encoding the information sequence, and the termination code sequence obtained by encoding the termination sequence An estimated value generator for generating an estimated value;
前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値に対して、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Code)の検査行列に従って、符号化率R=b/c、メモリ長Mの畳み込み復号であるBP(Belief Propagation)復号を行い、BP復号により得られた推定情報系列を出力する復号部と、Each of the termination sequence, the information sequence included in the input codeword, the information code sequence obtained by encoding the information sequence, and the termination code sequence obtained by encoding the termination sequence For the estimated value, BP (convolutional decoding BP (coding rate R = b / c) and memory length M) according to a low-density parity-check convolutional code (LDPC-CC) check matrix. A decoding unit which performs decoding and outputs an estimated information sequence obtained by BP decoding;
を含む受信装置。Including a receiving device.
前記情報系列と、前記情報系列に対し符号化して得られた情報符号系列と、前記終端系列に対し符号化して得られた終端符号系列と、を連接した符号語を出力するステップと、
を含み、
前記終端系列は、前記符号語の通信相手である復号器においても既知の系列である、
符号化方法。 For an information sequence and a terminal sequence of (M × b) bits or less, a coding rate R = b / c according to a low-density parity check convolutional code (LDPC-CC) parity check matrix. Performing convolutional encoding with a memory length of M, setting the information sequence and a termination sequence of (M × b) bits or less as an input sequence, and encoding the input sequence based on the parity check matrix;
Outputting a codeword concatenating the information sequence, an information code sequence obtained by encoding the information sequence, and a termination code sequence obtained by encoding the termination sequence;
Including
The termination sequence is a sequence that is also known in the decoder that is the communication partner of the codeword.
Encoding method.
通信相手である符号器においても既知の系列である終端系列を、入力された符号語に連接するステップと、
前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を入力系列とし、前記入力系列に対しBP(Belief Propagation)復号を行うステップと、
BP復号により得られた推定情報系列を出力するステップと、
を有する復号方法。
A decoding method for performing convolutional decoding with a coding rate R = b / c and a memory length M according to a parity check matrix of a low-density parity-check convolutional code (LDPC-CC),
A step of concatenating a terminal sequence which is a known sequence in the encoder which is a communication partner to the input codeword;
Each of the termination sequence, the information sequence included in the input codeword, the information code sequence obtained by encoding the information sequence, and the termination code sequence obtained by encoding the termination sequence Using an estimated value as an input sequence, and performing BP (Belief Propagation) decoding on the input sequence;
Outputting an estimated information sequence obtained by BP decoding;
A decryption method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013026585A JP5490931B2 (en) | 2007-12-19 | 2013-02-14 | Encoder, decoder, encoding method, and decoding method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007327642 | 2007-12-19 | ||
JP2007327642 | 2007-12-19 | ||
JP2013026585A JP5490931B2 (en) | 2007-12-19 | 2013-02-14 | Encoder, decoder, encoding method, and decoding method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008000843A Division JP5203717B2 (en) | 2007-12-19 | 2008-01-07 | Encoder, decoder, encoding method, and decoding method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014035834A Division JP2014099934A (en) | 2007-12-19 | 2014-02-26 | Encoder, transmission device and encoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013085311A JP2013085311A (en) | 2013-05-09 |
JP5490931B2 true JP5490931B2 (en) | 2014-05-14 |
Family
ID=40971709
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013026585A Active JP5490931B2 (en) | 2007-12-19 | 2013-02-14 | Encoder, decoder, encoding method, and decoding method |
JP2014035834A Pending JP2014099934A (en) | 2007-12-19 | 2014-02-26 | Encoder, transmission device and encoding method |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014035834A Pending JP2014099934A (en) | 2007-12-19 | 2014-02-26 | Encoder, transmission device and encoding method |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP5490931B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014099934A (en) * | 2007-12-19 | 2014-05-29 | Panasonic Corp | Encoder, transmission device and encoding method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5490931B2 (en) * | 2007-12-19 | 2014-05-14 | パナソニック株式会社 | Encoder, decoder, encoding method, and decoding method |
JP5203717B2 (en) * | 2007-12-19 | 2013-06-05 | パナソニック株式会社 | Encoder, decoder, encoding method, and decoding method |
-
2013
- 2013-02-14 JP JP2013026585A patent/JP5490931B2/en active Active
-
2014
- 2014-02-26 JP JP2014035834A patent/JP2014099934A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014099934A (en) * | 2007-12-19 | 2014-05-29 | Panasonic Corp | Encoder, transmission device and encoding method |
Also Published As
Publication number | Publication date |
---|---|
JP2014099934A (en) | 2014-05-29 |
JP2013085311A (en) | 2013-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5203717B2 (en) | Encoder, decoder, encoding method, and decoding method | |
JP6609352B2 (en) | Transmission device, transmission method, reception device, and reception method | |
JP5354979B2 (en) | Low density parity check convolutional code (LDPC-CC) encoder and LDPC-CC decoder | |
KR20110037940A (en) | Encoder, decoder, and encoding method | |
JP5789014B2 (en) | Encoding method, encoder, decoder | |
JP5437465B2 (en) | Receiver | |
JP2009201084A (en) | Coder and transmission apparatus | |
JP5490931B2 (en) | Encoder, decoder, encoding method, and decoding method | |
KR101268061B1 (en) | Encoing and decoding method using multiple state accumulate code | |
KR101218658B1 (en) | Encoing and decoding method using irregular repeat multiple state accumulate code | |
JP2009177649A (en) | Encoding method, encoder, and decoder | |
KR20130037523A (en) | Method and apparatus for encoing using state-check code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130311 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130311 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140226 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5490931 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |