JP2008140336A - Matrix diagonalization method, matrix diagonalization device, decoding device, and program - Google Patents

Matrix diagonalization method, matrix diagonalization device, decoding device, and program Download PDF

Info

Publication number
JP2008140336A
JP2008140336A JP2006328557A JP2006328557A JP2008140336A JP 2008140336 A JP2008140336 A JP 2008140336A JP 2006328557 A JP2006328557 A JP 2006328557A JP 2006328557 A JP2006328557 A JP 2006328557A JP 2008140336 A JP2008140336 A JP 2008140336A
Authority
JP
Japan
Prior art keywords
row
diagonalization
matrix
column
search
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
JP2006328557A
Other languages
Japanese (ja)
Inventor
Makiko Yamamoto
真紀子 山本
Satoshi Okada
諭志 岡田
Mineshi Yokogawa
峰志 横川
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 JP2006328557A priority Critical patent/JP2008140336A/en
Publication of JP2008140336A publication Critical patent/JP2008140336A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a matrix diagnolization method, a matrix diagnolization device, a decoding device and a program for quickening the diagnolization of a matrix. <P>SOLUTION: A matrix diagonalization device 100 is provided with a matrix memory 120 for storing a matrix; a line index memory 110 for storing the index of a line; and a requiring search and sweep-out circuit 130 for operating requiring search and sweep-out. This matrix diagonalization device is provided with a function for successively reading line indexes from the line index memory 110, and for reading the line designated by the line index from the matrix memory 120, and for operating requiring search and sweep-out by viewing a column as the object of the diagonalization of the line. In this case, elements as the object of requiring search are limited to only the elements included by the line which has not become a key line yet. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、行列の対角化方法、対角化装置、復号装置、およびプログラムに関するものである。   The present invention relates to a matrix diagonalization method, a diagonalization device, a decoding device, and a program.

行列の対角化を行う方法の一つに掃き出し法が知られている。
ここでいう対角化とは、たとえばm行n列(m≦n)の行列の場合、対角化対象となるm列を含むm行m列の部分行列について、行重み1、列重み1の行列に変形することを指す。
掃き出し法は、行の基本変形を繰り返すことで実現される。
A sweeping method is known as one method of diagonalizing a matrix.
For example, in the case of a matrix of m rows and n columns (m ≦ n), the diagonalization here refers to a row weight of 1 and a column weight of 1 for an m row and m column submatrix including m columns to be diagonalized. Refers to transforming into a matrix.
The sweep-out method is realized by repeating the basic deformation of rows.

図1は、0か1のみの要素を持つ行列の対角化のフローチャートである。   FIG. 1 is a flowchart of diagonalization of a matrix having only 0 or 1 elements.

基本変形では、対象列を第1行から順にその要素を調べ(ST1〜ST3)、要素が零か非零かを判定し(ST4,ST6)、また、その要素を含む行が既に要行になったことがあるかも判定する(ST5,ST6)。
非零でありかつその行が未だ要行になったことがなければ、その要素を要とし、その要素を含む行を要行とする(ST7)。これを要探索という。
次に、要行を用いて他行を掃き出す。掃き出しでは、要行以外に対象列が非零となる要素を探し、その行から要行を減算する(ST8〜ST16)。
In the basic modification, the elements of the target column are examined in order from the first row (ST1 to ST3), and it is determined whether the element is zero or nonzero (ST4, ST6). It is also determined whether it has become (ST5, ST6).
If it is non-zero and the line has not yet become a main line, the element is required and the line including the element is the main line (ST7). This is called search required.
Next, other lines are swept out using the main line. In sweeping, an element whose target column is non-zero is searched for in addition to the main line, and the main line is subtracted from that line (ST8 to ST16).

以下に具体例を挙げる。ここでは例として、0か1の要素しかない4行6列の行列の第1列から第4列までを対角化する場合を考察する。   Specific examples are given below. Here, as an example, consider the case of diagonalizing from the first column to the fourth column of a 4 × 6 matrix with only 0 or 1 elements.

<1>次の初期行列に対して対角化を開始する。 <1> Start diagonalization for the next initial matrix.

Figure 2008140336
Figure 2008140336

<2>まず、次のように、第1列について基本変形を行う。
第1行を要探索する。この場合、第1列は零なので要にはならない。
<2> First, basic deformation is performed on the first column as follows.
Search for the first line. In this case, the first column is not necessary because it is zero.

Figure 2008140336
Figure 2008140336

<3>次に、第2行を要探索する。
この場合、第1列は零なので要にはならない。
<3> Next, the second row is searched for.
In this case, the first column is not necessary because it is zero.

Figure 2008140336
Figure 2008140336

<4>第3行を要探索する。
この場合、第1列は非零であり、かつ第3行はこれまで要行になったことがないため、この行を要行とする。
<4> Search for the third line.
In this case, the first column is non-zero, and the third row has never been a required row so far, so this row is set as the required row.

Figure 2008140336
Figure 2008140336

<5>次に、第3行を使って他行を掃き出す。
この場合、第4行の第1列は非零であるため、第3行を第4行に加える。
<5> Next, the third row is used to sweep out other rows.
In this case, since the first column of the fourth row is non-zero, the third row is added to the fourth row.

Figure 2008140336
Figure 2008140336

<6>第1行の第1列は零であるためそのままにする。 <6> Since the first column of the first row is zero, it is left as it is.

Figure 2008140336
Figure 2008140336

<7>第2行の第1列は零であるためそのままにする。 <7> Since the first column of the second row is zero, it is left as it is.

Figure 2008140336
Figure 2008140336

<8>次に、第2列について基本変形を施す。
第1行を要探索する。この場合、第2列は零なので要にはならない。
<8> Next, basic modification is applied to the second column.
Search for the first line. In this case, the second column is not necessary because it is zero.

Figure 2008140336
Figure 2008140336

<9>第2行を要探索する。
この場合、第2列は零なので要にはならない。
<9> Search the second row.
In this case, the second column is not necessary because it is zero.

Figure 2008140336
Figure 2008140336

<10>第3行を要探索する。
この場合、第2列は非零であるが、第3行はすでに第1列で要行になったので、第2列で要行にはなれない。
<10> Search for the third line.
In this case, the second column is non-zero, but the third row is already a key row in the first column, so it cannot be a key row in the second column.

Figure 2008140336
Figure 2008140336

<11>第4行を要探索する。
この場合、第2列は非零であり、かつ第4行はこれまで要行になったことがないため、この行を要行とする。
<11> Search the fourth line.
In this case, since the second column is non-zero and the fourth row has never been a required row, this row is set as the required row.

Figure 2008140336
Figure 2008140336

<12>第4行を使って他行を掃き出す。
この場合、第1行の第2列は零であるためそのままにする。
<12> Sweep out other lines using the fourth line.
In this case, the second column of the first row is zero and is left as it is.

Figure 2008140336
Figure 2008140336

<13>第2行の第2列は零であるためそのままにする。 <13> Since the second column of the second row is zero, it is left as it is.

Figure 2008140336
Figure 2008140336

<14>第3行の第2列は非零であるので第4行を第3行に加える。 <14> Since the second column of the third row is non-zero, the fourth row is added to the third row.

Figure 2008140336
Figure 2008140336

<15>第3列についても同様に基本変形を行う。 <15> The basic deformation is similarly performed for the third column.

Figure 2008140336
Figure 2008140336

<16>第4列についても同様に基本変形を行う。 <16> The basic deformation is similarly performed for the fourth column.

Figure 2008140336
Figure 2008140336

