JP2008205546A - Decoding method and decoding apparatus, and program - Google Patents

Decoding method and decoding apparatus, and program Download PDF

Info

Publication number
JP2008205546A
JP2008205546A JP2007036016A JP2007036016A JP2008205546A JP 2008205546 A JP2008205546 A JP 2008205546A JP 2007036016 A JP2007036016 A JP 2007036016A JP 2007036016 A JP2007036016 A JP 2007036016A JP 2008205546 A JP2008205546 A JP 2008205546A
Authority
JP
Japan
Prior art keywords
diagonalization
reliability
column
row
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007036016A
Other languages
Japanese (ja)
Inventor
Satoshi Okada
諭志 岡田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2007036016A priority Critical patent/JP2008205546A/en
Publication of JP2008205546A publication Critical patent/JP2008205546A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a decoding method and a decoding apparatus capable of reducing an operation frequency and increasing the repeating number of times of operation and to provide a program. <P>SOLUTION: The decoding apparatus 30 for updating the reliability of received words by executing belief propagation (BP) by using a parity check matrix obtained by sorting the received words according to the levels of the reliability and diagonalizing the received words in the sorted order and repeating the operation described above about the updated value, includes processing parts 32, 33, 35 for executing the belief propagation by using the parity check matrix in which the received values are diagonalized in the column order corresponding to symbols of the ascending order of reliability (LLR), and in the case of inside repeat decoding processing for repeating the operation on the basis of the updated reliability, forcedly determining columns to be replaced between a column to be diagonalized and a column not to be diagonalized at the completion of sorting the reliability order. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、たとえば代数的手法を用いた誤り訂正符号技術を実現するための回路およびプログラム記憶媒体に関して適用される復号方法および復号装置、並びにプログラムに関するものである。   The present invention relates to a decoding method, a decoding apparatus, and a program applied to a circuit and a program storage medium for realizing an error correction coding technique using, for example, an algebraic technique.

代数幾何符号、たとえばリードソロモン(Reed−Solomon)符号やその部分体部分符号としてのBCH符号には、その代数的性質を利用した、性能・計算コスト共に良い復号法が知られている。   An algebraic geometric code, for example, a Reed-Solomon code or a BCH code as a sub-partial code thereof, is known a decoding method using the algebraic property and having good performance and calculation cost.

たとえば、符号長n、情報長k、定義体GF(q)(q=p,p:素数)、最小距離d=n−kのReed−Solomon符号をRS(n,k)とすると、硬判定受信語をハミング(Hamming)距離が最小の符号語に復号する最小距離復号(通常復号)はt<d/2を満たすt個の誤りシンボルの訂正を保証するものとして良く知られている。 For example, if a Reed-Solomon code having a code length n, an information length k, a definition field GF (q) (q = p m , p: prime number) and a minimum distance d = n−k is RS (n, k), It is well known that minimum distance decoding (normal decoding) for decoding a decision received word into a code word with a minimum Hamming distance guarantees correction of t error symbols satisfying t <d / 2.

また、グルスワミ−スーダン(Guruswami−Sudan)によるリスト復号(以下G−Sリスト復号)は、t<√nkを満たすt個の誤りシンボルの訂正を保証している(非特許文献1参照)。   Also, list decoding (hereinafter referred to as GS list decoding) by Guruswami-Sudan guarantees correction of t error symbols that satisfy t <√nk (see Non-Patent Document 1).

Guruswami−Sudanのリスト復号の拡張版として軟判定受信語を用いたコータ−バルディ(Koetter−Vardy)によるリスト復号(以下K−Vリスト復号)は、Guruswami−Sudan同様に(1)受信情報から各シンボルの信頼性を算出、(2)信頼性から2変数多項式補間条件の抽出、(3)2変数多項式の補間、(4)補間多項式の因数分解を行い復号語リスト作成、の4つの手順により構成され、硬判定復号時に比べてより高い性能を持つことが知られている(非特許文献2参照)。   List decoding (hereinafter referred to as K-V list decoding) by coater-Vardy using soft-decision received words as an extended version of Guruswami-Sudan list decoding is similar to Guruswami-Sudan. Calculation of symbol reliability, (2) extraction of bivariate polynomial interpolation conditions from reliability, (3) interpolation of bivariate polynomial, (4) factorization of interpolation polynomial and creation of decoded word list It is known that it has a higher performance than that of hard decision decoding (see Non-Patent Document 2).

また、リエンコード(Re−encode)により、その計算コストも現実的な範囲まで削減できることが知られている(非特許文献3参照)。   It is also known that the calculation cost can be reduced to a practical range by re-encoding (see Non-Patent Document 3).

一方、線形符号としては、信頼性伝播(belief propagation:BP)を用いた繰り返し復号により限界性能に近い高性能を得られる低密度パリティ検査符号(Low density parity−check code,LDPC符号)が昨今注目されている(非特許文献4参照)。   On the other hand, as a linear code, a low density parity-check code (LDPC code) that can obtain high performance close to the limit performance by iterative decoding using belief propagation (BP) has recently attracted attention. (See Non-Patent Document 4).

LDPC符号に用いられる信頼性伝播(BP)は、一般に低密度なパリティ検査行列を持つ線形符号にしか有効でないことが理論的に知られており、また、Reed−Solomon符号やBCH符号のパリティ検査行列を低密度化することはNP−hardであることが知られている(非特許文献5参照)。   It is theoretically known that belief propagation (BP) used for LDPC codes is generally effective only for linear codes having a low-density parity check matrix, and parity check for Reed-Solomon codes and BCH codes. It is known that reducing the density of a matrix is NP-hard (see Non-Patent Document 5).

よって、Reed−Solomon符号やBCH符号に信頼性伝播(BP)を適用することは困難であるとされてきた。   Therefore, it has been considered difficult to apply reliability propagation (BP) to Reed-Solomon codes and BCH codes.

しかし、2004年、受信語の信頼性に応じて対角化を行ったパリティ検査行列を用いてReed−Solomon符号やBCH符号、その他低密度でないパリティ検査行列を持つ線形符号への信頼性伝播(BP)の適用が効果的であることがナラヤナン(Narayanan)等によって紹介された(非特許文献6参照)。   However, in 2004, reliability propagation to Reed-Solomon codes, BCH codes, and other linear codes having a parity check matrix that is not low density using a parity check matrix that is diagonalized according to the reliability of the received word ( It was introduced by Narayanan et al. (See Non-Patent Document 6) that the application of BP) is effective.

この手法は、適応的信頼性伝播(ABP:Adaptive Belief Propagation)復号と呼ばれる。以下、このABP復号法について説明する。   This technique is called Adaptive Belief Propagation (ABP) decoding. Hereinafter, this ABP decoding method will be described.

たとえば、符号長n=6、情報長k=3、符号化率r=1/2の符号で、以下の3×6行列Hをパリティ検査行列として持つような線形符号Cを考える。   For example, consider a linear code C having a code length n = 6, an information length k = 3, and a coding rate r = 1/2 and having the following 3 × 6 matrix H as a parity check matrix.

Figure 2008205546
Figure 2008205546

符号空間Cは、次のように表される。   The code space C is expressed as follows.

Figure 2008205546
Figure 2008205546

ある符号語があるチャネル、たとえばBPSK変調+AWGNチャネル(Additive White Gaussian Noiseチャネル)を通った後、次のような受信語rとして受信機が受け取ったとする。   Suppose that a code word passes through a certain channel, for example, a BPSK modulation + AWGN channel (Additive White Gaussian Noise channel), and then is received by the receiver as a received word r as follows.

Figure 2008205546
Figure 2008205546

このとき、受信値の各絶対値の大きさは受信語の信頼性の高さを表す。つまり、信頼性の低い順に番号をつけると以下のようになる。   At this time, the magnitude of each absolute value of the received value represents the reliability of the received word. In other words, numbers are assigned in ascending order of reliability as follows.

Figure 2008205546
Figure 2008205546

次に、信頼性の低いシンボルに対応する列より順にパリティ検査行列Hの対角化を行う。この例においては、信頼性の低いシンボルに対応する列は順に第3列、第5列、第1列、第4または第6列、第2列となるので、その優先順位に従ってHの対角化を行う。   Next, the parity check matrix H is diagonalized in order from the column corresponding to the symbol with low reliability. In this example, the columns corresponding to the symbols with low reliability are the third column, the fifth column, the first column, the fourth or sixth column, and the second column in this order. To do.

Figure 2008205546
Figure 2008205546

Figure 2008205546
Figure 2008205546

Figure 2008205546
Figure 2008205546

対角化を試みた列がそれ以前に対角化した列と線形従属であった場合は、その列はそのまま残し、次の順位の列で対角化を試みる。
このようにして行列Hのランク分対角化が行われた結果得られる新たなパリティ検査行列Hnewを用いて、信頼性伝播(BP)による信頼性の更新を行う。
If the diagonalization attempt is linearly dependent on the previous diagonalization, it is left as is and diagonalization is attempted on the next rank.
Reliability is updated by reliability propagation (BP) using a new parity check matrix Hnew obtained as a result of diagonalization of the matrix H by rank.

図1はパリティ検査行列Hnewに対応するタナーグラフである。
信頼性伝播(BP)はタナーグラフのエッジに沿ってメッセージを行き来させることによって実現される。
行列の各列に対応するノードを可変(variable:バリアブル)ノード1、各行に対応するノードを検査(check:チェック)ノード2と呼ぶ。
FIG. 1 is a Tanner graph corresponding to the parity check matrix Hnew.
Trust propagation (BP) is achieved by moving messages back and forth along the edges of the Tanner graph.
A node corresponding to each column of the matrix is referred to as a variable node 1, and a node corresponding to each row is referred to as a check node 2.

i番目のバリアブルノードからj番目のチェックノードへのメッセージをQi,j、j番目のチェックノードからi番目のバリアブルノードへのメッセージをRi,j、さらにi番目のバリアブルノードに連接するチェックノードのインデックス集合をJ(i)、j番目のチェックノードに連接するバリアブルノードのインデックス集合をI(j)とした場合、それぞれの更新式は以下のようになる。   The message from the i-th variable node to the j-th check node is Q i, j, the message from the j-th check node to the i-th variable node is Ri, j, and the check node connected to the i-th variable node When the index set is J (i) and the index set of variable nodes connected to the jth check node is I (j), the respective update formulas are as follows.

Figure 2008205546
Figure 2008205546

ここで、θはバーティカルステップダンピングファクタ(vertical step damping factor)と呼ばれる係数を示し、0<θ≦1なる条件を満足する。Qi,jの初期値はrjが設定され、外部情報(extrinsic information)Λ 更新は次式により行われる。 Here, θ represents a coefficient called a vertical step damping factor, and satisfies the condition of 0 <θ ≦ 1. Rj is set as the initial value of Qi, j, and extrinsic information Λ i x is updated by the following equation.

Figure 2008205546
Figure 2008205546

さらに、各符号ビットのLLRΛ の更新は、次式により行われる。 Furthermore, LLRΛ i q of each code bit is updated by the following equation.

Figure 2008205546
Figure 2008205546

ここで、α1は適応的信頼性伝播ダンピングファクタ(adaptive belief propagation damping factor)と呼ばれる係数を示し、0<α1≦1なる条件を満足する。
この信頼性伝播(BP)によるLLRの更新は事前に用意された繰り返し停止条件を満たすまで、たとえば最大繰り返し数Itに達成するまで繰り返される。
また、LLRを更新する列は、全ての列を対象とせずとも一部の列、たとえば対角化の対象となった列についてのみ行ってもよい。
Here, α1 represents a coefficient called an adaptive belief propagation damping factor and satisfies the condition of 0 <α1 ≦ 1.
The update of the LLR by the reliability propagation (BP) is repeated until the repetition stop condition prepared in advance is satisfied, for example, until the maximum repetition number It H is reached.
In addition, the columns for updating the LLR may be performed only for some columns, for example, the columns subjected to diagonalization, without targeting all the columns.

信頼性伝播(BP)によって更新されたLLRの信頼性を用いて、つまり、LLRの絶対値の大きさを信頼性として、信頼性の低いシンボルに対応する列順に対角化を行うことにより、新たな信頼性伝播(BP)による繰り返し復号を行うことができる。
これを内側繰り返し復号と呼ぶ。このLLRの更新は事前に用意された内側繰り返し復号停止条件SC1を満たすまで繰り返される。
By using the reliability of the LLR updated by belief propagation (BP), that is, by using the magnitude of the absolute value of the LLR as reliability, diagonalization is performed in the order of columns corresponding to symbols with low reliability, Iterative decoding by new reliability propagation (BP) can be performed.
This is called inner iterative decoding. This LLR update is repeated until an inner iterative decoding stop condition SC1 prepared in advance is satisfied.

さらに、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の順位を複数用意する。複数の順位を用いて、シリアルもしくはパラレルに繰り返し内側繰り返し復号を行う。
これを外側繰り返し復号と呼ぶ。このLLR更新は事前に用意された外側繰り返し復号停止条件SC2を満たすまで繰り返される。
Further, a plurality of ranks other than the reliability order of the received values are prepared as initial values of the diagonalization priorities of the columns of the parity check matrix. Using a plurality of ranks, iterative inner decoding is performed serially or in parallel.
This is called outer iterative decoding. This LLR update is repeated until the outer repeated decoding stop condition SC2 prepared in advance is satisfied.

以上のABP(adaptive belief propagation)手順により繰り返し更新されたLLRを入カとして、復号器により復号を行う。
今、対象となる線形符号がReed−Solomon符号であった場合、繰り返し復号停止条件SC1、SC2として、たとえば以下のものが考えられる。
The decoder performs decoding using the LLR repeatedly updated by the above ABP (adaptive belief propagation) procedure as an input.
If the target linear code is a Reed-Solomon code, for example, the following can be considered as the iterative decoding stop conditions SC1 and SC2.

(A) H・d == 0または繰り返し数t≧N、
(B) 限界距離復号成功または繰り返し数t≧N、
(C) Koetter−Vardy軟判定リスト復号成功または繰り返し数t≧N。
(A) H · d == 0 or the number of repetitions t ≧ N,
(B) Successful limit distance decoding or number of repetitions t ≧ N,
(C) Koeter-Vardy soft decision list decoding success or number of iterations t ≧ N.

