JPWO2007132656A1 - 誤り訂正符号化方法及び装置 - Google Patents

誤り訂正符号化方法及び装置 Download PDF

Info

Publication number
JPWO2007132656A1
JPWO2007132656A1 JP2008515479A JP2008515479A JPWO2007132656A1 JP WO2007132656 A1 JPWO2007132656 A1 JP WO2007132656A1 JP 2008515479 A JP2008515479 A JP 2008515479A JP 2008515479 A JP2008515479 A JP 2008515479A JP WO2007132656 A1 JPWO2007132656 A1 JP WO2007132656A1
Authority
JP
Japan
Prior art keywords
polynomial
multiplication
circuit
bit
division
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008515479A
Other languages
English (en)
Other versions
JP4978625B2 (ja
Inventor
典史 神谷
典史 神谷
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008515479A priority Critical patent/JP4978625B2/ja
Publication of JPWO2007132656A1 publication Critical patent/JPWO2007132656A1/ja
Application granted granted Critical
Publication of JP4978625B2 publication Critical patent/JP4978625B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC codes]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1162Array based LDPC codes, e.g. array codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/617Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

低密度パリティ検査符号を用いる誤り訂正符号化方法は、誤り訂正符号化すべき情報ビット列を、各々が長さnのビット列からなる(m−r)個の第1のブロックと、各々が長さk1,k2,…,krのビット列からなるr個の第2のブロックとに分割することと、(m−r)個の第1のブロックに対して多項式乗算を行って長さnのr個のビット列を出力する第1の演算と、r個の第2のブロックと第1の演算によるr個の演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれn−k1,n−k2,…,n−krである冗長ビット系列を含むビット列を出力する第2の演算と、を有する。

Description