以上で、対角化が完了する。なお、0と1以外の要素が存在する場合は、掃き出す時に、掃き出される行の対象要素を要行の対象要素で割った値と要行を掛け合わせて掃き出される行から減算すればよい。   This completes the diagonalization. If elements other than 0 and 1 are present, when sweeping, the value obtained by dividing the target element of the line to be swept out by the target element of the main line and the main line may be multiplied and subtracted from the line to be swept out. .

対角化対象となる列の基本変形を行う場合、1列の基本変形に対し、要探索と掃き出しの両方の対象となる要素が発生し、最長で要探索と掃き出しの処理を各々行数分ずつ行う必要がある。   When performing basic deformation of a column to be diagonalized, an element that is subject to both search and sweep out occurs for the basic deformation of one column, and the search and sweep processing for each row is the maximum number of rows. It is necessary to do it one by one.

たとえば、上述した技術例において、第2列を基本変形するとき、第1行から第4行まで要探索を行った後に、第4行を用いて他行に掃き出す際、第1行、第2行、第3行の第2列が零か非零かを順に調べ直し掃き出す必要がある。
すなわち、上述した技術では、行列の対角化処理に時間がかかるという不利益がある。
For example, in the above-described technical example, when the second column is basically deformed, the first row and the second row are searched when the fourth row is used to sweep to the other row after performing the search from the first row to the fourth row. It is necessary to reexamine and sweep out whether the second column of the row and the third row is zero or non-zero in order.
That is, the above-described technique has a disadvantage that it takes time to process the matrix diagonalization.

本発明は、行列の対角化処理の高速化を図ることが可能な行列対角化方法、行列対角化装置、復号装置、およびプログラムを提供することにある。   An object of the present invention is to provide a matrix diagonalization method, a matrix diagonalization device, a decoding device, and a program capable of increasing the speed of matrix diagonalization.

本発明の第1の観点の行列対角化方法は、対角化対象列において、順に要素が零か非零かを判定する第1ステップと、前記要素を含む行が既に要行になったことがあるかも判定する第2ステップと、判定の結果、非零でありかつその行が未だ要行になったことがない場合には、当該要素を要、当該要素を含む行を要行とする第3ステップと、前記要行を利用して他行を掃き出す掃き出し第4ステップと、を有し、前記第1ステップから前記第4ステップの処理を対角化対象列毎に繰り返し、要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する。   In the matrix diagonalization method according to the first aspect of the present invention, in the diagonalization target column, a first step for determining whether an element is zero or nonzero in order, and a row including the element has already become a required row. A second step for determining whether or not there is a non-zero result, and if the line has not yet become a required line, the element is required, and the line including the element is set as the required line. And a fourth step of sweeping out other rows using the essential row, and repeating the processing from the first step to the fourth step for each diagonalization target column, The elements that are the target of the are limited to elements that do not yet have a line containing the element.

本発明の第2の観点の行列対角化装置は、対角化対象列において、順に要素が零か非零かを判定し、当該要素を含む行が既に要行になったことがあるかも判定し、非零でありかつその行が未だ要行になったことがない場合には、当該要素を要、当該要素を含む行を要行とする要探索手段と、前記要行を利用して他行を掃き出す掃き出し手段と、を有し、前記要探索手段および前記掃き出し手段は、処理を対角化対象列毎に繰り返し、要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する。   The matrix diagonalization apparatus according to the second aspect of the present invention may determine whether an element is zero or nonzero in order in a diagonalization target column, and a row including the element may already be a required row. If it is non-zero and the line has not yet become a required line, a search means that requires the element and a line including the element as a required line, and the required line are used. And sweeping means for sweeping out other rows, and the search-required means and the sweep-out means repeat the processing for each column to be diagonalized, and a row including the element as a search target element is still required. Limit to elements that are not in a row.

本発明の第3の観点の行列対角化装置は、行列を記憶する行列メモリと、行のインデックスを記憶する行インデックスメモリと、要探索、掃き出しを行う要探索、掃き出し回路と、を含み、行インデックスメモリから順に行インデックスを読み出し、その行インデックスが指定する行を行列メモリから読み出し、当該行の対角化の対象となる列の要素を見て、要探索、掃き出しを行う機能を有し、要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する。   A matrix diagonalization device according to a third aspect of the present invention includes: a matrix memory that stores a matrix; a row index memory that stores a row index; and a search that needs to be searched and a sweep required, and a sweep circuit. Reads the row index sequentially from the row index memory, reads the row specified by the row index from the matrix memory, and looks at the elements of the column that is the subject of diagonalization of the row, and has the function of searching and sweeping out. The elements to be searched are limited to only those elements for which the line including the element is not yet a required line.

本発明の第4の観点は、対角化対象列において、順に要素が零か非零かを判定し、当該要素を含む行が既に要行になったことがあるかも判定し、非零でありかつその行が未だ要行になったことがない場合には、当該要素を要、当該要素を含む行を要行とする要探索ステップと、前記要行を利用して他行を掃き出す掃き出しステップと、を含み、前記対角化対象列毎に繰り返すことをコンピュータに行わせる行列の対角化プログラムであって、要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定することを含む処理をコンピュータに実行させる対角化プログラムである。   According to a fourth aspect of the present invention, in a diagonalization target column, it is determined whether an element is zero or non-zero in order, and it is also determined whether a row including the element has already become a required row. If there is a line that has not yet become a main line, a search step that requires the element and a line that includes the element as a main line, and a sweep that sweeps out other lines using the main line A matrix diagonalization program that causes a computer to repeat the process for each diagonalization target column, and a row including the element as a search target element is still a main row. This is a diagonalization program that causes a computer to execute processing including limiting to only those elements that are not.

本発明の第5の観点は、対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行うことにより、値が更新され、更新された値に対して、所定の繰り返し回数、ソート、対角化、信頼性伝播(BP)を行う復号装置であって、受信語の信頼度(LLR)の大きさに応じて列インデックスのソートを行うソート部と、信頼度の低いシンボルに対応する列より順に、パリティ検査行列の対角化を行う行列対角化装置と、を含み、前記行列対角化装置は、対角化対象列において、順に要素が零か非零かを判定し、当該要素を含む行が既に要行になったことがあるかも判定し、非零でありかつその行が未だ要行になったことがない場合には、当該要素を要、当該要素を含む行を要行とする要探索手段と、前記要行を利用して他行を掃き出す掃き出し手段と、を有し、前記要探索手段および前記掃き出し手段は、処理を対角化対象列毎に繰り返し、要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する。   According to a fifth aspect of the present invention, a value is updated by performing belief propagation (BP) using a diagonalized parity check matrix, and a predetermined value is obtained with respect to the updated value. A decoding device that performs the number of repetitions, sorting, diagonalization, and reliability propagation (BP), a sorting unit that sorts column indexes according to the reliability (LLR) of received words, A matrix diagonalization device that diagonalizes a parity check matrix in order from a column corresponding to a low symbol, the matrix diagonalization device having elements in the diagonalization target column in the order of zero or non-zero. And if the line containing the element has already become a required line, and if it is non-zero and the line has not yet become a required line, Search means that requires a line including the element as a required line And a sweeping unit that sweeps out other rows using the essential row, and the searching means and the sweeping unit repeat processing for each diagonalization target column, and select elements to be searched for Limit lines containing elements to elements that are not yet required.