ここで、d=(d,d,・・・,d)はΛの硬判定結果、d={Λ >0なら1,Λ ≦0なら0}であり、Nは事前に決めた最大繰り返し回数である。
また、復号方法として、たとえば以下のものが考えられる。
Here, d = (d 1 , d 2 ,..., D 6 ) is a hard decision result of Λ i , 1 if d i = {Λ i q > 0, 0 if Λ i q ≦ 0}, N is a predetermined maximum number of repetitions.
As a decoding method, for example, the following can be considered.

(a) 硬判定復号
(b) 限界距離復号
(c) Koetter−Vardy軟判定リスト復号
(A) Hard decision decoding (b) Limit distance decoding (c) Koeter-Vardy soft decision list decoding

図2は、ABP復号法を用いた繰り返し復号のフローチャートである。   FIG. 2 is a flowchart of iterative decoding using the ABP decoding method.

受信語の信頼性順の探索を行い(ST1)、順序変換を行う(ST2)。
変換した順序に応じてパリティ検査行列の対角化を行い(ST3)、このパリティ検査行列を用いて信頼性伝播(BP)を行う(ST4)。
次に、LLRを計算し(ST5)、計算したLLRの信頼性順を探索し(ST6)、復号を行い、復号語をリストへ追加する(ST7)。
そして、繰り返し復号停止条件N1,N2を満足するまで以上の処理を繰り返す(ST8、ST9)。
そして、復号語を1つ選択する(ST10)。
A search is performed in the order of reliability of received words (ST1), and order conversion is performed (ST2).
The parity check matrix is diagonalized according to the converted order (ST3), and reliability propagation (BP) is performed using this parity check matrix (ST4).
Next, the LLR is calculated (ST5), the reliability order of the calculated LLR is searched (ST6), decoding is performed, and the decoded word is added to the list (ST7).
The above processing is repeated until the repeated decoding stop conditions N1 and N2 are satisfied (ST8 and ST9).
Then, one decoded word is selected (ST10).

V.Guruswami,M.Sudan,Improve decoding of Reed−Solomon and Algebraic−Geometry codes,IEEE Transactions on Information Theory,vol.45,pp.1757−1767,1999V. Guruswami, M .; Sudan, Improving decoding of Reed-Solomon and Algebraic-Geometry codes, IEEE Transactions on Information Theory, vol. 45, pp. 1757-1767, 1999 R.Koetter,A.Vardy,Algebraic soft−decision decoding of Reed−Solomon codes,IEEE Transactions on Information Theory,2001R. Koetter, A .; Vardy, Algebraic soft-decision decoding of Reed-Solomon codes, IEEE Transactions on Information Theory, 2001 R.Koetter,J.Ma,A.Vardy,A,Ahmed,Effcient Interpolation and Factorization in Algebraic Soft−Decision Decoding of Reed−Solomon codes,Proceedings of ISIT2003R. Koetter, J. et al. Ma, A .; Vardy, A, Ahmed, Effective Interpolation and Factorization in Algebraic Soft-Decoding Decoding of Reed-Solomon codes, Proceedings of ISIT2003 D.MacKay,Good Error−Correcting Codes Based on Very Sparse Matrices,IEEE Transactions on Information Theory,1999D. MacKay, Good Error-Correcting Codes Based on Very Sparse Matrices, IEEE Transactions on Information Theory, 1999 Berlekamp,R.McEliece,H.van Tilborg,On the inherent intractability of certain coding problems,IEEE Transactions on Information Theory,vol.24,pp.384−386,May,1978)。Berlekamp, R.M. McEliece, H.M. van Tilburg, On the Inherent Intactability of certain coding problems, IEEE Transactions on Information Theory, vol. 24, pp. 384-386, May, 1978). Jing Jiang,K.R.Narayan,Soft Decision Decoding of RS Codes Using Adaptive Parity Check Matrices,Proceeding of IEEE International Symposium on Information Theory 2004Jing Jiang, K.J. R. Narayan, Soft Decision Decoding of RS Codes Using Adaptive Parity Check Matrices, Proceeding of IEEE International Symposium on Information 4

ところで、上述の技術では、受信LLRの大きさ順に列インデックスをソートする作業、および信頼性伝播(BP)によって更新されたLLRを用いて再び列インデックスをソートしなおす作業を行うソート装置が必要となる。   By the way, the above-described technique requires a sort device that sorts column indexes in the order of received LLR sizes and sorts column indexes again using LLR updated by reliability propagation (BP). Become.

また、ソートを行った後に、後段の対角化装置が望むタイミングで列インデックスを出力する必要や、更新されたLLRをソートする際に、一部の列のみLLRが更新され、更新されたインデックスのみ入力される場合は、更新前のソートされたインデックス順の中にLLRが更新されたインデックスを反映していく必要があるなど、様々な制約条件がある。   In addition, after sorting, it is necessary to output a column index at a timing desired by the subsequent diagonalization apparatus. When sorting updated LLRs, only a part of the columns is updated, and the updated index is updated. However, there are various restrictions such as the need to reflect the index with the updated LLR in the sorted index order before the update.

また、実際には、RS(204,188)といったHよりも符号長の大きいRS符号を対象としたシステムが多く、これについて、既存の技術を用いて現実的な動作周波数で実現することは困難である。   Also, in practice, there are many systems that target RS codes having a code length larger than H, such as RS (204, 188), and it is difficult to realize this at a realistic operating frequency using existing technology. It is.

図3は、ABP復号装置の繰り返し毎のフローの一列を示す図である。   FIG. 3 is a diagram illustrating a sequence of flows for each repetition of the ABP decoding apparatus.

受信語が到来したらそれを信頼度の大きさに従いソートし、信頼度の小さい128列についてパリティ検査行列Hの対角化を行い、対角化後のパリティ検査行列をH1とする。
このH1を利用して信頼性伝播(BP)を行う。この場合、対角化対象となった128列のみ信頼度を更新する。繰り返し二回目以降も同様に、更新信頼度をソートし直し、信頼度の小さい128列についてパリティ検査行列Hを対角化し、信頼性伝播(BP)を行うことを繰り返す。
When received words arrive, they are sorted according to the degree of reliability, the parity check matrix H is diagonalized for 128 columns with low reliability, and the parity check matrix after diagonalization is set to H1.
Reliability propagation (BP) is performed using this H1. In this case, the reliability is updated only for 128 columns that are diagonalized. Similarly, after the second repetition, the update reliability is re-sorted, the parity check matrix H is diagonalized for 128 columns with low reliability, and reliability propagation (BP) is repeated.

以上のようなABP復号装置を実現したい場合、以下のように所要動作周波数を想定できる。
たとえば、RS(240,188)を想定し、内側繰り返し復号を装置で実現することを想定した場合、内側繰り返し数を10回、LLRの更新を対角化対象となった列128列にのみ限定し、信頼性伝播(BP)の繰り返し数を1回にする条件において、ABP復号するための必要なクロックサイクル数は、次のようになる。
When it is desired to realize the ABP decoding apparatus as described above, a required operating frequency can be assumed as follows.
For example, assuming RS (240, 188) and assuming that inner iterative decoding is realized by the apparatus, the number of inner iterations is 10 times, and the update of LLR is limited to only 128 columns targeted for diagonalization. The number of clock cycles required for ABP decoding under the condition that the number of reliability propagation (BP) iterations is one is as follows.

Figure 2008205546
Figure 2008205546

ここで、T1は繰り返し一回目に必要とするクロックサイクル数、T2は繰り返し二回目以降に必要とするクロックサイクル数を示している。
T1は、次式で示すようなクロックサイクル数が必要となる。
Here, T1 indicates the number of clock cycles required for the first repetition, and T2 indicates the number of clock cycles required for the second and subsequent repetitions.
T1 requires the number of clock cycles as shown in the following equation.

Figure 2008205546
Figure 2008205546

ここで、Tsort1は、ソートに必要とするクロックサイクル数を示し、逆写像ソートを利用した場合、最低でも入力ビット数1632クロックサイクルが必要となる。また、Tdiagは、対角化に必要とするクロックサイクル数を示し、一回の行読出しで要探索と掃き出しを一度に行い、かつ並列に複数列、たとえばここでは4列の基本変形を行う対角化装置を利用した場合、今回R列パラレルに基本変形すると、最低でも128×128/4=4096クロックサイクル数必要とする。また、Tbpは、信頼性伝播(BP)に必要とするクロックサイクル数を示し、対角化対象となった128列のみLLR更新を行うので、最低128クロックサイクル数必要となる。   Here, Tsort1 indicates the number of clock cycles required for sorting. When reverse mapping sorting is used, the number of input bits of 1632 clock cycles is required at the minimum. Further, Tdiag indicates the number of clock cycles required for diagonalization, a search and sweep-out are performed at a time by one row reading, and a basic deformation of a plurality of columns, for example, four columns in this case, is performed in parallel. When the keratinizer is used, if it is basically modified to R-column parallel this time, at least 128 × 128/4 = 4096 clock cycles are required. Further, Tbp indicates the number of clock cycles required for reliability propagation (BP), and since LLR updating is performed only on 128 columns to be diagonalized, a minimum number of 128 clock cycles is required.

以上より、T1は次のようになる   From the above, T1 is as follows:

Figure 2008205546
Figure 2008205546

また、内側繰り返し二回目以降のT2は次のようになる。   In addition, T2 after the second inner repetition is as follows.

Figure 2008205546
Figure 2008205546

ここで、Tsort2は、内側繰り返し二回目以降のソートに必要とするクロックサイクル数を示し、LLRが更新される列インデックスが128列とすると、Tsort2=128と考えうる。
しかし、繰り返し二回目以降は、前繰り返しの信頼性伝播(BP)により、毎クロックサイクル1列ずつ更新された信頼度をソート装置に入力すれば、信頼性伝播(BP)とソートはほぼ同時に行うことが可能なためTsort2=0とすることができる。つまり、T2は次のようになる。
Here, Tsort2 indicates the number of clock cycles necessary for the second and subsequent inner repetitions. If the column index for updating the LLR is 128 columns, it can be considered that Tsort2 = 128.
However, in the second and subsequent iterations, if the reliability updated by one column per clock cycle is input to the sorting device by the reliability propagation (BP) of the previous iteration, the reliability propagation (BP) and the sorting are performed almost simultaneously. Therefore, Tsort2 = 0 can be set. That is, T2 is as follows.

Figure 2008205546
Figure 2008205546

このように、内側繰り返し二回目以降は、繰り返し一回につき4224サイクルかかることから、既存の技術では実現し得ないような動作周波数が必要になり、また、繰り返し数を増やしたりすることが極めて困難である。   As described above, since the second and subsequent inner repetitions require 4224 cycles per repetition, an operating frequency that cannot be realized with existing technology is required, and it is extremely difficult to increase the number of repetitions. It is.

本発明は、動作周波数を低減することができ、また、繰り返し数を増やしたりすることが可能な復号方法および復号装置、並びにプログラムを提供することにある。   An object of the present invention is to provide a decoding method, a decoding device, and a program that can reduce the operating frequency and increase the number of repetitions.

本発明の第1の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理ステップを有し、信頼性順のソートが完了した時点で、次の内側繰り返しで対角化対象列と対角化非対象列の間で入れ替える列を強制的に決定する。   The first aspect of the present invention is to perform reliability propagation (BP) using a parity check matrix that is sorted according to the magnitude of the reliability of received words and diagonalized in that order, and the reliability. And a parity check matrix that is diagonalized in the column order corresponding to the symbol with the small reliability (LLR) of the received value. And the inner iterative decoding process step that repeats this operation based on the updated reliability, and when the sorting in the order of reliability is completed, the next inner iteration repeats the pairing with the diagonalization target column. Forcibly determine the column to be swapped between non-keratinized columns.

本発明の第2の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号装置であって、受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理の際に、信頼性順のソートが完了した時点で、次の内側繰り返しで対角化対象列と対角化非対象列の間で入れ替える列を強制的に決定する処理部を有する。   According to a second aspect of the present invention, reliability propagation (BP) is performed using a parity check matrix that is sorted according to the reliability of received words and diagonalized in that order. And using the parity check matrix diagonalized in the column order corresponding to the symbol with the small reliability (LLR) of the received value. In the inner iterative decoding process that performs reliability propagation and repeats this operation based on the updated reliability, when the sorting in the order of reliability is completed, the diagonalization target column and the diagonalization are performed in the next inner iteration. A processing unit for forcibly determining a column to be exchanged between the non-target columns.

本発明の第3の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号処理において、受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理ステップで、信頼性順のソートが完了した時点で、次の内側繰り返しで対角化対象列と対角化非対象列の間で入れ替える列を強制的に決定する処理をコンピュータに実行させるプログラムである。   The third aspect of the present invention is to perform reliability propagation (BP) using a parity check matrix that is sorted according to the reliability of received words and diagonalized in that order, and the reliability. In the decoding process in which the above operation is repeated again for the updated value, the parity check matrix diagonalized in the column order corresponding to the symbol having the small reliability (LLR) of the received value is used for trust. In the inner iterative decoding process step that repeats this behavior based on the updated reliability, when the sorting in the order of reliability is completed, the diagonalization target column and the diagonalization non-target are performed in the next inner iteration. This is a program for causing a computer to execute processing for forcibly determining a column to be exchanged between columns.

本発明によれば、ソート処理と対角化処理と信頼性伝播(BP)処理をパラレルに動作させる。そのために、信頼性伝播(BP)処理のために読み出しているパリティ行を同時に対角化処理の要探索、掃き出し系へ送り込む方法が適用可能である。
しかし、この時点で、次回の繰り返しで新しく対角化対象列になる複数列(たとえば4列)は決定しているが、次回の繰り返しで新しく対角化対象から外れる4列が決定しておらず、つまりは要行リストから外れる4行について決定できないため、信頼性伝播(BP)が行われている時点で次の繰り返しのパリティ検査行列を生成するのは困難である。
そのため、ソート後の信頼性の順番により、次回の繰り返しで新しく対角化対象列になる4列だけでなく、次回の繰り返しで新しく対角化対象から外れる4列も決定する。
これにより、ソート処理と対角化処理と信頼性伝播(BP)処理が並列(パラレル)に行われる。
According to the present invention, the sort process, the diagonalization process, and the belief propagation (BP) process are operated in parallel. Therefore, it is possible to apply a method in which a parity row being read for belief propagation (BP) processing is simultaneously sent to a search required for diagonalization processing and a flushing system.
However, at this time, a plurality of columns (for example, 4 columns) that will be newly diagonalized are determined in the next iteration, but four columns that are newly excluded from the diagonalization are determined in the next iteration. In other words, it is difficult to generate the next repeated parity check matrix at the time when the reliability propagation (BP) is performed because it is not possible to determine four rows that are out of the required row list.
Therefore, not only the four columns that will be newly diagonalized in the next iteration but also the four columns that are newly excluded from the diagonalization in the next iteration are determined according to the order of reliability after sorting.
As a result, the sort process, the diagonalization process, and the reliability propagation (BP) process are performed in parallel.