本発明は、情報系列を一定長のブロックに分割し、各ブロックごとに独立に冗長系列を付加するブロック誤り訂正符号化方法とそのための装置とに関し、特に、低密度パリティ検査(LDPC;Low−Density Parity−Check)符号化の方法及びその装置に関する。
衛星通信あるいは移動体通信システムなどの通信システムにおいては、所要電力の低減、アンテナの小型化などのシステム構成上の要件を満たすために、大きな符号化利得を有する誤り訂正符号化技術の導入が行われている。低密度パリティ検査符号は、非常に大きな符号化利得を有する誤り訂正符号として知られている。各種通信システムやさらには磁気記録装置などの記憶装置への低密度パリティ検査符号の導入が進んでいる。
でいる。
低密度パリティ検査符号方式は、単に一つの誤り訂正符号化方式を示すのではなく、検査行列が疎であるという特徴をもった誤り訂正符号の総称である。検査行列が疎であるとは、検査行列中の成分(要素)のほとんどが“0”であり、“1”である成分の数が非常に少ないことをいう。低密度パリティ検査符号は、D. J. C. MacKay, “Good Error−Correcting Codes Based on very sparse matrices,” IEEE Transactions on Information Theory, pp. 399−431, March 1999(非特許文献1)に開示されるように、疎な検査行列の選択によって、サム・プロダクト(sum−product)アルゴリズムなどの繰り返し復号方式を用いることにより、理論限界に近い非常に大きな符号化利得を持つ誤り訂正符号化方式を構成することが可能であるという特徴を有している。
低密度パリティ検査符号に関連する技術的問題点は、符号化方法、すなわち情報ビット系列から冗長ビット系列を算出する方法に必要となる計算量が多い、ということである。冗長ビット系列の生成が符号の生成行列による行列の乗算演算からなるという最も典型的な符号化装置においては、低密度パリティ検査符号系列の生成に、符号長の二乗に比例した回数の排他的論理和演算が必要となる。
符号の検査行列によって符号化装置を構成する場合には、低密度パリティ検査符号系列の生成は、式(1)に見られるように、検査行列の一部が対角行列となる形にその検査行列を基本変形し、その基本変形された検査行列によって実現される。
Figure 2007132656
具体的には、r及びkは正整数であるとし、iは1≦i≦rの整数であるとし、式(1)のAで記した部分をr×k行列とし、c,c,…,cをkビットの情報ビット系列とすると、それに対応するrビットの冗長ビット列p,p,…,pにおける各ビットpは、式(2)によって算出される。
Figure 2007132656
ここで、jは1≦j≦kの整数であるとして、式中のai,jは、前述のr×k行列Aでの(i,j)成分を表す。したがって、誤り訂正符号の符号化を行うためには、このr×k行列Aをメモリなどの記憶装置に保持し、行列Aの各成分中の値“1”の数と等しい回数の排他的論理和演算が必要となる。
図1は、低密度パリティ検査符号による符号化を行う、関連技術における符号化装置の構成の一例を示している。図示される符号化装置は、情報ビット列が与えられたときに、低密度パリティ検査符号による符号化を行って符号ビット列を出力するものである。この符号化装置は、情報ビット列に対して上記の式(2)の演算を実行して冗長ビット列を生成する冗長ビット列算出装置71と、式(1)に示した行列Aを保持して行列Aの各成分(要素)を冗長ビット列算出装置71に供給する行列情報保存メモリ72と、情報ビット列と冗長ビット列とが組み合わされた符号ビット列が得られるように、情報ビット列と冗長ビット列算出装置71からの冗長ビット列とを切り替えるスイッチ73と、を備えている。冗長ビット列算出装置71は、排他的論理和演算回路を含んでいる。
このような符号化装置において、記憶装置(すなわち行列情報保存メモリ72)の記憶容量の削減や、冗長ビット列算出回路71における排他的論理和演算回路の数の削減に関連して、行列Aの成分中の“1”の数ができるだけ少なく、かつ繰り返し復号によって得られる符号化利得がなるべく大きくなるような、低密度パリティ検査符号の構成方法が知られている。そのような構成方法は、例えば、Thomas Richardson,R. Urbanke, “Efficient Encoding of Low−Density Parity−Check Codes,” IEEE Transactions on Information Theory, pp. 619−656, September 2001(非特許文献2)に開示されている。また、特開2003−115768号公報(特許文献1)及び特開2004−72130号公報(特許文献2)には、検査行列を巡回置換行列のブロック行列からなる行列とし、各ブロック行列を巡回行列に限定することによって、メモリ量の削減、及び排他的論理演算処理の簡素化を実現する方法が開示されている。検査行列をこのようなの形のものに限定したものは、特に、擬似巡回符号と呼ばれている。これらの方法においても、装置規模の削減と処理の簡便さが両立しないという問題点が残されている。すなわち擬似巡回符号を用いる方法でも、装置規模は削減される一方で複雑な制御が必要となる、あるいは、擬似巡回符号の中でもさらに限定された符号、すなわちさらに制約条件が加えられた符号にのみ適用可能である、などの課題がある。
各種通信システム及び磁気記録などの記憶装置への誤り訂正符号化の適用の発展のために、符号化処理を小規模な装置で簡便な処理で行えることに加え、上記のサム・プロダクト・アルゴリズムなどの繰り返し復号によって得られる符号化利得の改善がもたらされる符号化方式の開発が求められている。
特開2003−115768号公報 特開2004−72130号公報 D. J. C. MacKay(マッカイ), "Good Error−Correcting Codes Based on very sparse matrices(非常に疎な行列に基づく良好なエラー訂正コード)," IEEE Transactions on Information Theory, pp. 399−431, 1999年3月 Thomas Richardson(トーマス リチャードソン),R. Urbanke(ウルバンケ), "Efficient Encoding of Low−Density Parity−Check Codes(低密度パリティ検査符号の効率的な符号化)," IEEE Transactions on Information Theory, pp. 619−656, 2001年9月
低密度パリティ検査符号に関する符号化は、上述の式(1)中の行列Aを保持する行列情報保存メモリなどの記憶装置と、上述の式(2)の処理を実行する冗長ビット列算出装置などの演算処理装置とを用いて実現されていることにより、リードソロモン符号などの巡回符号化、あるいは畳込み符号化と比較して、符号化装置の規模が非常に大きくなるという問題点を有する。この課題のために、上述した関連技術での誤り訂正符号化では、特に衛星通信、地上マイクロ波通信、移動体通信などのシステムに適用した場合において、符号化処理における処理の簡便さ及び装置規模の削減と、符号化処理による符号化利得の向上との両立が困難なものとなっている。
そこで本発明の目的は、低密度パリティ検査符号化による誤り訂正符号化方法であって、誤り訂正符号化装置の装置規模が小さく済みかつ装置構成が簡単であるとともに、繰り返し復号によって大きな符号化利得を得ることができる方法を提供することにある。
本発明の別の目的は、低密度パリティ検査符号化による誤り訂正符号化装置であって、装置規模が小さく済みかつ装置構成が簡単であるとともに、繰り返し復号によって大きな符号化利得を得ることができる装置を提供することにある。
本発明の誤り訂正符号化方法は、低密度パリティ検査符号を用いる誤り訂正符号化方法であって、K,m,nを正整数、rを1≦r≦mの整数、k,k,…,kを0≦k,k,…,k≦n−1の整数として、誤り訂正符号化すべき長さKの情報ビット列を、各々が長さnのビット列からなる(m−r)個の第1のブロックと、各々が長さk,k,…,kのビット列からなるr個の第2のブロックとに分割することと、(m−r)個の第1のブロックに対して多項式乗算を行って長さnのr個のビット列を出力する第1の演算と、r個の第2のブロックと第1の演算によるr個の演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれn−k,n−k,…,n−kである冗長ビット系列を含むビット列を出力する第2の演算と、を有する。
本発明の誤り訂正符号化装置は、低密度パリティ検査符号を用いる誤り訂正符号化装置であって、K,m,nを正整数、rを1≦r≦mの整数、k,k,…,kを0≦k,k,…,k≦n−1の整数として、誤り訂正符号化すべき長さKの情報ビット列を、各々が長さnのビット列からなる(m−r)個の第1のブロックと、各々が長さk,k,…,kのビット列からなるr個の第2のブロックとに分割する分割部と、(m−r)個の第1のブロックに対して多項式乗算を行って演算結果として長さnのビット列を出力するr個の第1の演算部と、r個の第2のブロックとr個の第1の演算部の各々から並列に入力する演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれn−k,n−k,…,n−kである冗長ビット系列を含むビット列を出力する第2の演算部と、を有する。
本発明の誤り訂正符号化装置において、例えば各第1の演算部は、それぞれ、最大で(m−r)個の多項式乗算回路を備えていてもよい。また第2の演算部は、例えば、長さがkである第2のブロックとr個の第1の演算部からの演算結果とに対してたかだか1個の多項式除算とたかだか(r−1)回の多項式乗算とを並列に行って、冗長ビット列のうちの(n−k)ビットと(r−1)個の長さnのビット列とを出力する第1の多項式除算・乗算ユニットと、pを2≦p≦rの整数として、第(p−1)の多項式除算・乗算ユニットから出力される(r−p+1)個の長さnのビット列と、長さがkr−p+1である第2のブロックとに対して、たかだか1回の多項式除算とたかだかr−p回の多項式乗算とを並列に行って、冗長ビット列のうちの(n−kr−p+1)ビットと(r−p)個の長さnのビット列とを出力する第pの多項式除算・乗算ユニットと、を備えることができる。この場合、qを1≦q≦rの整数として、第rの多項式除算・乗算ユニットは、例えば、たかだか1つの多項式除算回路と、たかだか(r−q)個の多項式乗算回路とを備えることができる。
このような多項式除算・乗算ユニットにおいては、多項式除算回路における除数となるべき多項式と、多項式乗算回路における乗数を定める多項式とを設定するために、例えば結線論理を用いることができる。この場合、多項式除算回路の結線に対応する最大r個の多項式として有限体の元の素体上の最小多項式に関連した一連の多項式を採用し、多項式乗算回路の結線に対応する多項式を、多項式除算装置に対応する多項式との積多項式によって構成した行列が疎な行列となるよう選択することによって、符号化利得を大きくすることができ、効率的な処理を行うことが可能になる。
本発明によれば、装置規模が小さく、装置構成が簡単であり、なおかつ繰り返し復号方式によって高い符号化利得を得ることが可能な、低密度パリティ検査符号による符号化方法及び装置を提供することができる。
関連技術における誤り訂正符号化装置の構成の一例を示すブロック図である。 本発明の実施の一形態の誤り訂正符号化装置の構成を示すブロック図である。 多項式乗算ユニットの構成の一例を示すブロック図である。 多項式乗算回路の構成の一例を示すブロック図である。 多項式除算・乗算ユニットの構成の一例を示すブロック図である。 多項式除算回路の構成の一例を示すブロック図である。 符号ビット系列に関するフレームフォーマットの一例を示す図である。 多項式乗算ユニットの別の構成例を示すブロック図である。 本発明に基づく符号化装置を使用したデータ通信システムの構成の一例を示すブロック図である。
符号の説明
11 多項式乗算ユニット
12 多項式除算・乗算ユニット
13,14,23,34,54,55,64,73 スイッチ
21,42 多項式乗算回路
22,32,43,52,62 排他的論理和回路
31,51,61 フリップ・フロップ
33,53,63 結線素子
41 多項式除算回路
44 セレクタ
45,46 入力端子
47,48 出力端子
65 シリアル/パラレル変換器
71 冗長ビット列算出装置
72 行列情報保存メモリ
81 データ送信装置
82 符号化装置
83,87 同期制御・データ変換装置
84 変調器
85 データ受信装置
86 復調器
88 復号装置
図2に示す本発明の実施の一形態に基づく誤り訂正符号化装置は、入力として供給される情報ビット列に対して低密度パリティ検査符号による誤り訂正符号化を行って符号ビット列を生成するものである。この誤り訂正符号化装置は、rを1以上の整数として、並列に配置されたr個の多項式乗算ユニット11と、直列に配置されたr個の多項式除算・乗算ユニット12と、入力側に設けられるスイッチ13と、出力側に設けられるスイッチ14と、を備えている。r個設けられる多項式除算・乗算ユニット12を相互に識別するために、後述するように、“[1]”〜“[r]”の表記を用いている。スイッチ13は、この誤り訂正符号化装置に入力される情報ビット列をいずれかの多項式乗算ユニット11に振り分けるためのものである。スイッチ14は、後述するように情報ビット列と冗長ビット列とが組み合わされた符号ビット列を出力するために、情報ビット列と最終段の多項式除算・乗算ユニット[1]のr個の出力とを順次選択するためのものである。
本実施形態における符号化方式は、長さがKビットである情報ビット系列を入力として、長さがnmビットである符号ビット系列を算出して出力するものである。ここで、情報ビット系列のビット長Kは次式で表すことができる。
Figure 2007132656
ビット長がnmである符号ビット系列中のKビットは、ビット長がKである入力情報ビット系列に完全に一致する。すなわち、本実施形態における符号化方式は組織符号化方式となっている。以下、本実施形態の誤り訂正符号化装置の構成の詳細について説明する。以下の説明において、特に断らない限り、長さとはビット長のことをいう。
r個設けられる多項式乗算ユニット11は、いずれも同様の構成のものであって、mをr以上の整数として、図3に示すように、たかだか(m−r)個の多項式乗算回路21と、多項式乗算回路21の個数よりも1個少ない排他的論理和回路22と、スイッチ23とを備えている。(m−r)個設けられる多項式乗算回路21は、各々が排他的論理和回路22を介して直列に接続されている。スイッチ23は、1入力(m−r)出力のものであって、入力されてくる情報ビット列を1番目すなわち図示左端の多項式乗算回路21または(m−r−1)個の排他的論理和回路22のいずれかに供給する。最終段すなわち図示右端の多項式乗算回路21の出力が、この多項式乗算ユニット11の出力として、後段の多項式除算・乗算ユニット12に供給されるようになっている。
このような多項式乗算ユニット11は、式(2)に示した長さKの情報ビットのうち、n(m−r)ビットを入力として受け取り、長さnのビット列を出力する。この出力ビット列は、後段の多項式除算・乗算ユニット12へ入力される。長さn(m−r)のビット列は、nビットごとに分割され、スイッチ23によって、(m−r)個の多項式乗算回路21のいずれかへ分配されることになる。例えば、1番目からn番目のビットは、1番目すなわち図示左端の多項式乗算回路21へ逐次入力され、(n+1)番目から2n番目のビットは、排他的論理和回路22を介して2番目すなわち図示左端から2番目の多項式乗算回路21へ逐次入力される。以下同様にして、jは2≦j≦m−r−1の整数であるとして、(jn+1)番目から(j+1)n番目のビットは、j番目の排他的論理和回路22を介して(j+1)番目の多項式乗算回路21へ逐次入力される。
多項式乗算ユニット11中の多項式乗算回路21は、いずれも同様の構成のものである。各多項式乗算回路21は、図4に示すように、nを正整数として、レジスタとして用いられるn個のフリップ・フロップ31と、たかだかn個の排他的論理和回路32と、排他的論理和回路32ごとに設けられるとともに多項式乗算回路21への入力ビット列が供給され、検査行列に応じて結線または非結線の状態が定まる結線素子33と、スイッチ34と、を備えている。排他的論理和回路32は、フリップ・フロップ31ごとにそのフリップ・フロップの入力側に設けられている。このようにそれぞれ排他的論理和回路32を伴ったn個のフリップ・フロップ31は、それらの排他的論理和回路32を介して直列に接続しており、スイッチ34は、最終段のフリップ・フロップ31の出力に接続している。スイッチ34は、最終段のフリップ・フロップ31の出力をこの多項式乗算回路21の出力として外部に供給するか、あるいは初段の排他的論理和回路32を介して初段すなわち図示左端のフリップ・フロップ31に戻すかを選択するためのものである。
このようにこの多項式乗算回路21は、nビット入力、nビット出力のものである。多項式乗算回路21は、スイッチ34により最終段のフリップ・フロップ31の出力が初段のフリップ・フロップ31に供給されるときにはnビットの入力ビット列が逐次入力され、すべての入力が終わった時点でスイッチ34を切り替えることにより、n個のフリップ・フロップ(すなわちレジスタ)31の中身を順次出力するように構成されている。n個の結線素子33は、図示するように、それぞれ、予め定められたnビットのビット列h,h,…,hn−1に対応するものであり、該当するビットが“1”であるか“0”であるかによって、結線状態と非結線状態とのいずれかの状態をとるものである。結線状態とは、多項式乗算回路21への入力ビット列が結線素子33を介して排他的論理和回路32に供給される状態のことである。これに対して非結線状態とは、多項式乗算回路21への入力ビット列が排他的論理和回路32に供給されない状態のことである。jを0≦j≦n−1の整数として、hが1であった時は“h”と記された部分の結線素子が“結線”状態となり、hが0であった時は“h”と記された部分の結線素子が“非結線”状態となる。このようにして多項式乗算回路21は、nビットのビット列h,h,…,hn−1を係数とする多項式との多項式乗算を実行する。ビット列h,h,…,hn−1に関する選択方法の一例については後述する。
直列に配置されたr個の多項式除算・乗算ユニット12については、それらを相互に識別するために、“[1]”〜“[r]”の表示で区別している。図2に示すように、入力側すなわち多項式乗算ユニット11側の多項式除算・乗算ユニットを多項式除算・乗算ユニット[r]とし、多項式除算・乗算ユニット[r]の出力に設けられる多項式除算・乗算ユニットを多項式除算・乗算ユニット[r−1]とし、以下同様にして、図示右端の多項式除算・乗算ユニットを多項式除算・乗算ユニット[1]とする。
iを1≦i≦rの整数とすると、このような多項式除算・乗算ユニット12のうちの多項式除算・乗算ユニット[i]は、図5に示すように、たかだか1個の多項式除算回路41と、たかだか(i−1)個の多項式乗算回路42を備えている。多項式乗算回路42としては、図4に示した多項式乗算回路をそのまま使用することができる。多項式除算回路41については後述する。
直列に配置されたr個の多項式除算・乗算ユニット12は、直列配置内での位置によってそれを構成する多項式乗算回路の数がそれぞれ異なっており、したがって、各多項式除算・乗算ユニットは、それを構成する多項式乗算回路の数によって区別されることになる。図2に示した符号化装置では、多項式除算・乗算ユニット[r]における多項式乗算回路42の数は(r−1)個以下であり、多項式除算・乗算ユニット[r−1]における多項式乗算回路42の数は(r−2)個以下であり、上述したように、多項式除算・乗算ユニット[i]における多項式乗算回路42の数は(i−1)個以下である。なお、零多項式との乗算を考慮すれば、零多項式との乗算のための乗算回路は設ける必要がないので、多項式除算・乗算ユニット[i]における多項式乗算回路42の数は(i−1)個となる。以下、多項式除算・乗算ユニット[i]について説明する。
多項式除算・乗算ユニット[i]は、たかだか1個の多項式除算回路41とたかだか(i−1)個の多項式除算回路42のほかに、多項式除算回路41に対して2個と各多項式乗算回路42ごとに1個設けられた排他的論理和回路43と、セレクタ(SEL)44と、スイッチ13(図2参照)から情報ビット列が供給される端子45と、前段の多項式除算・乗算ユニット[i+1]からのビット列が並列に入力するi個の端子46と、スイッチ14(図2参照)に対してビット列を供給する端子47と、後段の多項式除算・乗算ユニット[i−1]にビット列を並列に出力する(i−1)個の端子48と、を備えている。i個の端子46のうち、最初の(i−1)個の端子は、それぞれ、排他的論理和回路43を介して多項式乗算回路42の入力に接続し、多項式乗算回路42の出力は、それぞれ、端子48に接続している。これらの排他的論理和回路43には、セレクタ44の出力も共通に供給されている。
セレクタ44の出力は、端子47にも接続している。端子46のうち、残る1個の端子46は、残る2つの排他的論理和回路43に接続している。これらの排他的論理和回路43のうちの一方は、端子45からビット列も供給され、多項式除算回路41の入力に接続している。他方の排他的論理和回路43は、多項式除算回路41の出力ビット列が供給されるとともに、セレクタ44の一方の入力端子に接続している。セレクタ44の他方の入力端子は、端子45に接続している。
なお、i=rの場合、すなわち多項式除算・乗算ユニット[r]では、r個の端子46は、それぞれr個の多項式乗算ユニット11の出力に接続する。また、i=1の場合、すなわち多項式除算・乗算ユニット[1]では、多項式乗算回路42と端子48とは設けられない。
このような多項式除算・乗算ユニット[i]では、式(2)に示した長さKの情報ビットのうちkビットが端子45から入力するとともに、前段の多項式除算・乗算ユニット[i+1]からのniビットが端子46によってiビットずつ並列に入力する。なお、i=rの時は、端子46には、r個の多項式乗算ユニットの出力が1ビットずつ並列に入力する。そして多項式除算・乗算ユニット[i]は、長さnのビット列を符号ビット列の一部として端子47から出力するとともに、長さnのビット列を(i−1)個の多項式乗算回路から並列に端子48から合計n(i−1)ビット出力する。多項式除算回路41は、端子45から逐次入力されるkビットと端子46から逐次入力されるnビットのうちの前半kビット分との排他的論理和を入力として受け取り、入力が終了した次の時点から、(n−k)ビットを逐次出力する。この多項式除算回路41の出力の(n−k)ビットと端子46から逐次入力されるnビットの後半の(n−k)ビット分との排他的論理和は、セレクタ44を介して、多項式乗算回路42の入力に供給される。セレクタ44は、端子45から逐次入力されるkビットとを第1の入力として受け取るとともに、多項式除算回路の出力と端子46から逐次入力されるnビットの後半の(n−k)ビット分との排他的論理和を第2の入力として受け取り、第1及び第2の入力を切り替えて、合計nビットを逐次出力する。セレクタ44が出力したnビットは、符号ビット系列のnmビット中のnビットとして、端子47から出力される。多項式乗算回路42は、セレクタ44からの出力と端子46に逐次入力されるnビットとの排他的論理和を入力として受け取り、乗算結果のnビットを端子48から逐次出力する。
上述したようにiは1≦i≦rの整数であるとして、次に、多項式除算・乗算ユニット[i]内に設けられる多項式除算回路41について、図6を用いて説明する。
多項式除算回路41は、kを0≦k≦nの整数として、(n−k)個のフリップ・フロップ51と、たかだか(n−k)個の排他的論理和回路52と、(n−k+1)個の結線素子53と、スイッチ54,55と、から構成されている。(n−k+1)個の結線素子53は、それぞれ、予め定められた長さ(n−k+1)ビットのビット列g,g,…,gn−kiの各ビットに対応し、対応するビットの値に応じて、結線状態または非結線状態のいずれかの状態に定められる。具体的には、jは0≦j≦n−kの整数であるとして、(j+1)番目の結線素子53すなわち図示“g”と記載された結線素子は、ビットgが1である時は結線状態となり、ビットgが0である時は非結線状態となる。(n−k)個のフリップ・フロップ51は、それぞれ排他的論理和回路52を間に挟んで直列に接続している。スイッチ54は、最終段のフリップ・フロップ51の出力を、この多項式除算回路41の出力として外部に供給するか、あるいは残る1つの排他的論理和回路52すなわち最後の排他的論理和回路52に供給するかを切り替えるものである。
最後の排他的論理和回路52には、多項式除算回路41への入力ビット列が供給されており、最後の排他的論理和回路52の出力は、スイッチ55を介して、(n−k+1)番目の結線素子53すなわちビットgn−kiに対応する結線素子に供給されている。1番目すなわち図示左端のフリップ・フロップ51には、ビットgに対応する結線素子53を介して、ビットgn−kiに対応する結線素子53からの出力が供給されている。残りのフリップ・フロップ51に関しては、その入力部に設けられた排他的論理和回路52に対し、それぞれ、ビットg,…,gn−ki−1に対応する結線素子53を介して、ビットgn−kiに対応する結線素子53からの出力が供給されている。
このような多項式除算回路41は、スイッチ54を最後の排他的論理和回路52側としてkビットを逐次入力として受け取り、入力が終わった時点でスイッチ54を切り替え、(n−k)個のフリップ・フロップ51に蓄えられた合計(n−k)ビットを逐次出力する。すなわちこの多項式除算回路41は、kビットの入力ビット列と、(n−k+1)ビットのビット列g,g,…,gn−kiの各ビットを係数とする多項式との多項式除算を実行する。ビット列g,g,…,gn−kiに関する選択方法の一例については後述する。
ここで、図2に示した誤り訂正符号化装置に対応する検査行列について説明する。この検査行列は、式(4)で表される。
Figure 2007132656
式(4)の検査行列はr×mブロック行列であり、その各成分はn×n巡回行列である。式(4)の右下三角部分、すなわち式においてボールド文字で“0”と記載された部分のn×n巡回行列は零行列である。n×n巡回行列は、式(5)に記したように、第2行目の行ベクトルが第1行目の行ベクトルを1ビット右に巡回したものとなっているとともに、kを2≦k≦nの整数として、第k列目の列ベクトルが第1行目の行ベクトルを(k−1)ビットだけ右に巡回したものとなっているものである。
Figure 2007132656
式(5)のn×n巡回行列の第1行目の行ベクトルは、式(6)に示すように、(n−1)次以下の多項式として表現することができる。
+ax+a+…+an−1n−1 (6)
以下、iは1≦i≦rの整数、jは1≦j≦m−rの整数、vは2≦v≦rの整数、uは1≦u≦t−1の整数であるとして、式(4)におけるHi,jの第1行目の行ベクトルを(n−1)次以下の多項式として表示したものをh(i,j)(x)と記し、式(4)中のFs,tの第1行目の行ベクトルを(n−1)次以下の多項式として表示したものをf(u,v)(x)と記し、式(4)中のGの第1行目の行ベクトルを(n−1)次以下の多項式として表示したものをg(i)(x)と記す。
多項式乗算ユニット11における多項式乗算回路21、及び多項式除算・乗算ユニット12における多項式乗算回路42は、いずれも上述したように図4に示す構成を有するが、このような多項式乗算回路において、結線素子33の結線状態または非結線状態の別を定めるnビットのビット列h,h,…,hn−1は、上述の多項式h(i,j)(x)及びf(u,v)(x)の選択を通して決定される。また、多項式除算・乗算ユニット12における多項式除算回路41の結線を定める(n−k+1)ビットのビット列g,g,…,gn−kiの選択は、多項式g(i)(x)の選択を通して決定される。以下、多項式h(i,j)(x),f(u,v)(x),g(i)(x)の選択の一例について説明する。
整数qを2の冪とし、すなわちsを正整数としてq=2とし、前述の整数nをn=q−1とする。q個の元からなる有限体GF(q)の原始元αと、1≦i≦rを満たす整数iとに対して、g(i)(x)を式(7)のように定める。
Figure 2007132656
ここで、Bは、0以上q−2以下の整数の部分集合であって、式(7)の多項式を展開したときに、その係数が0もしくは1となるものとする。したがって、g(i)(x)は、Bによって定められたGF(q)の元の素体(GF(2))上の最小多項式を掛け合わせた多項式となる。また、B,B,…,Bは、次の関係(式(8))を満たすものとする。
⊆B⊆…⊆B (8)
これは、iとjをそれぞれ1≦i≦r,1≦j≦rを満たす整数とするとき、i<jならばg(j)(x)はg(i)(x)で割り切れることを意味している。
多項式h(i,j)(x)は、x−1を法として、g(i)(x)の倍多項式と設定する。すなわち、式(9)の条件を満たすものとして、次数が(n−1)以下の多項式h(i,j)(x)を設定する。
(i,j)(x)≡Ψ(i,j)(x) g(i)(x) mod (x−1) (9)
ここで、iは1≦i≦rの整数、jは1≦j≦m−rの整数とし、Ψ(i,j)(x)は、各項の係数が0あるいは1である、次数が(n−1)次以下の多項式とする。さらに、前述の多項式f(u,v)(x)は、多項式h(i,j)(x)と同様に、x−1を法として、g(i)(x)の倍多項式と設定する。すなわち、式(10)の条件を満たすものとして、次数が(n−1)次以下の多項式f(u,v)(x)を設定する。
(u,v)(x)≡φ(u,v)(x) g(u)(x) mod (x−1) (10)
ここで、vを2≦v≦rの整数、uを1≦u≦v−1の整数として、φ(u,v)(x)は、各項の係数が0あるいは1である、次数が(n−1)次以下の多項式とする。
次に、多項式乗算ユニット11における多項式乗算回路21の結線について説明する。前述のように、多項式乗算回路の構成を示す図4において、結線素子33は、予め定められたnビットのビット列h,h,…,hn−1によって、その結線素子が結線状態となるか非結線状態のいずれの状態となるかが定まる。具体的には、jを0≦j≦n−1の整数として、hが1であったときは、“h”と記された結線素子は結線状態となり、hが0であったときは、“h”と記された結線素子は非結線状態となる。この結線を定めるnビットのビット列の選択は次のように行う。
本実施形態の符号化装置は、図2に示すようにr個の多項式乗算ユニット11を備えているので、r個の多項式乗算ユニット11に対して、図示上から1,2,…,rと番号付けする。また各多項式乗算ユニット11は、図3に示すように、たかだか(m−r)個の多項式乗算回路21を備えるので、これらの多項式乗算回路に対して左から1,2,…,m−rと番号付けする。iは1≦i≦rの整数、jは1≦j≦m−rの整数、kは0≦k≦n−1の整数として、i番目の多項式乗算ユニットにおけるj番目の多項式乗算回路の結線を示すnビットのビット列をh (i,j),h (i,j),…,hn−1 (i,j)によって表すとき、h (i,j)を式(9)におけるΨ(i,j)(x)のxの項の係数とする。このように設定することで、式(9)の多項式Ψ(i,j)(x)を使って、図2に示す符号化装置内の多項式乗算ユニット11に現れるすべての多項式乗算回路の係数を設定することができる。
次に、多項式除算・乗算ユニット12における多項式除算回路41と多項式乗算回路42における結線素子の状態について説明する。
図6に多項式除算回路41の構成が示されているが、図6中、結線素子53が結線状態であるか非結線状態であるかは、前述のように、予め定められた(n−k+1)ビットのビット列g,g,…,gn−kiによって定まり、iは1≦i≦nの整数、jは0≦j≦n−kの整数であるとして、gが1であったときは“g”と記された部分の結線素子は結線状態となり、gが0であったときは“g”と記された部分の結線素子は非結線状態となる。多項式除算・乗算ユニット[i]における多項式除算回路での結線素子の状態を示す(n−k+1)ビットのビット列をg (i),g (i),…,gn−ki (i)によって表す時、g (i)を、式(8)の多項式g(i)(x)から式(11)に基づいて定まる多項式σ(i)(x)のxの項の係数とする。
Figure 2007132656
このように設定することで、式(8)の多項式g(i)(x)を用いて、図2に示す符号化装置内の多項式除算・乗算ユニット12に現れる多項式除算回路41の係数を設定することができる。
図6に示すように、多項式除算回路41の出力は、多項式除算回路41への入力ビット列を係数とする多項式を式(11)の多項式σ(i)(x)で除算した剰余に相当する。このため、g(i)(x)=1、すなわちσ(i)(x)=x−1である場合には、多項式除算回路41は、入力ビット列をそのまま出力することとなる。
vは1≦v≦rの整数、uは1≦u≦v−1の整数であるとして、v番目の多項式除算・乗算ユニット12における上からu番目(図5参照)の多項式乗算回路42における各結線素子は、多項式乗算ユニット11における多項式乗算回路21の場合と同様のやり方で、式(10)のφ(u,v)(x)の各項の係数によって、結線状態か非結線状態かのいずれかに設定される。
多項式除算回路41での結線素子53の状態を定める式(11)の多項式σ(i)(x)の次数は、(n−k)に一致し、式(7)〜(11)によって、式(4)の行列Hの階数Rは次の式(12)で与えられる。
Figure 2007132656
したがって、式(4)の行列Hを検査行列とする符号化方式における冗長ビット数は、式(12)に示したRであり、情報ビット数は、式(3)に示したKに一致する。情報ビット数と冗長ビット数を合わせた1ブロックのビット長はnmとなる。
本実施形態の誤り訂正符号化装置によって符号化された長さnmビットの符号ビット系列に関するフレームフォーマットの一例を図7に示す。式(3)に示す符号ビット系列中のKビットは、この符号化装置への入力情報ビット系列に完全に一致する。すなわち、本実施形態の符号化方式は組織符号化方式となっていることがわかる。
次に、本実施形態の誤り訂正符号化装置の動作について説明する。
図2に示す誤り訂正符号化装置には、誤り訂正符号化のためブロック化された、式(3)に示した長さKビットの情報ビット列が、順次入力される。スイッチ13の切り替えによって、長さKの情報ビットのうち、1番目のビットからn(m−r)番目のビットまでのn(m−r)ビットをr個の並列に配置された多項式乗算ユニット11の全てへ逐次入力させる。このとき、スイッチ14は、n(m−r)ビットの入力が符号化装置の出力としてそのまま出力されるようにセットされる。符号化装置がn(m−r)番目のビットを入力し終えた段階で、スイッチ13を切り替え、これ以降のkビットが初段の多項式除算・乗算ユニット[r]に入力されるようにする。
多項式除算・乗算ユニット[r]は、前述のkビットの情報ビットとr個の多項式乗算ユニット11からの出力の合計nrビットとを入力として、次段の多項式除算・乗算ユニット[r−1]の入力となるn(r−1)ビットとこの符号化装置の出力となるnビットとを出力する。スイッチ14は、その接続先が多項式除算・乗算ユニット[r]の出力端子に切り替わり、nビットを出力する。iは2≦i≦r−1の整数であるとして、以下同様に、スイッチ13を切り替え、多項式除算・乗算ユニット[i]にkビットの情報ビット列が供給されるようにする。多項式除算・乗算ユニット[i]は、このkビットの情報ビットに加え、多項式除算・乗算ユニット[i+1]から供給されるniビットを処理し、符号化装置の出力となるnビットと次段の多項式除算・乗算ユニット[i−1]へ出力されるn(i−1)ビットとを生成する。なお、Kビットの情報ビット列が本実施形態の符号化装置に連続的に供給される場合、各多項式除算・乗算ユニット12での処理にはn単位時間を要するため、情報ビット列中のkビットを入力後、多項式除算・乗算ユニット[i]の処理が終了し、出力が完了するまでの間の時間、次に動作する多項式除算・乗算ユニット[i−1]への情報ビット列(ki−1ビット)の入力を遅延させる必要がある。
最後に、スイッチ13を切り替え、多項式除算・乗算ユニット[1]にkビットの情報ビット列と多項式除算・乗算ユニット[2]の出力であるnビットが入力されるようにする。その結果、多項式除算・乗算ユニット[1]からはnビットが出力される。このnビットの出力は、スイッチ14を経て、この符号化装置の出力となる。なお、先に一例を示した多項式除算回路の結線において、g(i)(x)=1である場合、k=0ビットであり、前述のように、多項式除算・乗算ユニット[i]における多項式除算は省略される。
次に、多項式乗算ユニット11の動作の詳細について説明する。前述のように、各多項式乗算ユニット11には、情報ビット列の1ビット目からn(m−r)ビット目までのn(m−r)ビットが逐次入力される。これらのn(m−r)ビットは、nビットごとに分割され、図3に示すように、スイッチ23によって、多項式乗算ユニット11中の(m−r)個の多項式乗算回路21へ分配される。まず1番目のビットからn番目のビットまでが、1番目の多項式乗算回路すなわち図3における左端の多項式乗算回路へ逐次入力される。n番目のビットを入力し終えた時点で、スイッチ23が切り替えられ、(n+1)番目のビットから2n番目のビットまでが、排他的論理和回路22を介して、2番目の多項式乗算回路すなわち図3において左端から2番目の多項式乗算回路へ入力される。すなわち、(n+1)番目のビットから2n番目のビットまでの各々と1番目の多項式乗算回路の出力ビットとの排他的論理和が、2番目の多項式乗算回路へ逐次入力されることになる。以下同様に、jは2≦j≦m−r−1の整数であるとして、(jn+1)番目のビットから(j+1)n番目のビットまでが排他的論理和回路を介して(j+1)番目の多項式乗算回路へ入力され、これにより、(jn+1)番目から(j+1)n番目までのビットの各々とj番目の多項式乗算回路の出力ビットとの排他的論理和がこの(j+1)番目の多項式乗算回路へ逐次入力されることになる。最終段の多項式乗算回路すなわち(m−r)番目の多項式乗算回路の出力nビットが、図3に示す多項式乗算ユニット11の出力となる。
ここで多項式乗算回路の動作について、図4を用いて説明する。レジスタとして用いられるフリップ・フロップ31の中身をすべて零に初期化しておき、nビットのビット列を1ビットずつ多項式乗算回路に逐次入力する。この間、フィードバックがかかるように、スイッチ34をフィードバック側すなわち出力側でない方へセットしておく。nビットのすべてが入力し終わった時点でスイッチ34を切り替え、各フリップ・フロップ31の中身を順次出力する。
次に、多項式除算・乗算ユニット12の動作について、図5を用いて説明する。前述のように多項式除算・乗算ユニット12は、たかだか一つの多項式除算回路41とたかだか(r−1)個の多項式乗算回路42からなる。多項式除算・乗算ユニット12は、これを構成する多項式乗算回路42の数によって区別されるが、基本的な動作は同一である。前述の多項式乗算ユニット11の処理が終了した時点で、本実施形態の符号化装置には、式(3)の情報ビット列のKビット中、n(m−r)ビットが既に入力されている。
多項式除算・乗算ユニット[r]には、まず情報ビット列の(n(m−r)+1)番目のビットから(n(m−r)+k)番目のビットまでが、端子45を通して逐次入力され、これと同時に、r個の多項式乗算ユニット11の各々から並列にnビットのビット列が端子46を通して逐次入力される。端子45から合計kビットの情報ビット列が入力している間に、この端子45からの情報ビット列とr番目すなわち図示下端の端子46から入力するビット列との排他的論理和が、多項式除算回路41へ入力される。このときセレクタ44は、端子45からの入力を選択するように設定され、端子45からの入力はそのまま出力端子47から出力される。セレクタ44の出力は、出力端子47から出力されると同時に(r−1)個の排他的論理和回路43へ入力される。各多項式乗算ユニット11からの出力を入力とするr個の端子46のうち、多項式除算回路41への入力となるものを除いた1番目から(r−1)番目までの端子46からの入力は、それぞれ、前述のセレクタ出力をもう一方の入力とする排他的論理和回路43を経由して、(r−1)個の多項式乗算回路42へ入力される。
(n(m−r)+k)番目のビットが端子45を経由して入力され終わった時点で、セレクタ44の出力は、多項式除算回路41の出力とr番目の端子46から入力するデータとの排他的論理和を選択するようにセットされる。このとき、多項式除算回路41から出力されるビット数は、(n−k)ビットである。セレクタ44の出力は、端子47から出力されて符号化装置の出力すなわち冗長ビット列となるとともに、(r−1)個の端子46からの入力との排他的論理和演算が実行される、排他的論理和演算の結果は各多項式乗算回路42へ入力される。
端子47から出力されるnビットのうち、前半のkビットは端子45から入力された情報ビット列そのままであり、後半の(n−k)ビットが冗長ビットとなる。情報ビット列の(n(m−r)+1)番目から(n(m−r)+k)番目までのkビットと端子46から入力されるビット列の前半のkビットとを処理するのにk単位時間を要し、その後、多項式除算回路の出力(n−k)ビットと端子46から入力されるビット列の後半の(n−k)ビットとを処理するのに(n−k)単位時間を要する。すなわち、多項式除算・乗算ユニット[r]に要する処理時間は、n単位時間となる。(r−1)個の多項式乗算回路42中のフリップ・フロップ(すなわちレジスタ)31に保存されたデータは、端子48から出力され、次段の多項式除算・乗算ユニット[r−1]へ入力される。
以下同様に、iは2≦i≦r−1の整数の整数であるとして、多項式除算・乗算ユニット[i]は、端子45から入力されるkビットと前段の多項式除算・乗算ユニット[i+1]から端子46を介して入力されるniビットから、この符号化装置の出力を生成して端子47から出力するとともに、次段の多項式除算・乗算ユニット[i−1]の入力となるデータを生成する。この生成されたデータは、次段の多項式除算・乗算ユニット[i−1]の動作中に、多項式除算・乗算ユニット[i]の端子48から出力される。端子47から出力されるnビットのうち、前半のkビットは端子45から入力された情報ビット列そのままであり、後半の(n−k)ビットが冗長ビットとなる。
最後に、情報ビットのうち、(K−k+1)番目のビットからK番目のビットまでのkビットが多項式除算・乗算ユニット[1]に入力される。多項式除算・乗算ユニット[1]はたかだか一つの多項式除算回路41からなり、この多項式除算回路41は、多項式除算・乗算ユニット[2]から端子46を介して入力されるnビットのうちの前半のkビットと端子45からの入力kビットとの排他的論理和を入力とする。端子47から出力されるnビットのうち、前半のkビットでは、端子45を介して入力されるビット列がそのまま出力され、後半の(n−k)ビットは、多項式除算回路41の出力である(n−k)ビットと端子46を介して入力されるnビットの後半の(n−k)ビットとの排他的論理和となる。
次に、多項式除算回路41の動作について、図6を用いて説明する。ここでは説明を簡単にするため、多項式除算・乗算ユニット[r]内の多項式除算回路について説明するが、他の多項式除算・乗算ユニット内の多項式除算回路においても、基本的な動作はここで述べるものと同一である。
多項式除算回路41において、(n−k)個のフリップ・フロップ(すなわちレジスタ)51の中身をすべて零に初期化しておき、スイッチ54をフィードバック側すなわち出力側でない方にセットし、スイッチ55を閉じておく。多項式除算回路41へkビットのビット列が逐次入力されると、フリップ・フロップ51からなるシフトレジスタの中身が順次更新される。kビットが入力され終わった時点で、スイッチ55を開き、スイッチ54を出力側にセットして、各フリップ・フロップ51の中身を順次出力する。
以上のようにして本実施形態の誤り訂正符号化装置は、Kは正整数であるとして、ブロック化された長さKビットの情報ビット列が与えられたときに、この情報ビット列をさらに(m−r)個の長さnのブロックと各々が長さk,k,k,…,kのr個のブロックに分割し、低密度パリティ検査符号に対応する式(4)に示す検査行列を使用して、図7に示すフレームフォーマットにより、長さmnの符号ビット系列を出力する。なお、m,nは2以上の整数であり、rは1≦r≦mの整数であり、k,k,k,…,kは、それぞれ、0≦k,k,k,…,k≦nを満たす整数である。
r個の多項式乗算ユニット11には、最大で合計r(m−r)個の多項式乗算回路21が含まれるが、この最大r(m−r)個の多項式乗算回路21は、長さKビットの入力情報ビット列を上述のように分割して得られるビット列のうち、(m−r)個の長さnの各ブロックを入力とし、各々長さnの系列を出力する。そして、r個の多項式除算・乗算ユニット12には、最大で合計r個の多項式除算回路41と、最大で合計r(r−1)個の多項式乗算回路42が含まれるが、r個の多項式除算・乗算ユニット12は、これらの多項式除算回路41及び多項式乗算回路42を用いて、Kビットの入力情報ビット列を上述のように分割した際の長さk,k,k,…,kのブロックと多項式乗算ユニット11の出力データとを入力として、それぞれ、長さがn−k,n−k,n−k,…,n−kである冗長ビット系列を出力する。
本実施形態の符号化装置では、最大r個設けられる多項式除算回路41について各多項式除算回路内の結線素子53(図6参照)が結線状態か非結線常態のいずれの状態であるかを定めるために、最大r個の多項式として有限体の元の素体上の最小多項式に関連した一連の多項式を採用している。また、多項式除算・乗算ユニット12内の多項式乗算回路42内の結線素子の状態を定める多項式を、多項式除算装置41に対応する多項式との積多項式によって構成した行列が疎な行列となるよう選択している。このように多項式を採用し選択することによって、符号化利得が大きくなり、効率的な処理が可能となっている。
以下、本発明のさらに具体的な例として、上述の式(7)と式(8)を満たす多項式g(1)(x),g(2)(x),…,g(r)(x)のより具体的な設定方法の一例について説明する。
整数qを2の冪とし、すなわちsが正整数でありq=2であるとして、前述の整数nをn=q−1とする。q個の元からなる有限体GF(q)の原始元αと0≦L≦s−1を満たす整数Lとに対して、g(x)を式(13)のように定める。
Figure 2007132656
ここで、W(k)は、1≦k≦q−2である整数kを2進展開した際における、各係数の、整数としての総和を表す。またg(x)=1とする。式(13)の多項式を展開すると、その係数は0もしくは1となる。式(13)の多項式g(x)を使って、g(i)(x)を式(14)のように選択する。
(i)(x)=g(x),2<i≦2L+1 (14)
ただし、g(1)(x)=g(2)(x)=1とする。iとjを1≦i,j≦rを満たす整数とするとき、i<jならばg(j)(x)はg(i)(x)で割り切れるため、式(13)及び式(14)によって設定された多項式g(1)(x),g(2)(x),…,g(r)(x)は、式(7)と式(8)の要件を満たす。
多項式h(i,j)(x)の選択は、iを1≦i≦rの整数、jを1≦j≦m−rの整数として、式(9)に示す通り、g(i)(x)の倍多項式となるように設定する。vを2≦v≦rの整数、uを1≦u≦v−1の整数として、多項式f(u,v)(x)の選択は、多項式h(i,j)(x)の場合と同様に、式(10)が示す通り、g(u)(x)の倍多項式となるように設定する。多項式h(i,j)(x)とf(u,v)(x)の選択には自由度があるが、式(14)の多項式g(i)(x)と多項式h(i,j)(x),f(u,v)(x)とによって定まる、式(4)に示した検査行列Hが、疎な巡回行列をブロックとするブロック行列H’を基本行変換した行列に一致するように、多項式h(i,j)(x),f(u,v)(x)を選択することができる。このことによって、本実施形態の符号化方式によって符号化されたビット列は、低密度パリティ検査符号となって、例えばサム・プロダクト復号法などの繰り返し復号法を適用することにより復号することが可能となる。
具体的数値例を挙げて説明する。前述の整数s,qをs=3,q=8とし、αをx+x+1を原始多項式とする有限体GF(8)の原始元とする。この時、n=7であり、m=9,r=3とする。式(13)と式(14)から、g(1)(x)=g(2)(x)=1であり、g(3)(x)は原始多項式に一致し、g(3)(x)=x+x+1となる。式(9)によってh(i,j)(x)を定めるΨ(i,j)(x)を次のように選択する。ここでiは1≦i≦3の整数であり、jは1≦j≦6の整数である。
Figure 2007132656
式(10)により、f(u,v)(x)を定めるφ(u,v)(x)をφ(1,3)(x)=1,φ(2,3)(x)=x,φ(1,2)(x)=xと選択する。以上によって、本実施形態の符号化装置における各結線素子の状態がすべて定まる。またこれによって、式(4)の検査行列Hが定まるが、これは次の式(16)に示した行列H’を基本行変換した行列に一致する。
Figure 2007132656
ここで、ボールド文字の“0”は7×7全零行列を表し、kは0≦k≦6の整数であるとして、Iは、式(5)の巡回行列において、aのみが1であり、他はすべて0である巡回置換行列を表す。この検査行列H’に対応したサム・プロダクト復号法などの繰り返し復号法の適用により、本実施形態の符号化装置によって誤り訂正符号化されたビット列を効率的、かつ高精度で復号することができる。
最後に本実施形態の符号化装置と、これに対応して設計されたサム・プロダクト復号法などの繰り返し復号法を実施する装置を、各々送信側と受信側に設置することによる効果を一数値例によって説明する。前述の整数s,qをs=6,q=64とし、αをx+x+1を原始多項式とする有限体GF(64)の原始元とする。この時、n=63であり、m=65,r=8とする。式(13)と式(14)から、g(1)(x)=g(2)(x)=1であり、g(3)(x)とg(4)(x)は原始多項式に一致し、g(3)(x)=g(4)(x)=x+x+1となる。また、g(5)(x),g(6)(x),g(7)(x),g(8)(x)は、式(13)と式(14)より、式(17)に示す多項式g(x)に一致する。
Figure 2007132656
前述の具体例と同様に、多項式Ψ(i,j)(x)と多項式φ(u,v)(x)を、式(4)の検査行列Hが、零行列と巡回置換行列を成分とする疎なブロック行列H’を基本行変換した行列に一致するように、選択することができる。この時、n=63,m=65であるから、符号長は4095ビットであり、k=k=0,k=k=6,k=k=k=k=21であるから、式(3)より、情報ビット数は3687ビットである。このような選択によって、符号長が4095ビット、情報ビット長が3687ビットの符号化装置を構成することができ、さらにこれはサム・プロダクト復号法などの繰り返し復号法によって、高精度かつ効率的に復号処理することが可能である。
加法的白色ガウス雑音環境下において2相位相偏移(BPSK)変調方式で変調された信号によって通信を行う際、前述の符号長が4095ビット、情報ビット数が3687ビットの符号を適用することによって、復号後のビット誤り確率が0.1%の時、3.5dB以上の符号化利得を得ることができる。なお、このときの帯域拡大率は約11%である。
前述のように本具体例においては、式(4)の行列の行ブロック数に相当するパラメータrを8と設定したが、このパラメータrを変えることによって、符号化装置に大幅な変更を伴うことなく、符号化率や帯域拡大率を変えることが可能である。例えば、パラメータrのみを8から4へ設定し直し、多項式の選択等の他の設定は変えないものとする。この時のブロック行列Hは、行ブロック数が4、列ブロック数が65であり、各行ブロックは、r=8である時のブロック行列Hの第1行ブロックから第4行ブロックに一致する。ブロック行列Hを基本行変形して得られる疎なブロック行列H’についても同様にその第1行ブロックから第4行ブロックが一致する。r=4の場合の符号化装置は、r=8の場合の符号化装置における多項式乗算回路と多項式除算回路の一部を切り離すことによって実現できる。図2において8個並列に設置された多項式乗算ユニットの下4個を切り離し、さらにi=8,7,6,5である多項式除算・乗算ユニット[i]に関して、多項式除算回路と前述のように切り離された下4個の多項式乗算ユニットに接続された多項式乗算回路とを切り離した回路は、r=4の場合の符号化装置の構成に一致する。またこの場合、符号長は4095ビット、情報ビット長は3855ビットとなり、このときの帯域拡大率は約6.2%であって、前述の通信環境下では、復号後のビット誤り確率が0.1%の時、2.5dB以上の符号化利得を得ることができる。
次に、本発明の他の実施形態の誤り訂正符号化装置について説明する。
上述の実施形態において、図3に示した多項式乗算ユニット11では、mを正の整数、rは1≦r≦mの整数として、(m−r)個の多項式乗算回路21が排他的論理和回路22を介して直列に接続されている。これら直列に接続された(m−r)個の多項式乗算回路は、多項式乗算ユニットの入力データに対してシリアル・パラレル変換が行われるようにすることによって、並列に配置させることができる。この場合、並列に配置された(m−r)個の多項式乗算回路の出力の排他的論理和を多項式乗算ユニットの出力とする。この並列化による利点は、並列の配置されている多項式乗算ユニット間でフリップ・フロップを共有できることによる、多項式乗算ユニット中のフリップ・フロップ数の削減にある。
図8は、このように(m−r)個の多項式乗算回路が並列に配置された多項式乗算ユニットを示している。以下の説明において、簡単のため、(m−r)をNとおく。この多項式乗算ユニットは、nを正整数として、レジスタとして用いられるn個のフリップ・フロップ61と、たかだかn個の(N+1)入力の排他的論理和回路62と、排他的論理和回路62ごとにN個ずつ設けられ検査行列に応じて結線あるいは非結線の状態が定まる結線素子63と、スイッチ64と、シリアルに入力するビット列をN(=m−r)個にシリアル・パラレル変換するシリアル/パラレル(S→P)変換器65と、を備えている。排他的論理和回路62は、フリップ・フロップ61ごとにそのフリップ・フロップの入力側に設けられており、それぞれ排他的論理和回路62を伴ったn個のフリップ・フロップ61は、それらの排他的論理和回路62を介して直列に接続し、スイッチ34は、最終段のフリップ・フロップ61の出力に接続している。スイッチ34は、最終段のフリップ・フロップ61の出力をこの多項式乗算ユニットの出力として外部に供給するか、あるいは初段の排他的論理和回路62を介して初段すなわち図示左端のフリップ・フロップ61に戻すかを選択するためのものである。
この多項式乗算ユニットでは、排他的論理和回路62ごとにN個ずつ設けられる結線素子63は、シリアル/パラレル変換器65からのN本の出力のそれぞれを対応する排他的論理和回路62に供給するか供給しないかを定めるものである。iは1≦i≦nを満たす整数とすると、図示右からi番目のフリップ・フロップ61に対して、シリアル/パラレル変換器65からのN本の出力が供給されるかされないかは、それぞれ、ビット列hi+1 (1),hi+1 (2),…,hi+1 (N)の対応するビットが“1”であるか“0”であるかによって定まる。
図8に示す多項式乗算ユニットの出力は、N(=m−r)個の多項式乗算回路の出力の排他的論理和に一致する。図3の形の多項式乗算ユニットにおいてはフリップ・フロップがn(m−r)個使用されていたのに対し、図8の並列化された多項式乗算ユニットにおけるフリップ・フロップ数はn個である。このように並列化を図ることによって、図8に示したものではフリップ・フロップ数が削減されている。
なお、図8に示す回路においては、フリップ・フロップ間に配置された排他的論理和回路62へのファンイン数が、図4の多項式乗算回路における排他的論理和回路32へのファンイン数と比較して大きくなっている。もし、図8の回路において排他的論理和回路での最大ファンイン数が許容範囲を超える場合には、多項式乗算回路の並列接続と直列接続とを併用することで、ファンイン数を許容範囲内に抑えることができる。その場合の多項式乗算ユニットの構成は、図3の多項式乗算ユニットにおける多項式乗算回路21の部分に、図8に示した回路が入る形態となる。
次に、上述した各実施形態の誤り訂正符号化装置の適用例について説明する。図9は、本発明に基づく符号化装置を用いたデータ通信システムの構成の一例を示している。このデータ通信システムは、データ送信装置81と、データ送信装置81から通信路80を介して送信されてきたデータを受信するデータ受信装置85とを備えている。データ送信装置81は、送信すべきデータが入力する本発明に基づく符号化装置82と、符号化装置82が出力するビット列に対してフレーム同期をとるための制御を行い、変調器に合わせたデータへ変換する同期制御・データ変換装置83と、同期制御・データ変換装置83から出力されるデータを変調して通信路80に送出する変調器84と、を備えている。データ受信装置85は、通信路50から受信した情報を復調する復調器86と、復調器86の出力データを復号装置への入力データに変換するとともに、フレーム同期をとるための処理を行う同期制御・データ変換装置87と、サム・プロダクト復号法などの繰り返し復号を実行する復号装置88と、を備えている。
図9に示す構成において、変調器84からの出力を通信路80ではなくて記録媒体に記録し、復調器86には通信路80からの情報ではなくて記録媒体から読出された情報が入力するようにすることによって、データ記憶装置を構成することも可能である。
以上説明したように本発明の誤り訂正符号化装置は、パラメータm,r,n、及び多項式の選択によって、符号長、情報ビット長、符号化率(帯域拡大率)に関する幅広い要求に応えることが可能である。
このように本発明に基づく誤り訂正符号化装置は、多項式乗算回路と多項式除算回路との平易な組み合わせからなるため、単純な装置構成で実現することができ、符号化処理に要する計算量と装置規模の削減とを図ることが可能である。また、多項式乗算回路と多項式除算回路における結線の選択によって、繰り返し復号によって多くの符号化利得を得ることが可能な誤り訂正符号化装置を構成できるようになる。このようにして本発明は、通信システムにおける信頼性の向上、所要電力の低下に貢献する。
本発明は、衛星通信システムあるいは移動体通信システムなどにおける所要電力の低減やアンテナの小型化などのシステム構成上の要件を満たすための誤り訂正技術として、あるいは磁気記録などの記憶装置に関する信頼性向上のための誤り訂正技術として、適用することができる。

