JP2011109228A - Decoding device and method - Google Patents

Decoding device and method Download PDF

Info

Publication number
JP2011109228A
JP2011109228A JP2009259784A JP2009259784A JP2011109228A JP 2011109228 A JP2011109228 A JP 2011109228A JP 2009259784 A JP2009259784 A JP 2009259784A JP 2009259784 A JP2009259784 A JP 2009259784A JP 2011109228 A JP2011109228 A JP 2011109228A
Authority
JP
Japan
Prior art keywords
row
llr
column
calculation
parity check
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.)
Granted
Application number
JP2009259784A
Other languages
Japanese (ja)
Other versions
JP5523064B2 (en
Inventor
Kenya Sugihara
堅也 杉原
Yoshikuni Miyata
好邦 宮田
Hideo Yoshida
英夫 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009259784A priority Critical patent/JP5523064B2/en
Publication of JP2011109228A publication Critical patent/JP2011109228A/en
Application granted granted Critical
Publication of JP5523064B2 publication Critical patent/JP5523064B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To obtain a decoding device and a method for preventing an increase in circuit scale due to an increase in column weight of a parity check matrix, as well as a decrease in error correction capability due to padding or puncture. <P>SOLUTION: An LDPC code decoding device includes: a reception LLR operation unit 520 which computes a reception LLR from a reception signal; a row operation unit 530 which performs row operation for each of a plurality of rows generated by dividing rows of the parity check matrix, by dividing a row operation into a plurality of operations, in the row operation to compute a row LLR from the reception LLR or a column LLR; a column operation unit 540 which computes a column LLR and an estimated bit string from the row LLR; and a repeated operation end determination circuit 550 which alternately repeats the row operation unit and the column operation unit, and ends the repeat when the repeat count reaches a predetermined value or the estimated bit string becomes a code word. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

この発明は、符号長が等しく符号化率が異なる複数の低密度パリティ検査符号(Low-Density Parity-Check code;以下、LDPC符号と称す)を切り替え可能な復号装置及び方法に関するものである。   The present invention relates to a decoding apparatus and method capable of switching a plurality of low-density parity check codes (hereinafter referred to as LDPC codes) having the same code length and different coding rates.

誤り訂正符号の符号長をn、情報系列長をkとすると、符号化率はk/nで表される値である。符号化率が大きいと通信効率が高く誤り訂正能力が低く、逆に符号化率が小さいと通信効率が低く誤り訂正能力が高い。つまり、誤り訂正符号を用いる通信システムに応じて、符号化率を適切な値に設定するのが重要である。また、一部の通信システムにおいては、異なる符号化率の誤り訂正符号を通信装置に備え、通信路の状況などに応じてそれらを切り替えることで、適切な値の符号化率の誤り訂正符号を用いるようにしている。   When the code length of the error correction code is n and the information sequence length is k, the coding rate is a value represented by k / n. If the coding rate is large, the communication efficiency is high and the error correction capability is low. Conversely, if the coding rate is small, the communication efficiency is low and the error correction capability is high. That is, it is important to set the coding rate to an appropriate value according to the communication system using the error correction code. In some communication systems, error correction codes with different coding rates are provided in communication devices, and error correction codes with appropriate coding rates can be obtained by switching them according to the conditions of the communication channel. I use it.

LDPC符号は、1の要素が疎(全要素数に対して少ない割合で存在)であるパリティ検査行列で定義される誤り訂正符号である。パリティ検査行列の列数nが符号長に対応し、行数mが検査ビット(パリティビット)数に対応する。パリティ検査行列の列に含まれる1の数をその列の列重みと呼び、全ての列に対する列重みの分布を列重み分布と呼ぶ。列重み分布はLDPC符号の誤り訂正能力に大きく影響するが、最適な列重み分布は密度発展法などにより計算できる。なお、同様に、行に含まれる1の数を行重みと呼ぶ。また、パリティ検査行列をタナーグラフとよばれる2部グラフによって表現したとき、タナーグラフに含まれる最短ループの長さ(girth)が大きいほど、LDPC符号の誤り訂正能力は高い。   The LDPC code is an error correction code defined by a parity check matrix in which one element is sparse (exists at a small ratio with respect to the total number of elements). The number of columns n of the parity check matrix corresponds to the code length, and the number of rows m corresponds to the number of check bits (parity bits). The number of 1s included in a column of the parity check matrix is called the column weight of the column, and the column weight distribution for all the columns is called the column weight distribution. Although the column weight distribution greatly affects the error correction capability of the LDPC code, the optimum column weight distribution can be calculated by a density evolution method or the like. Similarly, the number of 1 included in a row is called a row weight. Further, when the parity check matrix is expressed by a bipartite graph called a Tanner graph, the error correction capability of the LDPC code is higher as the length (girth) of the shortest loop included in the Tanner graph is larger.

LDPC符号を用いて符号化率が可変な通信装置を構成する場合、可変する符号化率それぞれに対してパリティ検査行列が必要となる。LDPC符号では、符号化率が異なるとパリティ検査行列も異なるものにしなければならず、また、符号化演算や復号演算はパリティ検査行列に依存する。つまり、複数の符号化率のLDPC符号を1つの通信装置に搭載する場合、搭載する符号化率の数だけ異なる符号化器や復号器を用意する必要がある。   When a communication apparatus with a variable coding rate is configured using an LDPC code, a parity check matrix is required for each variable coding rate. In the LDPC code, the parity check matrix must be different when the coding rate is different, and the encoding operation and the decoding operation depend on the parity check matrix. That is, when LDPC codes having a plurality of coding rates are mounted on one communication apparatus, it is necessary to prepare encoders and decoders that differ by the number of mounted coding rates.

前記の問題を解決する方法として、Rate-Compatible LDPC符号(以下、RC−LDPC符号と称す)の開発が行われている(例えば特許文献1参照)。RC−LDPC符号では、可変を行う符号化率のうち、符号化率のより小さいLDPC符号のパリティ検査行列が、符号化率のより大きいLDPC符号のパリティ検査行列の部分行列となるように構成されている。つまり、可変を行う異なる符号化率の間でパリティ検査行列が共通部分をもち、復号装置が効率的に構成可能となる。しかし、可変する符号化率の全てで列重み分布を最適値に近い値とし、かつタナーグラフの最短ループ長が大きくなるようにRC−LDPC符号を構成するのは困難であり、また、符号化率が大きいほど列重みが大きくなるため、高符号化率における復号演算の演算量が大きいことが問題であった。さらに、効率的な符号化器を構成するために、符号化率が大きいほどLDPC符号の符号長が長くなるように設計する必要があり、異なる符号化率間で符号長を一定にできないという問題があった。   As a method for solving the above problem, a rate-compatible LDPC code (hereinafter referred to as RC-LDPC code) has been developed (see, for example, Patent Document 1). In the RC-LDPC code, the parity check matrix of the LDPC code having a smaller coding rate among the coding rates to be varied is configured to be a partial matrix of the parity check matrix of the LDPC code having a larger coding rate. ing. That is, the parity check matrix has a common part between different coding rates that are variable, and the decoding apparatus can be efficiently configured. However, it is difficult to configure the RC-LDPC code so that the column weight distribution is close to the optimum value at all variable coding rates and the shortest loop length of the Tanner graph is increased. Since the column weight increases as the rate increases, the problem is that the amount of decoding operation at a high coding rate is large. Furthermore, in order to configure an efficient encoder, it is necessary to design the code length of the LDPC code to be longer as the coding rate is larger, and the code length cannot be made constant between different coding rates. was there.

符号化率を可変する方法として、他にもパディングおよびパンクチャという手法がある。パディングでは、送信時に情報ビットの一部をある決まった値(例えば0)に固定して符号化し、その情報ビットを既知の値として受信側では復号を行う。情報系列長のみを小さくでき、符号化率を小さくすることができる。また、パンクチャは、送信時にパリティビットの一部を送信しないことでパリティビット長を小さくする技術であり、受信側では送信されなかったパリティビットを全く未知のビットとして扱い復号を行う。パンクチャではパリティビット長のみが小さくなるため、符号率は大きくなる。通信システムには、これらの手法を適用するかしないかの切り替え機能を搭載することで比較的小さな回路規模の増加で可変符号化率を実現できる。しかし、これらの手法で構成されたLDPC符号は、同じ符号化率のLDPC符号と比べて誤り訂正能力が小さい。また、手法の性質上、符号化率によって異なる符号長となってしまう。   Other methods for changing the coding rate include padding and puncturing. In the padding, a part of information bits is fixed to a predetermined value (for example, 0) and encoded at the time of transmission, and the information side is decoded as a known value on the receiving side. Only the information sequence length can be reduced, and the coding rate can be reduced. Puncturing is a technique for reducing the parity bit length by not transmitting a part of the parity bits at the time of transmission, and the parity bit that has not been transmitted on the receiving side is treated as an unknown bit and decoded. Since only the parity bit length is reduced in puncturing, the code rate is increased. In the communication system, a variable coding rate can be realized with a relatively small increase in circuit scale by installing a switching function for applying or not applying these methods. However, LDPC codes configured by these methods have a smaller error correction capability than LDPC codes having the same coding rate. In addition, due to the nature of the method, the code length varies depending on the coding rate.

前記のRC−LDPC符号に対し、パディングやパンクチャを適用することで符号長が一定である可変符号化率のLDPC符号を構成することは可能であるが、前記で述べたようにRC−LDPC符号自体の演算量の大きさと、パディングやパンクチャによる誤り訂正能力の低下が問題であった。   By applying padding or puncture to the RC-LDPC code, it is possible to configure a variable coding rate LDPC code having a constant code length. However, as described above, the RC-LDPC code The problem was the large amount of computation itself and a decrease in error correction capability due to padding and puncturing.

次に、LDPC符号の復号法について説明する。広く用いられているメッセージパッシング型の復号法は列演算および行演算と呼ばれる2つの演算から構成されており、これらの演算を交互に繰り返すことで推定ビットを算出する。このような復号法のうちで代表的なのがSum-product復号法であるが、行演算の演算量が大きい。そのため、行演算を簡略化した復号法が提案されており、例えばMin-sum復号法がある。   Next, an LDPC code decoding method will be described. A widely used message passing decoding method is composed of two operations called a column operation and a row operation, and an estimated bit is calculated by alternately repeating these operations. Among such decoding methods, the representative is the Sum-product decoding method, but the calculation amount of row calculation is large. Therefore, a decoding method that simplifies the row operation has been proposed, for example, a Min-sum decoding method.

前記で説明した復号法の列演算および行演算は、それぞれパリティ検査行列の列と行に対応した演算である。行演算は、各ビットの信頼度を表す受信対数尤度比(Log-Likelihood Ratio;以下、LLRと称す。)を入力として行LLRを出力する。列演算は、行LLRを入力として列LLRを出力する。なお、前記の通り列演算と行演算は交互に繰り返すが、繰り返しの2回目以降の行演算では、列演算が出力した列LLRを入力として行LLRを出力する。   The column operation and row operation of the decoding method described above are operations corresponding to the columns and rows of the parity check matrix, respectively. The row operation outputs a row LLR with a received log-likelihood ratio (Log-Likelihood Ratio; hereinafter referred to as LLR) representing the reliability of each bit as an input. The column operation receives a row LLR and outputs a column LLR. As described above, the column operation and the row operation are alternately repeated. However, in the second and subsequent row operations, the column LLR output by the column operation is input and the row LLR is output.

次に、Sum-product復号法の行演算について詳しく説明する。まず、パリティ検査行列のr行目において、行列要素が1である列番号の集合をN(r)とおく。下に示す式(1)はr行目に対応する行演算であり、行LLR(繰り返し一回目は受信LLR)Zr,cから列LLRεr,cを算出することを表している。ただし、式(1)において、cはN(r)が含む列番号を表し、N(r)\{c}はN(r)からcを除いた集合である。なお、行演算では、各cに対してεr,cを算出する必要があり、N(r)の要素数、つまりr行目の行重みの数だけ列LLRεr,cを算出することになる。 Next, the row operation of the Sum-product decoding method will be described in detail. First, in the r-th row of the parity check matrix, a set of column numbers having a matrix element of 1 is set as N (r). Expression (1) shown below is a row operation corresponding to the r-th row, and represents that the column LLRε r, c is calculated from the row LLR (repeated first reception LLR) Z r, c . In equation (1), c represents a column number included in N (r), and N (r) \ {c} is a set obtained by removing c from N (r). In the row arithmetic operation, it is necessary to calculate the epsilon r, c for each c, the number of elements N (r), ie column LLRipushiron r the number of row degree of r-th row, to calculate the c Become.

Figure 2011109228
Figure 2011109228

なお、式(1)の演算記号や関数の定義は以下の通りである。   In addition, the definition of the operation symbol and function of Formula (1) is as follows.

Figure 2011109228
Figure 2011109228

国際公開第07/088870号公報International Publication No. 07/088870

従来手法による、符号長が等しく符号化率が異なる複数のLDPC符号を切り替え可能な復号装置は、パリティ検査行列の列重み増大による回路規模増加と、パディングやパンクチャによる誤り訂正能力の低下が問題であった。   A conventional decoding device that can switch between a plurality of LDPC codes having the same code length and different coding rates has a problem of an increase in circuit scale due to an increase in the column weight of the parity check matrix and a decrease in error correction capability due to padding and puncturing. there were.

この発明では、上述した点に鑑みてなされたもので、パリティ検査行列の列重み増大による回路規模増加と、パディングやパンクチャによる誤り訂正能力の低下が発生しない復号装置及び方法を得ることを目的とする。   The present invention has been made in view of the above points, and an object thereof is to obtain a decoding apparatus and method in which an increase in circuit scale due to an increase in column weight of a parity check matrix and a reduction in error correction capability due to padding or puncturing do not occur. To do.

この発明に係る復号装置及び方法は、LDPC符号の復号装置及び方法であって、受信信号から受信LLRを算出する受信LLR算出手段(工程)と、前記受信LLRまたは列LLRから行LLRを算出する行演算の際に、行演算を複数の演算に分割することで、パリティ検査行列の行を行分割することによって生じた複数の行それぞれに対する行演算を行う(またはパリティ検査行列の複数の行を行結合することによって生じた行に対する行演算を、行結合前の行に対する複数の行演算を組み合わせることで行う)行演算手段(工程)と、前記行LLRから列LLRおよび推定ビット列を算出する列演算手段(工程)と、前記行演算手段と前記列演算手段とを交互に繰り返し、規定の回数に達した場合もしくは推定ビット列が符号語となった場合に繰り返しを終了する繰り返し演算終了判定手段(工程)とを備えたものである。   The decoding apparatus and method according to the present invention are an LDPC code decoding apparatus and method, and a reception LLR calculation means (step) for calculating a reception LLR from a reception signal, and a row LLR from the reception LLR or column LLR. In the row operation, by dividing the row operation into a plurality of operations, the row operation is performed for each of the plurality of rows generated by dividing the row of the parity check matrix (or the plurality of rows of the parity check matrix are A row operation means (step) for performing a row operation on a row generated by row joining by combining a plurality of row operations on the row before row joining, and a column for calculating a column LLR and an estimated bit string from the row LLR The calculation means (step), the row calculation means and the column calculation means are alternately repeated, and when the prescribed number of times is reached or the estimated bit string becomes a code word Repeat is that a termination repeatedly calculating termination determining means (step) to the case.

この発明によれば、パリティ検査行列に行分割または行結合を行うことで、列重みを増大させずに、符号長が等しく符号化率が異なる複数のLDPC符号を生成することができ、行分割後または行結合後の行に対応する行演算結果を用いて行分割前または行結合前の行に対応の行演算を行うことができ、小さな回路規模で前記LDPC符号それぞれの復号を切り替えて行うことが可能であり、さらに、パディングやパンクチャを行わないため、パディングやパンクチャによる誤り訂正能力の低下が発生しない。   According to the present invention, by performing row division or row combination on the parity check matrix, it is possible to generate a plurality of LDPC codes having the same code length and different coding rates without increasing the column weight, A row operation corresponding to a row before row division or a row before row combination can be performed using a row operation result corresponding to a row after or after row combination, and decoding of each LDPC code is performed with a small circuit scale. In addition, since padding and puncturing are not performed, there is no reduction in error correction capability due to padding or puncturing.

この発明の実施の形態1に係るもので、パリティ検査行列の行分割を説明する図である。It is based on Embodiment 1 of this invention, and is a figure explaining the row division | segmentation of a parity check matrix. この発明の実施の形態1で行う行分割操作の前後におけるパリティ検査行列の変化を示す図である。It is a figure which shows the change of the parity check matrix before and behind the row division operation performed in Embodiment 1 of this invention. この発明の実施の形態1に適用が可能な通信システムの一例を示す構成図である。It is a block diagram which shows an example of the communication system which can be applied to Embodiment 1 of this invention. 図3に示す復号器500の内部構成を示すブロック図である。FIG. 4 is a block diagram showing an internal configuration of a decoder 500 shown in FIG. 3. 図4に示す行演算器530の内部構成を示すブロック図である。FIG. 5 is a block diagram showing an internal configuration of a row calculator 530 shown in FIG. 4. 図5に示す行演算部a531の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the row calculating part a531 shown in FIG. 図5に示す行演算部b532の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the row calculating part b532 shown in FIG. この発明の実施の形態2に係るもので、図5に示す行演算部a531がMin-sum復号法の行演算部a531でなる場合の内部構成を示すブロック図である。FIG. 10 is a block diagram illustrating an internal configuration in a case where the row operation unit a531 illustrated in FIG. 5 is a row operation unit a531 of the Min-sum decoding method according to the second embodiment of the present invention.

実施の形態1.
この発明では、誤り訂正符号としてLDPC符号を扱う。また、パリティ検査行列は要素が0と1からなるm×n行列とする。本実施の形態1では、行分割という操作により、列数を変化させずにパリティ検査行列の行数を変化させる。つまり、符号長を一定としたままパリティビット数を変化させることで、LDPC符号の符号化率の可変を行う。
Embodiment 1 FIG.
In the present invention, an LDPC code is handled as an error correction code. The parity check matrix is an m × n matrix having elements 0 and 1. In the first embodiment, the number of rows of the parity check matrix is changed without changing the number of columns by an operation called row division. That is, the coding rate of the LDPC code is varied by changing the number of parity bits while keeping the code length constant.

行分割操作は、図1に示すように、パリティ検査行列の1つの行が含む1を新たな2つ以上の行に分割して配置し、行数を増加する手法である。元となるパリティ検査行列を1つ用意し、行分割を行うか行わないか切り替えることによって符号化率の可変が可能となる。また、2種類より多くの符号化率を可変とする場合には、複数通りの行分割を行い、それぞれの行分割において増加する行数が異なるようにし、それらの行分割のうちどれを用いるか切り替えれば符号化率を可変とすることが可能である。   As shown in FIG. 1, the row division operation is a method of increasing the number of rows by dividing and arranging 1 included in one row of the parity check matrix into two or more new rows. The coding rate can be varied by preparing one original parity check matrix and switching whether to perform row division. When more than two types of coding rates are variable, a plurality of line divisions are performed, the number of lines increased in each line division is different, and which of these line divisions is used. By switching, the coding rate can be made variable.

行分割の特徴は、行分割の前後において符号長が同一であること、各列の列重みが同一であること、パリティ検査行列のタナーグラフの最短ループ長が減少しないことであり、特に後者2つの特徴は、行分割を行っても誤り訂正能力が高いことを示している。   The characteristics of the row division are that the code length is the same before and after the row division, the column weight of each column is the same, and the shortest loop length of the Tanner graph of the parity check matrix is not reduced. One characteristic shows that error correction capability is high even if line division is performed.

図2では、本実施の形態1で行う行分割操作の前後におけるパリティ検査行列の変化を図示する。図2の下に示すパリティ検査行列H2は、パリティ検査行列H1に行分割を施すことによってr行が増加した(m+r)×n行列である。図2で示すように、行分割の前後で符号長は同一であり、各列の列重みも同一となる。なお、本実施の形態1において、1つの行を必ず2つの行に分割しなければならないといった制限はなく、1つの行は何行に分割しても良い。そのため、行分割を適用する行数だけでなく、それぞれの行分割において1行を何行に分割するかによっても、増加させたい行数r(増加させたいパリティビット数)を設定可能である。なお、図2では、パリティ検査行列の列のうちパリティビットに対応する列を最も右側のm列もしくはm+r列としたが、これは一例であり、H1とH2とで共通するパリティビットの対応列が同じであれば、どの列にパリティビットを対応させたとしても本実施の形態1の構成は可能である。   FIG. 2 illustrates changes in the parity check matrix before and after the row division operation performed in the first embodiment. A parity check matrix H2 shown in the lower part of FIG. 2 is an (m + r) × n matrix in which r rows are increased by performing row division on the parity check matrix H1. As shown in FIG. 2, the code length is the same before and after the row division, and the column weights of the columns are also the same. In Embodiment 1, there is no restriction that one line must be divided into two lines, and one line may be divided into any number of lines. Therefore, not only the number of rows to which row division is applied, but also the number of rows r (number of parity bits to be increased) can be set depending on how many rows are divided in each row division. In FIG. 2, the column corresponding to the parity bit among the columns of the parity check matrix is the rightmost m column or m + r column, but this is an example, and the corresponding column of the parity bit common to H1 and H2 Are the same, the configuration of the first embodiment is possible no matter which column the parity bit is associated with.

この発明では、予めパリティ検査行列を用意し、どのように行分割を行うかを決定してから、符号化率の可変が可能な、LDPC符号の復号装置を構成する。   In the present invention, a parity check matrix is prepared in advance, and it is determined how to perform row division, and then an LDPC code decoding apparatus capable of changing the coding rate is configured.

図3は、この発明の適用が可能な通信システムの構成図の一例である。送信側の装置は、送信ビット列から誤り訂正符号の符号語を生成する符号化器100と、符号語を元に変調信号を生成する変調器200とで構成される。送信された信号は通信路300を介して受信される。受信側の装置は、受信した信号の復調を行う復調器400と、復調された信号を元に誤り訂正符号の復号を行う復号器500とから構成される。   FIG. 3 is an example of a configuration diagram of a communication system to which the present invention can be applied. The transmission-side apparatus includes an encoder 100 that generates a codeword of an error correction code from a transmission bit string, and a modulator 200 that generates a modulation signal based on the codeword. The transmitted signal is received via the communication path 300. The apparatus on the receiving side includes a demodulator 400 that demodulates a received signal, and a decoder 500 that decodes an error correction code based on the demodulated signal.

図3において、符号化器100は、送信ビット列を元にしてパリティビットを生成して符号化を行い、符号語を算出する。変調器200は、符号語に基づいて変調を行い、通信方式により電波や光もしくは電気信号による変調信号を生成し、送信する。送信された信号は、通信路300を通る際に雑音が付加され、受信側の装置によって受信される。復調器400では、受信した信号の復調を行い、各ビットの受信信号値を出力する。復号器500は入力された受信信号値に基づいて復号を行い、その結果算出された送信情報の推定ビット列を出力する。   In FIG. 3, an encoder 100 generates a parity bit based on a transmission bit string, performs encoding, and calculates a code word. The modulator 200 performs modulation based on the code word, generates a modulated signal using radio waves, light, or an electrical signal by a communication method, and transmits the modulated signal. The transmitted signal is added with noise when passing through the communication path 300 and is received by the receiving device. Demodulator 400 demodulates the received signal and outputs a received signal value for each bit. Decoder 500 performs decoding based on the input received signal value, and outputs an estimated bit string of transmission information calculated as a result.

図4に、図3に示す復号器500の内部構成を示すブロック図を示す。復号器500は入力を制御する入力回路510と、入力値である受信信号値を元に受信LLRを算出する受信LLR演算器520と、受信LLRもしくは列LLRを入力として行LLRを出力する行演算器530と、行LLRから列LLRを算出する列演算器540と、行演算と列演算の繰り返しの終了を判定する繰り返し演算終了判定回路550と、推定ビット列の出力を制御する出力回路560と、内部もしくは外部に設置されたメモリ570とから構成される。   FIG. 4 is a block diagram showing an internal configuration of the decoder 500 shown in FIG. The decoder 500 includes an input circuit 510 that controls input, a reception LLR calculator 520 that calculates a reception LLR based on a reception signal value that is an input value, and a row calculation that outputs a row LLR with the reception LLR or column LLR as an input. A calculator 530, a column calculator 540 that calculates a column LLR from the row LLR, a repeat calculation end determination circuit 550 that determines the end of repetition of the row calculation and the column calculation, an output circuit 560 that controls the output of the estimated bit string, And a memory 570 installed inside or outside.

次に、図4に示す復号器500の動作について説明する。入力回路510は、入力値である受信信号値の入力を制御して、適切なタイミングで受信LLR演算器520へ受信信号値を出力する。復号演算はLDPC符号の符号語単位で行うため、符号長と同数のn個の受信信号値を一度に、もしくは数回にわけて適宜出力する。単位受信LLR演算器520は、変調方式などによって異なる演算を行い、各受信信号値から受信LLRを算出し出力する。   Next, the operation of the decoder 500 shown in FIG. 4 will be described. The input circuit 510 controls the input of the received signal value, which is an input value, and outputs the received signal value to the reception LLR calculator 520 at an appropriate timing. Since the decoding operation is performed in units of codewords of the LDPC code, n reception signal values having the same number as the code length are output as appropriate at one time or in several times. The unit reception LLR calculator 520 performs different calculations depending on the modulation method or the like, and calculates and outputs a reception LLR from each received signal value.

行演算器530は、受信LLR演算器520から入力された受信LLRか、もしくは繰り返し演算終了判定回路7から入力された列LLRを入力として、行LLRを算出する。なお、入力の受信LLRは、パリティ検査行列のn個の列それぞれに対応した値であり、n個の値からなる。また、繰り返し演算終了判定回路7から入力される列LLRは、パリティ検査行列の各列それぞれに対し列重みの数だけ存在する値であり、全合計でパリティ検査行列に含まれる1の数と同数の種類の値からなる。行LLRも同様に、各行に対しそれぞれ行重みの数だけ存在し、合計でパリティ検査行列が含む1の数と同数の種類の値からなる。   The row calculator 530 calculates the row LLR by using the reception LLR input from the reception LLR calculator 520 or the column LLR input from the repeated calculation end determination circuit 7 as an input. The input reception LLR is a value corresponding to each of n columns of the parity check matrix, and is composed of n values. In addition, the column LLR input from the iterative calculation end determination circuit 7 is a value that exists for each column of the parity check matrix by the number of column weights, and is the same as the number of 1 included in the parity check matrix in total. It consists of a value of type. Similarly, there are as many row LLRs as the number of row weights for each row, and the total number of values is the same as the number of 1 included in the parity check matrix.

列演算器540は、行LLRから列LLRを算出し、また推定ビット列も計算する。繰り返し演算終了判定回路7は、行演算と列演算を規定の回数繰り返したかを判定し、もし繰り返しを続行するなら行演算器530へ列LLRを出力し、繰り返しを終了するならば推定ビット列を出力回路560へと出力する。繰り返しを終了するかの判定は、推定ビット列にパリティチェックを行い、推定ビット列が符号語になっているかどうかで判定してもよく、本実施の形態ではどのような繰り返し終了判定基準でも構成可能である。   The column calculator 540 calculates a column LLR from the row LLR and also calculates an estimated bit string. The repetition calculation end determination circuit 7 determines whether the row calculation and the column calculation have been repeated a predetermined number of times, and outputs the column LLR to the row calculator 530 if the repetition is continued, and outputs the estimated bit string if the repetition is ended. Output to circuit 560. The determination of whether to end the repetition may be performed by performing a parity check on the estimated bit string and determining whether the estimated bit string is a code word. In this embodiment, any repetition end determination criterion can be configured. is there.

出力回路560は、適切なタイミングで推定ビット列を出力する。メモリ570は、前記の演算器もしくは回路が用いる記憶領域であり、例えば、行演算器530が行演算を行うのに途中経過を記憶したりするのに用いる。どの演算器および回路が用いたとしても、本実施の形態1は構成可能であり、また、記憶するという目的であればどのように用いても本実施の形態1の構成は可能である。   The output circuit 560 outputs the estimated bit string at an appropriate timing. The memory 570 is a storage area used by the arithmetic unit or the circuit. For example, the memory 570 is used for storing the progress of the operation when the row arithmetic unit 530 performs the row operation. Regardless of which arithmetic unit and circuit are used, the first embodiment can be configured, and for the purpose of storing, the first embodiment can be configured in any manner.

図4の構成は一例であり、例えば繰り返し演算終了判定回路7から行演算器へと入力されている列LLRは列演算器540から直接入力されていてもよく、繰り返し演算の終了時に推定ビット列が出力回路560へと出力されればよい。   The configuration in FIG. 4 is an example. For example, the column LLR input from the repetition calculation end determination circuit 7 to the row calculation unit may be directly input from the column calculation unit 540, and the estimated bit string is set at the end of the repetition calculation. What is necessary is just to output to the output circuit 560.

本実施の形態1は、復号器500に関する発明であるが、行分割の前後で図4に示した行演算器530以外の部分は共通して用いることができる。例えば、列演算器540は、本来であればパリティ検査行列に従って異なる構成とする必要があるが、行分割によってパリティ検査行列が変化した場合には構成を変える必要がない。なぜなら、列数は行分割前後で変わらず、また各列の列重みも変化しないからである。   The first embodiment is an invention related to the decoder 500, but portions other than the row arithmetic unit 530 shown in FIG. 4 before and after the row division can be used in common. For example, the column calculator 540 originally needs to have a different configuration according to the parity check matrix, but does not need to be changed when the parity check matrix changes due to row division. This is because the number of columns does not change before and after row division, and the column weight of each column does not change.

図5に、本実施の形態1における図4に示す行演算器530の内部構成を示す。行演算器530は、行演算部a531と行演算部b532とで構成される。それぞれの行演算部は、複数設置されており、双方の合計数と行分割前のパリティ検査行列H1の行数は一致している。   FIG. 5 shows an internal configuration of row arithmetic unit 530 shown in FIG. 4 in the first embodiment. The row computing unit 530 includes a row computing unit a531 and a row computing unit b532. A plurality of row calculation units are provided, and the total number of both is the same as the number of rows of the parity check matrix H1 before row division.

行演算部それぞれは、パリティ検査行列H1の各行に対応する行演算を行い、列LLRから行LLRを計算して出力する。本実施の形態1における行演算部は、行演算部a531と行演算部b532の2種類あり、行分割後のパリティ検査行列H2を生成する際に行分割を施した行に対応した行演算を行う行演算部a531(図6)と、行分割を施してない行に対応した行演算を行う行演算部b532(図7)とがあり、それぞれ対応する行数だけ設置される。   Each row operation unit performs a row operation corresponding to each row of the parity check matrix H1, calculates a row LLR from the column LLR, and outputs it. There are two types of row operation units in the first embodiment, the row operation unit a531 and the row operation unit b532, and the row operation corresponding to the row subjected to the row division when generating the parity check matrix H2 after the row division is performed. There are a row calculation unit a531 (FIG. 6) to perform, and a row calculation unit b532 (FIG. 7) to perform a row calculation corresponding to a row that has not been subjected to row division, and the corresponding number of rows is installed.

次に、行分割を施した行に対応する行演算部a531について説明する。図6の行演算部a531は、行分割前のパリティ検査行列H1における行(r行目)に対応して設置されるものである。この行演算部a531では、行分割前のパリティ検査行列H1のr行目に対応した行演算と、r行目を行分割することによって生じた複数の行それぞれに対応した行演算(行分割後のパリティ検査行列H2の行演算)とを切り替えて行い、出力することが可能である。   Next, the row calculation unit a531 corresponding to the row subjected to row division will be described. The row calculation unit a531 in FIG. 6 is installed corresponding to the row (rth row) in the parity check matrix H1 before row division. In this row operation unit a531, the row operation corresponding to the r-th row of the parity check matrix H1 before row division and the row operation corresponding to each of a plurality of rows generated by dividing the r-th row (after row division) The parity check matrix H2) can be switched and output.

図6に示すように、行演算部a531は、入力回路1と、行分割後の行それぞれの行演算に対応した行LLR演算器a2、行LLR演算器b3および行LLR演算器x4と、これらの行LLR演算器の出力を用いて行分割前のr行目の行演算を行う行分割前行LLR演算器5と、LDPC符号の符号化率を切り替える符号化率切り替え器6と、行LLRの出力を行う出力回路7とからなる。なお、図6において、スリードッツ8で示しているように、行LLR演算器は、行rを行分割して生じる行数だけ設置され、図で明示した3個とは限らない。具体的には、r行目をq個の行に分割したのなら行LLR演算器はq個設置される。   As illustrated in FIG. 6, the row calculation unit a531 includes the input circuit 1, the row LLR calculator a2, the row LLR calculator b3, the row LLR calculator x4 corresponding to the row calculation of each row after row division, and these The row LLR calculator 5 before row division that performs the row calculation of the r-th row before row division using the output of the row LLR calculator, the coding rate switcher 6 that switches the coding rate of the LDPC code, and the row LLR And an output circuit 7 for outputting In FIG. 6, as indicated by the Sleed's 8, the row LLR calculators are installed by the number of rows generated by dividing the row r into rows, and are not limited to the three explicitly shown in the drawing. Specifically, if the r-th row is divided into q rows, q row LLR calculators are installed.

入力回路1は、列LLRの入力制御などを行い、パリティ検査行列が含む1の数だけの値で構成される列LLRのうち、図6の行演算部a531の入力となる列LLRを選択して出力する。ただし、復号器内の配線などによって、列LLRのうち行演算部a531の演算に必要となるものだけが入力されるようになっている場合には、入力回路1による列LLRの選択の必要はない。   The input circuit 1 performs input control of the column LLR, etc., and selects the column LLR to be input to the row arithmetic unit a531 in FIG. 6 from among the column LLRs configured by the number of 1 included in the parity check matrix. Output. However, if only the column LLR necessary for the calculation of the row calculation unit a531 is input by the wiring in the decoder or the like, it is necessary to select the column LLR by the input circuit 1 Absent.

次に、行LLR演算器について説明する。ここでは、パリティ検査行列のr行目を行分割することによって行a,b,...,xが新たに生じたとし、それぞれの行が含む1の列番号の集合を、Na(r),Nb(r),...,Nx(r)とする。行分割の性質から、これらのどの2つの集合も共通要素をもたず、また、これら全ての集合の和集合はN(r)(行分割前のr行に含まれる1の列番号の集合)と等しい。   Next, the row LLR calculator will be described. Here, rows a, b,... Are divided by dividing the r-th row of the parity check matrix. . . , X are newly generated, and a set of column numbers of 1 included in each row is represented by Na (r), Nb (r),. . . , Nx (r). Due to the nature of row partitioning, none of these two sets have a common element, and the union of all these sets is N (r) (a set of one column number contained in r rows before row division). ).