本発明によれば、ソート処理と対角化処理と信頼性伝播(BP)処理が並列(パラレル)に動作させることが可能になり、動作周波数を低減したり、繰り返し数を増やしたりすることが可能となる。   According to the present invention, sort processing, diagonalization processing, and belief propagation (BP) processing can be operated in parallel, and the operating frequency can be reduced or the number of repetitions can be increased. It becomes possible.

以下、本発明の実施形態を図面に関連付けて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

本発明の実施形態に係る復号装置は、代数的手法を用いた誤り訂正符号技術を実現するための回路、たとえば適応的信頼性伝播(Adaptive Belief Propagation:ABP)復号器に応用できる。
ABP復号は、リードソロモン(Reed−Solomon:RS)符号やBCH符号、その他低密度でないパリティ検査行列を持つ線形符号に対する復号法であり、ある伝送路から符号語を受信すると、その受信語をより信頼できる値に更新する。
The decoding apparatus according to the embodiment of the present invention can be applied to a circuit for realizing an error correction code technique using an algebraic technique, for example, an adaptive belief propagation (ABP) decoder.
ABP decoding is a decoding method for Reed-Solomon (RS) codes, BCH codes, and other linear codes having a parity check matrix that is not low density. When a codeword is received from a certain transmission path, the received word is further converted. Update to a reliable value.

以下、ABP復号における復号装置の通信システム上の位置づけについて説明した後、本実施形態に係る復号装置の具体的な構成および機能について説明する。   Hereinafter, after describing the positioning of the decoding device on the communication system in ABP decoding, a specific configuration and function of the decoding device according to the present embodiment will be described.

図4は、デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにABP復号器を用いた通信システムの構成例を示す図である。   FIG. 4 is a diagram showing a configuration example of a communication system using an ABP decoder in an error correction system such as a digital signal receiver, for example, a digital television.

本通信システム10は、図4に示すように、RS符号化器11、インタリーバ12、畳み込み符号器13、畳み込み符号の軟出力復号器14、デインタリーバ15、RS符号の既知情報付きABP繰り返し復号器16、およびチャネル17を有する。   As shown in FIG. 4, the communication system 10 includes an RS encoder 11, an interleaver 12, a convolutional encoder 13, a convolutional code soft-output decoder 14, a deinterleaver 15, and an ABP iterative decoder with known information of an RS code. 16 and channel 17.

本通信システム10では、RS符号化、畳み込み符号化された送信語に対して、畳み込み符号の軟出力復号をした後にABP復号を行っている。
ここで言う畳み込み符号の軟出力復号とは、たとえばBCJRアルゴリズムやSOVAによる復号のことである。
ABP復号器16においては、ABPによる信頼性の更新後、硬判定後限界距離復号、リスト復号、もしくは、軟値をそのまま入力として軟判定リスト復号を行う。
In the communication system 10, ABP decoding is performed after soft-output decoding of a convolutional code is performed on a transmission word subjected to RS encoding and convolutional encoding.
The soft output decoding of the convolutional code referred to here is, for example, decoding by the BCJR algorithm or SOVA.
In the ABP decoder 16, after updating the reliability by ABP, post-hard decision limit distance decoding, list decoding, or soft decision list decoding with the soft value as it is input.

図5は、MAP復号が後段についたABP復号器の構成例を示す図である。
この復号器20は、図5に示すように、ABP復号部21、限界距離(BD)復号部22、受信信頼度(LLR)保持部23、およびMAP復号部24を有している。
FIG. 5 is a diagram illustrating a configuration example of an ABP decoder in which MAP decoding is performed at the subsequent stage.
As shown in FIG. 5, the decoder 20 includes an ABP decoding unit 21, a limit distance (BD) decoding unit 22, a reception reliability (LLR) holding unit 23, and a MAP decoding unit 24.

復号器20においては、ABP復号部21による信頼性(LLR)の更新後、硬判定してBD復号部22において、限界距離復号を行い、この結果をリストに集め、最終的にMAP復号部24において最大事後確率復号(Maximum a posteriori Probability:MAP)復号を行う。   In the decoder 20, after the reliability (LLR) is updated by the ABP decoding unit 21, hard decision is performed, and the BD decoding unit 22 performs limit distance decoding, collects the results in a list, and finally, the MAP decoding unit 24. The maximum a posteriori probability (MAP) decoding is performed in FIG.

図6は、ABP復号器の構成例を示す図である。   FIG. 6 is a diagram illustrating a configuration example of an ABP decoder.

図5のABP復号器30は、図4のABP復号器16や図5のABP復号部21に適用可能であり、ソート入力選択部31、ソート部32、パリティ検査行列の対角化部33、信頼度(LLR)保持部34、および信頼性伝播(BP)部35を有している。
なお、ソート部32、対角化部33、および信頼性伝播(BP)部35により、本実施形態に係る処理部が構成される。
The ABP decoder 30 in FIG. 5 is applicable to the ABP decoder 16 in FIG. 4 and the ABP decoder 21 in FIG. 5, and includes a sort input selection unit 31, a sort unit 32, a parity check matrix diagonalization unit 33, A reliability (LLR) holding unit 34 and a reliability propagation (BP) unit 35 are included.
The sort unit 32, the diagonalization unit 33, and the reliability propagation (BP) unit 35 constitute a processing unit according to the present embodiment.

ABP復号器30においては、入力として、受信LLRS32が入力される。
列インデックスS31は、入力された受信LLRの符号語の始まりからカウンタで0、1、2、3、、とカウントアップされた値を生成し利用する。
ソート入力選択部31で、初回は、列インデックスS31と受信LLRS32を選択し、繰り返し二回目以降は信頼性伝播(BP)後、更新LLRS40とその列インデックスS39を選択する。
In the ABP decoder 30, the reception LLRS 32 is input as an input.
The column index S31 generates and uses values counted up as 0, 1, 2, 3, and so on from the beginning of the code word of the input reception LLR.
The sort input selection unit 31 selects the column index S31 and the reception LLRS 32 for the first time, and selects the update LLRS 40 and its column index S39 after reliability propagation (BP) for the second and subsequent iterations.

図5に示すように、受信語が入力されたら、まず、ソート部32において、その信頼度(LLR)の大きさに応じて列インデックスのソートを行う。
次に、信頼度の低いシンボルに対応する列より順に、対角化部33でパリティ検査行列の対角化を行う。
最後に、対角化されたパリティ検査行列を用いて、信頼性伝播(BP)を行うことにより、値が更新される。
更新された値に対して、再びソート、対角化、信頼性伝播(BP)を行う。繰り返し数が予め決められており、その繰り返し数だけこれを繰り返す。
As shown in FIG. 5, when a received word is input, first, the sorting unit 32 sorts column indexes according to the reliability (LLR).
Next, the diagonalization unit 33 diagonalizes the parity check matrix in order from the column corresponding to the symbol with low reliability.
Finally, the value is updated by performing belief propagation (BP) using the diagonalized parity check matrix.
Sorting, diagonalization, and reliability propagation (BP) are performed again on the updated value. The number of repetitions is predetermined, and this is repeated for the number of repetitions.

この復号器30の処理部を構成する対角化部33は以下のように実現される。
本実施形態においては、例として、以下の4×6-行列Hを第1、2、3、4列について対角化を行う例を考える。
The diagonalization unit 33 constituting the processing unit of the decoder 30 is realized as follows.
In the present embodiment, as an example, consider an example in which the following 4 × 6-matrix H is diagonalized for the first, second, third, and fourth columns.

Figure 2008205546
Figure 2008205546

これを、第1、2、3、4列について対角化すると、以下のHnewのようになる。   When this is diagonalized for the first, second, third, and fourth columns, the following Hnew is obtained.

Figure 2008205546
Figure 2008205546

この対角化を実現する装置例を以下で説明する。
基本原理は、対角化を行う際、各列の基本変形で、ある行が要行になる度にその行を行列の後段に回すことにより、対象となる列を基本変形するときに、要探索の対象となる行をまだ要になっていない行に限定でき、これにより、その列ではじめて見つかった非零要素を要とでき、各列の各要素を要探索と掃き出しのどちらかのみ対象とすればよいこと、さらに、対角化対象列を複数列同時に要探索、掃き出すことに基づく。
An example of an apparatus for realizing this diagonalization will be described below.
The basic principle is that when performing diagonalization, the basic transformation of each column is necessary when the target column is fundamentally transformed by turning the row to the subsequent stage of the matrix each time a row becomes a required row. You can limit the rows to be searched to rows that are not needed yet, so that the first non-zero element found in that column can be needed, and each element in each column can only be searched or swept out Further, it is based on searching and sweeping out a plurality of columns to be diagonalized simultaneously.

図7は、本発明の実施形態に係るABP復号器の行列対角化部の第1の構成例を示す図である。   FIG. 7 is a diagram illustrating a first configuration example of the matrix diagonalization unit of the ABP decoder according to the embodiment of the present invention.

本実施形態に係る行列対角化部100は、図7に示すように、行のインデックスを記憶する行インデックスメモリ110と、行列を記憶する行列メモリ120と、第1要探索、掃き出し回路130と、第1行保持部140と、第1要フラグ保持部150と、第2要探索、掃き出し回路160と、第2行保持部170と、第2要フラグ保持部180とを有している。   As shown in FIG. 7, the matrix diagonalization unit 100 according to the present embodiment includes a row index memory 110 that stores a row index, a matrix memory 120 that stores a matrix, a first search and sweep circuit 130, and The first row holding unit 140, the first flag required holding unit 150, the second search required and sweeping circuit 160, the second row holding unit 170, and the second flag required holding unit 180 are included.

図7の行列対角化部100は、行インデックスメモリ110から順に行インデックスを読み出し、その行インデックスが指定する行を行列メモリ120から読み出し、その行の対角化の対象となる列の要素を見て、要探索、掃き出しを行う。
また、要探索、掃出しは一行読出すごとにパラレル(並列)に行い、要行同士の掃出しは行読出しの最後に行うことにより高速に対角化される。これにより、たとえば3列並列に基本変形を行うと行読出し回数をおよそ1/3に減らすことができる。
さらに、対象となる列を要探索、掃き出す際、行インデックスメモリ110から行インデックスを先頭アドレスから順番に読み出し、読み出した行が要行にならなかった場合、その行インデックスを行インデックスメモリ110の先頭アドレスから順に書き込み、読み出した行が要行になった場合のみ、その行インデックスを要行インデックス保持部170,180に書き込み、最後に行インデックスメモリ110の後ろのアドレスにそのインデックスを書き込む。
これにより、次の基本変形から未だ要になっていない行を優先的に読み出せるため、はじめて見つかった対象列の非零要素を要とでき、各列の基本変形に対して、各行は要探索か掃き出しのいずれかの対象となればよいので、より高速な対角化が可能となる。
以上の方法により、t列パラレルで対角化を行った場合、およそ行数×列数/t回の行読出しで対角化が可能となる。
The matrix diagonalization unit 100 in FIG. 7 reads out the row index in order from the row index memory 110, reads out the row specified by the row index from the matrix memory 120, and selects the column element to be diagonalized of the row. Look, search, sweep out.
Further, the search and sweeping required are performed in parallel (parallel) every time one line is read, and the required lines are diagonalized at a high speed by being performed at the end of the line reading. Thus, for example, if the basic deformation is performed in parallel in three columns, the number of row reading can be reduced to about 1/3.
Further, when searching and sweeping out the target column, the row index is read from the row index memory 110 in order from the top address, and if the read row does not become a required row, the row index is read from the top of the row index memory 110. The row index is written to the row index holding units 170 and 180 only when the row that has been written and read sequentially from the address becomes the required row, and finally the index is written to the address after the row index memory 110.
As a result, rows that are not yet needed from the next basic deformation can be read preferentially, so the first non-zero element of the target column found can be required, and each row needs to be searched for the basic deformation of each column. Therefore, diagonalization can be performed at a higher speed.
When diagonalization is performed in parallel by t columns by the above method, diagonalization is possible by row readout of approximately the number of rows × the number of columns / t times.

以下、本実施形態に係る行列対角化方法の全体の処理を図7〜図17に関連付けて説明する。図7〜図15は、行列を2列パラレルに要探索、掃き出しを行う対角化フローを表す。   Hereinafter, the entire process of the matrix diagonalization method according to the present embodiment will be described with reference to FIGS. 7 to 15 show a diagonalization flow in which search and sweep out of a matrix is performed in parallel in two columns.

図7に示すように、初期に行インデックスメモリ110にはアドレスと同じ値が格納されている。
これを先頭アドレスから順に1、2、3、4と読出していき行列メモリ120の読出しアドレスS12とし、これを用いて行列メモリ120から行S13を読み出す。
読出した行S13に対し、2列分の要探索、掃き出しが施され、これを4列分行うと対角化は完了する。
ここでは、まず、第1列、第2列を並列に要探索、掃き出す。第1要探索、掃き出し回路130では第1列、第2要探索、掃き出し回路160では第2列を対角化の対象とする。
As shown in FIG. 7, the row index memory 110 initially stores the same value as the address.
This is sequentially read from the head address as 1, 2, 3, 4 as the read address S12 of the matrix memory 120, and using this, the row S13 is read from the matrix memory 120.
Searching and sweeping out for two columns are performed on the read row S13, and diagonalization is completed when this is performed for four columns.
Here, first, the first column and the second column are searched and swept out in parallel. The first search and sweep circuit 130 sets the first column, and the second search and sweep circuit 160 sets the second column as the diagonalization target.