本発明の第6の観点は、対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行うことにより、値が更新され、更新された値に対して、所定の繰り返し回数、ソート、対角化、信頼性伝播(BP)を行う復号装置であって、受信語の信頼度(LLR)の大きさに応じて列インデックスのソートを行うソート部と、信頼度の低いシンボルに対応する列より順に、パリティ検査行列の対角化を行う行列対角化装置と、を含み、前記行列対角化装置は、行列を記憶する行列メモリと、行のインデックスを記憶する行インデックスメモリと、要探索、掃き出しを行う要探索、掃き出し回路と、を含み、行インデックスメモリから順に行インデックスを読み出し、その行インデックスが指定する行を行列メモリから読み出し、当該行の対角化の対象となる列の要素を見て、要探索、掃き出しを行う機能を有し、要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する。   According to a sixth aspect of the present invention, a value is updated by performing belief propagation (BP) using a diagonalized parity check matrix, and a predetermined value is obtained with respect to the updated value. A decoding device that performs the number of repetitions, sorting, diagonalization, and reliability propagation (BP), a sorting unit that sorts column indexes according to the reliability (LLR) of received words, A matrix diagonalization device for diagonalizing a parity check matrix in order from a column corresponding to a low symbol, the matrix diagonalization device storing a matrix memory for storing the matrix and a row index A line index memory, search required, search required to perform sweeping, and a circuit for sweeping out. The row index is read in order from the row index memory, and the row specified by the row index is It has a function to read from the column memory, look at the element of the column that is the target of diagonalization of the row, perform search and sweep out, and the row that contains the element to be searched is still a required row Limit to elements that are not.

本発明によれば、行列の対角化を行う際、要探索の対象となる行を過去基本変形を行った列で未だ要になっていない行に限定する。
これにより、各列の各要素を要探索と掃き出しのどちらかのみ対象とすればよくなり、対角化を行う処理が高速化される。
According to the present invention, when the matrix is diagonalized, the rows to be searched are limited to the rows that have not been required yet in the columns subjected to the past basic deformation.
As a result, each element in each column only needs to be searched or swept out, and the diagonalization process is accelerated.

本発明によれば、行列を対角化する場合、各列の要素を、要探索か掃き出しのいずれかの対象とするだけでよく、高速な対角化が可能となる。   According to the present invention, when a matrix is diagonalized, it is only necessary to set each column element as a target of searching or sweeping out, and high-speed diagonalization is possible.

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

図2は、本発明の実施形態に係る行列対角化方法を採用した行列対角化装置の基本的な構成例を示しブロック図である。   FIG. 2 is a block diagram illustrating a basic configuration example of a matrix diagonalization apparatus employing the matrix diagonalization method according to the embodiment of the present invention.

本実施形態に係る行列対角化装置100は、図2に示すように、行のインデックスを記憶する行インデックスメモリ110と、行列を記憶する行列メモリ120と、要探索、掃き出し回路130とを有している。   As shown in FIG. 2, the matrix diagonalization apparatus 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, and a search and sweep circuit 130 that requires searching. is doing.

図2の行列対角化装置100は、行インデックスメモリ110から順に行インデックスを読み出し、その行インデックスが指定する行を行列メモリ120から読み出し、要探索、掃き出し回路130において、その行の対角化の対象となる列の要素を見て、要探索、掃き出しを行う。   The matrix diagonalization apparatus 100 of FIG. 2 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 performs the diagonalization of the row in the search and sweep-out circuit 130. Search for and sweep out the elements of the target row.

行列対角化装置100においては、対象となる列を要探索、掃き出す際、行インデックスメモリ110から行インデックスを先頭アドレスから順番に読み出す。
そして、読み出した行が要行にならなかった場合、その行インデックスを行インデックスメモリ110の先頭アドレスから順に書き込み、読み出した行が要行になった場合のみ、その行インデックスを行インデックスメモリ110の最後のアドレスに書き込む。
結果要探索の対象となる行が未だ要になっていない行に限定される。
これにより、各列の各要素を要探索と掃き出しのどちらかのみ対象とすればよく、対角化を行う処理が高速化される。
In the matrix diagonalization apparatus 100, when searching for and sweeping out the target column, the row index is read from the row index memory 110 in order from the top address.
If the read row is not a required row, the row index is sequentially written from the top address of the row index memory 110. Only when the read row is a required row, the row index is stored in the row index memory 110. Write to last address.
As a result, the search target rows are limited to rows that are not yet needed.
As a result, each element in each column only needs to be searched or swept out, and the diagonalization process is accelerated.

本実施形態の行列対角化装置100は、対角化を行う際、各列の基本変形で、ある行が要行になる度にその行を行列の後段に回す。結果、対象となる列を基本変形するときに、要探索の対象となる行を未だ要になっていない行に限定できる。これにより、各列の各要素を要探索と掃き出しのどちらかのみ対象とすればよく、対角化を行う処理が高速化される。   When performing diagonalization, the matrix diagonalization apparatus 100 according to the present embodiment rotates a row to the subsequent stage of the matrix every time a row becomes a required row in a basic modification of each column. As a result, when the target column is subjected to basic deformation, the rows to be searched for can be limited to rows that have not yet been required. As a result, each element in each column only needs to be searched or swept out, and the diagonalization process is accelerated.

以下、本実施形態に係る行列対角化方法の全体の処理を説明し、その後、図2の行列対角装置100における要探索、掃き出し回路130の構成例、および装置の動作例について説明する。   Hereinafter, the entire process of the matrix diagonalization method according to the present embodiment will be described, and then a search required in the matrix diagonal device 100 of FIG. 2, a configuration example of the sweep circuit 130, and an operation example of the device will be described.

まず、行列対角化方法の全体の処理について説明する。   First, the overall process of the matrix diagonalization method will be described.

図3は、本実施形態に係るm行n列行列の対角化方法を説明するためのフローチャートである。
基本的に、この対角化方法は、図3に示すように、ステップST101〜ST114の処理を行う。
FIG. 3 is a flowchart for explaining a diagonalization method of an m-row n-column matrix according to the present embodiment.
Basically, this diagonalization method performs the processing of steps ST101 to ST114, as shown in FIG.

図3に示すように、各列の基本変形で要行になった行を後段に回すことにより、図1に示した一般的な行列対角化方法と異なり、対象列を基本変形する際、各要素は要探索および掃き出しのいずれかの対象になれば十分で、フローチャート上のi=mとなれば、つまり行を第1行から第m行まで各行に一度ずつアクセスすればその列の基本変形は完了し、一般的な方法のように第1行に戻って再びアクセスする必要がなく、高速な対角化が可能となる。   As shown in FIG. 3, unlike the general matrix diagonalization method shown in FIG. 1, by turning the row that became the main row in the basic transformation of each column to the subsequent stage, when subjecting the target column to basic transformation, It is sufficient for each element to be a target to be searched or swept out, and if i = m in the flowchart, that is, if each row is accessed once from the first row to the m-th row, the basic of the column The transformation is completed, and it is not necessary to go back to the first row and access again as in the general method, and high-speed diagonalization is possible.

以下に具体例を挙げる。ここでは例として、0か1の要素しかない4行6列の行列の第1列から第4列までを対角化する場合を考察する。すなわち、図1および数1〜数16に関連付けた一般的な方法との比較を容易にするために、前述と同様の対角化例を使って説明する。   Specific examples are given below. Here, as an example, consider the case of diagonalizing from the first column to the fourth column of a 4 × 6 matrix with only 0 or 1 elements. That is, in order to facilitate comparison with the general method associated with FIG. 1 and Equations 1 to 16, description will be made using the same diagonalization example as described above.

<1>次の初期行列に対して対角化を開始する。 <1> Start diagonalization for the next initial matrix.

Figure 2008140336
Figure 2008140336

<2>まず、次のように、第1列について基本変形を行う。
第1行を要探索する。この場合、第1列は零なので要にはならない。
<2> First, basic deformation is performed on the first column as follows.
Search for the first line. In this case, the first column is not necessary because it is zero.

Figure 2008140336
Figure 2008140336