Claims (11)

  1. 低密度パリティ検査符号を用いる誤り訂正符号化方法であって、
    m,nを正整数、rを1≦r≦mの整数、k,k,…,kを0≦k,k,…,k≦n−1の整数として、
    誤り訂正符号化すべき情報ビット列を、各々が長さnのビット列からなる(m−r)個の第1のブロックと、各々が長さk,k,…,kのビット列からなるr個の第2のブロックとに分割することと、
    (m−r)個の前記第1のブロックに対して多項式乗算を行って長さnのr個のビット列を出力する第1の演算と、
    r個の前記第2のブロックと前記第1の演算段階によるr個の演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれn−k,n−k,…,n−kである冗長ビット系列を含むビット列を出力する第2の演算と、
    を有する、誤り訂正符号化方法。
  2. 前記第2の演算は、
    長さがkである前記第2のブロックと前記第1の演算からのr個の演算結果とに対してたかだか1回の多項式除算とたかだか(r−1)回の多項式乗算とを並列に行って、前記冗長ビット列のうちの(n−k)ビットと(r−1)個の長さnのビット列とを出力する第1の多項式除算・乗算演算と、
    pを2≦p≦rの整数として、第(p−1)の多項式除算・乗算演算から出力される(r−p+1)個の長さnのビット列と、長さがkr−p+1である前記第2のブロックとに対して、たかだか1回の多項式除算とたかだか(r−p)回の多項式乗算とを並列に行って、前記冗長ビット列のうちの(n−kr−p+1)ビットと(r−p)個の長さnのビット列とを出力する第pの多項式除算・乗算演算と、
    を備える、請求項1に記載の方法。
  3. 前記多項式除算における除数を、多項式x−1を1のn乗根を含む有限体の元の素体上の最小多項式の積からなる多項式で除算した商多項式とする、請求項2に記載の方法。
  4. 低密度パリティ検査符号を用いる誤り訂正符号化装置であって、
    m,nを正整数、rを1≦r≦mの整数、k,k,…,kを0≦k,k,…,k≦n−1の整数として、
    誤り訂正符号化すべき情報ビット列を、各々が長さnのビット列からなる(m−r)個の第1のブロックと、各々が長さk,k,…,kのビット列からなるr個の第2のブロックとに分割する分割部と、
    (m−r)個の前記第1のブロックに対して多項式乗算を行って演算結果として長さnのビット列を出力するr個の第1の演算部と、
    r個の前記第2のブロックとr個の前記第1の演算部の各々から並列に入力する前記演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれn−k,n−k,…,n−kである冗長ビット系列を含むビット列を出力する第2の演算部と、
    を有する、誤り訂正符号化装置。
  5. 前記第2の演算部は、
    長さがkである前記第2のブロックとr個の前記第1の演算部からの演算結果とに対してたかだか1個の多項式除算とたかだか(r−1)回の多項式乗算とを並列に行って、前記冗長ビット列のうちの(n−k)ビットと(r−1)個の長さnのビット列とを出力する第1の多項式除算・乗算ユニットと、
    pを2≦p≦rの整数として、第(p−1)の多項式除算・乗算ユニットから出力される(r−p+1)個の長さnのビット列と、長さがkr−p+1である前記第2のブロックとに対して、たかだか1回の多項式除算とたかだかr−p回の多項式乗算とを並列に行って、前記冗長ビット列のうちの(n−kr−p+1)ビットと(r−p)個の長さnのビット列とを出力する第pの多項式除算・乗算ユニットと、
    を備える、請求項4に記載の装置。
  6. 前記第1の演算部は、
    複数段縦続接続されたレジスタと、
    前記縦続接続においてレジスタごとに当該レジスタの入力端に配置された排他的論理和回路と、を備え、
    前記排他的論理和回路ごとに当該排他的論理回路の出力論理を非反転または反転とするように、所定の多項式演算に基づいて定められる結線によって前記各排他的論理回路の出力論理が設定されている、請求項4に記載の装置。
  7. qを1≦q≦rの整数として、第rの多項式除算・乗算ユニットは、たかだか1つの多項式除算回路と、たかだか(r−q)個の多項式乗算回路とを備える、請求項5に記載の装置。
  8. 前記多項式除算回路は、多項式x−1を1のn乗根を含む有限体の元の素体上の最小多項式の積からなる多項式で除算した商多項式を除数として多項式除算を実行する回路である、請求項7に記載の装置。
  9. 前記第1の演算部は、
    複数段縦続接続されたレジスタと、
    前記縦続接続においてレジスタごとに当該レジスタの入力端に配置された排他的論理和回路と、を備え、
    前記排他的論理和回路ごとに当該排他的論理回路の出力論理を非反転または反転とするように、所定の多項式演算に基づいて定められる結線によって前記各排他的論理回路の出力論理が設定されている、請求項5に記載の装置。
  10. 入力データを変調して送信するデータ送信装置であって、前記入力データに対して誤り訂正符号化を行う請求項4乃至9のいずれか1項に記載の装置を有するデータ送信装置。
  11. 入力データを変調して記録媒体に記録するデータ記憶装置であって、前記入力データに対して誤り訂正符号化を行う請求項4乃至9のいずれか1項に記載の装置を有するデータ記憶装置。