ここで、第1列、第2列の基本変形を開始する。
まず、図8に示すように、行インデックスメモリ110から、読出し行インデックスS12に1が読み出される。これが行列メモリ120に与えられると第1行が読み出され、第1要探索、掃き出し回路130へ送られる。
第1要探索、掃き出し回路130においては、第1列の要素が零か非零かを調べ、今回は零であるため、要にはならず、第1行はそのまま第1行保持部140へ送信され、第1要フラグ保持部150には0が送信される。
Here, the basic deformation of the first column and the second column is started.
First, as shown in FIG. 8, 1 is read from the row index memory 110 to the read row index S12. When this is given to the matrix memory 120, the first row is read and sent to the first search and sweep circuit 130.
In the first search and sweep circuit 130, it is checked whether the elements in the first column are zero or non-zero. Since this time is zero, the first row is not necessary, and the first row is directly sent to the first row holding unit 140. And 0 is transmitted to the first required flag holding unit 150.

次に、図9に示すように、第2要探索、掃き出し回路160には第1行が送られ、この第2列は零であるため、第2行保持部170には第1行がそのまま送られ、第2要フラグ保持部180には0が送られる。
また、行インデックスメモリ110から、読出し行インデックスS12に2が読み出され、行列メモリ120から第2行が読み出される。
読み出された行S13は第1要探索、掃き出し回路130で第1列が零か非零か調べられ、非零であるため、この行を要とし、内部に一時的に格納される。
また、第1行保持部140に第2行が、第1要フラグ保持部150には1が送られる。
Next, as shown in FIG. 9, since the first row is sent to the second search and sweep circuit 160 and the second column is zero, the first row remains in the second row holding unit 170 as it is. 0 is sent to the second required flag holding unit 180.
Also, 2 is read from the row index memory 110 to the read row index S12, and the second row is read from the matrix memory 120.
The read row S13 is checked by the first search / sweep circuit 130 to determine whether the first column is zero or non-zero. Since this is non-zero, this row is required and is temporarily stored inside.
Further, the second row is sent to the first row holding unit 140, and 1 is sent to the first required flag holding unit 150.

次に、図10に示すように、第2要探索、掃き出し回路160には、第2行が要フラグ1と共に入力され、要フラグが1であり、また、第2列の要行は未だ見つかっていないので、第2行をそのまま第2行保持部170へ送り、第2要フラグ保持部180に1を送る。
また、行列メモリ120から第3行が同様に読み出され、第1要探索、掃き出し回路130に送られる。第1要探索、掃き出し回路130は既に要行を確保しているので、第3行が掃き出しの対象となるかを判断する。
第3行第1列は非零であるので、第3行に対し確保した要行で掃き出す、具体的には第3行から要行を減算した行を新たな第3行とし第1行保持部130へ送られる。また、第1要フラグ保持部150には0が送られる。
さらに、第2行保持部160から読み出される第1行を行列メモリ120に書き込む。また、行インデックスメモリ110に到来する書込み行インデックスS11である1とともに第2要フラグ保持部180から0が到来するため、読出し行インデックス保持部111の先頭に1を書き込む。
Next, as shown in FIG. 10, the second row is input to the second search / sweep circuit 160 together with the flag 1 required, the flag required is 1, and the key row in the second column is still found. Therefore, the second row is sent to the second row holding unit 170 as it is, and 1 is sent to the second flag required holding unit 180.
Further, the third row is similarly read out from the matrix memory 120 and sent to the first search required and sweep-out circuit 130. Since the first required search and sweep circuit 130 has already secured the required row, it is determined whether the third row is the target of the sweep.
Since the 3rd row and the 1st column are non-zero, sweeping is performed with the main row secured for the third row. Specifically, the row obtained by subtracting the main row from the third row is set as the new third row and the first row is held. Sent to the unit 130. Further, 0 is sent to the first required flag holding unit 150.
Further, the first row read from the second row holding unit 160 is written in the matrix memory 120. Further, since 0 comes from the second flag holding unit 180 together with 1 that is the write row index S11 that arrives in the row index memory 110, 1 is written at the head of the read row index holding unit 111.

次に、図11に示すように、第2要探索、掃き出し回路160には、第3行が要フラグ0と共に入力され、第2列の要行は未だ見つかっていない上、第3行第2列は非零であるため、これを要行とし、内部に第3行を確保し、またその行を第2行保持部170へ送り、第2要フラグ保持部180に1を送る。
また、行列メモリ120から第4行が同様に読み出され、第1要探索、掃き出し回路130に送られる。第1要探索、掃き出し回路130は既に要行を確保しているので、第4行を掃き出す。第4行第1列は零であるので、そのまま第4行を第1行保持部140へ送られる。また、第1要フラグ保持部150には0が送られる。
また、第2要探索、掃き出し回路160から読み出される第2行を行列メモリ120に書き込む。
行インデックスメモリ110に戻ってくる書込み行インデックスS11である2とともに第2要フラグ保持部180から1が到来するため、要行インデックス保持部112に2を書き込む。
Next, as shown in FIG. 11, the second row is input to the second search / sweep circuit 160 together with the flag 0, the main row in the second column has not yet been found, and the second row second Since the column is non-zero, this is regarded as a required row, the third row is secured inside, the row is sent to the second row holding unit 170, and 1 is sent to the second required flag holding unit 180.
In addition, the fourth row is similarly read from the matrix memory 120 and sent to the first search required and sweep circuit 130. Since the first search / sweep circuit 130 has already secured the necessary line, the fourth line is swept out. Since the fourth row and the first column are zero, the fourth row is sent to the first row holding unit 140 as it is. Further, 0 is sent to the first required flag holding unit 150.
In addition, the second row read from the second search and sweep circuit 160 is written in the matrix memory 120.
Since 1 comes from the second required flag holding unit 180 together with 2 which is the write row index S11 returning to the row index memory 110, 2 is written to the required row index holding unit 112.

次に、図12に示すように、第2要探索、掃き出し回路160には、第4行が要フラグ0と共に入力され、第2列の要行は既に見つかっているので、第4行を掃き出した後、その行を第2行保持部170へ送り、また第2要フラグ保持部180に0を送る。
行列メモリ120からは何も読み出されず、第1要探索、掃き出し回路130から内部に保持した要行を第1行保持部140へ送る。また、第2要探索、掃き出し回路160から読み出される第3行を行列メモリ120に書き込む。
さらに、行インデックスメモリ110に到来する書込み行インデックスS11である3とともに第2要フラグ保持部180から1が到来するため、要行インデックス保持部112に3を書き込む。
Next, as shown in FIG. 12, the fourth row is input to the second search / sweep circuit 160 together with the flag 0, and the second row is already found, so the fourth row is swept out. After that, the row is sent to the second row holding unit 170 and 0 is sent to the second flag required holding unit 180.
Nothing is read from the matrix memory 120, and the main row held internally from the first search / sweeping circuit 130 is sent to the first row holding unit 140. Further, the third row read from the second search and sweep circuit 160 is written in the matrix memory 120.
Further, since 1 comes from the second required flag holding unit 180 together with 3 which is the write row index S11 coming to the row index memory 110, 3 is written to the required row index holding unit 112.

そして、図13に示すように、第1行保持部140から到来した第2行に対して、第2要探索、掃き出し回路160において内部に確保した要行第3行で掃き出しを行う。つまり、この時に要行同士の掃き出しを行う。
掃き出された第2行は第2行保持部170へ送られる。また、第2行保持部170から読み出される第4行を行列メモリ120に書き込む。
さらに、行インデックスメモリ110に戻ってくる書込み行インデックスS11である4とともに第2要フラグ保持部180から0が到来するため、読出し行インデックス保持部111に4を書き込む。
Then, as shown in FIG. 13, the second row that arrives from the first row holding unit 140 is swept out in the second required row and third row that is secured in the second search and sweep circuit 160. In other words, the main lines are swept out at this time.
The second row thus swept out is sent to the second row holding unit 170. Further, the fourth row read from the second row holding unit 170 is written in the matrix memory 120.
Further, since 0 comes from the second flag holding unit 180 together with 4 which is the writing row index S11 returning to the row index memory 110, 4 is written to the reading row index holding unit 111.

さらに、図14に示すように、第2要探索、掃き出し回路160の内部に確保した要行第3行を第2行保持部170へ送る。また、第2行保持部170から読み出される第1列要行である第2行を行列メモリ120に書き込む。
また、要行インデックス保持部112から読出し行インデックス保持部111の下位アドレスに値を移す。
まず、行インデックス2を読出し行インデックス保持部111に書き込む。この値は行列メモリ120の書き込み行インデックスS11にも用いられる。
Further, as shown in FIG. 14, the third required row that is secured in the second search and sweep circuit 160 is sent to the second row holding unit 170. Further, the second row, which is the first column main row read from the second row holding unit 170, is written in the matrix memory 120.
Further, the value is transferred from the row index holding unit 112 to the lower address of the read row index holding unit 111.
First, the row index 2 is read and written to the row index holding unit 111. This value is also used for the write row index S11 of the matrix memory 120.

最後に、図15に示しように、第2行保持部170から読み出される第2列要行である第3行を行列メモリ120に書き込む。
また、要行インデックス保持部112から読出し行インデックス保持部111の下位アドレスに値を移す。今回は、行インデックス3を読出し行インデックス保持部111に書き込む。
また、この値を行列メモリ120の書き込み行インデックスS11にも用いる。
以上で、第1列、第2列の要探索、掃き出しは完了する。
Finally, as shown in FIG. 15, the third row, which is the main row of the second column read from the second row holding unit 170, is written in the matrix memory 120.
Further, the value is transferred from the row index holding unit 112 to the lower address of the read row index holding unit 111. This time, the row index 3 is read and written to the row index holding unit 111.
This value is also used for the write row index S11 of the matrix memory 120.
This completes the search and sweeping out of the first and second columns.

第3列、第4列を要探索する際は、行列メモリ120から行を読み出す際に、行インデックスメモリ110の先頭アドレスから順に行インデックスを読み出せば、未だ要になっていない行を優先的に読み出せるので、はじめて見つかった対象列の非零要素を要とできる。
また、各列の基本変形に対して、各行は要探索か掃き出しのいずれかの対象となればよいので、より高速な対角化が可能となる。第3列、第4列の要探索、掃き出しについても、同様に第1要探索、掃き出し回路が第3列、第2要探索、掃き出し回路が第4列の要探索、掃き出しを担当することにより、より高速な対角化が可能になり、これが完了すれば、図16に示すように、行列の対角化は完了する。
When searching for the third column and the fourth column, when reading the row from the matrix memory 120, if the row index is read in order from the top address of the row index memory 110, the row that is not yet needed is given priority. Thus, the first non-zero element of the target sequence found can be required.
In addition, with respect to the basic deformation of each column, each row only needs to be a target of searching or sweeping out, so that diagonalization can be performed at higher speed. Similarly, for the third column and fourth column search and sweep, the first search and sweep circuit is responsible for the third column, the second search and sweep circuit are responsible for the fourth column search and sweep. Faster diagonalization becomes possible, and when this is completed, the diagonalization of the matrix is completed as shown in FIG.

要探索、掃き出し回路130,160は具体的には図17のようになる。図17に示す構成は、行列が0か1の要素しか持たない場合の要探索、掃き出し回路である。   Specifically, the search and sweep circuits 130 and 160 are as shown in FIG. The configuration shown in FIG. 17 is a search required and sweep-out circuit when the matrix has only 0 or 1 elements.

図17の要探索、掃き出し回路130(160)は、セレクタ131、状態遷移保持部132、要行選択セレクタ133、要行保持部134、アンドゲート135、および掃き出し部136を主構成要素として有している。   17 includes a selector 131, a state transition holding unit 132, a row selection selector 133, a row holding unit 134, an AND gate 135, and a sweeping unit 136 as main components. ing.

図17の要探索、掃き出し回路130においては、まず対角化が開始したら、状態遷移保持部132において、要探索状態になる。
入力される行S31に対し、対角化対象要素を取り出すためのセレクタ131を通り対角化対象列の要素S32のみ取り出し、この対象要素が零の場合は、状態遷移保持部132は、要探索状態を維持し、要フラグS33は0、掃き出しフラグS34は0を出力する。
初めて対象要素S32が非零要素であった場合、要フラグS33は1、掃き出しフラグS34は0を出力し、要行選択セレク133によって、入力行S31が要行として要行保持部204に取り込まれる。
また、状態遷移保持部132は要探索状態から掃き出し状態へ遷移する。なお、入力要フラグS39が0の場合は上記の通り動作するが、1の場合は入力行をそのまま出力行とし、出力要フラグS33にも入力要フラグ1をそのまま出力する。状態も要探索状態のまま変わらない。
In the search required and sweep-out circuit 130 of FIG. 17, when diagonalization is started, the state transition holding unit 132 enters a search required state.
For the input row S31, only the element S32 in the diagonalization target column is extracted through the selector 131 for extracting the diagonalization target element, and when this target element is zero, the state transition holding unit 132 requires searching. The state is maintained, the required flag S33 is 0, and the sweep flag S34 is 0.
When the target element S32 is a non-zero element for the first time, the required flag S33 is 1 and the flush flag S34 is 0, and the required line selection selector 133 takes the input line S31 into the required line holding unit 204 as a required line. .
In addition, the state transition holding unit 132 transitions from the search required state to the sweep-out state. When the input required flag S39 is 0, the operation is performed as described above. When the input required flag S39 is 1, the input line is used as it is as the output line, and the input required flag 1 is output as it is to the output required flag S33. The state remains the same as the search required state.