<3>次に、第2行を要探索する。
この場合、第1列は零なので要にはならない。
<3> Next, the second row is searched for.
In this case, the first column is not necessary because it is zero.

Figure 2008140336
Figure 2008140336

<4>第3行を要探索する。
この場合、第1列ではじめて非零な要素であり、自動的にこの行を要行とする。
<4> Search for the third line.
In this case, it is a non-zero element for the first time in the first column, and this row is automatically set as a main row.

Figure 2008140336
Figure 2008140336

<5>次に、第3行を使って他行を掃き出す。
第4行の第1列は非零であるため、第3行を第4行に加える。この場合、要探索で零か非零か判断対象になった行のうち、要になった行以外は必ず第1列が零であるので、第1行に戻って掃き出す必要はない。
<5> Next, the third row is used to sweep out other rows.
Since the first column of the fourth row is non-zero, the third row is added to the fourth row. In this case, since the first column is always zero in the rows that are determined to be zero or non-zero in the search required, it is not necessary to return to the first row and sweep it out.

Figure 2008140336
Figure 2008140336

<6>第1列の要行を後段に回す。第3行は第4行となり、第4行は第3行となる。 <6> Turn the main row in the first column to the next stage. The third row becomes the fourth row, and the fourth row becomes the third row.

Figure 2008140336
Figure 2008140336

<7>次に、第2列について基本変形を施す。
第1行を要探索する。この場合、第2列は零なので要にはならない。
<7> Next, basic modification is applied to the second column.
Search for the first line. In this case, the second column is not necessary because it is zero.

Figure 2008140336
Figure 2008140336

<8>第2行を要探索する。
この場合、第2列は零なので要にはならない。
<8> Search the second row.
In this case, the second column is not necessary because it is zero.

Figure 2008140336
Figure 2008140336

<9>第3行を要探索する。
第2列ではじめて非零な要素であり、自動的にこの行を要行とする。
<9> Search for the third line.
This is the first non-zero element in the second column, and this line is automatically set as the main line.

Figure 2008140336
Figure 2008140336

<10>第3行を使って他行を掃き出す。
この場合、第4行の第2列は非零であるため、第3行を第4行に加える。
<10> Sweep out other lines using the third line.
In this case, since the second column of the fourth row is non-zero, the third row is added to the fourth row.

Figure 2008140336
Figure 2008140336

<11>第2列の要行を後段に回す。
第3行は第4行となり、第4行は第3行となる。
<11> Turn the main row in the second column to the next stage.
The third row becomes the fourth row, and the fourth row becomes the third row.

Figure 2008140336
Figure 2008140336

<12>第3列についても同様に基本変形を行う。 <12> The basic deformation is similarly performed for the third column.

Figure 2008140336
Figure 2008140336

<13>第3列の要行を後段に回す。
第1行は第4行となり、第2行は第1行、第3行は第2行、第4行は第3行となる。
<13> Turn the main row of the third column to the next stage.
The first row is the fourth row, the second row is the first row, the third row is the second row, and the fourth row is the third row.

Figure 2008140336
Figure 2008140336

<14>第4列についても同様に基本変形を行う。 <14> The basic deformation is similarly performed for the fourth column.

Figure 2008140336
Figure 2008140336

以上で、行列の対角化が完了する。   This completes the diagonalization of the matrix.

このように、たとえば第2列を基本変形する場合、第1行から順に要素を見ていくと、未だ要になっていない要素に限定して要探索できるため、初めて見つかった非零要素、この場合は第3行の要素を自動的に要とできるため、いざ掃き出しを行う場合は第3行以降の要素に限定して行えばよい。
この場合は第3行で第4行を掃き出せば、第2列についての基本変形は完了する。つまり、1列を基本変形する上で、各要素は要探索、掃き出しのいずれかのみ対象とすればよく、高速な対角化が可能となる。
Thus, for example, when the second column is basically transformed, if the elements are viewed in order from the first row, it is possible to search only for elements that are not necessary yet. In this case, the elements in the third row can be automatically required. Therefore, when sweeping out, the elements in the third and subsequent rows may be limited.
In this case, if the fourth row is swept out by the third row, the basic deformation for the second column is completed. That is, when performing basic deformation of one row, each element only needs to be searched or swept out, and high-speed diagonalization is possible.

なお、0と1以外の要素が存在する場合は、掃き出す時に、掃き出される行の対象要素を要行の対象要素で割った値と要行を掛け合わせて掃き出される行から減算すればよい。
また、行を後段に回す作業は、明示的に後段に回しているだけで、要探索を行う要素の順番を既に要になった行が後ろになるようにインデックスの順番を入れ替えて制御してもよい。
If elements other than 0 and 1 are present, when sweeping, the value obtained by dividing the target element of the line to be swept out by the target element of the main line and the main line may be multiplied and subtracted from the line to be swept out. .
In addition, the work of turning the line to the back stage is only explicitly turning to the back stage, and the order of the elements to be searched is controlled by changing the order of the indexes so that the line that has already become necessary is behind. Also good.

次に、図2の行列対角化装置の動作について図2、図4〜図9に関連付けて説明する。   Next, the operation of the matrix diagonalization apparatus of FIG. 2 will be described with reference to FIGS. 2 and 4 to 9.

図2は、行列対角化装置100の初期状態を示し、行列メモリ120に4行6列の初期行列が入っている。行インデックスメモリ110には先頭アドレスから順に1,2,3,4とインクリメントした値が初期のインデックスとして入っている。
第1列を基本変形する場合、行インデックスを先頭アドレスから順に1,2,3,4と読み出す。これに従い、行列から第1,2,3,4行が順に読み出される。
読み出された行について、要探索、掃き出し回路130でまず要探索を行う。
第3行で初めて非零要素が見つかり、これを要行とし、一時的に要探索、掃き出し回路130に確保する。
FIG. 2 shows an initial state of the matrix diagonalization apparatus 100, and an initial matrix of 4 rows and 6 columns is stored in the matrix memory 120. In the row index memory 110, values incremented as 1, 2, 3, 4 in order from the head address are stored as initial indexes.
When the first column is basically deformed, the row index is read as 1, 2, 3, 4 in order from the top address. Accordingly, the first, second, third, and fourth rows are sequentially read from the matrix.
For the read row, the search is required first by the search required and sweep circuit 130.
A non-zero element is found for the first time in the third row, and this is used as a main row, and is temporarily secured in the search / sweep circuit 130.

次に読み出されてくる第4行に対して、掃き出しを行う。第1行から第4行まで要探索、掃き出しの処理が行われたら順次行列メモリ120に更新行が書き込まれる。
要探索、掃き出し回路130からは読み出した行が今回の対象列で要行になったかどうか、要行になった場合1、要行にならなかった場合0とする要フラグを行インデックスメモリ110に送る。
行インデックスメモリ110には、読み出した行のインデックスも同時に入力され、要フラグが1の場合にのみ、行インデックスを行インデックスメモリ110の最後のアドレスに書き込む。要フラグが0の場合は、先頭アドレスから順に行インデックスを書き込む。
Next, sweeping is performed on the fourth row read out. When the necessary search and sweep-out processes are performed from the first row to the fourth row, updated rows are sequentially written in the matrix memory 120.
Whether or not the row read from the search / sweeper circuit 130 has become a required row in the current target column, a required flag is set in the row index memory 110, which is 1 when it becomes a required row and 0 when it has not become a required row. send.
The index of the read row is also input to the row index memory 110 at the same time, and the row index is written to the last address of the row index memory 110 only when the flag required is 1. When the flag required is 0, the row index is written in order from the top address.