JP2008515479A 2006-05-12 2007-04-25 誤り訂正符号化方法及び装置 Active JP4978625B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008515479A JP4978625B2 (ja) 2006-05-12 2007-04-25 誤り訂正符号化方法及び装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006134092 2006-05-12
JP2006134092 2006-05-12
JP2008515479A JP4978625B2 (ja) 2006-05-12 2007-04-25 誤り訂正符号化方法及び装置
PCT/JP2007/058972 WO2007132656A1 (ja) 2006-05-12 2007-04-25 誤り訂正符号化方法及び装置

Publications (2)

Publication Number Publication Date
JPWO2007132656A1 true JPWO2007132656A1 (ja) 2009-09-24
JP4978625B2 JP4978625B2 (ja) 2012-07-18

Family

ID=38693755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008515479A Active JP4978625B2 (ja) 2006-05-12 2007-04-25 誤り訂正符号化方法及び装置

Country Status (6)

Country Link
US (1) US8205142B2 (ja)
EP (1) EP2031759B1 (ja)
JP (1) JP4978625B2 (ja)
CN (1) CN101490963B (ja)
RU (1) RU2408979C2 (ja)
WO (1) WO2007132656A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR122019003652A8 (pt) 2007-09-28 2023-01-31 Panasonic Corp Método de codificação, codificador estruturado para criar um código convolucional de verificação de paridade de baixa densidade e decodificador que decodifica um código convolucional de verificação de paridade de baixa densidade
EP2191471A4 (en) 2008-07-28 2013-12-18 Agere Systems Inc SYSTEMS AND METHODS FOR VARIABLE COMPENSATED FLIGHT HEIGHT MEASUREMENT
US9343082B2 (en) * 2010-03-30 2016-05-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for detecting head contact
RU2013146898A (ru) 2011-03-22 2015-04-27 Нек Корпорейшн Устройство кодирования с коррекцией ошибок, способ кодирования с коррекцией ошибок и программа кодирования с коррекцией ошибок
US8526133B2 (en) 2011-07-19 2013-09-03 Lsi Corporation Systems and methods for user data based fly height calculation
WO2014054283A1 (ja) * 2012-10-05 2014-04-10 パナソニック株式会社 符号化方法、復号方法、符号化器、及び、復号器
US9293164B2 (en) 2013-05-10 2016-03-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for energy based head contact detection
US8937781B1 (en) 2013-12-16 2015-01-20 Lsi Corporation Constant false alarm resonance detector
US9129632B1 (en) 2014-10-27 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Loop pulse estimation-based fly height detector
RU2639661C1 (ru) * 2016-09-02 2017-12-21 Акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Способ умножения и деления элементов конечных полей
WO2018218466A1 (zh) 2017-05-28 2018-12-06 华为技术有限公司 信息处理的方法和通信装置
EP3624350A4 (en) * 2017-06-03 2020-06-17 Huawei Technologies Co., Ltd. INFORMATION PROCESSING PROCESS AND COMMUNICATION DEVICE
RU2659025C1 (ru) * 2017-06-14 2018-06-26 Общество с ограниченной ответственностью "ЛЭНДИГРАД" Способы кодирования и декодирования информации
JP7004008B2 (ja) 2017-12-27 2022-01-21 日本電気株式会社 通信路分極を用いた誤り訂正符号化方法および装置、復号方法および装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE162661T1 (de) 1990-09-19 1998-02-15 Koninkl Philips Electronics Nv System mit einem aufzeichnungsträger und einer wiedergabevorrichtung
JP4045872B2 (ja) * 2001-07-18 2008-02-13 ソニー株式会社 符号化方法および符号化装置
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US7865806B2 (en) * 2006-03-03 2011-01-04 Peter Lablans Methods and apparatus in finite field polynomial implementations
EP1934824A4 (en) * 2004-06-25 2010-01-06 Runcom Technologies Ltd MEHRRATEN-LDPC-CODESYSTEM UND -VERFAHREN
JP4821613B2 (ja) * 2004-12-15 2011-11-24 日本電気株式会社 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法
DE602005007320D1 (de) * 2005-02-22 2008-07-17 Lucent Technologies Inc Vorgehensweise und Apparat zur Encodierung von Low-Density Parity-Check (LDPC) Codes
CN1753315A (zh) * 2005-11-03 2006-03-29 华中科技大学 一种低密度奇偶校验码的编码方法