掃き出し状態では、要フラグS33には基本的に0を出力し、要行を要行保持部134に保持し続ける。
対象要素S32が非零の場合、掃き出しフラグS34に1を出力し、掃き出し部136で入力行と要行の排他的論理和が計算され、掃き出し部から行S38が出力され行列メモリ120に書き込まれる。
対象要素S32が零の場合は掃き出しフラグS34に0を出力し、入力行S31はそのままS38へ出力され、再び行列メモリにその行が書き込まれる。
掃き出しが完了すると、要探索状態へ戻るか、その行列の対角化が終了した場合はアイドル(IDLE)状態へ戻る。なお、入力要フラグS39が0の場合も1の場合も上記の通り動作するが、入力要フラグS39が1の場合のみ、出力要フラグS33にはそのまま1を出力する。
また、第1要探索、掃き出し回路130の場合は、入力要フラグに常に0を入力しておけばよい。
In the sweep-out state, 0 is basically output to the required flag S33, and the required line is continuously held in the required line holding unit 134.
When the target element S32 is non-zero, 1 is output to the sweep flag S34, the sweep unit 136 calculates the exclusive OR of the input row and the required row, and the row S38 is output from the sweep unit and written to the matrix memory 120. .
When the target element S32 is zero, 0 is output to the sweep flag S34, the input row S31 is output as it is to S38, and the row is written again into the matrix memory.
When the sweeping is completed, the state returns to the search required state, or returns to the idle (IDLE) state when the diagonalization of the matrix is completed. The operation is performed as described above regardless of whether the input required flag S39 is 0 or 1. However, only when the input required flag S39 is 1, 1 is output as it is to the output required flag S33.
In the case of the first search / sweep circuit 130, it is sufficient to always input 0 to the input required flag.

なお、行列が0か1以外の要素を持つ要探索、掃き出しは、要と掃き出し対象となる行の対象要素を比べ、掃き出し対象となる行の対角要素を要で割った値を、要行保持部の後段で掛け算して、掃き出すことにより実現される。
また、初期に行列メモリ120から行を読み出す際は、行インデックスメモリ110にわざわざアドレスと同じ値を書き込んでおかなくとも、直接1、2、3、4と値をインクリメントして直接行列メモリ120から行を読み出してもよい。
In addition, for the search and sweep required that have an element other than 0 or 1, the matrix is compared with the target element of the target row, and the value obtained by dividing the diagonal element of the target row by the required value This is realized by multiplying by a subsequent stage of the holding unit and sweeping it out.
Further, when a row is read out from the matrix memory 120 in the initial stage, the value is directly incremented from 1, 2, 3, 4 and directly from the matrix memory 120 even if the same value as the address is not written in the row index memory 110. A row may be read.

なお、この方法は、どんな行列の大きさでもパラレルに処理する対角化列数が何列でも適用が可能である。
また、この方法は、行を読み出して列毎に基本変形する場合以外に、列を読み出して行毎に基本変形をする場合にも適用できる。
Note that this method can be applied to any number of diagonal columns to be processed in parallel for any matrix size.
This method can also be applied to a case where a column is read and a basic deformation is performed for each row, in addition to a case where a row is read and the basic deformation is performed for each column.

以上説明したように、行列対角化部100によれば、要探索、掃出しは一行読出すごとにパラレルに行い、要行同士の掃出しは行読出しの最後に行うことにより高速に対角化される。これにより、たとえば3列並列に基本変形を行うと行読出し回数をおよそ1/3に減らすことができる。
また、次の基本変形から未だ要になっていない行を優先的に読み出せるため、はじめて見つかった対象列の非零要素を要とでき、各列の基本変形に対して、各行は要探索か掃き出しのいずれかの対象となればよいので、より高速な対角化が可能となる。
以上の方法により、t列パラレルで対角化を行った場合、およそ行数×列数/t回の行読出しで対角化が可能となる。
As described above, according to the matrix diagonalization unit 100, searching and sweeping are performed in parallel every time one row is read, and sweeping between important rows is diagonalized at a high speed by performing at the end of row reading. The Thus, for example, if the basic deformation is performed in parallel in three columns, the number of row reading can be reduced to about 1/3.
In addition, since rows that are not yet important from the next basic deformation can be read preferentially, the first non-zero element of the target column found can be required. Since any one of the objects to be swept out may be used, diagonalization at higher speed becomes possible.
When diagonalization is performed in parallel by t columns by the above method, diagonalization is possible by row readout of approximately the number of rows × the number of columns / t times.

ところで、ABP復号器(復号装置)については、動作周波数低減のため、内側繰り返し復号二回目以降については、対角化を限られた列のみ行うような以下の方法を用いている。   By the way, for the ABP decoder (decoding device), in order to reduce the operating frequency, the following method is used in which the diagonalization is performed only for a limited column after the second inner iterative decoding.

図18は、RS(204,188)を対象としたABP復号器の第1の内側繰り返しフローを示す図である。   FIG. 18 is a diagram illustrating a first inner iterative flow of the ABP decoder targeting RS (204, 188).

内側繰り返し二回目以降の対角化対象となる列と対角化対象とならない列の集合の分割方法を、前繰り返しの両集合の一部の入れ替えに限定し、その時に入れ替えられ新しく対角化対象となった列についてのみ前対角化で更新されたパリティ検査行列を対象として対角化を行う。   The method of dividing the set of columns that are to be diagonalized and the columns that are not to be diagonalized after the second inner iteration is limited to partial replacement of both sets of the previous iteration, and are replaced at that time and newly diagonalized. Only the parity check matrix updated by the pre-diagonalization is performed on only the target column, and the diagonalization is performed.

この場合は、図18では、繰り返し一回目の復号が行われた後、二回目のソート時、信頼度が更新された128列のうち、信頼度の最も大きい4列のみ、対角化対象から外し、残り1504列のうち信頼度の小さい4列を新しく対角化対象128列の集合に加える。
この新しい対角化対象4列について、前繰り返しで対角化された後のパリティ検査行列に対して対角化を行う。
このとき、今回新しく対角化対象から外れた列に対応する要行は、既要行リストからは外され、新しい対角化対象4列に対して改めて要行になることができる。そしてそのパリティ検査行列を用いて信頼性伝播(BP)を行う。
以降の繰り返しではこれを繰り返す。
In this case, in FIG. 18, after the first decoding is repeatedly performed, only the four columns with the highest reliability among the 128 columns whose reliability is updated at the time of the second sorting are selected from the diagonalization targets. Of the remaining 1504 columns, four columns with low reliability are newly added to the set of 128 diagonalization target columns.
With respect to the new four columns to be diagonalized, diagonalization is performed on the parity check matrix after diagonalization in the previous iteration.
At this time, the main row corresponding to the column newly removed from the diagonalization target this time is removed from the existing row list, and can be made a new main row with respect to the new four diagonalization target columns. Then, reliability propagation (BP) is performed using the parity check matrix.
This is repeated in subsequent iterations.

ABP復号装置の所要動作クロックサイクル数を低減できれば、より繰り返し数を増やすことができ、動作周波数も低減することも可能である。
たとえば、繰り返し二回目以降の動作所要クロックサイクル数を見積もる。Tを繰り返し二回目以降に各繰り返しで必要とするクロックサイクル数とする。
ここで、Tは以下のように表すことができる。
If the required number of operation clock cycles of the ABP decoding apparatus can be reduced, the number of repetitions can be increased and the operating frequency can also be reduced.
For example, the number of clock cycles required for the second and subsequent iterations is estimated. The number of clock cycles required for each repeated a second time after repeated T 2.
Here, T 2 can be expressed as follows.

Figure 2008205546
Figure 2008205546

ここで、Tsortは、内側繰り返し二回目以降のソートに必要とするクロックサイクル数を示し、Tdiagは、対角化に必要とするクロックサイクル数を示し、Tbpは、信頼性伝播(BP)に必要とするクロックサイクル数を示している。 Here, T sort indicates the number of clock cycles required for the second and subsequent inner sorting, T diag indicates the number of clock cycles required for diagonalization, and T bp indicates reliability propagation (BP ) Shows the number of clock cycles required.

上述したように、ここではRS(204,188)を想定し、対角化回路は4列パラレルに基本変形するとする。
sortとしては、逆写像ソートを利用した場合、入力数分の128クロックサイクルが必要となる。また、Tdiagとしては、一回の行読出しで要探索と掃き出しを一度に行い、今回4列パラレルに基本変形するので、かつ繰り返し二回目以降は4列のみ対角化するので、最低4×128/4=128クロックサイクル数必要となる。
また、信頼性伝播(BP)に必要とするクロックサイクル数Tbpは、対角化対象となった128列のみLLR更新を行うので、128クロックサイクル数必要となる。
ただし、前繰り返しの信頼性伝播(BP)により、毎クロックサイクル1列ずつ更新された信頼度をソート装置に入力すれば、信頼性伝播(BP)とソートはほぼ同時に行うことが可能なため、Tsort=0とすることができる。
As described above, here, RS (204, 188) is assumed, and the diagonalization circuit is assumed to be basically transformed into four columns in parallel.
As Tsort , when reverse mapping sort is used, 128 clock cycles corresponding to the number of inputs are required. Also, as T diag, since it is necessary to search and sweep out at a time with one row readout, this time it is basically transformed into 4 columns parallel, and since the second and subsequent times only 4 columns are diagonalized, at least 4 × 128/4 = 128 clock cycles are required.
Also, the clock cycle number T bp required for reliability propagation (BP) requires 128 clock cycles because the LLR update is performed only on the 128 columns to be diagonalized.
However, if the reliability updated by one column per clock cycle is input to the sorting device by the previous repeated reliability propagation (BP), the reliability propagation (BP) and the sorting can be performed almost simultaneously. T sort = 0 can be set.

これに対応してABP復号器を図6の回路に関連付けると、図19に示すように表すことができ、図20に示すように、信頼性伝播(BP)部35の動作を行いながら、ソートも同時並列的に動作でき、これが128クロックサイクルかかる。
しかし、新しく要行になれる行インデックスS41はソート部32の処理が完了しないと確定しないため、ソート部32の処理動作が完了後、図21に示すようにパリティ検査行列の対角化を128クロックサイクルかけて行われることになる。
つまり、Tは次のようになり、内側繰り返し二回目以降は、繰り返し一回につき256クロックサイクルかかる。
Correspondingly, when the ABP decoder is associated with the circuit of FIG. 6, it can be expressed as shown in FIG. 19, and as shown in FIG. 20, the sorting is performed while the reliability propagation (BP) unit 35 is operated. Can operate simultaneously in parallel, which takes 128 clock cycles.
However, since the row index S41 that becomes a new important row is not determined unless the processing of the sorting unit 32 is completed, the parity check matrix is diagonalized by 128 clocks as shown in FIG. 21 after the processing operation of the sorting unit 32 is completed. It will be done over a cycle.
In other words, T 2 is as follows, the inner repeated a second time later, 256-consuming clock cycles per repeated once.

Figure 2008205546
Figure 2008205546

これをさらに少ないクロックサイクルで動作できれば、動作周波数を低減したり繰り返し数を増やしたりすることが可能である。   If this can be operated with fewer clock cycles, it is possible to reduce the operating frequency and increase the number of repetitions.

好適な本実施形態においては、ソート部32と対角化部33と信頼性伝播(BP)部35をパラレル(並列)に動作させる。そのために、信頼性伝播(BP)部35に読み出しているパリティ行を同時に対角化部33の要探索、掃き出し回路へ送り込む方法が考えられる。
しかし、この時点で、次回の繰り返しで新しく対角化対象列になる4列は決定しているが、次回の繰り返しで新しく対角化対象から外れる4列が決定しておらず、つまりは要行リストから外れる4行について決定できないため、信頼性伝播(BP)が行われている時点で次の繰り返しのパリティ検査行列を生成するのは困難である。
そのため、本実施形態においては、ソート後の信頼性の順番により、次回の繰り返しで新しく対角化対象列になる4列だけでなく、次回の繰り返しで新しく対角化対象から外れる4列も決定する方法を新たに用いて、ソート部32と対角化部33と信頼性伝播(BP)部35のパラレル動作を実現している。
これにより、ソート部32と対角化部33と信頼性伝播(BP)部35をパラレルに動作させることが可能になり、動作周波数を低減したり、繰り返し数を増やしたりすることが可能となる。
In the preferred embodiment, the sorting unit 32, the diagonalizing unit 33, and the reliability propagation (BP) unit 35 are operated in parallel. For this purpose, a method may be considered in which the parity row read to the reliability propagation (BP) unit 35 is simultaneously sent to the search and sweep circuit of the diagonalization unit 33.
However, at this point, four columns that will be newly diagonalized are determined in the next iteration, but four columns that are newly excluded from the diagonalization are not determined in the next iteration. Since it is impossible to determine four rows that are out of the row list, it is difficult to generate the next repeated parity check matrix at the time when the belief propagation (BP) is performed.
Therefore, in the present embodiment, not only the four columns that become the new diagonalization target column in the next iteration but also the four columns that are newly excluded from the diagonalization target in the next iteration are determined by the reliability order after sorting. By using a new method, the parallel operation of the sorting unit 32, the diagonalization unit 33, and the reliability propagation (BP) unit 35 is realized.
As a result, the sorting unit 32, the diagonalizing unit 33, and the reliability propagation (BP) unit 35 can be operated in parallel, and the operating frequency can be reduced or the number of repetitions can be increased. .

以下、具体例を挙げて説明する。
図22は、本実施形態に係るABP復号器の第2の内側繰り返しフローを示す図である。
Hereinafter, a specific example will be described.
FIG. 22 is a diagram showing a second inner iterative flow of the ABP decoder according to the present embodiment.

この第2の内側繰り返しフローは、図18の第1の例と同様、RS(204,188)を例としている。
内側繰り返し二回目以降の対角化対象となる列と対角化対象とならない列の集合の分割方法を、前繰り返しの両集合の一部の入れ替えに限定し、その時に入れ替えられ新しく対角化対象となった列についてのみ前対角化で更新されたパリティ検査行列を対象として対角化を行う。
さらに、本実施形態では、対角化対象から外れる4列を前回の繰り返しの時点で決定する。具体的には、図22に示すように、受信語を信頼度にしたがってソートしたら、その対角化対象128列のうち信頼度の大きい方から4列を、この時点で、繰り返し二回目に対角化対象列から新たに外れる4列と決定する。
This second inner repetitive flow uses RS (204, 188) as an example, as in the first example of FIG.
The method of dividing the set of columns that are to be diagonalized and the columns that are not to be diagonalized after the second inner iteration is limited to partial replacement of both sets of the previous iteration, and are replaced at that time and newly diagonalized. Only the parity check matrix updated by the pre-diagonalization is performed on only the target column, and the diagonalization is performed.
Furthermore, in the present embodiment, four columns that are excluded from the diagonalization target are determined at the time of the previous iteration. Specifically, as shown in FIG. 22, when the received words are sorted according to the reliability, four columns from the diagonalization target 128 columns having the highest reliability are repeated at this time for the second time. It is determined that four columns are newly removed from the cornification target column.