行インデックスメモリ110の遷移は図4(A)〜(D)に示すようになる。
第1列の基本変形が完了した場合、行インデックスメモリ110と行列メモリ120は、図5に示すようになる。
The transition of the row index memory 110 is as shown in FIGS.
When the basic deformation of the first column is completed, the row index memory 110 and the matrix memory 120 are as shown in FIG.

この状態から、第2列の基本変形を開始する。行インデックスメモリ110の先頭アドレスから順に行インデックスを読み出す。
第1,2,4行と読み出し、第4行が第2列について初めて非零要素となるので、これを要行とし、それ以降読み出される行、この場合は第3行を掃き出す。
このように、第1,2,4行について要探索、第3行について掃き出しを行うことによって、第2列の基本変形は完了する。
つまり、行数分の行読み出しで1列の基本変形が完了する。
From this state, the basic deformation of the second column is started. The row index is read in order from the top address of the row index memory 110.
The first, second, and fourth rows are read, and the fourth row becomes a non-zero element for the second column for the first time.
In this way, the basic deformation of the second column is completed by performing the search required for the first, second, and fourth rows and sweeping for the third row.
That is, the basic deformation of one column is completed by reading out the number of rows.

以下、第2列基本変形後の行列対角化装置100は図6、第3列基本変形後の行列対角化装置100は図7、第4列基本変形後の行列対角化装置100は図8に示すようになり、行列の対角化が完了する。   Hereinafter, the matrix diagonalization device 100 after the second column basic transformation is shown in FIG. 6, the matrix diagonalization device 100 after the third column basic transformation is shown in FIG. 7, and the matrix diagonalization device 100 after the fourth column basic transformation is shown in FIG. As shown in FIG. 8, the diagonalization of the matrix is completed.

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

図9の要探索、掃き出し回路130は、セレクタ131、状態遷移保持部132、要行選択セレクタ133、要行保持部134、アンドゲート135、および掃き出し部136を主構成要素として有している。   9 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.

図9の要探索、掃き出し回路130においては、まず対角化が開始したら、状態遷移保持部132において、要探索状態になる。
入力される行S11に対し、対角化対象要素を取り出すためのセレクタ131を通り対角化対象列の要素S12のみ取り出し、この対象要素が零の場合は、状態遷移保持部132は、要探索状態を維持し、要フラグS13は0、掃き出しフラグS14は0を出力する。
初めて対象要素S12が非零要素であった場合、要フラグS13は1、掃き出しフラグS14は0を出力し、要行選択セレクタ133によって、入力行S11が要行として要行保持部104に取り込まれる。また、状態遷移保持部132は要探索状態から掃き出し状態へ遷移する。
In the search / sweeping circuit 130 shown in FIG. 9, when the diagonalization is started, the state transition holding unit 132 enters a search required state.
For the inputted row S11, only the element S12 of 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 S13 is 0, and the sweep flag S14 is 0.
When the target element S12 is a non-zero element for the first time, the required flag S13 outputs 1 and the flush flag S14 outputs 0, and the required line selection selector 133 takes the input line S11 into the required line holding unit 104 as a required line. . In addition, the state transition holding unit 132 transitions from the search required state to the sweep-out state.

掃き出し状態では、要フラグS13は0を出力し、要行を要行保持部134に保持し続ける。
対象要素S12が非零の場合、掃き出しフラグS14に1を出力し、掃き出し部136で入力行と要行の排他的論理和が計算され、掃き出し部から行S18が出力され行列メモリ120に書き込まれる。
対象要素S12が零の場合は掃き出しフラグS14に0を出力し、入力行S11はそのままS18へ出力され、再び行列メモリにその行が書き込まれる。掃き出しが完了すると、要探索状態へ戻るか、その行列の対角化が終了した場合はアイドル(IDLE)状態へ戻る。
In the sweeping-out state, the flag S13 that is required outputs 0, and the required line is continuously held in the required line holding unit 134.
If the target element S12 is non-zero, 1 is output to the sweep flag S14, the exclusive OR of the input row and the required row is calculated by the sweep unit 136, and the row S18 is output from the sweep unit and written to the matrix memory 120. .
When the target element S12 is zero, 0 is output to the sweep flag S14, the input row S11 is output to S18 as it is, 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.

なお、行列が0か1以外の要素を持つ要探索、掃き出しは、要と掃き出し対象となる行の対象要素を比べ、掃き出し対象となる行の対角要素を要で割った値を、要行保持部の後段で掛け算して、掃き出すことにより実現される。   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.

以上説明したように、本実施形態によれば、行列対角化装置100は、行インデックスメモリ110から順に行インデックスを読み出し、その行インデックスが指定する行を行列メモリ120から読み出し、要探索、掃き出し回路130において、その行の対角化の対象となる列の要素を見て、要探索、掃き出しを行う。具体的には、行列対角化装置100は、対象となる列を要探索、掃き出す際、行インデックスメモリ110から行インデックスを先頭アドレスから順番に読み出し、読み出した行が要行にならなかった場合、その行インデックスを行インデックスメモリ110の先頭アドレスから順に書き込み、読み出した行が要行になった場合のみ、その行インデックスを行インデックスメモリ110の最後のアドレスに書き込む、結果要探索の対象となる行が未だ要になっていない行に限定されるように構成されていることから、行列を対角化する場合、各列の要素を、要探索か掃き出しのいずれかの対象とするだけでよく、高速な対角化が可能となる。   As described above, according to the present embodiment, the matrix diagonalization apparatus 100 sequentially reads out the row index from the row index memory 110, reads out the row specified by the row index from the matrix memory 120, and searches and sweeps out. In the circuit 130, a search is required and sweeping is performed by looking at the element of the column to be diagonalized in the row. Specifically, the matrix diagonalization apparatus 100 reads out the row index from the row index memory 110 in order from the top address when searching for and sweeping out the target column, and the read row does not become a required row. The row index is sequentially written from the top address of the row index memory 110, and only when the read row becomes a required row, the row index is written at the last address of the row index memory 110. Since the rows are configured to be limited to rows that are not yet important, when diagonalizing a matrix, each column element need only be searched or swept out. Fast diagonalization is possible.

なお、上述した説明では、列毎に対角化する例ついて説明したが、本発明は、列毎でなく行毎に対角化することも可能である。また、本発明は、0と1以外の要素を持つ行列でも適用できる。   In the above description, an example of diagonalization for each column has been described. However, the present invention can also be diagonalized for each row instead of each column. The present invention can also be applied to a matrix having elements other than 0 and 1.

本発明の実施形態に係る行列対角化装置は、代数的手法を用いた誤り訂正符号技術を実現するための回路、たとえば適応的信頼性伝播(Adaptive Belief Propagatin:ABP)復号器に応用できる。   The matrix diagonalization 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 method, for example, an adaptive belief propagating (ABP) decoder.

ABP復号は、リードソロモン(Read−Solomon:RS)符号やBCH符号、その他低密度でないパリティ検査行列を持つ線形符号に対する復号法であり、ある伝送路から符号語を受信すると、その受信語をより信頼できる値に更新する。   ABP decoding is a decoding method for a Reed-Solomon (RS) code, a BCH code, and other linear codes having a parity check matrix that is not low in density. When a codeword is received from a certain transmission path, the received word is further converted. Update to a reliable value.

図10は、デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにABP復号器を用いた通信システムの構成例を示す図である。   FIG. 10 is a diagram illustrating 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.

本通信システム200は、RS符号化器210、インタリーバ220、は畳み込み符号器230、畳み込み符号の軟出力復号器240、デインタリーバ250、RS符号のABP繰り返し復号器260、およびチャネル270を有する。   The communication system 200 includes an RS encoder 210, an interleaver 220, a convolutional encoder 230, a convolutional code soft output decoder 240, a deinterleaver 250, an RS code ABP iterative decoder 260, and a channel 270.