Also Published As

Publication number Publication date
CN101490963B (zh) 2013-11-06
JP4978625B2 (ja) 2012-07-18
RU2008148940A (ru) 2010-06-20
EP2031759B1 (en) 2014-07-30
WO2007132656A1 (ja) 2007-11-22
RU2408979C2 (ru) 2011-01-10
EP2031759A4 (en) 2012-07-04
EP2031759A1 (en) 2009-03-04
CN101490963A (zh) 2009-07-22
US20090187810A1 (en) 2009-07-23
US8205142B2 (en) 2012-06-19

Similar Documents

Publication Publication Date Title
JP4978625B2 (ja) 誤り訂正符号化方法及び装置
US8095859B1 (en) Encoder for low-density parity check codes
JP4821613B2 (ja) 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法
US6928602B2 (en) Encoding method and encoder
US7395494B2 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
CN101032082B (zh) 编码和解码数据的方法和设备
JP4320418B2 (ja) 復号装置および受信装置
US20060129904A1 (en) Method and apparatus for encoding and decoding data
CN102870330B (zh) 编码设备、纠错码配置方法及其程序
CN103401564A (zh) 编码器、解码器、发送装置、接收装置及其方法
JPH09507110A (ja) 有限体反転
JP7004008B2 (ja) 通信路分極を用いた誤り訂正符号化方法および装置、復号方法および装置
EP2951925B1 (en) Ldpc code design and encoding apparatus enabling the adjustment of code rate and codelength
US9104589B1 (en) Decoding vectors encoded with a linear block forward error correction code having a parity check matrix with multiple distinct pattern regions
US8700971B2 (en) Parallel residue arithmetic operation unit and parallel residue arithmetic operating method
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
US8713398B2 (en) Error correct coding device, error correct coding method, and error correct coding program
WO2010053152A1 (ja) 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
JP5523064B2 (ja) 復号装置及び方法
EP2951926B1 (en) Ldpc code design and encoding apparatus for their application
US8583994B2 (en) Coding apparatus and method for handling quasi-cyclical codes
KR101221062B1 (ko) 가변 usc 부호를 이용한 부호화 및 복호화 방법
Sukhavasi et al. A Primitive Polynomial to Define the Finite Field Modules for High-Throughput Interpolator to Encode and Decode Of Non Binary Cyclic Codes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4978625

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150