繰り返し一回目の信頼性伝播(BP)復号が行われた後、二回目のソート時、信頼度が更新された128列のうち、繰り返し一回目に決定した4列を本二回目では対角化対象から外し、その今回対角化対象から外れる4列以外で信頼度の最も大きい4列を繰り返し三回目に対角化対象から外れる4列と新たに決定する。以降これを繰り返す。
逆に、対角化対象に新たに加わる4列については、図18の例と同様で、対角化対象でない1504列のうち信頼度の小さい4列を新しく対角化対象128列の集合に加える。これについても、対角化非対象1504列はLLR更新されないため、例えば繰り返し一回目のソートの時点で繰り返し二回目の新たに対角化対象に加わる4列は決定している。この新しい対角化対象4列について、前繰り返しで対角化された後のパリティ検査行列に対して対角化を行う。このとき、今回新しく対角化対象から外れた列に対応する要行は、既要行リストからは外され、新しい対角化対象4列に対して改めて要行になることができる。
そしてそのパリティ検査行列を用いて信頼性伝播(BP)を行う。以降の繰り返しではこれを繰り返す。
After the first iteration of belief propagation (BP) decoding, among the 128 columns whose reliability has been updated during the second sort, the 4 columns determined the first iteration are diagonalized in the second time. The four columns with the highest reliability other than the four columns that are excluded from the current diagonalization target are repeatedly determined as the fourth column that is repeatedly excluded from the diagonalization target for the third time. This is repeated thereafter.
On the other hand, the four columns newly added to the diagonalization target are the same as the example of FIG. 18, and the four columns with low reliability among the 1504 columns that are not the diagonalization target are newly set to the set of 128 diagonalization targets. Add. Again, since the diagonalization non-target 1504 columns are not updated by LLR, for example, four columns that are newly added to the diagonalization target at the second repetition are determined at the time of the first repetition. With respect to the new four columns to be diagonalized, diagonalization is performed on the parity check matrix after diagonalization in the previous iteration. At this time, the main row corresponding to the column newly removed from the diagonalization target this time is removed from the existing row list, and can be made a new main row with respect to the new four diagonalization target columns.
Then, reliability propagation (BP) is performed using the parity check matrix. This is repeated in subsequent iterations.

以上より、ある内側繰り返しN回目のソート完了時点で、(N+1)回目の新たに対角化対象になる4列と新たに対角化対象から外れる4列とそれに対応する要行が決定できる。
なお、図18の例でも対角化対象128列中信頼度最大の4列は誤っている可能性が低いとして対角化対象列から強制的に外れるように、図22の例において、本繰り返しで対角化対象から外れる4列以外の124列の中から信頼度が最大の4列を誤っている可能性が低いとして次の内側繰り返しにおいて強制的に新しく対角化対象から外すとしても特に問題はない。
As described above, at the completion of the Nth sort of inner repetition, the (N + 1) th new column to be diagonalized, the 4 columns newly excluded from the diagonalization, and the corresponding main rows can be determined.
In the example of FIG. 18, this repetition is repeated in the example of FIG. 22 so that the four columns having the maximum reliability in the diagonalization target 128 columns are forcibly removed from the diagonalization target column as having a low possibility of being erroneous. In particular, even if it is unlikely that the four columns with the maximum reliability out of 124 columns other than the four columns excluded from the diagonalization target are erroneous, it is forcibly removed from the diagonalization target in the next inner iteration. No problem.

図23は、シミュレーションモデルを示す図である。
このシミュレーションモデル40は、図23に示すように、RS符号化器41、BPSK変調器42、AWGNチャネル43、BPSK復調器44、およびABP復号器45を有する。
図24は、シミュレーション結果を示す図である。
図24は、RS(204,188)を想定した場合のフレームエラーレート(Frame Error Rate)を示す図であって、Aで示す曲線が既存手法の復号性能を示し、Bで示す曲線が本実施形態に手法における復号性能を示している。
FIG. 23 is a diagram illustrating a simulation model.
As shown in FIG. 23, the simulation model 40 includes an RS encoder 41, a BPSK modulator 42, an AWGN channel 43, a BPSK demodulator 44, and an ABP decoder 45.
FIG. 24 is a diagram showing simulation results.
FIG. 24 is a diagram showing a frame error rate when RS (204, 188) is assumed. The curve indicated by A indicates the decoding performance of the existing method, and the curve indicated by B indicates the present implementation. The form shows the decoding performance of the method.

既存技術と比較して、図23に示すようなBPSK変調、AWGNチャネルを用いたシミュレーションモデルにおいて、図24に示すように性能劣化はないことがわかる。
これにより、信頼性伝播(BP)とソートを行っているのと同時並列的に、次の信頼性伝播(BP)のためのパリティ検査行列を生成するための対角化作業を行うことが可能になる。
つまり、Tは次のようになる。
Compared with the existing technology, it can be seen that in the simulation model using the BPSK modulation and AWGN channel as shown in FIG. 23, there is no performance degradation as shown in FIG.
As a result, diagonalization for generating a parity check matrix for the next belief propagation (BP) can be performed simultaneously with the belief propagation (BP) and sorting. become.
In other words, T 2 is as follows.

Figure 2008205546
Figure 2008205546

その結果、繰り返し復号二回目以降の動作が高速化される。   As a result, the operation after the second iteration is speeded up.

図25は本発明の内側繰り返し方法の二回目以降のABP復号器の動作状態例を示す図である。   FIG. 25 is a diagram illustrating an example of an operation state of the ABP decoder after the second time of the inner iterative method of the present invention.

この例においては、信頼性伝播(BP)部35が動作している時点で、次のパリティ検査行列対角化のための新しい対角化対象列インデックスS35だけでなく、新しく対角化対象列から外れる列に対応する要行、つまり新しく要になれる行インデックスS41も決定している。
このため、本繰り返しのLLR更新のために信頼性伝播(BP)部35に読み出しているパリティ検査行S37を次の繰り返しの対角化のために要探索、掃き出し回路にも同時に読み出すことで、対角化と信頼性伝播(BP)を同時並列的に行うことができる。
In this example, not only a new diagonalization target column index S35 for the next parity check matrix diagonalization but also a new diagonalization target column when the belief propagation (BP) unit 35 is operating. The key row corresponding to the column deviating from the column, that is, the new key row index S41 is also determined.
For this reason, the parity check row S37 read to the belief propagation (BP) unit 35 for the repetitive LLR update is simultaneously read to the search and sweep circuit for the next repetitive diagonalization, Diagonalization and reliability propagation (BP) can be performed simultaneously in parallel.

ここで、新しく対角化対象となった列についてのみ対角化するフロー例を、行列を使って説明する。
今回は簡単のため、以下の4×6-行列Hを、繰り返し一回目において第1、2、3、4列について対角化を行った後、繰り返し二回目において第5、6列について対角化する例を考える。
このとき、新しく対角化対象から外れる二列を第2、3列とすると、対応する要行は第3、4行なので、新しく第3、4行は要になることができる。
Here, an example of a flow for diagonalizing only a column to be newly diagonalized will be described using a matrix.
For the sake of simplicity, the following 4 × 6-matrix H is diagonalized for the first, second, third, and fourth columns in the first iteration, and then diagonalized for the fifth and sixth columns in the second iteration. Consider an example.
At this time, if the two columns that are newly excluded from the diagonalization target are the second and third columns, the corresponding main rows are the third and fourth rows, so the third and fourth rows can be newly required.

Figure 2008205546
Figure 2008205546

行列Hを第1、2、3、4列について対角化すると、以下のHnewのようになる。   When the matrix H is diagonalized with respect to the first, second, third, and fourth columns, the following Hnew is obtained.

Figure 2008205546
Figure 2008205546

二回目で第3、4列が新しく対角化対象から外れ、第5、6列が新しく対角化対象となる。この時、第2、3列の元要行である第3、4は新しく要行になることができる。
まず、第5列について次のように基本変形する。
In the second time, the third and fourth columns are newly excluded from the diagonalization target, and the fifth and sixth columns are newly targeted for diagonalization. At this time, the third and fourth original main rows in the second and third columns can become new main rows.
First, the basic deformation of the fifth column is performed as follows.

Figure 2008205546
Figure 2008205546

次に、第6列について次のように基本変形する。   Next, the basic deformation of the sixth column is performed as follows.

Figure 2008205546
Figure 2008205546

以上で、新たに第5、6列についての対角化が完了する。
この処理に対応した具体的な構成について説明する。
This completes diagonalization for the fifth and sixth columns.
A specific configuration corresponding to this process will be described.

図26は、本発明の実施形態に係るABP復号器の行列対角化部の第2の構成例を示す図である。   FIG. 26 is a diagram illustrating a second configuration example of the matrix diagonalization unit of the ABP decoder according to the embodiment of the present invention.

本第2の構成例に係る対角化部100Aが図7の第1の構成例に係る対角化部100と異なる点は、第1要探索、掃き出し回路130と第2要探索、掃き出し回路160との間に、第1要列保持部190が、第1行保持部140および第1要フラグ保持部150に並列に配置され、第2要探索、掃き出し回路160の出力側に、第2要列保持部200が、第2行保持部170および第2要保持部180に並列に配置され、さらに、要フラグS21、読出し行インデックスS12、書込み行インデックスS11、および要列インデックスを保持可能な要列インデックスメモリ210が配置されている点にある。   The diagonalization unit 100A according to the second configuration example is different from the diagonalization unit 100 according to the first configuration example of FIG. 7 in that the first search and sweep circuit 130 and the second search and sweep circuit are required. The first column holding unit 190 is arranged in parallel with the first row holding unit 140 and the first flag holding unit 150 between the second search and sweep circuit 160 and the second column search unit 160. The required column holding unit 200 is arranged in parallel with the second row holding unit 170 and the second required holding unit 180, and can further hold the flag S21, the read row index S12, the write row index S11, and the required column index. The essential column index memory 210 is arranged.

以下、図26並びに図27〜図34に関連付けて繰り返し二回目以降の具体的な対角化部の動作について説明する。   Hereinafter, a specific operation of the diagonalization unit after the second repetition will be described in association with FIG. 26 and FIGS. 27 to 34.

対角化部33の内部の要探索、掃き出し回路に送るパリティ検査行の順番は、過去要になっていない行を先に読み出す必要がある。つまり、繰り返し二回目以降の対角化においては、新しく要になれる行を先に読み出すことになる。
信頼性伝播(BP)については、パリティ検査行S37と列インデックスS36さえ対応していれば、順番は任意なので、行の順は要探索、掃き出し回路へ送る行の順番にあわせ、新しく要になれる行を先に読み出す。
The order of the parity check rows to be sent to the search and sweep circuit inside the diagonalization unit 33 needs to read the rows that are not required in the past first. That is, in the second and subsequent diagonalization, a new important line is read first.
As for the reliability propagation (BP), as long as the parity check row S37 and the column index S36 correspond to each other, the order is arbitrary. Therefore, the order of the rows can be newly adjusted according to the order of the rows to be searched and sent to the flushing circuit. Read line first.

図26に示すように、第2の構成例に係る対角化部100Aでは、第1の構成例に係る対角化部100(図7)と同様、行インデックスメモリ110、行列メモリ120、要探索、掃き出し回路130,160が存在し、それに加えて要列インデックスメモリ210が存在する。
特に、繰り返し二回目では、行インデックスメモリ110からは、はじめは入力の新しく要行になれる行インデックスS12を読み出し、その後読出し行インデックス保持部111の先頭から順に、新しく要行になれる行インデックスS10を除いて行インデックスS12が読み出される。
また、要列インデックスメモリ210には、行インデックスS12が対応するアドレスに、その行インデックスS12と対応する要列が保持されている。さらに、第1要探索、掃き出し回路130からは要行が見つかったときに、その対象となる列S22を第1要列保持部190に出力する。第2要探索、掃き出し回路160についても同様である。
As shown in FIG. 26, the diagonalization unit 100A according to the second configuration example, like the diagonalization unit 100 (FIG. 7) according to the first configuration example, includes a row index memory 110, a matrix memory 120, and a main component. Search and sweep circuits 130 and 160 exist, and in addition to this, a column index memory 210 exists.
In particular, in the second iteration, the row index memory 110 first reads out the row index S12 that becomes the new required row of the input, and then reads the row index S10 that becomes the new required row sequentially from the top of the read row index holding unit 111. Except for this, the row index S12 is read.
The main column index memory 210 holds the main column corresponding to the row index S12 at the address corresponding to the row index S12. Further, when a required row is found from the first required search / sweep circuit 130, the target column S 22 is output to the first required column holding unit 190. The same applies to the second search required and sweep circuit 160.

図7の構成例の場合と同様に、Hを第1、2、3、4列について対角化し終わった後に、図26に示すように、行列メモリ120には対角化された行列、行インデックスメモリ110には、行インデックスが図16と同様に保持される。
さらに、要列インデックスメモリ210には、第2要探索、掃き出し回路160の出力の要フラグS21が1の場合に書き込みアドレスを要行S11として対応する要列S25が書き込まれる。
その結果、図26に示すように、アドレス1、つまり第1行の要列は第4列、アドレス2、つまり第2行の要列は第2列というように書き込まれる。
As in the configuration example of FIG. 7, after H is diagonalized for the first, second, third, and fourth columns, as shown in FIG. 26, the matrix memory 120 stores the diagonalized matrix and row. A row index is held in the index memory 110 as in FIG.
Further, in the column index memory 210, when the flag S21 of the output of the second search and sweep circuit 160 is 1, the column S25 corresponding to the write address as the column S11 is written.
As a result, as shown in FIG. 26, the address 1, that is, the main column of the first row is written as the fourth column, and the address 2, that is, the main column of the second row is written as the second column.