本通信システム200では、RS符号化、畳み込み符号化された送信語に対して、畳み込み符号の軟出力復号をした後にABP復号を行っている。
ここで言う畳み込み符号の軟出力復号とは、たとえばBCJRアルゴリズムやSOVAによる復号のことである。
ABP復号器260においては、ABPによる信頼性の更新後、硬判定後限界距離復号、リスト復号、もしくは、軟値をそのまま入力として軟判定リスト復号を行う。
In the communication system 200, 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 260, after updating the reliability by ABP, post-hard decision limit distance decoding, list decoding, or soft decision list decoding using the soft value as it is as input.

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

復号器300においては、ABP復号部310による信頼性(LLR)の更新後、硬判定してBD復号部320において、限界距離復号を行い、この結果をリストに集め、最終的にMAP復号部340においてMAP(Maximum a posteriori Probabi11ty)復号を行う。   In the decoder 300, after the reliability (LLR) is updated by the ABP decoding unit 310, a hard decision is made, and the BD decoding unit 320 performs limit distance decoding, collects the results in a list, and finally, the MAP decoding unit 340 MAP (Maximum a posteriori Probabil 11ty) decoding is performed.

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

図12のABP復号器400は、図10のABP復号器260や図11のABP復号部310に適用可能であり、ソート入力選択部410、ソート部420、パリティ検査行列の対角化部430、信頼度(LLR)保持部440、および信頼性伝播(BP)部450を有している。   The ABP decoder 400 of FIG. 12 is applicable to the ABP decoder 260 of FIG. 10 and the ABP decoder 310 of FIG. 11, and includes a sort input selection unit 410, a sort unit 420, a parity check matrix diagonalization unit 430, A reliability (LLR) holding unit 440 and a reliability propagation (BP) unit 450 are included.

ABP復号器400においては、入力として、受信LLRS42が入力される。
列インデックスS41は、入力された受信LLRの符号語の始まりからカウンタで0、1、2、3、、とカウントアップされた値を生成し利用する。
ソート入力選択部410で、初回は、列インデックスS41とS42を選択し、繰り返し二回目以降は信頼性伝播(Belief propagation)後、更新LLRS50とその列インデックスS49を選択する。
In ABP decoder 400, received LLRS 42 is input as an input.
The column index S41 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 410 selects the column indexes S41 and S42 for the first time, and after the second and subsequent iterations, selects the update LLRS 50 and its column index S49 after reliability propagation (Belief propagation).

図12に示すように、受信語が入力されたら、まず、ソート部420において、その信頼度(LLR)の大きさに応じて列インデックスのソートを行う。
次に、信頼度の低いシンボルに対応する列より順に、対角化部430でパリティ検査行列の対角化を行う。
最後に、対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation)を行うことにより、値が更新される。
更新された値に対して、再びソート、対角化、信頼性伝播(BP)を行う。繰り返し数が予め決められており、その繰り返し数だけこれを繰り返す。
この復号器400の対角化部430において、本発明の実施形態に係る対角化装置100を適用することが可能である。
As shown in FIG. 12, when a received word is input, the sorting unit 420 first sorts the column index according to the reliability (LLR).
Next, the parity check matrix is diagonalized by the diagonalization unit 430 in order from the column corresponding to the symbol with low reliability.
Finally, the value is updated by performing belief propagation 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.
In the diagonalization unit 430 of the decoder 400, the diagonalization apparatus 100 according to the embodiment of the present invention can be applied.

なお、以上詳細に説明した行列の対角化方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
It should be noted that the matrix diagonalization method described in detail above can be formed as a program according to the above 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.

一般的な0か1のみの要素を持つ行列の対角化のフローチャートである。It is a flowchart of the diagonalization of the matrix which has a general element of only 0 or 1. 本発明の実施形態に係る行列対角化方法を採用した行列対角化装置の基本的な構成例を示しブロック図である。It is a block diagram which shows the basic structural example of the matrix diagonalization apparatus which employ | adopted the matrix diagonalization method which concerns on embodiment of this invention. 本実施形態に係るm行n列行列の対角化方法を説明するためのフローチャートである。It is a flowchart for demonstrating the diagonalization method of the m-row n-column matrix which concerns on this embodiment. 第1列の基本変形のときの行インデックスメモリを示す図である。It is a figure which shows the row index memory at the time of the basic deformation of the 1st column. 第1列の基本変形が完了した対角化装置を示す図である。It is a figure which shows the diagonalization apparatus which the basic deformation of the 1st row was completed. 第2列の基本変形が完了した対角化装置を示す図である。It is a figure which shows the diagonalization apparatus which the basic deformation of the 2nd row was completed. 第3列の基本変形が完了した対角化装置を示す図である。It is a figure which shows the diagonalization apparatus which the basic deformation of the 3rd row was completed. 第4列の基本変形が完了した対角化装置を示す図である。It is a figure which shows the diagonalization apparatus which the basic deformation of the 4th row was completed. 本実施系形態に係る要探索、掃き出し回路の構成例を示す図である。It is a figure which shows the structural example of the search required according to this embodiment, and a sweep-out circuit. 本実施形態に係るABP復号器を採用した通信システムの構成例を示す図である。It is a figure which shows the structural example of the communication system which employ | adopted the ABP decoder which concerns on this embodiment. MAP復号が後段についたABP復号器の構成例を示す図である。It is a figure which shows the structural example of the ABP decoder to which the MAP decoding was followed. 本実施形態に係る対角化装置を適用可能なABP復号器の復号装置の構成例を示す図である。It is a figure which shows the structural example of the decoding apparatus of the ABP decoder which can apply the diagonalization apparatus which concerns on this embodiment.

符号の説明Explanation of symbols

100・・・行列対角化装置、110・・・行インデックスメモリ、120・・・行列メモリ、130・・・要探索・掃き出し回路、200・・・通信システム、210・・・RS符号化器、220・・・インタリーバ、230・・・畳み込み符号器、240・・・畳み込み符号の軟出力復号器、250・・・デインタリーバ、260・・・RS符号のABP繰り返し復号器、270・・・チャネル、300・・・復号器、310・・・ABP復号部、320・・・限界距離復号(BD)復号部、330・・・受信信頼度(LLR)保持部、340・・・MAP復号部、400・・・ABP復号器、410・・・ソート入力選択部、420・・・ソート部、430・・・パリティ検査行列の対角化部、440・・・信頼度(LLR)保持部、450・・・信頼性伝播(BP)部。   DESCRIPTION OF SYMBOLS 100 ... Matrix diagonalization apparatus, 110 ... Row index memory, 120 ... Matrix memory, 130 ... Search / sweeping circuit required, 200 ... Communication system, 210 ... RS encoder , 220 ... Interleaver, 230 ... Convolutional encoder, 240 ... Soft output decoder for convolutional code, 250 ... Deinterleaver, 260 ... ABP iterative decoder for RS code, 270 ... Channel, 300 ... Decoder, 310 ... ABP decoding unit, 320 ... Limit distance decoding (BD) decoding unit, 330 ... Reception reliability (LLR) holding unit, 340 ... MAP decoding unit 400 ... ABP decoder, 410 ... sort input selection unit, 420 ... sort unit, 430 ... parity check matrix diagonalization unit, 440 ... reliability (LLR) holding unit, 50 ... the belief propagation (BP) unit.

Claims (17)