次に、行LLR演算器について説明する。ここでは、パリティ検査行列のr行目を行分 図6の行LLR演算器a2、行LLR演算器b3、行LLR演算器x4は、前記で述べた行分割後の行である行a、行b、行xにそれぞれ対応した行LLR演算器である。これらのうち、行LLR演算器x4で算出する行LLRεx,cの算出式を式(6)に示す。式(6)の右辺は、背景技術で述べた式(1)のN(r)をNx(r)に置き換えた形となっているが、cはNx(r)が含む列番号である。 Next, the row LLR calculator will be described. Here, the r-th row of the parity check matrix is divided into the row LLR calculator a2, the row LLR calculator b3, and the row LLR calculator x4 in FIG. b, row LLR calculators corresponding to row x. Of these, the formula for calculating the row LLRε x, c calculated by the row LLR computing unit x4 is shown in Equation (6). The right side of equation (6) has a form in which N (r) in equation (1) described in the background art is replaced with Nx (r), where c is a column number included in Nx (r).

Figure 2011109228
Figure 2011109228

なお、行LLR演算器a2、行LLR演算器b3に対する行LLR算出式も同様である。   The same applies to the row LLR calculation formulas for the row LLR calculator a2 and the row LLR calculator b3.

前記のようにして、行分割後のパリティ検査行列H2の行a,b,xにおける行演算を、行LLR演算器a2、行LLR演算器b3、行LLR演算器x4によって行うことができる。   As described above, row operations in the rows a, b, and x of the parity check matrix H2 after the row division can be performed by the row LLR calculator a2, the row LLR calculator b3, and the row LLR calculator x4.