次に、次の繰り返し二回目で新しく要になれる行インデックスS10と新しい対角化列インデックスS26が入力される場合を考える。ここでは、例として、第2、3列が対角化対象から外れ、つまり対応する第3、4行が新しく要になることができ、第5、6列が新しく対角化対象になる場合を考える。
つまり、入力として、新しく要行になれる行インデックスS10={3,4}、新しい対角化対象列インデックスS26={5,6}が行インデックスメモリ110に入力される。このとき、本繰り返しで信頼性伝播(BP)部35に送るべき対角化されたパリティ検査行列は既に前繰り返しで対角化され行列メモリ120に保持されているので、次回繰り返しのパリティ検査行列対角化のためにパリティ検査行S37を要探索、掃き出し回路に送りながら、その行を信頼性伝播(BP)部35に送って今回の繰り返しのLLR更新も同時に行うことができる。
Next, consider a case where a row index S10 and a new diagonalized column index S26 that are newly required in the second iteration are input. Here, as an example, the second and third columns are excluded from the diagonalization target, that is, the corresponding third and fourth rows can be newly required, and the fifth and sixth columns are newly targeted for diagonalization. think of.
In other words, the row index S10 = {3, 4} and the new diagonalization target column index S26 = {5, 6}, which are newly required rows, are input to the row index memory 110 as inputs. At this time, since the diagonalized parity check matrix to be sent to the belief propagation (BP) unit 35 in this iteration is already diagonalized in the previous iteration and held in the matrix memory 120, the parity check matrix of the next iteration is stored. While sending the parity check row S37 to the search required and sweeping out circuit for diagonalization, the row can be sent to the reliability propagation (BP) unit 35 and the current repeated LLR update can be performed simultaneously.

図27に示すように、まず新しい対角化対象列インデックス5、6が前もって入力され、要探索、掃き出し回路二つにそれぞれ対角化対象列5、6が設定されている。
ここに、新しく要になれる行インデックスS10である3が入力されると、これが行列メモリ120に読み込まれ、パリティ検査行列第3行S13が出力される。
このパリティ検査行S13は、まず要探索、掃き出し回路へ送られ、第1の構成例の場合と同様に、対象列が非零なら要とし、その行を内部に保持し、要が見つかった後は入力される行に対して掃き出しを行う。
さらに、本例においては、要行が見つかった場合、要フラグに1を出力する以外に、要列として対応する列を出力するので、ここでは、第1要探索、掃き出し回路130は、要フラグS18である1と共に要列S22である5を出力する。
さらに、今回の繰り返しのLLR更新のために、信頼性伝播(BP)部35へ読み出されたパリティ検査行列第3行が出力される。また、要列インデックスメモリ210から行インデックスS12である3に対応する要列2が信頼性伝播(BP)部35に出力される。
As shown in FIG. 27, new diagonalization target column indexes 5 and 6 are first input in advance, and the diagonalization target columns 5 and 6 are set in two search and sweep-out circuits, respectively.
Here, when 3 which is a new row index S10 which is essential is input, this is read into the matrix memory 120, and the parity check matrix third row S13 is output.
This parity check row S13 is first sent to the search / sweeper circuit, and is required if the target column is non-zero, as in the case of the first configuration example. Will sweep out incoming lines.
Further, in this example, when a required row is found, a corresponding column is output as a required column, in addition to outputting 1 as a required flag. Here, the first required search and sweep-out circuit 130 Output 5 which is the main column S22 together with 1 which is S18.
Further, the third row of the parity check matrix read out to the belief propagation (BP) unit 35 is output for the current repeated LLR update. Further, the main column 2 corresponding to 3 which is the row index S12 is output from the main column index memory 210 to the reliability propagation (BP) unit 35.

次に、図28に示すように、新しく要行になれる行インデックスS10である4が入力され、パリティ検査行列第4行が行列メモリ120から読み出される。
このパリティ検査行S13も同様に要探索、掃き出し回路へ送られるのと同時並列的に、信頼性伝播(BP)部35にも出力される。また、要列インデックスメモリ210から行インデックスS12である4に対応する要列3が信頼性伝播(BP)部35に出力される。
Next, as shown in FIG. 28, 4 which is a row index S10 which becomes a new important row is input, and the fourth row of the parity check matrix is read from the matrix memory 120.
Similarly, the parity check row S13 is also output to the reliability propagation (BP) unit 35 in parallel with being sent to the search and sweep-out circuit. Further, the main column 3 corresponding to 4 which is the row index S12 is output from the main column index memory 210 to the reliability propagation (BP) unit 35.

次に、図29に示すように、以降は新しく要行になれる行インデックスS10が入力されないため、行インデックスメモリ110の読出し行インデックス保持部111の先頭から行インデックスを読み出す。
ただし、既に新しく要行になれる行インデックスS10に入っていた行インデックスについては、読み出しをスキップする。ここでは、行インデックス1を読み出し、パリティ検査行列第1行が行列メモリ120から読み出される。
この行も同様に要探索、掃き出し回路へ送られるのと同時に、信頼性伝播(BP)部35にも出力される。また、要列インデックスメモリ210から行インデックスS12である1に対応する要列4が信頼性伝播(BP)部35に出力される。
また、このとき、要フラグS21として1が要列インデックスに入力されるため、要列インデックスメモリ210の書き込み行インデックスS11である3のアドレスに新たな対応する列インデックスS25の5を書き込む。
Next, as shown in FIG. 29, since the row index S10 that becomes a new important row is not input thereafter, the row index is read from the head of the read row index holding unit 111 of the row index memory 110.
However, reading is skipped for the row index that has already been in the row index S10 that becomes a new important row. Here, the row index 1 is read, and the first row of the parity check matrix is read from the matrix memory 120.
Similarly, this line is sent to the search and sweep circuit, and at the same time, is output to the reliability propagation (BP) unit 35. Further, the main column 4 corresponding to 1 which is the row index S12 is output from the main column index memory 210 to the reliability propagation (BP) unit 35.
At this time, since 1 is input to the required column index as the required flag S21, the new corresponding column index S25 of 5 is written to the address of 3 which is the write row index S11 of the required column index memory 210.

次に、図30に示すように、行インデックスメモリ110から行インデックスS12を読み出す。ただし、行インデックス4は既に新しく要になれる行インデックスS10に入っていたため、読出し行インデックス保持部111の次の行インデックス2を読み出し、パリティ検査第2行が行列メモリ120から読み出される。
これも同様に要探索、掃き出し回路へ送られるのと同時並列的に、信頼性伝播(BP)部35にもパリティ検査行が出力される。また、要列インデックスメモリ210から行インデックスS12である2に対応する要列1が信頼性伝播(BP)部35に出力される。
また、このとき、要フラグ1が要列インデックスメモリ210に入力されるため、要列インデックス21の書き込み行インデックスS11である4に新たな対応する列インデックスS25である6を書き込む。なお、ここで行列メモリ120からの行読出しは終了する。
Next, the row index S12 is read from the row index memory 110 as shown in FIG. However, since the row index 4 has already entered the row index S10 that is newly important, the next row index 2 of the read row index holding unit 111 is read, and the parity check second row is read from the matrix memory 120.
Similarly, a parity check line is also output to the reliability propagation (BP) unit 35 in parallel with the transmission to the search and sweep circuit required. Further, the main column 1 corresponding to 2 which is the row index S12 is output from the main column index memory 210 to the reliability propagation (BP) unit 35.
At this time, since the required flag 1 is input to the required column index memory 210, a new corresponding column index S25 of 6 is written to 4 which is the write row index S11 of the required column index 21. Note that the row reading from the matrix memory 120 ends here.

次に、図31〜図33に示すように、新しい要行どうしの掃き出しを行い、図34に示すように対角化も完了する。
以上で内側繰り返し二回目以降の動作は完了する。
これにより、RS(204,188)を想定し、対角化回路で4列パラレルに基本変形を行う場合を考えると、繰り返し二回目以降に各繰り返しで必要とするクロックサイクル数は、Tは128となり、図7の第1の構成例と比べて、半分の動作クロックサイクル数で繰り返しを実現できる。
なお、ソート部では、本繰り返しで新しく対角化対象から外れる4列以外の124列の中から、信頼性の大きい4列を次の繰り返しで新しく対角化対象から外れる4列とする必要がある。
また、ソート部32から新しく要になれる行インデックスを得るには、ソート部32が列インデックスに対応する要行インデックスを知る必要がある。この場合、たとえば列インデックスだけでなく、対応する要行インデックスもソート部32に送る方法などが適用可能である。
Next, as shown in FIGS. 31 to 33, new important lines are swept out, and diagonalization is completed as shown in FIG.
This completes the second and subsequent operations.
As a result, assuming RS (204, 188) and considering the case where basic transformation is performed in parallel in four columns by the diagonalization circuit, the number of clock cycles required for each iteration after the second iteration is T 2 As compared with the first configuration example of FIG. 7, the repetition can be realized with half the number of operation clock cycles.
In the sorting unit, it is necessary to select four columns with high reliability from among the 124 columns other than the four columns newly excluded from the diagonalization target in this iteration as the four columns newly excluded from the diagonalization target in the next iteration. is there.
Further, in order to obtain a new important row index from the sorting unit 32, the sorting unit 32 needs to know the required row index corresponding to the column index. In this case, for example, a method of sending not only the column index but also the corresponding required row index to the sorting unit 32 can be applied.

以上説明したように、本実施形態においては、ソート後の信頼性の順番により、次回の繰り返しで新しく対角化対象列になる4列だけでなく、次回の繰り返しで新しく対角化対象から外れる4列も決定する方法を新たに用いて、ソート部32と対角化部33と信頼性伝播(BP)部35のパラレル動作を実現している。
これにより、ソート部32と対角化部33と信頼性伝播(BP)部35をパラレルに動作させることが可能になり、動作周波数を低減したり、繰り返し数を増やしたりすることが可能となる利点がある。
As described above, in this embodiment, depending on the reliability order after sorting, not only the four columns that become the new diagonalization target column in the next iteration but also the new diagonalization target in the next iteration. By using a new method of determining four columns, the parallel operation of the sorting unit 32, the diagonalizing unit 33, and the reliability propagation (BP) unit 35 is realized.
As a result, the sorting unit 32, the diagonalizing unit 33, and the reliability propagation (BP) unit 35 can be operated in parallel, and the operating frequency can be reduced or the number of repetitions can be increased. There are advantages.

なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
Note that the method described above in detail can be formed as a program according to the above-described procedure and executed by a computer such as a CPU.
Further, such a program can be configured to be accessed by a recording medium such as a semiconductor memory, a magnetic disk, an optical disk, a floppy (registered trademark) disk, or the like, and to execute the program by a computer in which the recording medium is set.

パリティ検査行列Hnewに対応するタナーグラフである。It is a Tanner graph corresponding to the parity check matrix Hnew. ABP復号法を用いた繰り返し復号のフローチャートである。It is a flowchart of iterative decoding using an ABP decoding method. ABP復号装置の繰り返し毎のフローの一列を示す図である。It is a figure which shows one line of the flow for every repetition of an ABP decoding apparatus. デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにABP復号器を用いた通信システムの構成例を示す図である。It is a figure which shows the structural example of the communication system which used the ABP decoder for error correction systems, such as a digital signal receiver, for example, digital television. MAP復号が後段についたABP復号器の構成例を示す図である。It is a figure which shows the structural example of the ABP decoder to which the MAP decoding was attached to the back | latter stage. ABP復号器の構成例を示す図である。It is a figure which shows the structural example of an ABP decoder. 本発明の実施形態に係るABP復号器の対角化部の第1の構成例を示す図であり、処理を説明するための第1図である。It is a figure which shows the 1st structural example of the diagonalization part of the ABP decoder which concerns on embodiment of this invention, and is the 1st figure for demonstrating a process. 第1の構成例に係る対角化部の処理を説明するための第2図である。It is FIG. 2 for demonstrating the process of the diagonalization part which concerns on a 1st structural example. 第1の構成例に係る対角化部の処理を説明するための第3図である。It is FIG. 3 for demonstrating the process of the diagonalization part which concerns on a 1st structural example. 第1の構成例に係る対角化部の処理を説明するための第4図である。It is FIG. 4 for demonstrating the process of the diagonalization part which concerns on a 1st structural example. 第1の構成例に係る対角化部の処理を説明するための第5図である。It is FIG. 5 for demonstrating the process of the diagonalization part which concerns on a 1st structural example. 第1の構成例に係る対角化部の処理を説明するための第6図である。It is FIG. 6 for demonstrating the process of the diagonalization part which concerns on a 1st structural example. 第1の構成例に係る対角化部の処理を説明するための第7図である。It is FIG. 7 for demonstrating the process of the diagonalization part which concerns on a 1st structural example. 第1の構成例に係る対角化部の処理を説明するための第8図である。It is FIG. 8 for demonstrating the process of the diagonalization part which concerns on a 1st structural example. 第1の構成例に係る対角化部の処理を説明するための第9図である。It is FIG. 9 for demonstrating the process of the diagonalization part which concerns on a 1st structural example. 第1の構成例に係る対角化部の処理を説明するための第10図である。It is FIG. 10 for demonstrating the process of the diagonalization part which concerns on a 1st structural example. 本実施系形態に係る要探索、掃き出し回路の構成例を示す図である。It is a figure which shows the structural example of the search required according to this embodiment, and a sweep-out circuit. 、RS(204,188)を対象としたABP復号器の第1の内側繰り返しフローを示す図である。, RS (204, 188) is a diagram illustrating a first inner iterative flow of an ABP decoder. 内側繰り返しフローに関するABP復号器の動作状態を説明するため第1図である。FIG. 1 is a first diagram for explaining an operation state of an ABP decoder related to an inner iterative flow. 内側繰り返しフローに関するABP復号器の動作状態を説明するため第2図である。FIG. 2 is a second diagram for explaining the operation state of the ABP decoder related to the inner iterative flow. 内側繰り返しフローに関するABP復号器の動作状態を説明するため第3図である。FIG. 3 is a diagram for explaining the operation state of the ABP decoder regarding the inner iterative flow. 本実施形態に係るABP復号器の第2の内側繰り返しフローを示す図である。It is a figure which shows the 2nd inner side repetition flow of the ABP decoder which concerns on this embodiment. シミュレーションモデルを示す図である。It is a figure which shows a simulation model. シミュレーション結果を示す図である。It is a figure which shows a simulation result. 本発明の内側繰り返し方法の二回目以降のABP復号器の動作状態例を示す図である。It is a figure which shows the example of an operation state of the ABP decoder after the 2nd time of the inner side repetition method of this invention. 本発明の実施形態に係る対角化部の第2の構成例を示す図であり、処理を説明するための第1図である。It is a figure which shows the 2nd structural example of the diagonalization part which concerns on embodiment of this invention, and is a 1st figure for demonstrating a process. 第2の構成例に係る対角化部の処理を説明するための第2図である。It is FIG. 2 for demonstrating the process of the diagonalization part which concerns on a 2nd structural example. 第2の構成例に係る対角化部の処理を説明するための第3図である。It is FIG. 3 for demonstrating the process of the diagonalization part which concerns on a 2nd structural example. 第2の構成例に係る対角化部の処理を説明するための第4図である。It is FIG. 4 for demonstrating the process of the diagonalization part which concerns on a 2nd structural example. 第2の構成例に係る対角化部の処理を説明するための第5図である。It is FIG. 5 for demonstrating the process of the diagonalization part which concerns on a 2nd structural example. 第2の構成例に係る対角化部の処理を説明するための第6図である。It is FIG. 6 for demonstrating the process of the diagonalization part which concerns on a 2nd structural example. 第2の構成例に係る対角化部の処理を説明するための第7図である。It is FIG. 7 for demonstrating the process of the diagonalization part which concerns on a 2nd structural example. 第2の構成例に係る対角化部の処理を説明するための第8図である。It is FIG. 8 for demonstrating the process of the diagonalization part which concerns on a 2nd structural example. 第2の構成例に係る対角化部の処理を説明するための第9図である。It is FIG. 9 for demonstrating the process of the diagonalization part which concerns on a 2nd structural example.