対角化対象列において、順に要素が零か非零かを判定する第1ステップと、
前記要素を含む行が既に要行になったことがあるかも判定する第2ステップと、
判定の結果、非零でありかつその行が未だ要行になったことがない場合には、当該要素を要、当該要素を含む行を要行とする第3ステップと、
前記要行を利用して他行を掃き出す掃き出し第4ステップと、を有し、
前記第1ステップから前記第4ステップの処理を対角化対象列毎に繰り返し、
要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する
行列対角化方法。
A first step of determining whether elements are zero or non-zero in order in a diagonalization target sequence;
A second step of determining whether a row including the element has already become a required row;
As a result of the determination, if it is non-zero and the line has not yet become a main line, a third step in which the element is required and a line including the element is a main line;
And a fourth step of sweeping out other rows using the essential row,
The process from the first step to the fourth step is repeated for each diagonalization target column,
A matrix diagonalization method that restricts the elements to be searched to only those elements whose rows that contain those elements are not yet required.
対象となる列の要探索において、初めて見つかった非零要素を要とし、
当該要素を含む行を使って他の行に掃き出す時には、要探索の時に零か非零かの判定をしなかった要素を含む行のみに対して掃き出すことにより、対象列の各要素とも要探索か掃き出しのどちらかのみ対象とする
請求項1記載の行列対角化方法。
The search for the target column requires the first non-zero element found,
When sweeping to another row using the row containing the element, search for each element in the target column by sweeping only the row containing the element that was not determined to be zero or non-zero at the time of the search required. The matrix diagonalization method according to claim 1, wherein only one of sweeping and sweeping is targeted.
要探索、掃き出しを列毎ではなく行毎に行う
請求項1または2記載の行列対角化方法。
The matrix diagonalization method according to claim 1 or 2, wherein search and sweep-out are performed not for each column but for each row.
対角化対象列において、順に要素が零か非零かを判定し、当該要素を含む行が既に要行になったことがあるかも判定し、非零でありかつその行が未だ要行になったことがない場合には、当該要素を要、当該要素を含む行を要行とする要探索手段と、
前記要行を利用して他行を掃き出す掃き出し手段と、を有し、
前記要探索手段および前記掃き出し手段は、処理を対角化対象列毎に繰り返し、
要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する
行列対角化装置。
In the column to be diagonalized, determine whether the element is zero or non-zero in order, determine whether the row containing the element has already become a key row, and if it is non-zero and the row is still a key row If it has never been, search means requiring the element, and a line including the element as a required line,
Sweeping means for sweeping out other lines using the essential line, and
The searching means and the sweeping means repeat the processing for each diagonalization target column,
A matrix diagonalization device that restricts the elements to be searched to only elements whose rows that contain those elements are not yet required.
対象となる列の要探索において、初めて見つかった非零要素を要とし、
その要素を含む行を使って他の行に掃き出す時には、要探索の時に零か非零かの判定をしなかった要素を含む行のみに対して掃き出すことにより、対象列の各要素とも要探索か掃き出しのどちらかのみ対象とする
請求項4記載の行列対角化装置。
The search for the target column requires the first non-zero element found,
When sweeping to another row using the row containing the element, search for each element in the target column by sweeping only the row containing the element that was not determined to be zero or non-zero at the time of the search. The matrix diagonalization apparatus according to claim 4, wherein only one of sweeping and sweeping is targeted.
行列を記憶する行列メモリと、
行のインデックスを記憶する行インデックスメモリと、
要探索、掃き出しを行う要探索、掃き出し回路と、を含み、
行インデックスメモリから順に行インデックスを読み出し、その行インデックスが指定する行を行列メモリから読み出し、当該行の対角化の対象となる列の要素を見て、要探索、掃き出しを行う機能を有し、
要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する
行列対角化装置。
A matrix memory for storing the matrix;
A row index memory for storing the row index;
Search required, search required to sweep out, sweep circuit, and
Reads the row index sequentially from the row index memory, reads the row specified by the row index from the matrix memory, and looks at the elements of the column that is the subject of diagonalization of the row, and has the function of searching and sweeping out. ,
A matrix diagonalization device that restricts the elements to be searched to only elements whose rows that contain those elements are not yet required.
対象となる列を要探索、掃き出す際、前記行インデックスメモリから行インデックスを先頭アドレスから順番に読み出し、
読み出した行が要行にならなかった場合、その行インデックスを行インデックスメモリの先頭アドレスから順に書き込み、読み出した行が要行になった場合のみ、その行インデックスを前記行インデックスメモリの最後のアドレスに書き込む
請求項6記載の行列対角化装置。
When searching for and sweeping out the target column, the row index is read from the row index memory in order from the top address,
If the read row does not become a required row, the row index is written in order from the top address of the row index memory, and only when the read row becomes a required row, the row index is the last address of the row index memory. The matrix diagonalization apparatus according to claim 6.
前記行列メモリから読み出した行から対角化の対象となる列の要素を取り出す回路を要探索回路と掃き出し回路で共用している
請求項6記載の行列対角化装置。
The matrix diagonalization apparatus according to claim 6, wherein a circuit for extracting a column element to be diagonalized from a row read from the matrix memory is shared by the search required circuit and the sweeping circuit.
前記要探索、掃き出し回路は、
要探索時は、行列メモリからの入力行の対象となる列が非零だった場合は自動的にその行を要行として内部メモリに保持し、次以降の入力行の対象となる列が非零だった場合は、確保した要行でその行を掃き出す
請求項8記載の行列対角化装置。
The search required and sweep circuit are:
When searching, if the column that is the target of the input row from the matrix memory is non-zero, the row is automatically stored in the internal memory as the main row, and the target column of the next input row is not The matrix diagonalization apparatus according to claim 8, wherein if it is zero, the line is swept out by the reserved essential line.
要探索、掃き出しを列毎ではなく行毎に行う
請求項4から9のいずれか一に記載の行列対角化装置。
The matrix diagonalization apparatus according to any one of claims 4 to 9, wherein search and sweep-out are performed not for each column but for each row.
対角化対象列において、順に要素が零か非零かを判定し、当該要素を含む行が既に要行になったことがあるかも判定し、非零でありかつその行が未だ要行になったことがない場合には、当該要素を要、当該要素を含む行を要行とする要探索ステップと、
前記要行を利用して他行を掃き出す掃き出しステップと、を含み、
前記対角化対象列毎に繰り返すことをコンピュータに行わせる行列の対角化プログラムであって、
要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定することを含む処理をコンピュータに実行させる対角化プログラム。
In the column to be diagonalized, determine whether the element is zero or non-zero in order, determine whether the row containing the element has already become a key row, and if it is non-zero and the row is still a key row If not, the search step requiring the element, and the line including the element as the required line,
A sweeping step of sweeping out other rows using the essential row, and
A matrix diagonalization program that causes a computer to repeat for each diagonalization target column,
A diagonalization program that causes a computer to execute a process including limiting an element to be searched to only an element in which a line including the element is not a required line.
対象となる列の要探索において、初めて見つかった非零要素を要とし、
その要素を含む行を使って他の行に掃き出す時には、要探索の時に零か非零かの判定をしなかった要素を含む行のみに対して掃き出すことにより、対象列の各要素とも要探索か掃き出しのどちらかのみ対象とすることを含む処理をコンピュータに実行させる
請求項11記載の対角化プログラム。
The search for the target column requires the first non-zero element found,
When sweeping to another row using the row containing the element, search for each element in the target column by sweeping only the row containing the element that was not determined to be zero or non-zero at the time of the search. The diagonalization program according to claim 11, wherein the computer executes a process including targeting only one of the two.
行列を記憶する行列の配列と、
行のインデックスを記憶する行インデックスの配列と、を含み、
行インデックスの配列から順に行インデックスを読み出し、その行インデックスが指定する行を行列の配列から読み出し、その行の対角化の対象となる列の要素を見て、要探索、掃き出しを行うことを含む処理をコンピュータに実行させる
請求項12記載の対角化プログラム。
An array of matrices to store the matrix;
A row index array for storing the row index;
The row index is read in order from the row index array, the row specified by the row index is read from the matrix array, the elements of the column that is the target of diagonalization of that row are searched, and the search is required. The diagonalization program of Claim 12 which makes a computer perform the process which contains.
対象となる列を要探索、掃き出す際、行インデックスの配列の先頭から行インデックスを順番に読み出し、
読み出した行が要行にならなかった場合、その行インデックスを行インデックスの配列の先頭から順に書き込み、読み出した行が要行になった場合のみ、その行インデックスを行インデックスの配列の最後に書き込むことを含む処理をコンピュータに実行させる
請求項13記載の対角化プログラム。
When searching and sweeping out the target column, the row index is read sequentially from the beginning of the row index array,
If the read row does not become a required row, the row index is written in order from the top of the row index array, and only when the read row becomes a required row, the row index is written at the end of the row index array. The diagonalization program according to claim 13, which causes a computer to execute processing including:
要探索、掃き出しを列毎ではなく行毎に行う
請求項11から14のいずれか一に記載の対角化プログラム。
The diagonalization program according to any one of claims 11 to 14, wherein search and sweep-out are performed not for each column but for each row.
対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行うことにより、値が更新され、更新された値に対して、所定の繰り返し回数、ソート、対角化、信頼性伝播(BP)を行う復号装置であって、
受信語の信頼度(LLR)の大きさに応じて列インデックスのソートを行うソート部と、
信頼度の低いシンボルに対応する列より順に、パリティ検査行列の対角化を行う行列対角化装置と、を含み、
前記行列対角化装置は、
対角化対象列において、順に要素が零か非零かを判定し、当該要素を含む行が既に要行になったことがあるかも判定し、非零でありかつその行が未だ要行になったことがない場合には、当該要素を要、当該要素を含む行を要行とする要探索手段と、
前記要行を利用して他行を掃き出す掃き出し手段と、を有し、
前記要探索手段および前記掃き出し手段は、処理を対角化対象列毎に繰り返し、
要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する
復号装置。
The value is updated by performing belief propagation (BP) using the diagonalized parity check matrix, and the updated value is subjected to a predetermined number of iterations, sorting, diagonalization, A decoding device that performs belief propagation (BP),
A sorting unit that sorts column indexes according to the magnitude of the received word reliability (LLR);
A matrix diagonalization device that diagonalizes a parity check matrix in order from a column corresponding to a symbol with low reliability,
The matrix diagonalization device comprises:
In the column to be diagonalized, determine whether the element is zero or non-zero in order, determine whether the row containing the element has already become a key row, and if it is non-zero and the row is still a key row If it has never been, search means requiring the element, and a line including the element as a required line,
Sweeping means for sweeping out other lines using the essential line, and
The searching means and the sweeping means repeat the processing for each diagonalization target column,
A decoding device that limits elements to be searched only to elements in which a line including the element is not yet a required line.
対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行うことにより、値が更新され、更新された値に対して、所定の繰り返し回数、ソート、対角化、信頼性伝播(BP)を行う復号装置であって、
受信語の信頼度(LLR)の大きさに応じて列インデックスのソートを行うソート部と、
信頼度の低いシンボルに対応する列より順に、パリティ検査行列の対角化を行う行列対角化装置と、を含み、
前記行列対角化装置は、
行列を記憶する行列メモリと、
行のインデックスを記憶する行インデックスメモリと、
要探索、掃き出しを行う要探索、掃き出し回路と、を含み、
行インデックスメモリから順に行インデックスを読み出し、その行インデックスが指定する行を行列メモリから読み出し、当該行の対角化の対象となる列の要素を見て、要探索、掃き出しを行う機能を有し、
要探索の対象とする要素をその要素を含む行が未だ要行になっていない要素のみに限定する
復号装置。
The value is updated by performing belief propagation (BP) using the diagonalized parity check matrix, and the updated value is subjected to a predetermined number of iterations, sorting, diagonalization, A decoding device that performs belief propagation (BP),
A sorting unit that sorts column indexes according to the magnitude of the received word reliability (LLR);
A matrix diagonalization device that diagonalizes a parity check matrix in order from a column corresponding to a symbol with low reliability,
The matrix diagonalization device comprises:
A matrix memory for storing the matrix;
A row index memory for storing the row index;
Search required, search required to sweep out, sweep circuit, and
Reads the row index sequentially from the row index memory, reads the row specified by the row index from the matrix memory, and looks at the elements of the column that is the subject of diagonalization of the row, and has the function of searching and sweeping out. ,
A decoding device that limits elements to be searched only to elements in which a line including the element is not yet a required line.
JP2006328557A 2006-12-05 2006-12-05 Matrix diagonalization method, matrix diagonalization device, decoding device, and program Pending JP2008140336A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006328557A JP2008140336A (en) 2006-12-05 2006-12-05 Matrix diagonalization method, matrix diagonalization device, decoding device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006328557A JP2008140336A (en) 2006-12-05 2006-12-05 Matrix diagonalization method, matrix diagonalization device, decoding device, and program