しかし、さらに本実施の形態1では、行分割前の行演算も行演算部a531で行えるようにするため、行LLR演算器a2、行LLR演算器b3、行LLR演算器x4において、式(7)で示すようなε,ε,εも計算することとする。ただし、式(7)では、行LLR演算器x4で行うεの算出式を代表して示す。 However, in the first embodiment, in order that the row operation before the row division can also be performed by the row operation unit a531, in the row LLR calculator a2, the row LLR calculator b3, and the row LLR calculator x4, the expression (7 Ε a , ε b , and ε x as shown in FIG. However, in equation (7), a calculation formula of ε x performed by the row LLR calculator x4 is representatively shown.

Figure 2011109228
Figure 2011109228

式(7)は、式(6)のNx(r)\{c}をNx(r)に置き換えたものであり、ε,εの算出式も同様である。 Expression (7) is obtained by replacing Nx (r) \ {c} in Expression (6) with Nx (r), and the calculation expressions of ε a and ε b are the same.

なお、行分割後のパリティ検査行列H2に対応した行演算を行う場合には、式(7)の演算は必要ない。そのため、例えば、後に説明する符号化率切り替え器6において、行分割後のパリティ検査行列H2を用いると設定したときには、式(7)の演算を行わないように行LLR演算器a2、行LLR演算器b3および行LLR演算器x4を構成しても良い。   Note that when performing a row operation corresponding to the parity check matrix H2 after row division, the operation of Equation (7) is not necessary. Therefore, for example, in the coding rate switcher 6 described later, when the parity check matrix H2 after row division is set to be used, the row LLR calculator a2 and the row LLR calculation are performed so as not to perform the calculation of Expression (7). Unit b3 and row LLR calculator x4 may be configured.

また、式(6)、式(7)の1つ目の小括弧内の関数sgnの積は、+1もしくは−1の値しかとらない。さらに、後半の小括弧の演算は負の数になることはない。   In addition, the product of the function sgn in the first parentheses in the equations (6) and (7) takes only a value of +1 or -1. In addition, the parenthesis operations in the second half never become negative numbers.

次に、行分割前行LLR演算器5の動作について説明する。行分割前行LLR演算器5は、前記の式(6)および式(7)の演算結果を用いて、行分割前の行rに対応した行演算を行う。行rの行演算は式(1)によって行えるが、行rが含む1の列番号の集合N(r)が、行分割後の1の列番号の集合Na(r),Nb(r),...,Nx(r)の和集合となる性質から、式(1)にN(r)=Na(r)∪Nb(r)∪・・・∪Nx(r)を代入すると次式(8)が得られる。   Next, the operation of the row division pre-row LLR calculator 5 will be described. The row LLR calculator 5 before row division performs a row operation corresponding to the row r before the row division, using the calculation results of the equations (6) and (7). The row operation of the row r can be performed by the equation (1), but the set N (r) of the column numbers of 1 included in the row r is converted into the sets Na (r), Nb (r), Nb (r), . . . , Nx (r), the following equation (8) is obtained by substituting N (r) = Na (r) ∪Nb (r) ∪... ∪Nx (r) into equation (1). can get.

Figure 2011109228
Figure 2011109228

式(8)の右辺後半の小括弧内の演算には次の式(9)のような性質があり、また、演算順序は任意に変更してもよい。そのため、式(8)のNa(r)∪Nb(r)∪・・・∪Nx(r)の部分を後に示す式(10)のように分割することができる。   The operation in parentheses in the latter half of the right side of Equation (8) has a property as in Equation (9) below, and the operation order may be arbitrarily changed. Therefore, the Na (r) rNb (r) ∪... ∪Nx (r) portion of the formula (8) can be divided as shown in the following formula (10).

Figure 2011109228
Figure 2011109228

さらに、式(8)の右辺の最初の小括弧は、関数sgnの積を単純に計算しているだけであるので分割可能であり、結局、式(8)は次の式(10)に変形できる。なお、ここでは、cがNa(r)に含まれているとする(このとき、前記で説明したように、他のNb(r),...,Nx(r)はcを含まない)。   Further, the first parenthesis on the right side of the equation (8) can be divided because it simply calculates the product of the function sgn, and eventually the equation (8) is transformed into the following equation (10). it can. Here, it is assumed that c is included in Na (r) (in this case, as described above, other Nb (r),..., Nx (r) do not include c). .

Figure 2011109228
Figure 2011109228

式(10)の右辺の各小括弧内の式は、式(6)および式(7)の右辺の小括弧内の式と同じである。そのため、式(10)に式(6)および式(7)で演算したεx,c,εxなどを代入すると、次式(11)のように変形できる。 The expression in each parenthesis on the right side of Expression (10) is the same as the expression in the parentheses on the right side of Expression (6) and Expression (7). Therefore, by substituting ε x, c , εx and the like calculated in Equation (6) and Equation (7) into Equation (10), the following equation (11) can be obtained.

Figure 2011109228
Figure 2011109228

式(11)によれば、行分割前行LLR演算器5は、行LLR演算器a2、行LLR演算器b3、行LLR演算器x4の演算結果を用いて、行分割前の行rに対する行演算で算出すべき行LLRεr,cを計算可能ということになる。ただし、前記では列番号cがNa(r)に含まれている場合を示した。各cに対してεr,cを計算するときには、N(b),...,Nx(r)のどれがcを含むかによって式(11)を変更することとする。 According to Equation (11), the row LLR calculator 5 before row division uses the calculation results of the row LLR calculator a2, the row LLR calculator b3, and the row LLR calculator x4 to perform the row for the row r before row division. This means that the row LLRε r, c to be calculated by calculation can be calculated. However, the case where the column number c is included in Na (r) is shown above. When calculating ε r, c for each c, N (b),. . . , Nx (r) changes equation (11) depending on which c contains.

行分割前行LLR演算器5における具体的な計算方法の一例を示す、まず、行LLR演算器a2、行LLR演算器b3、行LLR演算器x4からの入力値を正負の符号および絶対値に分ける。次に、符号が正なら+1を、負なら−1を式(11)のsgn関数に代入し、絶対値は式後半の中括弧内の式に代入する。このとき、sgn関数の積は排他的論理和を行うことで計算可能である。行LLR演算器からの各入力値に対し、正なら0、負なら1として全ての排他的論理を演算し、演算結果が0なら+1、1なら−1とすればよい。また、式(11)の後半部分は、背景技術で説明した定義式(4)に従って計算すればよい。   An example of a specific calculation method in the row LLR calculator 5 before row division will be described. First, input values from the row LLR calculator a2, the row LLR calculator b3, and the row LLR calculator x4 are converted into positive and negative signs and absolute values. Divide. Next, if the sign is positive, +1 is assigned, and if it is negative, -1 is assigned to the sgn function of Expression (11), and the absolute value is assigned to the expression in the braces in the latter half of the expression. At this time, the product of the sgn function can be calculated by performing an exclusive OR. For each input value from the row LLR calculator, all exclusive logics are calculated as 0 if positive, 1 if negative, and +1 if the calculation result is 0. Moreover, what is necessary is just to calculate the latter half part of Formula (11) according to the definition formula (4) demonstrated by background art.

以上では、行分割前行LLR演算器5に入力された値を、まず正負の符号と絶対値に分けるとしたが、予め分けられた状態で入力されるように行LLR演算器a2などを構成してもよい。   In the above, the value input to the row LLR calculator 5 before row division is first divided into positive and negative signs and absolute values, but the row LLR calculator a2 and the like are configured so as to be input in a divided state. May be.

なお、前記で説明した行rに対する行演算の演算量(行LLR演算器a2、行LLR演算器b3、行LLR演算器x4の演算量を含む)は、行rに対する通常の行演算の演算量と同等である。   It should be noted that the calculation amount of the row calculation for the row r described above (including the calculation amounts of the row LLR calculator a2, the row LLR calculator b3, and the row LLR calculator x4) is the calculation amount of the normal row calculation for the row r. Is equivalent to

次に、符号化率切り替え器6について説明する。符号化率切り替え器6は、通信システムで用いるLDPC符号の符号化率を決定し、その情報を出力回路7へ出力する。つまり行分割前のパリティ検査行列H1を用いるか、行分割後のパリティ検査行列H2を用いるかの決定を行う。符号化率の決定には、予め設定するか、送信装置と同期しながら通信路の雑音などの状態に応じて自動的に決定されるか、復号器500の外部に設置された切り替えスイッチなどにより手動で切り替えるか、またはその他の手段で行う。また、前記で説明したように、行LLR演算器a2、行LLR演算器b3、行LLR演算器x4に対しても符号化率の情報を出力し、通信システムで用いる符号化率によっては不要となる演算をこれら行LLR演算器が行わないようにしてもよい。   Next, the coding rate switcher 6 will be described. The coding rate switch 6 determines the coding rate of the LDPC code used in the communication system and outputs the information to the output circuit 7. That is, it is determined whether to use the parity check matrix H1 before row division or the parity check matrix H2 after row division. The coding rate is determined in advance, automatically determined according to the state of communication channel noise or the like while synchronizing with the transmission device, or by a changeover switch installed outside the decoder 500, etc. Switch manually or by other means. In addition, as described above, coding rate information is also output to the row LLR computing unit a2, the row LLR computing unit b3, and the row LLR computing unit x4, which may not be necessary depending on the coding rate used in the communication system. These row LLR calculators may not perform this calculation.

出力回路7は、行LLR演算器a2、行LLR演算器b3および行LLR演算器x4、もしくは行分割前行LLR演算器5で演算された行LLRを入力として、符号化率切り替え器6で決定された符号化率に従い、行分割の前後のどちらかに対応した行LLRを出力する。   The output circuit 7 receives the row LLR computed by the row LLR computing unit a2, the row LLR computing unit b3 and the row LLR computing unit x4, or the row LLR computing unit 5 before row division, and is determined by the coding rate switching unit 6. In accordance with the coded rate, a row LLR corresponding to either before or after the row division is output.

次に、図7に示す行演算部b532について説明する。上でも述べた通り、図7の行演算部b532は行分割を施さなかった行に対応するものであり、行分割を行わなかった行数だけ図5の行演算器530内に設置される。行演算部b532は、入力回路9と行LLR演算器10と出力回路11とから構成されている。入力回路9は、図6の行演算部a531と同様の動作を行い、出力回路11は、図6の出力回路7とは異なり、符号化率の切り替えによる出力行LLRの選択を行わない。それ以外の動作は同様である。また、図7の行LLR演算器10は、式(1)によって行LLRを演算する通常の行演算器である。   Next, the row calculation unit b532 illustrated in FIG. 7 will be described. As described above, the row calculation unit b532 in FIG. 7 corresponds to the row that has not been subjected to row division, and is installed in the row calculator 530 in FIG. 5 by the number of rows that have not been subjected to row division. The row calculation unit b532 includes an input circuit 9, a row LLR calculator 10, and an output circuit 11. The input circuit 9 performs the same operation as that of the row calculation unit a531 in FIG. 6, and the output circuit 11 does not select the output row LLR by switching the coding rate unlike the output circuit 7 in FIG. Other operations are the same. Moreover, the row LLR computing unit 10 in FIG. 7 is a normal row computing unit that computes the row LLR by the equation (1).

以上の構成では、行分割を行う場合および行わない場合で2つの符号化率を切り替え可能としたが、3つ以上の符号化率の切り替えも同様のアプローチで可能である。そのためには、元のパリティ検査行列H1を行分割して得たパリティ検査行列H2に対し、さらに行分割を行う。このようにして生成したパリティ検査行列をH3とする。   In the above configuration, the two coding rates can be switched according to whether or not row division is performed, but switching of three or more coding rates is also possible with the same approach. For this purpose, row division is further performed on the parity check matrix H2 obtained by dividing the original parity check matrix H1 into rows. Let the parity check matrix generated in this way be H3.

H3に対応した行演算器を構成するには、前記で説明した行演算部aとb以外の行演算部が必要となる。なぜなら、H1からH2の生成の際で行分割された行がさらにH2からH3を生成する際に行分割された場合に対応する必要があるからである。それには、図6において、例えば行xをさらに行分割するのであれば、行LLR演算器xの内部の構成を図6中に破線で囲った部分と同様の構成とし、行LLR演算器xの出力線のビット幅を適切に増加させた行演算部を構成すればよい。この新たな行演算部と行演算部a531と行演算部b532とをそれぞれ対応する行数ずつ、図5の行演算器530に設置すれば、3つの符号化率の切り替え可能な行演算器530を構成することができる。   In order to configure a row computing unit corresponding to H3, a row computing unit other than the row computing units a and b described above is required. This is because it is necessary to cope with the case where the line divided when generating H2 from H1 is further divided when generating H3 from H2. For this purpose, for example, if row x is further divided into rows in FIG. 6, the internal configuration of row LLR calculator x is the same as the portion enclosed by the broken line in FIG. What is necessary is just to comprise the row calculating part which increased the bit width of the output line appropriately. If this new row calculation unit, row calculation unit a531, and row calculation unit b532 are installed in the row calculation unit 530 of FIG. 5 corresponding to the number of corresponding rows, the row calculation unit 530 capable of switching three coding rates. Can be configured.

以上のようにすることで、3種類の符号化率の切り替えに対応した復号器が構成できる。また、2種類の符号化率に対応した行演算部から3種類に対応の行演算部を構成したのと同様にして、3種類の符号化率に対応した行演算部からさらに多くの符号化率に対応した行演算器を構成することも可能である。すなわち、行演算器として、行分割を複数回行ったパリティ検査行列それぞれに対する行演算を、より分割された行に対する行演算結果に基づいて、より分割される前の行に対する行演算を行うことにより、複数回の行分割それぞれに対する行演算を切り替えて行うようにすればよい。   As described above, a decoder that can switch between three types of coding rates can be configured. Further, in the same manner that the row operation unit corresponding to three types is configured from the row operation unit corresponding to two types of coding rates, more encoding is performed from the row operation unit corresponding to three types of encoding rates. It is also possible to configure a row arithmetic unit corresponding to the rate. That is, as a row arithmetic unit, by performing a row operation on each parity check matrix that has been subjected to row division a plurality of times, and performing a row operation on the previous row based on the row operation result on the more divided rows It is only necessary to switch the row calculation for each of the plurality of row divisions.

以上では、行分割によって符号化率を可変とした復号器の構成を示したが、同様の構成によって行結合によって符号化率を可変とする場合の復号器も構成可能である。行結合とは、行分割とは逆の操作であり、パリティ検査行列の2つの行を結合し1行とすることで行数を減少させる操作である。2つの行を結合するには、列ごとに要素を加算することで行う。つまり、結合を行う2つの行の、ある列の要素がそれぞれ0と1の場合には結合後の行におけるその列の要素を1とし、また、ある列の要素がそれぞれ0と0、1と1の場合には結合後の行におけるその列の要素を0とする。   In the above, the configuration of the decoder in which the coding rate is variable by row division is shown, but a decoder in the case where the coding rate is variable by row combination can be configured by the same configuration. The row combination is an operation opposite to the row division, and is an operation of reducing the number of rows by combining two rows of the parity check matrix into one row. To join two rows, add elements for each column. That is, when the elements of a certain column of the two rows to be joined are 0 and 1, respectively, the element of that column in the joined row is set to 1, and the elements of a certain column are 0, 0, 1 and 1, respectively. In the case of 1, the element of the column in the combined row is set to 0.

前記で説明した行演算器530において、行結合を行っていないパリティ検査行列を、行分割を行った後のパリティ検査行列H2とみなし、行結合後のパリティ検査行列を、行分割を行っていないパリティ検査行列H1とみなして構成すれば、行結合の前後に対応の行演算器530および復号器500を構成できる。また、3つ以上の符号化率に対応した復号器500も同様に構成可能である。   In the row arithmetic unit 530 described above, the parity check matrix not subjected to row combination is regarded as the parity check matrix H2 after row division, and the parity check matrix after row combination is not subjected to row division. If it is configured as the parity check matrix H1, the corresponding row arithmetic unit 530 and decoder 500 can be configured before and after the row combination. The decoder 500 corresponding to three or more coding rates can be configured in the same manner.

すなわち、行演算器530として、受信LLRまたは列LLRから行LLRを算出する行演算の際に、パリティ検査行列の複数の行を行結合することによって生じた行に対する行演算を、行結合前の行に対する複数の行演算を組み合わせることで行うようにすればよく、パリティ検査行列の行結合前の行に対する行演算結果に基づいて行結合後の行に対する行演算を行うことにより、行結合の前後それぞれの行に対する行演算を切り替えて行うことができ、行結合を複数回行ったパリティ検査行列それぞれに対する行演算を、行結合前の行に対する行演算結果に基づいて、より行結合がなされた行に対する行演算を行うことにより、複数回の行結合それぞれに対する行演算を切り替えて行うことができる。   That is, as the row calculator 530, in the row calculation for calculating the row LLR from the received LLR or the column LLR, the row calculation for the row generated by combining the plurality of rows of the parity check matrix is performed. Multiple row operations for rows may be combined, and before and after row combination by performing row operations on the rows after row combination based on the row operation results for the rows before row combination of the parity check matrix. The row operation for each row can be switched, and the row operation for each parity check matrix in which the row combination is performed multiple times is performed on the basis of the row operation result for the row before the row combination. By performing a row operation on, it is possible to switch and perform a row operation on each of a plurality of row combinations.

ただし、行結合する2つの行の同じ列の要素が1であった場合、結合後にその列の要素が0となるため、前記と同一の構成は不可能である。この場合、行結合によって不要となった演算を行わないように切り替える回路が必要である。例えば、列演算器540であるなら、行結合により0となる要素に対応する行LLRの入力を0に固定するなどして無効化すればよい。また、行演算器530においては、行結合により0となる要素に対応する列LLRの入力を無視して行LLRを計算するようにすればよい。例えば該当の列LLRの値を最大値に固定する方法がある。これらの機能追加による回路規模増大幅は小さい。   However, if the element in the same column in two rows to be combined is 1, the element in that column is 0 after combining, and thus the same configuration as described above is impossible. In this case, a circuit that switches so as not to perform an operation that has become unnecessary due to the row combination is necessary. For example, in the case of the column computing unit 540, it may be invalidated by fixing the input of the row LLR corresponding to the element that becomes 0 by row combination to 0 or the like. Further, the row calculator 530 may calculate the row LLR while ignoring the input of the column LLR corresponding to the element that becomes 0 by the row combination. For example, there is a method of fixing the value of the corresponding column LLR to the maximum value. The increase in circuit scale by adding these functions is small.

また、以上では、元のパリティ検査行列および、そのパリティ検査行列に行分割もしくは行結合を行ったパリティ検査行列を切り替え可能な復号器を示したが、必ずしも元のパリティ検査行列を通信システムで用いる必要はない。つまり、元のパリティ検査行列に行分割や行結合を施して生成される複数のパリティ検査行列に対し、元のパリティ検査行列以外から1つを切り替えて用いるようにしてもよい。   In the above, a decoder capable of switching between an original parity check matrix and a parity check matrix obtained by performing row division or row combination on the parity check matrix has been described. However, the original parity check matrix is not necessarily used in a communication system. There is no need. That is, one of the plurality of parity check matrices generated by performing row division or row combination on the original parity check matrix may be used by switching from one other than the original parity check matrix.

なお、行分割もしくは行結合を施す行の選び方として、行分割後もしくは行結合後のパリティ検査行列の行重みの偏りが小さくなるように選べば、偏りが大きい場合に比べ誤り訂正能力を高くできる。行分割におけるこのような行の選び方の一例として、行重みの最も大きい、もしくは比較的大きい行を優先的に分割し、かつそれらの行分割において2つの行に分割する方法が挙げられる。また、行結合を行う行の選び方の一例としては、行重みの小さい行を結合することが挙げられる。   In addition, if the method of selecting the row to be subjected to row division or row combination is selected so that the deviation of the row weight of the parity check matrix after the row division or after the row combination is reduced, the error correction capability can be increased as compared with the case where the deviation is large . As an example of how to select such a line in the line division, there is a method of preferentially dividing a line having the largest or relatively large line weight and dividing the line into two lines. Further, as an example of how to select a row to be combined, combining rows with small row weights can be mentioned.

また、パリティ検査行列の最大行重みが小さくなるように行分割もしくは行結合を行う行を選択すれば、最大行重みに依存する値(例えば、行が含む1の位置を示すアドレスのビット幅)を小さくでき、メモリなどの回路規模を削減できる。   Further, if a row to be divided or combined is selected so that the maximum row weight of the parity check matrix becomes small, a value that depends on the maximum row weight (for example, the bit width of the address indicating the position of 1 included in the row). And the circuit scale such as a memory can be reduced.

以上のような構成によれば、行分割前の行演算を行分割後の行演算結果を用いて効率よく演算することができ、行分割前のパリティ検査行列に従って構成した復号器の演算量および回路規模と同等の演算量および回路規模で、行分割の前後の復号演算が切り替え可能な復号器を構成することができ、演算量と回路規模の増大を抑えることができる。なお、行分割を複数回行う場合でも同様の構成が可能であり、行分割前のパリティ検査行列に従って構成した復号器の演算量および回路規模と同等の演算量および回路規模で、複数の符号化率の可変に対応した復号器を構成することができる。   According to the configuration as described above, the row operation before row division can be efficiently performed using the row operation result after row division, and the amount of calculation of the decoder configured according to the parity check matrix before row division and A decoder capable of switching between decoding operations before and after row division can be configured with a calculation amount and circuit scale equivalent to the circuit scale, and an increase in calculation amount and circuit scale can be suppressed. A similar configuration is possible even when row division is performed multiple times, and a plurality of encodings are performed with the same amount of computation and circuit scale as that of a decoder configured according to the parity check matrix before row division. A decoder corresponding to the variable rate can be configured.

さらに、以上のような構成によれば、行結合後の行演算を行結合前の行演算結果を用いて効率よく演算することができ、行結合後のパリティ検査行列に従って構成した復号器の演算量および回路規模と同等の演算量および回路規模で、行結合の前後の復号演算が切り替え可能な復号器を構成することができ、演算量と回路規模の増大を抑えることができる。なお、行結合を複数回行う場合でも同様の構成が可能であり、行結合後のパリティ検査行列に従って構成した復号器の演算量および回路規模と同等の演算量および回路規模で、複数の符号化率の可変に対応した復号器を構成することができる。   Further, according to the configuration as described above, the row operation after the row combination can be efficiently calculated using the row operation result before the row combination, and the decoder operation configured according to the parity check matrix after the row combination is performed. A decoder capable of switching between decoding operations before and after row combination can be configured with an amount of computation and circuit scale equivalent to the amount and circuit scale, and an increase in the amount of computation and circuit scale can be suppressed. A similar configuration is possible even when row combination is performed multiple times, and a plurality of encodings are performed with an operation amount and circuit scale equivalent to the operation amount and circuit scale of the decoder configured according to the parity check matrix after row combination. A decoder corresponding to the variable rate can be configured.

この構成による復号器は、可変する符号化率のLDPC符号の中で最も符号化率が高く、かつ最小行数のパリティ検査行列に対応する復号器と同等の回路規模である。一方、元のパリティ検査行列に新たな行を追加することで可変符号化率を行う従来手法では、可変する符号化率の中で最も行数の多いパリティ検査行列に対応する回路規模が少なくとも必要となる。つまり、本構成によれば、従来手法と比べても回路規模を小さくできる。   The decoder having this configuration has the highest coding rate among LDPC codes having variable coding rates, and has a circuit scale equivalent to that of the decoder corresponding to the parity check matrix having the minimum number of rows. On the other hand, the conventional method for performing variable coding rate by adding a new row to the original parity check matrix requires at least a circuit scale corresponding to the parity check matrix having the largest number of rows in the variable coding rate. It becomes. That is, according to this configuration, the circuit scale can be reduced as compared with the conventional method.

また、行分割もしくは行結合によって符号化率の異なるLDPC符号を生成しているため、異なる符号化率間でパリティ検査行列の列重みは一定であり、パリティ検査行列の行数増加に伴う列重みの増大がない。そのため、回路規模を小さくすることができる。また、行分割および行結合を行っても符号化率は一定に保たれるため、パディングやパンクチャを行う必要がなく、これらを行うことによる誤り訂正能力の低下を避けることができる。   Also, since LDPC codes having different coding rates are generated by row division or row combination, the column weights of the parity check matrix are constant between different coding rates, and the column weights accompanying the increase in the number of rows of the parity check matrix There is no increase. Therefore, the circuit scale can be reduced. In addition, since the coding rate is kept constant even when line division and line combination are performed, it is not necessary to perform padding or puncturing, and it is possible to avoid a decrease in error correction capability due to performing these.

さらに、以上のような構成によれば、列重み分布を一定としたまま符号化率の可変が可能となり、各符号化率のLDPC符号で誤り訂正能力が大きい。また、行分割に基づく本構成によってタナーグラフの最短ループ長が小さくなることはないため、可変符号化率に対応し、かつ高い誤り訂正能力を引き出すパリティ検査行列を容易に構成することが可能である。   Furthermore, according to the above configuration, the coding rate can be changed while keeping the column weight distribution constant, and the LDPC code at each coding rate has a large error correction capability. In addition, since the shortest loop length of the Tanner graph is not reduced by this configuration based on row division, it is possible to easily configure a parity check matrix corresponding to a variable coding rate and extracting high error correction capability. is there.

また、以上の構成は、符号化率の可変を目的とするのではなく符号長を一定としたままLDPC符号の符号化率を調整、すなわち情報系列長とパリティビット数を調整する目的でも用いることができる。復号装置の回路構成を変更せずに、1ビット単位でパリティビット数などの調整を行うことができる。例えば、通信システムのフレームフォーマットが変更した場合や、変更したい場合に、符号長を一定に保ったままパリティビット数と情報系列長をフレームフォーマットに合致させる目的で用いることができる。   The above configuration is not intended to change the coding rate, but to adjust the coding rate of the LDPC code while keeping the code length constant, that is, to adjust the information sequence length and the number of parity bits. Can do. The number of parity bits can be adjusted in 1-bit units without changing the circuit configuration of the decoding device. For example, when the frame format of the communication system is changed or desired to be changed, the number of parity bits and the information sequence length can be used for the purpose of matching the frame format while keeping the code length constant.

実施の形態2.
実施の形態1ではSum-product復号の行演算について述べたが、他の復号法であっても同様の可能性は可能である。例えば、Sum-product復号法の行演算を近似計算することによって演算量を小さくした復号法に、本構成は適用可能である。それらの復号法の中に、Min-sum復号法がある。この復号法は、背景技術で示したSum-product復号法の行演算式(1)を、次の式(12)で置き換えたものである。
Embodiment 2. FIG.
In Embodiment 1, the row operation of Sum-product decoding has been described, but the same possibility is possible even with other decoding methods. For example, this configuration can be applied to a decoding method in which the amount of calculation is reduced by approximating the row operation of the Sum-product decoding method. Among these decoding methods, there is a Min-sum decoding method. This decoding method is obtained by replacing the row operation expression (1) of the Sum-product decoding method shown in the background art with the following expression (12).

Figure 2011109228
Figure 2011109228

Figure 2011109228
Figure 2011109228

の最小となる列番号がc'=pのときであった場合、式(12)は If the smallest column number of c ′ is p ′, Equation (12) is

Figure 2011109228
Figure 2011109228

の最小値と2番目に小さい値、および最小値となる列番号c'の値pを求め、sgn関数の積による符号を付加することで計算可能である。つまり、εr,cは、c=pに対しては2番目の最小値に符号を付加した値となり、c≠pに対しては最小値に符号を付加した値となる。 Can be calculated by obtaining the minimum value, the second smallest value, and the value p of the column number c ′ that is the minimum value, and adding the sign of the product of the sgn function. That is, ε r, c is a value obtained by adding a sign to the second minimum value for c = p, and a value obtained by adding a sign to the minimum value for c ≠ p.

前記の計算方法による行演算部a531を図8に示す。図8の行演算部aは、図6の行演算部aの行LLR演算器それぞれを最小2値演算器に置き換えた構成となっている。なお、最小2値とは最小値および2番目に小さい値のことを指す。   FIG. 8 shows a row calculation unit a531 based on the above calculation method. The row calculation unit a in FIG. 8 has a configuration in which each row LLR calculator in the row calculation unit a in FIG. 6 is replaced with a minimum binary calculation unit. The minimum binary value refers to the minimum value and the second smallest value.

図8の動作について説明する。最小2値演算器それぞれは、入力となる列LLRの正負の符号からεr,cの符号を各列cに対して計算し、また列LLRの絶対値の最小2値と最小値となる列番号の値pを算出し出力する。 The operation of FIG. 8 will be described. Each of the minimum binary calculators calculates the sign of ε r, c for each column c from the positive and negative signs of the input column LLR, and the column which becomes the minimum binary value and the minimum value of the absolute value of the column LLR The number value p is calculated and output.

行分割前行LLR演算器5では、最小2値演算器それぞれから入力された最小2値とp、および符号に基づいて行分割前の行rに対応する行演算を行う。符号は実施の形態1と同様にして計算可能である。行rが含む1の列番号全体における最小2値は、最小2値演算器それぞれから入力された最小2値の中での最小2値を計算することによって求めることができる。また、最小値となる列番号も入力された各pの中から計算可能である。   The row LLR calculator 5 before row division performs a row operation corresponding to the row r before row division based on the minimum binary value, p, and sign input from each of the minimum binary calculators. The sign can be calculated in the same manner as in the first embodiment. The minimum binary value in the entire column number of 1 included in the row r can be obtained by calculating the minimum binary value among the minimum binary values input from the minimum binary calculators. In addition, the column number that is the minimum value can also be calculated from among each input p.

出力回路7では、符号化率切り替え器による符号化率に従って、最小2値演算器からの入力値と行分割前行LLR演算器5からの入力値とのどちらかを選択し、最小2値とpとに従って、各行LLRを出力すればよい。   The output circuit 7 selects either the input value from the minimum binary computing unit or the input value from the row LLR computing unit 5 before row division according to the coding rate by the coding rate switching unit, Each row LLR may be output according to p.

なお、以上の構成では行分割前後の2つの符号化率の切り替えについて述べたが、実施の形態1と同様にして3つ以上の符号化率の切り替えが可能な復号器を構成可能である。   In the above configuration, switching between two coding rates before and after row division has been described. However, a decoder capable of switching between three or more coding rates can be configured in the same manner as in the first embodiment.

また、図8の行演算部aの構成は、Min-sum復号法以外にも、列LLRの絶対値の最小2値を求めるような復号法で構成可能である。たとえば、Offset BP-based復号法であれば、最小2値それぞれからオフセット値を引く演算を行う演算部を追加すればよく、またNormalized BP-based復号法であれば、最小2値それぞれとノーマライズファクターとの積を演算する演算器を追加すればよい。   In addition to the Min-sum decoding method, the configuration of the row calculation unit a in FIG. 8 can be configured by a decoding method that obtains the minimum binary value of the column LLR. For example, in the case of Offset BP-based decoding, it is only necessary to add a calculation unit that calculates an offset value from each of the minimum two values. In the case of Normalized BP-based decoding, each of the minimum two values and the normalization factor What is necessary is just to add the arithmetic unit which calculates the product of.

さらに、同様にして最小3値(最小値、2番目に小さい値、3番目に小さい値)を計算するような復号法にも同様の構成が可能であり、例えば巡回近似δ−min復号法であれば、図8の最小2値演算器の変わりに最小3値演算器を設置し、行分割前行LLR演算器5では最小3値演算器それぞれからの入力の中における最小3値を演算するようにすればよい。なお、この場合、D値と呼ばれる値を演算するデルタ演算器と、最小3値それぞれからD値を引く演算器とを図8の行演算部あに付加する必要がある。さらに、行演算において列LLRの絶対値の最小4値以上を計算する復号法であれば、本実施の形態と同様の構成が可能である。   Further, a similar configuration can be applied to a decoding method that similarly calculates the minimum three values (minimum value, the second smallest value, and the third smallest value). For example, in the cyclic approximation δ-min decoding method, If there is, a minimum ternary calculator is installed instead of the minimum binary calculator of FIG. 8, and the row LLR calculator 5 before row division calculates the minimum ternary value in the input from each of the minimum ternary calculators. What should I do? In this case, it is necessary to add a delta arithmetic unit that calculates a value called a D value and an arithmetic unit that subtracts the D value from each of the minimum three values to the row arithmetic unit in FIG. Furthermore, a configuration similar to that of the present embodiment is possible as long as the decoding method calculates at least four absolute values of the column LLR in a row operation.

以上のようにすれば、行分割後の行LLRの演算結果を用いて行分割前の行LLRも効率的に計算でき、行演算器の回路規模増大を抑えつつ、効率的に符号化率の切り替えに対応した復号器を構成することができる。   In this way, the row LLR before row division can be calculated efficiently using the calculation result of the row LLR after row division, and the coding rate can be efficiently increased while suppressing the increase in the circuit scale of the row operator. A decoder corresponding to the switching can be configured.

また、行分割後の行のうち、行重みが2の累乗数となる行がなるべく多く生じるように行分割を行えば、行重みが2の累乗数の行に対する行LLR演算回路を効率的に構成することができる。最小2値の算出には2値の比較を行重みの値に応じた回数だけ行うが、二分木のような構成(トーナメントのような構成)とした場合に、全ての段において全ての値が2値比較可能(2値比較を行う相手がいない場合が発生しない)だからである。   In addition, if row division is performed so that as many rows as possible with a power of 2 are generated among the rows after the row division, the row LLR arithmetic circuit for a row with a power of 2 is efficiently used. Can be configured. For the calculation of the minimum binary value, the binary comparison is performed the number of times corresponding to the value of the row weight. However, in the case of a configuration like a binary tree (a configuration like a tournament), all values are obtained in all stages. This is because binary comparison is possible (the case where there is no partner for binary comparison does not occur).

1,9 入力回路、2 行LLR演算器a、3 行LLR演算器b、4 行LLR演算器x、5 行分割前行LLR演算器、6 符号化率切り替え器、7,11 出力回路、10 行演算器、12 最小2値演算器a、13 最小2値演算器b、14 最小2値演算器x、100 符号化器、200 変調器、300 通信路、400 復調器、500 復号器、510 入力回路、520 受信LLR演算器、530 行演算器、531 行演算部a、532 行演算部b、540 列演算器、550 繰り返し演算終了判定回路、560 出力回路、570 メモリ。   1, 9 input circuit, 2 row LLR computing unit a, 3 row LLR computing unit b, 4 row LLR computing unit x, 5 row previous row LLR computing unit, 6 coding rate switching unit, 7, 11 output circuit, 10 Row arithmetic unit, 12 Minimum binary arithmetic unit a, 13 Minimum binary arithmetic unit b, 14 Minimum binary arithmetic unit x, 100 Encoder, 200 Modulator, 300 Communication path, 400 Demodulator, 500 Decoder, 510 Input circuit, 520 reception LLR arithmetic unit, 530 row arithmetic unit, 531 row arithmetic unit a, 532 row arithmetic unit b, 540 column arithmetic unit, 550 repetition arithmetic end determination circuit, 560 output circuit, 570 memory.

Claims (16)

LDPC符号の復号装置であって、
受信信号から受信LLRを算出する受信LLR算出手段と、
前記受信LLRまたは列LLRから行LLRを算出する行演算の際に、行演算を複数の演算に分割することで、パリティ検査行列の行を行分割することによって生じた複数の行それぞれに対する行演算を行う行演算手段と、
前記行LLRから列LLRおよび推定ビット列を算出する列演算手段と、
前記行演算手段と前記列演算手段とを交互に繰り返し、規定の回数に達した場合もしくは推定ビット列が符号語となった場合に繰り返しを終了する繰り返し演算終了判定手段と
を備えた復号装置。
An LDPC code decoding device comprising:
Received LLR calculating means for calculating received LLR from the received signal;
A row operation for each of a plurality of rows generated by dividing a row of the parity check matrix by dividing the row operation into a plurality of operations in a row operation for calculating a row LLR from the received LLR or the column LLR. A line operation means for performing
Column operation means for calculating a column LLR and an estimated bit string from the row LLR;
A decoding apparatus comprising: an iterative calculation end determining unit that repeats the row calculating unit and the column calculating unit alternately and ends the repetition when a predetermined number of times is reached or an estimated bit string becomes a code word.
請求項1に記載の復号装置において、
前記行演算手段として、パリティ検査行列の行分割後の行に対する行演算結果に基づいて行分割前の行に対する行演算を行うことにより、行分割の前後それぞれの行に対する行演算を切り替えて行う行演算手段
を備えたことを特徴とする復号装置。
The decoding device according to claim 1, wherein
As the row operation means, a row operation for each row before and after the row division is performed by performing a row operation on the row before the row division based on a row operation result for the row after the row division of the parity check matrix. A decoding apparatus comprising an arithmetic means.
請求項1に記載の復号装置において、
前記行演算手段として、行分割を複数回行ったパリティ検査行列それぞれに対する行演算を、より分割された行に対する行演算結果に基づいて、より分割される前の行に対する行演算を行うことにより、複数回の行分割それぞれに対する行演算を切り替えて行う行演算手段
を備えたことを特徴とする復号装置。
The decoding device according to claim 1, wherein
As the row calculation means, row calculation for each parity check matrix that has been subjected to row division multiple times, based on the row calculation result for the more divided rows, by performing row calculation on the row before being further divided, A decoding apparatus comprising: a row calculation means for switching a row calculation for each of a plurality of row divisions.
請求項2または3に記載の復号装置において、
前記行演算手段は、行分割の前後それぞれの行に対する行演算を最小2値演算器を用いて行う
ことを特徴とする復号装置。
The decoding device according to claim 2 or 3,
The decoding apparatus according to claim 1, wherein the row calculation means performs a row calculation on each row before and after row division using a minimum binary calculator.
LDPC符号の復号装置であって、
受信信号から受信LLRを算出する受信LLR算出手段と、
前記受信LLRまたは列LLRから行LLRを算出する行演算の際に、パリティ検査行列の複数の行を行結合することによって生じた行に対する行演算を、行結合前の行に対する複数の行演算を組み合わせることで行う行演算手段と、
前記行LLRから列LLRおよび推定ビット列を算出する列演算手段と、
前記行演算手段と前記列演算手段とを交互に繰り返し、規定の回数に達した場合もしくは推定ビット列が符号語となった場合に繰り返しを終了する繰り返し演算終了判定手段と
を備えたことを特徴とする復号装置。
An LDPC code decoding device comprising:
Received LLR calculating means for calculating received LLR from the received signal;
In the row operation for calculating the row LLR from the received LLR or the column LLR, the row operation for the row generated by combining the plurality of rows of the parity check matrix is performed, and the plurality of row operations for the row before the row combination are performed. Row arithmetic means to be combined,
Column operation means for calculating a column LLR and an estimated bit string from the row LLR;
The row calculation means and the column calculation means are alternately and repeatedly provided with a repetition calculation end determination means for ending the repetition when a prescribed number of times is reached or an estimated bit string becomes a code word. A decoding device.
請求項5に記載の復号装置において、
前記行演算手段として、パリティ検査行列の行結合前の行に対する行演算結果に基づいて行結合後の行に対する行演算を行うことにより、行結合の前後それぞれの行に対する行演算を切り替えて行う行演算手段
を備えたことを特徴とする復号装置。
The decoding device according to claim 5, wherein
As the row operation means, a row operation for each row before and after the row combination is performed by performing a row operation on the row after the row combination based on a row operation result for the row before the row combination of the parity check matrix. A decoding apparatus comprising an arithmetic means.
請求項5に記載の復号装置において、
前記行演算手段として、行結合を複数回行ったパリティ検査行列それぞれに対する行演算を、行結合前の行に対する行演算結果に基づいて、より行結合がなされた行に対する行演算を行うことにより、複数回の行結合それぞれに対する行演算を切り替えて行う行演算手段
を備えたことを特徴とする復号装置。
The decoding device according to claim 5, wherein
As the row operation means, by performing a row operation on each of the parity check matrices that have been subjected to row combination a plurality of times, based on a row operation result on the row before the row combination, by performing a row operation on the row that has been combined. A decoding apparatus comprising: row operation means for performing row operation for each of a plurality of row combinations.
請求項6または7記載の復号装置において、
前記行演算手段は、行結合の前後それぞれの行に対する行演算を最小2値演算器を用いて行う
ことを特徴とする復号装置。
The decoding device according to claim 6 or 7,
The decoding apparatus according to claim 1, wherein the row calculation means performs a row calculation on each row before and after row combination using a minimum binary calculator.
LDPC符号の復号方法であって、
受信信号から受信LLRを算出する受信LLR算出工程と、
前記受信LLRまたは列LLRから行LLRを算出する行演算の際に、行演算を複数の演算に分割することで、パリティ検査行列の行を行分割することによって生じた複数の行それぞれに対する行演算を行う行演算工程と、
前記行LLRから列LLRおよび推定ビット列を算出する列演算工程と、
前記行演算手段と前記列演算手段とを交互に繰り返し、規定の回数に達した場合もしくは推定ビット列が符号語となった場合に繰り返しを終了する繰り返し演算終了判定工程と
を備えた復号方法。
An LDPC code decoding method comprising:
A reception LLR calculation step of calculating a reception LLR from the reception signal;
A row operation for each of a plurality of rows generated by dividing a row of the parity check matrix by dividing the row operation into a plurality of operations in a row operation for calculating a row LLR from the received LLR or the column LLR. A row calculation step for performing
A column operation step of calculating a column LLR and an estimated bit string from the row LLR;
A decoding method comprising: an iterative calculation end determination step for repeating the row calculation means and the column calculation means alternately and ending the repetition when a prescribed number of times is reached or the estimated bit string becomes a code word.
請求項9に記載の復号方法において、
前記行演算工程は、パリティ検査行列の行分割後の行に対する行演算結果に基づいて行分割前の行に対する行演算を行うことにより、行分割の前後それぞれの行に対する行演算を切り替えて行う
を備えたことを特徴とする復号方法。
The decoding method according to claim 9, wherein
The row operation step is performed by switching the row operation for each row before and after the row division by performing the row operation on the row before the row division based on the row operation result on the row after the row division of the parity check matrix. A decoding method comprising:
請求項9に記載の復号方法において、
前記行演算工程は、行分割を複数回行ったパリティ検査行列それぞれに対する行演算を、より分割された行に対する行演算結果に基づいて、より分割される前の行に対する行演算を行うことにより、複数回の行分割それぞれに対する行演算を切り替えて行う
ことを特徴とする復号方法。
The decoding method according to claim 9, wherein
The row calculation step performs row calculation for each parity check matrix that has been subjected to row division a plurality of times, based on the row calculation results for the more divided rows, by performing row operations on the previous row. A decoding method characterized by switching row operations for each of a plurality of row divisions.
請求項10または11記載の復号方法において、
前記行演算工程は、行分割の前後それぞれの行に対する行演算を最小2値演算器を用いて行う
ことを特徴とする復号方法。
The decoding method according to claim 10 or 11,
In the decoding method, the row calculation step performs a row calculation on each row before and after the row division by using a minimum binary calculator.
LDPC符号の復号方法であって、
受信信号から受信LLRを算出する受信LLR算出工程と、
前記受信LLRまたは列LLRから行LLRを算出する行演算の際に、パリティ検査行列の複数の行を行結合することによって生じた行に対する行演算を、行結合前の行に対する複数の行演算を組み合わせることで行う行演算工程と、
前記行LLRから列LLRおよび推定ビット列を算出する列演算工程と、
前記行演算手段と前記列演算手段とを交互に繰り返し、規定の回数に達した場合もしくは推定ビット列が符号語となった場合に繰り返しを終了する繰り返し演算終了判定工程と
を備えた復号方法。
An LDPC code decoding method comprising:
A reception LLR calculation step of calculating a reception LLR from the reception signal;
In the row operation for calculating the row LLR from the received LLR or the column LLR, the row operation for the row generated by combining the plurality of rows of the parity check matrix is performed, and the plurality of row operations for the row before the row combination are performed. Line operation process to be performed by combining,
A column operation step of calculating a column LLR and an estimated bit string from the row LLR;
A decoding method comprising: an iterative calculation end determination step for repeating the row calculation means and the column calculation means alternately and ending the repetition when a prescribed number of times is reached or the estimated bit string becomes a code word.
請求項13に記載の復号方法において、
前記行演算工程は、パリティ検査行列の行結合前の行に対する行演算結果に基づいて行結合後の行に対する行演算を行うことにより、行結合の前後それぞれの行に対する行演算を切り替えて行う
ことを特徴とする復号方法。
The decoding method according to claim 13,
The row operation step performs the row operation for each row before and after the row combination by performing the row operation for the row after the row combination based on the row operation result for the row before the row combination of the parity check matrix. A decoding method characterized by the above.
請求項13に記載の復号方法において、
前記行演算工程は、行結合を複数回行ったパリティ検査行列それぞれに対する行演算を、行結合前の行に対する行演算結果に基づいて、より行結合がなされた行に対する行演算を行うことにより、複数回の行結合それぞれに対する行演算を切り替えて行う
ことを特徴とする復号方法。
The decoding method according to claim 13,
The row operation step performs a row operation on each parity check matrix obtained by performing row combination a plurality of times, based on a row operation result on the row before the row combination, by performing a row operation on a row that has been further combined. A decoding method characterized by switching row operations for each of a plurality of row joins.
請求項14または15記載の復号方法において、
前記行演算工程は、行結合の前後それぞれの行に対する行演算を最小2値演算器を用いて行う
ことを特徴とする復号方法。
The decoding method according to claim 14 or 15,
The decoding method according to claim 1, wherein the row operation step performs a row operation on each row before and after row combination using a minimum binary calculator.
JP2009259784A 2009-11-13 2009-11-13 Decoding apparatus and method Active JP5523064B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009259784A JP5523064B2 (en) 2009-11-13 2009-11-13 Decoding apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009259784A JP5523064B2 (en) 2009-11-13 2009-11-13 Decoding apparatus and method

Publications (2)

Publication Number Publication Date
JP2011109228A true JP2011109228A (en) 2011-06-02
JP5523064B2 JP5523064B2 (en) 2014-06-18

Family

ID=44232274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009259784A Active JP5523064B2 (en) 2009-11-13 2009-11-13 Decoding apparatus and method

Country Status (1)

Country Link
JP (1) JP5523064B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015060130A1 (en) * 2013-10-22 2015-04-30 日本電信電話株式会社 Sparse graph creation device and sparse graph creation method
WO2015133288A1 (en) * 2014-03-04 2015-09-11 三菱電機株式会社 Fec frame processing device and fec frame processing method
CN115276910A (en) * 2022-07-29 2022-11-01 深圳鹏龙通科技有限公司 LDPC rate matching method, signal transmitting apparatus and signal receiving apparatus

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005269535A (en) * 2004-03-22 2005-09-29 Sumitomo Electric Ind Ltd Decoding device and preprocessing apparatus
WO2007007801A1 (en) * 2005-07-13 2007-01-18 Mitsubishi Electric Corporation Communication apparatus and decoding method
US20070043998A1 (en) * 2005-08-03 2007-02-22 Novowave, Inc. Systems and methods for a turbo low-density parity-check decoder
WO2007108396A1 (en) * 2006-03-17 2007-09-27 Mitsubishi Electric Corporation Communication device, decoding device, information transmission method, and decoding method
US20080263425A1 (en) * 2005-08-03 2008-10-23 Ismail Lakkis Turbo LDPC Decoding
JP2009021676A (en) * 2007-07-10 2009-01-29 Sony Corp Coding method and coder
WO2011062111A1 (en) * 2009-11-17 2011-05-26 三菱電機株式会社 Error correction method and device, and communication system using the same

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005269535A (en) * 2004-03-22 2005-09-29 Sumitomo Electric Ind Ltd Decoding device and preprocessing apparatus
WO2007007801A1 (en) * 2005-07-13 2007-01-18 Mitsubishi Electric Corporation Communication apparatus and decoding method
US20070043998A1 (en) * 2005-08-03 2007-02-22 Novowave, Inc. Systems and methods for a turbo low-density parity-check decoder
US20080263425A1 (en) * 2005-08-03 2008-10-23 Ismail Lakkis Turbo LDPC Decoding
WO2007108396A1 (en) * 2006-03-17 2007-09-27 Mitsubishi Electric Corporation Communication device, decoding device, information transmission method, and decoding method
JP2009021676A (en) * 2007-07-10 2009-01-29 Sony Corp Coding method and coder
WO2011062111A1 (en) * 2009-11-17 2011-05-26 三菱電機株式会社 Error correction method and device, and communication system using the same

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6013040496; Hyeong-Gun Joo, et al.: 'New Construction of Rate-CompatibleBlock-Type Low-Density Parity-Check Codes Using Splitting' Proceedings of the IEEE 17th International Symposium on Personal, Indoor and Mobile Radio Communicat , 20060914 *
JPN6013042887; 今井 優太 外4名: '動的再構成可能なマルチレート対応LDPC符号復号器の実装' 電子情報通信学会技術研究報告 Vol.106, No.393, 20061122, pp.35-40 *
JPN6013042889; 杉原 堅也 外3名: 'LDPC符号の行分割による符号化率調整手法' 2010年電子情報通信学会総合大会講演論文集 基礎・境界 , 20100302, p.123 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015060130A1 (en) * 2013-10-22 2015-04-30 日本電信電話株式会社 Sparse graph creation device and sparse graph creation method
US11303305B2 (en) 2013-10-22 2022-04-12 Nippon Telegraph And Telephone Corporation Sparse graph creation device and sparse graph creation method
WO2015133288A1 (en) * 2014-03-04 2015-09-11 三菱電機株式会社 Fec frame processing device and fec frame processing method
JPWO2015133288A1 (en) * 2014-03-04 2017-04-06 三菱電機株式会社 FEC frame processing apparatus and FEC frame processing method
CN115276910A (en) * 2022-07-29 2022-11-01 深圳鹏龙通科技有限公司 LDPC rate matching method, signal transmitting apparatus and signal receiving apparatus

Also Published As

Publication number Publication date
JP5523064B2 (en) 2014-06-18

Similar Documents

Publication Publication Date Title
CN110089037B (en) Apparatus and method for polar code construction
US9608666B1 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
JP4602418B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, encoder, and decoder
US8010869B2 (en) Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
US7934146B2 (en) Method, apparatus and computer program product providing for data block encoding and decoding
US8726137B2 (en) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
US11784668B2 (en) Decoding fec codewords using ldpc codes define by a parity check matrix which is defined by rpc and qc constraints
US10103751B2 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
JP5875713B2 (en) Transmitter and receiver, and coding rate variable method
US20110289375A1 (en) Method for constructing an ldpc code, transmitter, and receiver
WO2008092040A2 (en) Ldpc encoding and decoding of packets of variable sizes
WO2021118395A1 (en) Spatially coupled forward error correction encoding method and device using generalized error locating codes as component codes
JP5523064B2 (en) Decoding apparatus and method
CN111164897B (en) Generalized low density parity check code
Heloir et al. Stochastic chase decoder for reed-solomon codes
KR20110114204A (en) Ldpc encoding method and ldpc encoder
JP2011146899A (en) Encoder, decoder and encoding method and decoding method
KR20180122255A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
EP3771105A1 (en) Transmitter, receiver, communication system, and coding rate revision method
KR101267756B1 (en) Method for encoding and decoding rate-compatible irregular repeat multiple-state accumulate codes and apparatuses using the same
US20240120949A1 (en) Decoding fec codewords using ldpc codes defined by a parity check matrix which is defined by rpc and qc constraints
KR101227328B1 (en) Method for encoding and decoding rate-compatible unitive state-check codes and apparatuses using the same
KR101267654B1 (en) Method for encoding and decoding irregular repeat multiple-state accumulate codes supportig variable length codeword and apparatuses using the same
Liu Novel LDPC coding and decoding strategies: design, analysis, and algorithms
CN112470406A (en) Ordering apparatus and method for basic check node processing for message passing decoding of non-binary codes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140408

R150 Certificate of patent or registration of utility model

Ref document number: 5523064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250