符号の説明Explanation of symbols

10・・・通信システム、11・・・RS符号化器、12・・・インタリーバ、13・・・畳み込み符号器、14・・・畳み込み符号の軟出力復号器、15・・・デインタリーバ、16・・・ABP繰り返し復号器、17・・・チャネル、20・・・復号器、21・・・ABP復号部、22・・・限界距離(BD)復号部、23・・・受信信頼度(LLR)保持部、24・・・MAP復号部、30・・・ABP復号器、31・・・ソート入力選択部、32・・・ソート部、33・・・パリティ検査行列の対角化部、34・・・信頼度(LLR)保持部、35・・・信頼性伝播(BP)部、100・・・行列対角化部、110・・・行インデックスメモリ、120・・・行列メモリ、130・・・第1要探索・掃き出し回路、140・・・第1行保持部、150・・・第1要フラグ保持部、160・・・第2要探索、掃き出し回路、170・・・第2行保持部、180・・・第2要フラグ保持部、190・・・第1要列保持部、200・・・第2要列保持部、210・・・要列インデックスメモリ。   DESCRIPTION OF SYMBOLS 10 ... Communication system, 11 ... RS encoder, 12 ... Interleaver, 13 ... Convolutional encoder, 14 ... Soft output decoder of convolutional code, 15 ... Deinterleaver, 16 ... ABP iterative decoder, 17 ... channel, 20 ... decoder, 21 ... ABP decoder, 22 ... limit distance (BD) decoder, 23 ... reception reliability (LLR) ) Holding unit, 24... MAP decoding unit, 30... ABP decoder, 31... Sort input selection unit, 32... Sorting unit, 33. ... reliability (LLR) holding unit, 35 ... reliability propagation (BP) unit, 100 ... matrix diagonalization unit, 110 ... row index memory, 120 ... matrix memory, 130 ..First search / sweep circuit, 140 ... first Holding unit, 150 ... first flag required holding unit, 160 ... second search required, sweeping circuit, 170 ... second row holding unit, 180 ... second required flag holding unit, 190 ... First column holding unit, 200... Second column holding unit, 210.

Claims (18)

受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、
受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理ステップを有し、
信頼性順のソートが完了した時点で、次の内側繰り返しで対角化対象列と対角化非対象列の間で入れ替える列を強制的に決定する
復号方法。
Using the parity check matrix that is sorted according to the reliability of the received words and diagonalized in that order, the reliability is updated by performing the belief propagation (BP), and the updated value In contrast, a decoding method that repeats the above operation again,
An inner iterative decoding process step of performing reliability propagation using a parity check matrix diagonalized in column order corresponding to a symbol having a small received value reliability (LLR) and repeating this operation based on the updated reliability Have
A decoding method that forcibly determines a column to be exchanged between a diagonalization target column and a diagonalization non-target column in the next inner iteration when sorting in the reliability order is completed.
信頼性伝播(BP)処理と対角化処理とを並列的に行う
請求項1記載の復号方法。
The decoding method according to claim 1, wherein belief propagation (BP) processing and diagonalization processing are performed in parallel.
対角化処理で要探索、掃き出しのために読み出したパリティ検査行を、信頼性伝播処理の入力とする
請求項2記載の復号方法。
The decoding method according to claim 2, wherein the parity check row read out for searching and sweeping out in the diagonalization process is used as an input of the reliability propagation process.
対角化処理で読み出すパリティ検査行の順において、次の内側繰り返しで新しく対角化対象から外れる列の要行を先に読み出す
請求項3記載の復号方法。
The decoding method according to claim 3, wherein in the order of parity check rows read by the diagonalization processing, the main row of the column newly excluded from the diagonalization target is read first by the next inner iteration.
信頼性のソートを行う際に、前回の内側繰り返しで既に決定した本内側繰り返しで新しく対角化対象から外れる列以外の中から次の内側繰り返しで新しく対角化対象から外れる列を選択する
請求項4記載の復号方法。
When sorting reliability, select a column that is newly excluded from the diagonalization in the next inner iteration from among the columns that are newly excluded from the diagonalization in the inner inner iteration already determined in the previous inner iteration. Item 5. The decoding method according to Item 4.
信頼性のソートを行う際に、前回の内側繰り返しで既に決定した本内側繰り返しで新しく対角化対象から外れる列以外のうち信頼性の大きい列を次の内側繰り返しで新しく対角化対象から外れる列とする
請求項5記載の復号方法。
When sorting reliability, the column with higher reliability is excluded from the diagonalization in the next inner iteration except for the columns that are newly excluded from the diagonalization in the inner iteration already determined in the previous inner iteration. The decoding method according to claim 5, wherein the decoding method is a sequence.
受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号装置であって、
受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理の際に、信頼性順のソートが完了した時点で、次の内側繰り返しで対角化対象列と対角化非対象列の間で入れ替える列を強制的に決定する処理部を有する
復号装置。
Using the parity check matrix that is sorted according to the reliability of the received words and diagonalized in that order, the reliability is updated by performing the belief propagation (BP), and the updated value In contrast, a decoding device that repeats the above operation again,
In the inner iterative decoding process in which reliability propagation is performed using a parity check matrix diagonalized in column order corresponding to a symbol with a small received value reliability (LLR), and this operation is repeated based on the updated reliability. And a processing unit that forcibly determines a column to be exchanged between the diagonalization target column and the diagonalization non-target column in the next inner iteration when the sorting in the reliability order is completed.
前記処理部は、
信頼性伝播(BP)処理と対角化処理とを並列的に行う
請求項7記載の復号装置。
The processor is
The decoding device according to claim 7, wherein the belief propagation (BP) process and the diagonalization process are performed in parallel.
前記処理部は、
対角化処理で要探索、掃き出しのために読み出したパリティ検査行を、信頼性伝播処理の入力とする
請求項8記載の復号装置。
The processor is
The decoding apparatus according to claim 8, wherein a parity check row read out for searching and sweeping out in the diagonalization process is used as an input of the reliability propagation process.
前記処理部は、
対角化処理で読み出すパリティ検査行の順において、次の内側繰り返しで新しく対角化対象から外れる列の要行を先に読み出す
請求項9記載の復号装置。
The processor is
The decoding device according to claim 9, wherein in the order of parity check rows read by the diagonalization process, the main row of the column newly excluded from the diagonalization target is read first by the next inner iteration.
前記処理部は、
信頼性のソートを行う際に、前回の内側繰り返しで既に決定した本内側繰り返しで新しく対角化対象から外れる列以外の中から次の内側繰り返しで新しく対角化対象から外れる列を選択する
請求項10記載の復号装置。
The processor is
When sorting reliability, select a column that is newly excluded from the diagonalization in the next inner iteration from among the columns that are newly excluded from the diagonalization in the inner inner iteration already determined in the previous inner iteration. Item 11. The decoding device according to Item 10.
前記処理部は、
信頼性のソートを行う際に、前回の内側繰り返しで既に決定した本内側繰り返しで新しく対角化対象から外れる列以外のうち信頼性の大きい列を次の内側繰り返しで新しく対角化対象から外れる列とする
請求項11記載の復号装置。
The processor is
When sorting reliability, the column with higher reliability is excluded from the diagonalization in the next inner iteration except for the columns that are newly excluded from the diagonalization in the inner iteration already determined in the previous inner iteration. The decoding device according to claim 11, wherein the decoding device is a column.
受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号処理において、
受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理ステップで、
信頼性順のソートが完了した時点で、次の内側繰り返しで対角化対象列と対角化非対象列の間で入れ替える列を強制的に決定する処理を
コンピュータに実行させるプログラム。
Using the parity check matrix that is sorted according to the reliability of the received words and diagonalized in that order, the reliability is updated by performing the belief propagation (BP), and the updated value In the decoding process that repeats the above operation again,
In the inner iterative decoding process step, which performs reliability propagation using a parity check matrix diagonalized in column order corresponding to a symbol having a small received value reliability (LLR), repeats this operation based on the updated reliability. ,
A program that causes the computer to execute the process of forcibly determining the column to be replaced between the diagonalization target column and the diagonalization non-target column in the next inner iteration when sorting in the reliability order is completed.
信頼性伝播(BP)処理と対角化処理とを並列的に行う処理をコンピュータに実行させる
請求項13記載のプログラム。
The program according to claim 13, which causes a computer to execute processing for performing belief propagation (BP) processing and diagonalization processing in parallel.
対角化処理で要探索、掃き出しのために読み出したパリティ検査行を、信頼性伝播処理の入力とする処理をコンピュータに実行させる
請求項14記載のプログラム。
The program according to claim 14, causing the computer to execute processing that uses the parity check row read out for searching and sweeping out in the diagonalization processing as an input of the reliability propagation processing.
対角化処理で読み出すパリティ検査行の順において、次の内側繰り返しで新しく対角化対象から外れる列の要行を先に読み出す処理をコンピュータに実行させる
請求項15記載のプログラム。
The program according to claim 15, wherein in a sequence of parity check rows read by diagonalization processing, the computer executes a process of first reading a main row in a column newly excluded from the diagonalization target in the next inner iteration.
信頼性のソートを行う際に、前回の内側繰り返しで既に決定した本内側繰り返しで新しく対角化対象から外れる列以外の中から次の内側繰り返しで新しく対角化対象から外れる列を選択する処理をコンピュータに実行させる
請求項16記載のプログラム。
When sorting for reliability, processing to select a column that is newly excluded from the diagonalization target in the next inner iteration from the columns that are newly excluded from the diagonalization target in the inner inner iteration already determined in the previous inner iteration The program according to claim 16, wherein the program is executed by a computer.
信頼性のソートを行う際に、前回の内側繰り返しで既に決定した本内側繰り返しで新しく対角化対象から外れる列以外のうち信頼性の大きい列を次の内側繰り返しで新しく対角化対象から外れる列とする処理をコンピュータに実行させる
請求項17記載のプログラム。
When sorting reliability, the column with higher reliability is excluded from the diagonalization in the next inner iteration except for the columns that are newly excluded from the diagonalization in the inner iteration already determined in the previous inner iteration. The program according to claim 17, which causes a computer to execute processing to form a sequence.
JP2007036016A 2007-02-16 2007-02-16 Decoding method and decoding apparatus, and program Pending JP2008205546A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007036016A JP2008205546A (en) 2007-02-16 2007-02-16 Decoding method and decoding apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007036016A JP2008205546A (en) 2007-02-16 2007-02-16 Decoding method and decoding apparatus, and program

Publications (1)

Publication Number Publication Date
JP2008205546A true JP2008205546A (en) 2008-09-04

Family

ID=39782623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007036016A Pending JP2008205546A (en) 2007-02-16 2007-02-16 Decoding method and decoding apparatus, and program

Country Status (1)

Country Link
JP (1) JP2008205546A (en)

Similar Documents

Publication Publication Date Title
JP4595574B2 (en) Decoding apparatus and method, and program
JP4412401B2 (en) Decoding device, decoding method, receiving device, and storage medium playback device
Giard et al. Fast low-complexity decoders for low-rate polar codes
US8103945B2 (en) Decoding method and decoding apparatus as well as program
JP2006238127A (en) Decoding device and method, and program
US8650451B2 (en) Stochastic stream decoding of binary LDPC codes
JP4462342B2 (en) Decoding device and decoding method
CN107979445B (en) Syndrome decoding based on basic check nodes using pre-ordered inputs
JP4208017B2 (en) Decoding method and decoding apparatus
Scholl et al. Hardware implementation of a Reed-Solomon soft decoder based on information set decoding
Grinchenko et al. Improving performance of multithreshold decoder over binary erasure channel
CN104052499A (en) Erasure correcting decoding method and system of LDPC code
JP2009225325A (en) Decoding method and decoding apparatus, and program
JP4862657B2 (en) Decoding method, decoding apparatus, and program
JP2008205546A (en) Decoding method and decoding apparatus, and program
CN110708077B (en) LDPC code large number logic decoding method, device and decoder
JP5130715B2 (en) Data sort device and data sort method
JP4910708B2 (en) Decoding device and decoding method
JP4862658B2 (en) Decoding method, decoding apparatus, and program
JP2008205547A (en) Decoding method and decoder
JP2008199148A (en) Decoding apparatus, decoding method and program
JP2007281771A (en) Error correction decoder and error correction decoding method
JP2008199149A (en) Decoding device and decoding method
KR101267756B1 (en) Method for encoding and decoding rate-compatible irregular repeat multiple-state accumulate codes and apparatuses using the same
Scholl et al. Advanced hardware architecture for soft decoding Reed-Solomon codes