Publications (1)

Publication Number Publication Date
JP2008140336A true JP2008140336A (en) 2008-06-19

Family

ID=39601683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006328557A Pending JP2008140336A (en) 2006-12-05 2006-12-05 Matrix diagonalization method, matrix diagonalization device, decoding device, and program

Country Status (1)

Country Link
JP (1) JP2008140336A (en)

Similar Documents

Publication Publication Date Title
JP5276173B2 (en) ROM list decoding of near codeword
US8245117B1 (en) Low complexity chien search in chase-type decoding of reed-solomon codes
US8566666B2 (en) Min-sum based non-binary LDPC decoder
JP2009100222A (en) Device and method for decoding low density parity check code
US20100174954A1 (en) Non-polynomial processing unit for soft-decision error correction coding
CN111384972B (en) Optimization method, device and decoder of multi-system LDPC decoding algorithm
Scholl et al. Hardware implementation of a Reed-Solomon soft decoder based on information set decoding
KR20070058430A (en) Method for iteratively decoding block codes and decoding device therefor
KR20190019798A (en) Efficient survivor memory architecture for successive cancellation list decoding of channel polarization codes
JP2003046395A (en) Decoding method for product code and decoder for the product code
CN1214575A (en) Reed-solomon decoder employing new polynomial arrangement architecture and decoding method therefor
KR20160116980A (en) Scheduling apparatus and method of the parity check matrix h for vertical shuffle scheduling algorithm of the low density parity check decoder
CN100433836C (en) Method and system for decoding video, voice, and speech data using redundancy
JP2008140336A (en) Matrix diagonalization method, matrix diagonalization device, decoding device, and program
JP2008140337A (en) Matrix diagonalization device, matrix diagonalization method, and decoding device
CN108933604B (en) Variable node processing method and device
CN108628695B (en) Mutual information calculation method and device
US20210203364A1 (en) Apparatuses and methods for mapping frozen sets between polar codes and product codes
JP4910708B2 (en) Decoding device and decoding method
JP5130715B2 (en) Data sort device and data sort method
JP4862657B2 (en) Decoding method, decoding apparatus, and program
CN110708077A (en) LDPC code large number logic decoding method, device and decoder
CN110875745A (en) GII code decoding algorithm realized for high-speed hardware circuit
US12047094B2 (en) Decoding method and decoding device
JP2008205546A (en) Decoding method and decoding apparatus, and program