(57)【特許請求の範囲】
【請求項１】
低密度パリティ検査符号を用いる誤り訂正符号化装置であって、
ｍ−１個（ｍは２以上の整数を表す）の長さｎ（ｎは２以上の整数を表す）のビット列からなるブロックと長さ（ｎ−ｒ）（ｒは１からｎの間の整数を表す）のビット列からなる一つのブロックとに分割した情報ビット列のうちの前記長さｎのブロックをそれぞれ入力し、多項式乗算を行って長さｎのビット系列をそれぞれ出力するｍ−１個の多項式乗算装置と、
前記ｍ−１個の多項式乗算装置の各出力を加算する加算装置と、
前記長さ（ｎ−ｒ）のブロックと前記加算装置の出力結果とに対して多項式除算を行って長さｒの冗長ビット系列を出力する多項式除算装置とを有することを特徴とする誤り訂正符号化装置。
【請求項２】
前記多項式除算装置および前記多項式乗算装置は、レジスタと該レジスタの出力に接続される排他的論理和回路とを複数段縦続接続する回路を含み、該排他的論理和回路の出力論理を非反転または反転とするように、所定の多項式演算に基づいて定められる結線によって該排他的論理和回路の出力論理を設定することを特徴とする請求項１記載の誤り訂正符号化装置。
【請求項３】
前記多項式除算装置内の結線を指定する結線多項式を、２の２Ｓ乗個（Ｓは正の整数）の元からなる有限体の部分集合において、ｍ乗した値が一致しかつ２のＳ乗個の元からなる有限体へのトレースが零以外の値に一致する元からなる集合によって規定される多項式の中で極小となる極小多項式とし、他の有限体の部分集合によって規定される多項式の前記極小多項式による商多項式を前記多項式乗算装置内の結線を指定する結線多項式とすることを特徴とする請求項２記載の誤り訂正符号化装置。
【請求項４】
前記多項式除算装置内の結線を指定する結線多項式をランダムに選択し、前記ｍ−１個の多項式乗算装置内の結線を指定するｍ−１個の結線多項式の各々を前記ランダムに選択した多項式の互いに異なるべき乗によって定めることを特徴とする請求項２記載の誤り訂正符号化装置。
【請求項５】
低密度パリティ検査符号を用いる誤り訂正符号化方法であって、
ｍ−１個（ｍは２以上の整数を表す）の多項式乗算装置において、ｍ−１個の長さｎ（ｎは２以上の整数を表す）のビット列からなるブロックと長さ（ｎ−ｒ）（ｒは１からｎの間の整数を表す）のビット列からなる一つのブロックとに分割した情報ビット列のうちの前記長さｎのブロックをそれぞれ入力し、多項式乗算を行って長さｎのビット系列をそれぞれ出力し、
前記ｍ−１個の多項式乗算装置の各出力を加算装置で加算し、
多項式除算装置において、前記長さ（ｎ−ｒ）のブロックと前記加算装置の出力結果とに対して多項式除算を行って長さｒの冗長ビット系列を出力することを特徴とする誤り訂正符号化方法。
【請求項６】
前記多項式除算装置内の結線を指定する結線多項式を、２の２Ｓ乗個（Ｓは正の整数）の元からなる有限体の部分集合において、ｍ乗した値が一致しかつ２のＳ乗個の元からなる有限体へのトレースが零以外の値に一致する元からなる集合によって規定される多項式の中で極小となる極小多項式とし、他の有限体の部分集合によって規定される多項式の前記極小多項式による商多項式を前記多項式乗算装置内の結線を指定する結線多項式とすることを特徴とする請求項５記載の誤り訂正符号化方法。
【請求項７】
前記多項式除算装置内の結線を指定する結線多項式をランダムに選択し、前記ｍ−１個の多項式乗算装置内の結線を指定するｍ−１個の結線多項式の各々を前記ランダムに選択した多項式の互いに異なるべき乗によって定めることを特徴とする請求項５記載の誤り訂正符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法に関し、特に情報系列を一定長のブロックに分割し、各ブロック毎独立に冗長系列を付加するブロック誤り訂正符号化方式及びその回路における低密度パリティ検査（ＬＤＰＣ）符号化の方法及びその装置に関する。
【背景技術】
【０００２】
衛星通信、あるいは移動体通信システム等においては、所要電力の低減、アンテナの小型化等のシステム構成上の要件を満たすため、大きな符号化利得を有する誤り訂正符号化技術の導入が行われている。低密度パリティ検査符号は、非常に大きな符号化利得を有する誤り訂正符号として知られており、各種通信システム及び磁気記録等の記憶装置への導入が進んでいる。【０００３】
低密度パリティ検査符号は、単に一つの誤り訂正符号化方式を示すのではなく、検査行列が疎である（行列中の成分のほとんどが０であり、１である成分の数が非常に少ない）という特徴をもった誤り訂正符号の総称である。疎な検査行列の選択によって、サム・プロダクト（ｓｕｍ−ｐｒｏｄｕｃｔ）アルゴリズム等の繰り返し復号方式を用いることによって、理論限界に近い非常に大きな符号化利得を持つ誤り訂正符号化方式を構成することが可能であるという特徴をもっている（例えば、非特許文献１，２参照）。【０００４】
低密度パリティ検査符号に関連する技術的問題点は、符号化方法（情報ビット系列から冗長ビット系列を算出する方法）に必要となる計算量が多いこと、誤り確率が低い領域、特にエラーフロアと呼ばれる領域における誤り率特性（得られる符号化利得）の性能評価が困難なことである。符号化方式が符号の生成行列による行列の乗算からなるという最も典型的な符号化装置については、符号長の二乗に比例した回数の排他的論理和演算が必要となる。【０００５】
また、符号の検査行列によって符号化装置を構成する場合には、その検査行列を、
【数１】
0004821613.tif 000002
・・・（１）
という式に見られるような一部が対角行列となる形に基本変形し、その基本変形された検査行列によって実現される。【０００６】
具体的には、（１）式のＡで記した部分をｒ×ｋ行列とし（ｒ，ｋは正整数）、ｃ1 ，ｃ2 ，…，ｃk をｋビットの情報ビット系列とすると、それに対応するｒビットの冗長ビット列ｐ1 ，ｐ2 ，…，ｐr の各ビットｐi （ｉは１からｒの間の整数）は、
【数２】
0004821613.tif 000003
・・・（２）
という式によって算出される。【０００７】
ここで、（２）式中のａi,j は前記ｒ×ｋ行列Ａの（ｉ，ｊ）成分を表す（ｉは１からｒの間の整数、ｊは１からｋの間の整数）。したがって、誤り訂正符号の符号化装置構成にはｒ×ｋの行列Ａをメモリ等の記憶装置に保持し、行列Ａの成分中の１の数と等しい回数の排他的論理和演算が必要となる。【０００８】
図７は低密度パリティ検査符号に関する従来の符号化装置の一例を示す。図７中の５１は（２）式の演算を実行する冗長ビット列算出装置であり、図７中の５２は（１）式中の行列Ａを保持するメモリを表し、図７中の５３はスイッチである。【０００９】
符号化装置における記憶装置及び排他的論理和演算装置の削減に関して、検査行列を巡回置換行列のブロック行列からなる行列に限定して、行列Ａに規則性を持たせ、それによってメモリ量の削減及び排他的論理和演算処理の簡単化を実現する方法（例えば、特許文献１参照）、また行列Ａの成分中の１の数ができるだけ少なく、なおかつ繰り返し復号によって得られる符号化利得がなるべく大きくなるような低密度パリティ検査符号の構成方法（例えば、非特許文献３参照）が知られている。【００１０】
また、符号化装置が簡単に実現できる誤り訂正符号としては、多項式除算回路のみによって冗長ビット列の算出を行う巡回符号が知られており、特に代表的なものとしてリードソロモン（ＲＳ）符号、ビー・シー・エイチ（ＢＣＨ）符号が知られている。さらに、畳み込み符号も、上記の巡回符号と同様、符号化装置を非常に簡単に実現することができる。【００１１】
しかしながら、このような巡回符号、あるいは拘束長の長い畳み込み符号は最適に近い精度で復号処理を行う軟判定復号に要する計算量が非常に多いという問題があり、上述したサム・プロダクト等の繰り返し復号装置によって簡単に最適に近い精度で復号処理を行うことができる低密度パリティ検査符号と比較して、十分な符号化利得が得られないという問題がある。繰り返し復号によって最適に近い精度で復号処理を行うことができ、符号化装置に用いる比較的簡単な符号としてターボ符号（例えば、特許文献２参照）が知られているが、ターボ符号は符号化率（情報ビット列の長さと符号ビット列の長さの比）が低く、高い符号化率が要求されるシステムには向いていない。【００１２】
低密度パリティ検査符号の誤り率特性の評価、性能予測については誤り確率が十分大きな領域ではデンシティー・エヴォリューション（Ｄｅｎｓｉｔｙ−Ｅｖｏｌｕｔｉｏｎ）と呼ばれる方式によって一般的に行えることが知られている（例えば、非特許文献４参照）。誤り確率が低い領域、特にエラーフロアと呼ばれる領域における誤り率特性の性能予測については計算機シミュレーションによる実験的方法によって評価が行われる。【００１３】
このように、従来の低密度パリティ検査符号に関する符号化装置は、上記の（１）式中の行列Ａを保持する記憶装置と、上記の（２）式の演算処理装置とによって実現される。また、誤り率特性の評価に関しては実験的に行われている。【００１４】
【特許文献１】特開２００３−１１５７６８号公報（第１０，１１頁、図４〜７）
【特許文献２】Ｕｎｉｔｅｄ  Ｓｔａｔｅｓ  Ｐａｔｅｎｔ  ５４４６７４７（第２頁、図１）
【非特許文献１】「ロー・デンシティ  パリティ・チェック  コーズ（Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ  Ｃｏｄｅｓ）」［ロバート  ギャラガ（Ｒｏｂｅｒｔ  Ｇａｌｌａｇｅｒ）著，エム・アイ・ティ  プレス（ＭＩＴ  Ｐｒｅｓｓ），１９６３年］
【非特許文献２】「グット  エラー・コレクティング  コーズ  ベースト  オン  ベリー  スパース  メトリシィーズ（Ｇｏｏｄ  Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅｓ  Ｂａｓｅｄ  ｏｎ  ｖｅｒｙ  ｓｐａｒｓｅ  ｍａｔｒｉｃｅｓ）」［ディー・ジェー・シー  マッカイ（Ｄ．Ｊ．Ｃ．  ＭａｃＫａｙ）著，アイトリプルイー  トランザクションズ  オン  インフォメーション  セオリー（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ）．１９９９年３月，第３９９頁〜第４３１頁］
【非特許文献３】「エフィシェント  エンコーディング  オブ  ロー・デンシティ  パリティ・チェック  コーズ（Ｅｆｆｉｃｉｅｎｔ  Ｅｎｃｏｄｉｎｇ  ｏｆ  Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ  Ｃｏｄｅｓ）」［トーマス  リチャードソン（Ｔｈｏｍａｓ  Ｒｉｃｈａｒｄｓｏｎ），アール・ウルバンケ（Ｒ．Ｕｒｂａｎｋｅ）著．アイトリプルイー  トランザクションズ  オン  インフォメーション  セオリー（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ），２００１年９月，第６３８頁〜第６５６頁］
【非特許文献４】「デザイン  オブ  キャパシティー・アプローチング  イレギュラー  ロー・デンシティ  パリティ・チェック  コーズ（Ｄｅｓｉｇｎ  ｏｆ  Ｃａｐａｃｉｔｙ−Ａｐｐｒｏａｃｈｉｎｇ  Ｉｒｒｅｇｕｌａｒ  Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ  Ｃｏｄｅｓ）」［トーマス  リチャードソン（Ｔｈｏｍａｓ  Ｒｉｃｈａｒｄｓｏｎ），エム・エー  ショコロラヒ（Ｍ．Ａ．Ｓｈｏｋｒｏｌｌａｈｉ），アール・ウルバンケ（Ｒ．Ｕｒｂａｎｋｅ）著，アイトリプルイー  トランザクションズ  オン  インフォメーション  セオリー（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ），２００１年９月，第６１９頁〜第６３７頁］
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上述した従来の誤り訂正符号化装置では、従来の低密度パリティ検査符号に関する符号化装置が、上記の（１）式中の行列Ａを保持する記憶装置と、上記の（２）式の演算処理装置とによって実現されているため、リードソロモン符号等の巡回符号、あるいは畳み込みと比較して符号化装置の規模が非常に大きく、特に衛星通信、移動体通信等の装置規模、消費電力に対する条件が厳しい環境下では、この記憶装置及び排他的論理和演算装置のさらなる削減が必要である。【００１６】
また、ターボ符号は符号化装置を比較的簡単に実現することができるものの、符号化率が低く、高い符号化率が要求されるシステムには適用が困難である。以上の問題のために、特に高い符号化率が要求される通信システムにおいて、低密度パリティ検査符号を用いて高い符号化利得を得るためには、符号化処理に要する計算量が多く、装置構成が複雑となる。【００１７】
また、従来の誤り訂正符号化装置では、誤り率特性の評価が、実験的評価に頼らざるを得ない点である。誤り確率が低い領域、特にエラーフロアと呼ばれる領域における誤り率特性、あるいはエラーフロアが観測される誤り確率の予測は、通信システムの信頼性評価において重要な項目である。計算機シミュレーションによる実験的方法は有効ではあるが、誤り確率が１０-12 程度の領域の特性を実験的に行うことは、現状の計算機の能力では時間的に困難である。【００１８】
そこで、本発明の目的は上記の問題点を解消し、装置構成を簡単にすることができ、繰り返し復号によって最適に近い精度で復号を実行することができるとともに、エラーフロア領域の特性評価が計算機実験によらなくても簡単な計算式によって行うことができる誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法を提供することにある。
【課題を解決するための手段】
【００１９】
本発明による誤り訂正符号化装置は、低密度パリティ検査符号を用いる誤り訂正符号化装置であって、
ｍ−１個（ｍは２以上の整数を表す）の長さｎ（ｎは２以上の整数を表す）のビット列からなるブロックと長さ（ｎ−ｒ）（ｒは１からｎの間の整数を表す）のビット列からなる一つのブロックとに分割した情報ビット列のうちの前記長さｎのブロックをそれぞれ入力し、多項式乗算を行って長さｎのビット系列をそれぞれ出力するｍ−１個の多項式乗算装置と、
前記ｍ−１個の多項式乗算装置の各出力を加算する加算装置と、
前記長さ（ｎ−ｒ）のブロックと前記加算装置の出力結果とに対して多項式除算を行って長さｒの冗長ビット系列を出力する多項式除算装置とを備えている。【００２０】
本発明による誤り訂正符号化方法は、低密度パリティ検査符号を用いる誤り訂正符号化方法であって、
ｍ−１個（ｍは２以上の整数を表す）の多項式乗算装置において、ｍ−１個の長さｎ（ｎは２以上の整数を表す）のビット列からなるブロックと長さ（ｎ−ｒ）（ｒは１からｎの間の整数を表す）のビット列からなる一つのブロックとに分割した情報ビット列のうちの前記長さｎのブロックをそれぞれ入力し、多項式乗算を行って長さｎのビット系列をそれぞれ出力し、
前記ｍ−１個の多項式乗算装置の各出力を加算装置で加算し、
多項式除算装置において、前記長さ（ｎ−ｒ）のブロックと前記加算装置の出力結果とに対して多項式除算を行って長さｒの冗長ビット系列を出力している。【００２１】
すなわち、本発明の誤り訂正符号化装置は、上記の目的を達成するため、誤り訂正符号化のためブロック化された長さＫの情報ビット列（Ｋは整数を表す）をさらにｍ−１個の長さｎのブロックと長さ（ｎ−ｒ）の一つのブロックとに分割し（ｍ、ｎは２以上の整数を表し、ｒは１からｎの間の整数を表す）、分割された各情報ビット列の内、ｍ−１個の長さｎの各ブロックを入力として多項式乗算を行い、各々長さｎの系列を出力するｍ−１個の多項式乗算装置と、このｍ−１個の多項式乗算装置の各出力を加算する加算装置と、長さ（ｎ−ｒ）のブロックと加算装置の出力結果とを入力として多項式除算を行い、長さｒの冗長ビット系列を出力する多項式除算装置とを有することを特徴とする。【００２２】
これによって、本発明の誤り訂正符号化装置では、多項式乗算装置と多項式除算装置とからなるため、簡単な装置構成で実現することが可能となり、符号化処理に要する計算量と装置規模の削減とが可能になる。また、本発明の誤り訂正符号化装置では、多項式乗算装置内の結線と多項式除算装置内の結線との選択によって、最小重み符号語数の少ない誤り訂正符号化装置が構成可能となる。【００２３】
したがって、本発明の誤り訂正符号化装置では、装置規模が小さく、装置構成が簡単であり、なおかつ繰り返し復号方式によって高い符号化利得を得ることが可能となり、通信システムにおける信頼性の向上、所要電力の低下に貢献することが可能となる。【００２４】
さらに、本発明の誤り訂正符号化装置では、多項式乗算装置内の結線と多項式除算装置内の結線との選択によって、最小距離、最小重み符号語数の精度のよい概算が可能であるため、本発明を適用した典型的な通信システムにおける誤り率特性、特にエラーフロア領域における誤り確率の良い近似値を計算によって簡単に算出することが可能となり、計算機シミュレーションによる実験的評価が計算量的、時間的に困難な場合においても通信システムの信頼性を定量的に評価することが可能となる。
【発明の効果】
【００２５】
本発明は、以下に述べるような構成及び動作とすることで、装置構成を簡単にすることができ、繰り返し復号によって最適に近い精度で復号を実行することができるとともに、エラーフロア領域の特性評価が計算機実験によらなくても簡単な計算式によって行うことができるという効果が得られる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施例による誤り訂正符号化装置の構成を示すブロック図である。
【図２】図１のｎ−１次多項式乗算装置の構成を示すブロック図である。
【図３】図１のｒ次多項式除算装置の構成を示すブロック図である。
【図４】図１の多項式乗算ブロックの詳細な構成を示すブロック図である。
【図５】本発明の一実施例によるｍ個の零でない多項式の算出方法の一例を示すフローチャートである。
【図６】本発明の他の実施例による多項式算出方法の一例を示すフローチャートである。
【図７】従来の誤り訂正符号化装置の一例を示すブロック図である。
【符号の説明】
【００２７】
１  多項式乗算ブロック
２  ｒ次多項式除算装置
３，４，２４，３４，１２４  スイッチ
１１，４０  シリアルパラレル変換部
１２，１２−１〜１２−（ｍ−１）  ｎ−１次多項式乗算装置
１３  加算装置
２１−１〜２１−ｒ，３１−１〜３１−ｎ，１２１−１〜１２１−ｎ  レジスタ
２２−１〜２２−ｒ，３２−１〜３２−ｎ，１２２−１〜１２２−ｎ  排他的論理和演算装置
２３−１〜２３−（ｒ−１），３３，１２３−１〜１２３−ｎ  結線，非結線を示すスイッチ
【発明を実施するための最良の形態】
【００２８】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例による誤り訂正符号化装置の構成を示すブロック図である。図１において、本発明の一実施例による誤り訂正符号化装置は、一つのシリアルパラレル（Ｓ→Ｐ）変換部１１とｍ−１個のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）と、加算装置１３とからなる多項式乗算ブロック１と、一つのｒ次多項式除算装置２と、スイッチ３，４とから構成され、（ｎｍ−ｒ）ビットの情報ビット列をｎｍビットの符号ビット列に変換する装置である（ｍ、ｎは２以上の整数を表し、ｒは１からｎの間の整数を表す）。【００２９】
多項式乗算ブロック１は、後述するように、図４に示す形態で実現するが、説明を簡単にするため、ｍ−１個のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）からなる多項式乗算ブロック１として説明する。【００３０】
本発明の符号化方式は、符号ビット列の先頭から（ｎｍ−ｒ）ビットが情報ビット列に一致し、残りのｒビットが誤り訂正のための冗長ビット列となる組織符号化装置を表している。【００３１】
ｍ−１個のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）は誤り訂正符号化のためブロック化された長さＫの情報ビット列（Ｋは整数を表す）をさらにｍ−１個の長さｎのブロックと長さ（ｎ−ｒ）の一つのブロックとに分割し（ｍ、ｎは２以上の整数を表し、ｒは１からｎの間の整数を表す）、分割された各情報ビット列の内、ｍ−１個の長さｎの各ブロックを入力としてｎ−１次多項式乗算を行い、各々長さｎの系列を出力する。【００３２】
加算装置１３はｍ−１個のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）の各出力を加算する。ｒ次多項式除算装置２は長さ（ｎ−ｒ）のブロックと加算装置１３の出力結果とを入力としてｒ次多項式除算を行い、長さｒの冗長ビット系列を出力する。【００３３】
図２は図１のｎ−１次多項式乗算装置の構成を示すブロック図である。図２において、ｎ−１次多項式乗算装置１２はｎ個のレジスタ１２１−１〜１２１−ｎと、最大ｎ個の排他的論理和演算装置１２２−１〜１２２−ｎとからなる。図１のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）はこのｎ−１次多項式乗算装置１２と同様の構成となっている。【００３４】
ｎ−１次多項式乗算装置１２はｎビット入力、ｎビット出力であり、ｎビットの入力ビット列を逐次入力し、すべてが入力し終わった時点でスイッチ１２４を切替え、ｎ個のレジスタ１２１−１〜１２１−ｎの中身を順次出力する。【００３５】
図２において、１２３−１〜１２３−ｎは、予め定められたｎビットのビット列ｈ1 ，ｈ2 ，…，ｈn によって結線、非結線を定めるスイッチである。ｈj が１であった時にはｈj と記された部分を結線し、ｈj が０であった時にはｈj と記された部分を結線しない（ｊは１からｍの間の整数）。このｎビットのビット列ｈ1 ，ｈ2 ，…，ｈn の選択方法については後述する。【００３６】
図３は図１のｒ次多項式除算装置の構成を示すブロック図である。図３において、ｒ次多項式除算装置２はｒ個のレジスタ２１−１〜２１−ｒと、最大ｒ個の排他的論理和演算装置２２−１〜２２−ｒと、スイッチ２４とから構成されている。【００３７】
ｒ次多項式除算装置２は（ｎ−ｒ）ビットの情報ビットと、（ｍ−１）個のｎ−１次多項式乗算装置１２１−１〜１２１−ｎの各出力ビットとの排他的論理和ｎビットを入力し、ｒビットを出力する。（ｎ−ｒ）ビットの情報ビットを入力し終えた段階で、ｒ次多項式除算装置２はスイッチ２４を切替え、ｎ−１次多項式乗算装置１２１−１〜１２１−ｎの出力の残りｒビットと図３中のｒ個のレジスタ２１−１〜２１−ｒの中身との排他的論理和を順次出力する（この際、情報ビット列の入力は０にセットしておく）。【００３８】
ｒ次多項式除算装置２の出力ｒビットが、（ｎｍ−ｒ）ビットの情報ビット列に対するｒビットの冗長ビット列となる。図３において、２３−１〜２３−（ｒ−１）は予め定められたｒ−１ビットのビット列ｕ1 ，ｕ2 ，…，ｕr-1 によって結線、非結線を定めるスイッチである。ｕj が１であった時にはｕj と記された部分を結線し、ｕj が０であった時にはｕj と記された部分を結線しない（ｊは１からｒ−１の間の整数）。このｒ−１ビットのビット列ｕ1 ，ｕ2 ，…，ｕr-1 の選択方法については後述する。【００３９】
図４は図１の多項式乗算ブロック１の詳細な構成を示すブロック図である。図４においては、レジスタ部分を共有させたものである。図４の３３は予め定められたｎ（ｍ−１）ビットのビット列によって結線、非結線を定めるスイッチである。このｎ（ｍ−１）ビットのビット列の選択方法を図２のｎ−１次多項式乗算装置１２の結線における選択方法と同一にすることで、図４に示す入出力の関係は、図２のｎ−１次多項式乗算装置１２をｍ−１個用いて実現した多項式乗算ブロック１の入出力の関係と一致する。【００４０】
図１に示す本発明の一実施例による誤り訂正符号化装置に対応する検査行列を、
【数３】
0004821613.tif 000004
・・・（３）
という式に示す。【００４１】
上記の（３）式の検査行列はｍ個のｎ×ｎ巡回行列の一次元配列からなり、（３）式中のＨi はｎ×ｎ巡回行列を示している（ｉは１からｍの間の整数）。巡回行列は、
【数４】
0004821613.tif 000005
・・・（４）
という式に記したように、第２行目の行ベクトルが第１行目の行ベクトルを１ビット左に巡回したものとなっており、以下、第ｋ行目の列ベクトルは（ｋは２からｎの間の整数）、第１行目の行ベクトルをｋ−１ビット左に巡回したものとなっている。【００４２】
上記の（４）式のｎ×ｎ巡回行列の第１行ベクトルを、
【数５】
0004821613.tif 000006
・・・（５）
という式のように（ｎ−１）次以下の多項式として表示したものをｆ(i) （ｘ）と記す（ｉは１からｍの間の整数）。【００４３】
上述したｎ−１次多項式乗算装置１２，１２−１〜１２−（ｍ−１）と、ｒ次多項式除算装置２との結線を定めるｎビット列の選択は、上記のｍ個の（ｎ−１）次以下の多項式ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(m) （ｘ）の選択によって決定される。そのため、まず上記のｍ個の（ｎ−１）次以下の多項式ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(m) の選択方法について説明する。【００４４】
（ｎ−１）次以下の多項式ｆ（ｘ）に関して、集合ｓ（ｆ（ｘ））を、
【数６】
0004821613.tif 000007
・・・（６）
という式のように定める。ここで、ｆ（ｘ）の次数ｉの項の係数をｆi+1 と記す。集合ｓ（ｆ（ｘ））は多項式ｆ（ｘ）によって定まる、０からｎ−１の間のｎ個の整数の部分集合である。【００４５】
また、１からｎ−１の整数ｖに対して、直積集合ｓ（ｆ（ｘ））×ｓ（ｆ（ｘ））の部分集合λｖ（ｆ（ｘ））を、
【数７】
0004821613.tif 000008
・・・（７）
という式のように定める。【００４６】
ｍ個の（ｎ−１）次以下の多項式ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(m) （ｘ）の選択の条件の一つは、ｍ個の多項式が、１からｎ−１の間のすべての整数ｖに対して、
【数８】
0004821613.tif 000009
・・・（８）
という式を満たすこととする。【００４７】
ここで、集合Ａの要素数を｜Ａ｜と記すことにする。上記のｍ個の（ｎ−１）次以下の多項式ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(m) （ｘ）の選択の第２の条件は、ｍ−１個の多項式ｆ(2) （ｘ），…，ｆ(m) （ｘ）の各々が、多項式（ｘn −１）を法として多項式ｆ(1) （ｘ）で割り切れることとする。また、
【数９】
0004821613.tif 000010
・・・（９）
という式に示すように、これらのｍ−１個の商多項式をｇ(2) （ｘ），ｇ(3) （ｘ），…，ｇ(m) （ｘ）と表す。【００４８】
上述したｍ個の（ｎ−１）次以下の多項式ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(m) （ｘ）の選択に関する第１の条件［（８）式］は、サム・プロダクトアルゴリズムに代表される、低密度パリティ検査符号の繰り返し復号処理によって最適に近い復号処理を実行するために必要な条件である。実際、条件［（８）式］によって、上記の（３）式の検査行列中の各行ベクトルに含まれる１の数は最大でも（ｎｍ）1/2 となり、検査行列は疎な行列となる。【００４９】
第２の条件［（９）式］は、図１に示す誤り訂正符号化装置によって、正しく冗長ビット列が算出されるために必要な条件である。上記の二つの条件［（８）式及び（９）式］を満足する多項式の例については後述する。【００５０】
次に、図２に示すｎ−１次多項式乗算装置１２における結線について説明する。上述したように、図２のｎ−１次多項式乗算装置１２中のスイッチ１２３−１〜１２３−ｎは、予め定められたｎビットのビット列ｈ1 ，ｈ2 ，…，ｈn によって結線、非結線を定める。ｈj が１であった時にはｈj と記された部分を結線し、ｈj が０であった時にはｈj と記された部分を結線しない（ｊは１からｍの間の整数）。【００５１】
このｎビットのビット列ｈ1 ，ｈ2 ，…，ｈn の選択は次のように行う。上述したように、図１に示す誤り訂正符号化装置は、ｍ−１個のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）を持ち、第ｉ番目のｎ−１次多項式乗算装置１２−ｉにおいて結線を定めるｎビット列を、
【数１０】
0004821613.tif 000011
・・・（１０）
と記す（ｉは１からｍ−１の間の整数）。このｎビット列は、上記の（９）式に示すｍ−１個の多項式ｇ(2) （ｘ），ｇ(3) （ｘ），…，ｇ(m) （ｘ）によって、
【数１１】
0004821613.tif 000012
・・・（１１）
という式によって定める。【００５２】
ここで、
【数１２】
0004821613.tif 000013
・・・（１２）
とする（ｋは２からｍの間の整数）。また、図４において結線を定めるｎ（ｍ−１）ビットのビット列、
【数１３】
0004821613.tif 000014
・・・（１３）
も、上記と同様に、（１０）式によって定める。【００５３】
次に、図３に示すｒ次多項式除算装置２における結線について説明する。図３のスイッチ２３−１〜２３−（ｒ−１）は予め定められたｒ−１ビットのビット列ｕ1 ，ｕ2 ，…，ｕr-1 によって結線、非結線を定める。ｕj が１であった時にはｕj と記された部分を結線し、ｕj が０であった時にはｕj と記された部分を結線しない（ｊは１からｒ−１の間の整数）。上記のｒ−１ビットのビット列ｕ1 ，ｕ2 ，…，ｕr-1 は上記の多項式ｆ(1) （ｘ）を用いて、
【数１４】
0004821613.tif 000015
・・・（１４）
という式によって定める。【００５４】
ここで、ｇｃｄ（ｆ(1) （ｘ），ｘn −１）はｆ(1) （ｘ）とｘn −１との最大公約多項式を意味し、この最大公約多項式の次数はｎ−ｒとなる。ｒは、上述したように、本発明の符号化装置における冗長ビット数となる。すなわち、本発明の誤り訂正符号化装置における情報ビット数は、ｎ（ｍ−１）にｆ(1) （ｘ）とｘn −１との最大公約多項式の次数を加えたビット数となる。【００５５】
次に、図１に示す本実施例の動作について説明する。誤り訂正符号化のためブロック化された長さＫ＝（ｎｍ−ｒ）ビットの情報ビット列（ｍ、ｎは２以上の整数を表し、ｒは１からｎの間の整数を表す）が、図１に示す誤り訂正符号化装置に順次入力される。情報ビット系列は第１番目のビットから第ｎ（ｍ−１）番目のビットからなる第１のブロックと、第ｎ（ｍ−１）＋１番目のビットから第（ｎｍ−ｒ）番目のビットからなる第２のブロックとに分割される。【００５６】
上記の第１のブロックはｍ−１個のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）からなる多項式乗算ブロック１へと逐次入力され、上記の第２のブロックはスイッチ３を切替えた後、ｒ次多項式除算装置２へと逐次入力される。情報ビット列において、多項式乗算ブロック１へ入力される長さｎ（ｍ−１）の第１のブロックはシリアルパラレル変換装置１１によってｍ−１ビットに変換され、変換されたｍ−１ビットの各ビットはｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）へと逐次入力される。【００５７】
ｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）は全部でｍ−１個あり、上記のシリアルパラレル変換されたｍ−１ビット中の第ｉ番目のビットは（ｉは１からｍ−１の間の整数）、第ｉ番目のｎ−１次多項式乗算装置１２−ｉへと入力される。すなわち、上記の第１のブロックは上記のシリアルパラレル変換装置１１を通して長さｎのｍ−１個のブロックに細分され、長さｎのｍ−１個のブロックの各々がｍ−１個のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）各々へ入力される。【００５８】
上記のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）各々は、上記の細分されたｎビットを入力し、出力ビット数はｎビットである。ｍ−１個のｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）の各出力のビット毎の排他的論理和が多項式乗算ブロック１のｎビットの出力となる。【００５９】
次に、図２に示すｎ−１多項式乗算装置１２の動作について説明する。レジスタ１２１−１〜１２１−ｎの中身をすべて零に初期化しておき、ｎビットのビット列を１ビットずつ逐次入力する。この間、フィードバックがかかるようにスイッチ１２４を上側へセットしておく。ｎビットのすべてが入力し終わった時点でスイッチ１２４を切替え、レジスタ１２１−１〜１２１−ｎの中身を順次出力する。【００６０】
図１に示す誤り訂正符号化装置は、図２に示すｎ−１多項式乗算装置１２をｍ−１個使用し、ｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）各々の出力の排他的論理和が多項式乗算ブロック１の出力となることから、ｎ−１次多項式乗算装置１２−１〜１２−（ｍ−１）各々のレジスタ（１２１−１〜１２１−ｎ）は他の多項式乗算装置と互いに共有することができる。【００６１】
これによって、図４に示す形態で多項式乗算ブロック１を実現することができる。図４に示す形態での動作については、レジスタ３１−１〜３１−ｎを共有している点を除いて同じであり、この図４の装置構成によって所望の出力結果を得ることができる。【００６２】
次に、図３に示すｒ次多項式除算装置２について説明する。レジスタ２１−１〜２１−ｒの中身をすべて零に初期化しておき、上記の情報ビット列の後半ｎ−ｒビットと上記の多項式乗算ブロック１の出力ｎビットとを同時に１ビットずつ逐次入力する。この間、フィードバックがかかるように、図３のスイッチ２４を左側へセットしておく。ｎ−ｒビットの情報ビット列を入力し終えた段階でスイッチ２４を切替え、多項式乗算ブロック１の出力の残りｒビットと各レジスタ（２１−１〜２１−ｒ）の中身との排他的論理和を順次出力する（その際、情報ビット列の入力は０にセットしておく）。【００６３】
図３に示すｒ次多項式除算装置２の出力ｒビットが上記の（ｎｍ−ｒ）ビットの情報ビット列に対する冗長ビット列となる。尚、冗長ビット数ｒがｎに一致する場合には、ｒ次多項式除算装置２へ入力される情報ビット数が零であり、この場合、ｒ次多項式除算装置２は単に多項式乗算ブロック１の出力ｎビットをそのまま出力する。【００６４】
次に、図１に示す誤り訂正符号化装置の出力スイッチ４について説明する。（ｎｍ−ｒ）ビットの情報ビット列は、多項式乗算ブロック１、またｒ次多項式除算装置２への入力と同時に、誤り訂正符号化装置の出力ビット列となる。ここで、必要ならば、多項式乗算ブロック１への入力となる第１番目から第ｎ（ｍ−１）番目の情報ビット分を（３）式に示した検査行列が示すビット順序に一致するように並べ替えて出力する。【００６５】
（ｎｍ−ｒ）ビットの情報ビット列の出力が終わった段階で、スイッチ４をｒ次多項式除算装置２の出力側へ切替え、ｒ次多項式除算装置２の出力ｒビットを誤り訂正符号化装置の出力として出力する。このように、本実施例は、符号ビット列の先頭から（ｎｍ−ｒ）ビットが情報ビット列に一致し、残りのｒビットが誤り訂正のための冗長ビット列となる組織符号化装置を表している。【００６６】
これによって、本実施例では、最大２ｎ個のレジスタと、２ｎ個の排他的論理和演算装置とによって、符号化率が（ｎー１）／ｎ以上の低密度パリティ検査符号の誤り訂正符号化装置を構成することができる。【００６７】
また、本実施例では、後述するように、この構成によって符号化利得が大きく、さらにエラーフロア領域における誤り率特性が簡単な評価式によって算出することができる誤り訂正符号化装置を構成することができる。【００６８】
次に、上述した条件［（８）式及び（９）式］を満たす多項式の具体的な算出方法の一例について説明する。さらに、この一例を用いて、符号化利得が大きくなることを示し、さらにまたエラーフロア領域における誤り率特性が簡単な評価式によって算出できることについて説明する。【００６９】
有限体ＧＦ（２2S）の原始元をαとし（Ｓは正の整数とする）、ＲをＳの１、あるいはＳではない約数とする。また、（２S ＋１）（２R −１）をｎとし、（２S −２S-R ）／（２R −１）をｍと記す。（ｎ−１）次以下の多項式ψ(k) （ｘ）を、
【数１５】
0004821613.tif 000016
・・・（１５）
という式のように定める（ｋは０から（２S −１）／（２R −１）−１の間の整数とする）。【００７０】
ここで、Ｌ（Ｋ）は０からｎ―１の間の整数の部分集合で、
【数１６】
0004821613.tif 000017
・・・（１６）
という式によって定める。尚、（１６）式中のＴｒ2S|Sは有限体ＧＦ（２2S）からＧＦ（２S ）へのトレースを表すものとする。０から（２S −１）／（２R −１）−１の間の整数ｋの中で、多項式ψ(k) （ｘ）が零でないものは全部でｍ個ある。【００７１】
図５は上記のｍ個の零でない多項式の算出方法の一例を示すフローチャートである。０から（２S −１）／（２R −１）−１の間の整数ｋに対して、多項式ψ(k) （ｘ）が零であるか否かは有限体ＧＦ（２S ）の元であるαのｋ（２S ＋１）乗のＧＦ（２R ）へのトレースが零であるか否かによって、つまり、
【数１７】
0004821613.tif 000018
・・・（１７）
という式から判定することができる。【００７２】
上記の（１６）式の集合Ｌ（ｋ）は、（２S −１）／（２R −１）にｍを乗じた値が２2S−１となることから、有限体ＧＦ（２2S）の部分集合で、ｍ乗した値が互いに一致し、有限体ＧＦ（２S ）へのトレースが１となる元からなる集合に対応する。また、上記のトレースの値は零以外の他の値であっても、各ｋ（０から（２S −１）／（２R −１）−１の間の整数）で同じ値であればよいため、上記の多項式ψ(k) （ｘ）は、有限体ＧＦ（２2S）の部分集合で、ｍ乗した値が互いに一致し、有限体ＧＦ（２S ）へのトレースが零以外の予め定められた値に一致となる元からなる集合によって規定されることになる（図５ステップＳ１〜Ｓ７）。【００７３】
図５の出力であるｍ個の多項式を適当に順序付けた後、ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(m) （ｘ）と記すことにすると、これらｍ個の多項式ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(m) （ｘ）は上述した条件［（８）式及び（９）式］を満たす。ここで、特に、多項式ｆ(1) （ｘ）は、零でない多項式ψ(k) （ｘ）の中で、ｘn −１との最大公約多項式の次数が最も小さい極小多項式となるように順序つける。【００７４】
このように、選択された多項式によって構成される本実施例による誤り訂正符号化装置における符号ビット列の長さＮは、
Ｎ＝ｎｍ＝（２S ＋１）（２S −２S-R ）
であり、情報ビット列の長さＫは少なくとも、
ｎ（ｍ−１）＝（２S ＋１）（２S −２S-R −２R ＋１）
以上となる。正確には、上記のように、ｎ（ｍ−１）にｆ(1) （ｘ）とｘn −１との最大公約多項式の次数を加えたビット数となる。【００７５】
また、最小距離ｄはｄ＝２R ＋１となり、重みｄの符号ビット列の数Ａd は少なくとも（２S ＋１）（２S −２S-R ）以上となる。実際には、重みｄの符号ビット列の数Ａd は（２S ＋１）（２S −２S-R ）に非常に近く、良い近似であるのに加え、この重みｄの符号ビット列の数は非常に少なく、次に説明するように誤り率特性に良い効果をもたらす。【００７６】
この最小距離ｄと重みｄの符号ビット列の数との概算によって、変調方式を２元位相偏移変調（２ＰＳＫ：２  Ｐｈａｓｅ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）、通信路を加法的ガウス通信路とした場合のビット誤り確率Ｐｂの近似値を、
【数１８】
0004821613.tif 000019
・・・（１８）
という式によって算出することができる。【００７７】
ここで、ｄは最小距離（ｄ＝２R ＋１）、Ａd は重みｄの符号ビット列の数、Ｎは符号ビット列の長さを表し、γは符号化率を表す（γ＝Ｋ／Ｎ）。また、Ｅｂ／Ｎｏは加法的ガウス通信路における１ビット当りの信号対雑音比（ＳＮＲ：Ｓｉｇｎａｌ  Ｎｏｉｓｅ  Ｒａｔｉｏ）を表し、ＱはガウスのＱ関数を表し、
【数１９】
0004821613.tif 000020
・・・（１９）
という式で表される。【００７８】
上記の（１８）式のＮ，ｄに各々２R ＋１，（２S ＋１）（２S −２S-R ）を代入し、Ａd に（２S ＋１）（２S −２S-R ）を代入することで、ビット誤り確率Ｐb の近似値を計算によって算出することができる。これは、エラーフロア領域において非常に精度のよい近似であり、計算機シミュレーションによる実験的評価が計算量的、時間的に困難な場合において、エラーフロアの特性を評価するのに有効である。【００７９】
上記の（１８）式によって、誤り確率を改善し、より多くの符号化利得を得るためには、最小距離ｄを大きくすることが効果的である。上記の（１５）式に示す多項式ψ(k) （ｘ），ｋ＝０，１，…，（２S −１）／（２R −１）−１の中に零でないものはｍ個あるが、上記のように、ｍ個の多項式すべてを使うのではなく、その一部のみを使うことによって、最小距離を２R ＋１程度に大きくすることが可能である。この方法について説明する。【００８０】
零でないｍ個の多項式ψ(k) （ｘ）（ｋは０から（２S −１）／（２R −１）−１の間の整数）の中からｍ’個の多項式を選択し、適当に順序つけて、ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ（m'）（ｘ）と記すことにする。この時、二つの多項式ψ(k) （ｘ）と多項式ψ(r(k))（ｘ）とを同時に選択しないようにする。ここで、ｒ（ｋ）は２×ｋを（２S −１）／（２R −１）で割った余りを表すものとする。【００８１】
これらｍ’個の多項式ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ（m'）（ｘ）は、上述した条件［（８）式及び（９）式］を満たし、このように選択された多項式によって構成される本発明の符号化装置における符号ビット列の長さＮはＮ＝ｎｍ’となる。最小距離は２R+1 以下であり、重み２R+1 の符号ビット列の数は少なくともｍ’と２との二項係数にｎをかけた数以上となる。この重み２R+1 の符号ビット列の下界を（１８）式に代入して得られる数値は、誤り確率が比較的低い場合（通信路のＳＮ比が比較的大きい場合）、誤り率特性の非常によい近似を与える。この方法によって、符号化率はｍ個の多項式全てを使用する場合と比較して小さくなるが、それと引き換えに誤り特性を良くすることができる。【００８２】
さらに、具体的な数値例について説明する。上述した実施例において、Ｓを６とし、Ｒを３と設定する。この場合、ｎ＝４５５，ｍ＝８となる。また、（１５）式の多項式ψ(k) （ｘ）（ｋは０から８の間の整数）は、
【数２０】
0004821613.tif 000021
・・・（２０）
という式のように計算される。尚、ψ(0) （ｘ）＝０であり、ｇ（ｘ）はψ(3) （ｘ）をψ(1) （ｘ）で、（ｘ455 −１）を法として割り算した際の商多項式を表す。【００８３】
８個の多項式ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(8) （ｘ）をｆ(k) （ｘ）＝ψ(k) （ｘ），ｋ＝１，２，…，８とすると、これらの８個の多項式は上述した条件［（８）式及び（９）式］を満たす。この時、符号ビット列の長さＮは３６４０ビット、情報ビット列の長さＫは３２８８ビット、符号化率γは約０．９、最小距離は９、重み９の符号ビット列の数Ａ9 は３６４０以上となる。【００８４】
これらを（１８）式に代入し、誤り確率を算出すると、復号後のビット誤り確率が１０-12 を達成するのに必要な１ビット当たりの信号対雑音比は約５デシベルであることがわかり、これは繰り返し復号方式を適用することで実現することができる。【００８５】
繰り返し復号を用いて、これ以下のビット誤り率を達成するための信号対雑音比についても簡単に計算することができる。また、この符号を同じ符号化率のリードソロモン符号で符号化し、典型的な限界距離復号方式で復号した場合と比較すると、復号後のビット誤り確率が１０-6の場合、２．０デシベル（ｄＢ）以上の符号化利得がある。【００８６】
上記の８個の多項式ψ(1) （ｘ），ψ(2) （ｘ），…，ψ(8) （ｘ）のうちの４つを使い、ｆ(1) （ｘ）＝ψ(1) （ｘ），ｆ(2) （ｘ）＝ψ(4) （ｘ），ｆ(3) （ｘ）＝ψ(7) （ｘ），ｆ(4) （ｘ）＝ψ(3) （ｘ）とした場合にも、これら４つの多項式は上述した条件［（８）式及び（９）式］を満たす。この時、符号ビット列の長さＮは１８２０ビット、情報ビット列の長さＫは１４６８ビット、符号化率γは約０．８、最小距離は１６以下、重み１６の符号ビット列の数Ａ16は２７３０以上となる。【００８７】
これらを（１８）式に代入し、誤り確率を算出すると、復号後のビット誤り確率が１０-12 を達成するのに必要な１ビット当たりの信号対雑音比は約４．４デシベルであることがわかり、これは繰り返し復号方式を適用することで実現することができる。繰り返し復号を用いて、これ以下のビット誤り率を達成するための信号対雑音比についても簡単に計算することができる。また、この符号においても同じ符号化率のリードソロモン符号で符号化し、典型的な限界距離復号方式で復号した場合と比較すると、復号後のビット誤り確率が１０-6の場合、２．０デシベル（ｄＢ）以上の符号化利得がある。【００８８】
図６は本発明の他の実施例による多項式算出方法の一例を示すフローチャートである。図６において、ｋを非負整数、Ｔをｎ−１（ｎは２以上の整数）次以下の多項式の集合とする。また、ｐは２，４等の２のべき乗数を表すものとする。初期状態としてｋを零、Ｔを空集合とし、ｎ−１次以下の多項式ｆ（ｘ）をランダムに選択する。【００８９】
この多項式が上記の条件［（８）式］を満たす時［（８）式中のｍを１，ｆ(1) （ｘ）をｆ（ｘ）とする］、ｆ（ｘ）を前記の集合Ｔの要素に加え、ｋの値を１つ増加する。以下、図６の第ｋ回目の繰り返し処理においては（ｋは２以上の整数）、多項式の集合Ｔと上記の多項式ｆ（ｘ）とから計算される多項式、
【数２１】
0004821613.tif 000022
・・・（２１）
が上記の条件［（８）式］を満たす時［（８）式中のｍをｋとする］、ｆ(k) （ｘ）を上記の集合Ｔの要素に加え、ｋの値を１つ増加する。多項式の集合Ｔに含まれる多項式の数が、予め設定した数ｍ（ｍは２以上の整数）となった時点でＴを出力し、処理を終了する（図６ステップＳ１１〜Ｓ１７）。【００９０】
図６において、初めにランダムに選択した多項式ｆ（ｘ）によって、上記のように、
【数２２】
0004821613.tif 000023
・・・（２２）
とすると、図６の出力ＴはＴ＝｛ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(m) （ｘ）｝となり、上述した条件［（８）式及び（９）式］を満たす。また、上記の初めに選択した多項式ｆ（ｘ）の零でない項の数をｗとすると、Ｔに含まれる多項式の各々はすべてｗ個の零でない項を持つ。【００９１】
図６の出力であるｍ個の多項式ｆ(1) （ｘ），ｆ(2) （ｘ），…，ｆ(m) （ｘ）から構成される本実施例による誤り訂正符号化装置における符号ビット列の長さＮはＮ＝ｎｍであり、情報ビット列の長さＫは少なくともｎ（ｍ−１）以上となる。正確には、上記のように、ｎ（ｍ−１）にｆ(1) （ｘ）とｘn −１との最大公約多項式の次数を加えたビット数となる。【００９２】
ｐが２の場合には、最小距離ｄはｄ＝ｗ＋１となり、重みｄの符号ビット列の数Ａd は少なくともｎ（ｍ−１）以上となる。多くの場合、この最小重みを持つ符号ビット列の数の下界を（１８）式に代入して得られる数値は、誤り確率が比較的低い場合（通信路のＳＮ比が比較的大きい場合）、誤り率特性の非常によい近似を与える。【００９３】
また、ｐが２以外の場合には、重み２ｗの符号ビット列の数は少なくともｍと２との二項係数にｎをかけた数以上となり、多くの場合、この重み２ｗの符号ビット列の数の下界を（１８）式に代入して得られる数値は、誤り確率が比較的低い場合（通信路のＳＮ比が比較的大きい場合）、誤り率特性の非常によい近似を与える。【００９４】
次に、具体的な数値例について説明する。本実施例において、ｎ＝２５５，ｍ＝４，ｐ＝４とした時、
【数２３】
0004821613.tif 000024
・・・（２３）
という式に記したｆ5 （ｘ）によって、
【数２４】
0004821613.tif 000025
・・・（２４）
とすると、図６に記した処理の出力として、例えばＴ＝｛ｆ(1) （ｘ），ｆ(2) （ｘ），ｆ(3) （ｘ），ｆ(4) （ｘ）｝を得ることができる。【００９５】
この４つの多項式は上述した条件［（８）式及び（９）式］を満たす。この時、符号ビット列の長さＮは１０２０ビット、情報ビット数Ｋは７６９ビット、符号化率は約０．７５４、最小距離は１０以下、重み１０の符号ビット列の数Ａ10は１５３０以上となる。【００９６】
これらを（１８）式に代入し、誤り確率を算出すると、復号後のビット誤り確率が１０-12 を達成するのに必要な１ビット当たりの信号対雑音比は約５．６デシベルであることがわかり、これは繰り返し復号方式を適用することで実現できる。繰り返し復号を用いて、これ以下のビット誤り率を達成するための信号対雑音比についても簡単に計算することができる。【００９７】
次に、（２３）式に記したｆ7 （ｘ）によって、
【数２５】
0004821613.tif 000026
・・・（２５）
とすると、図６に記した処理の出力として、前記したｆ5 （ｘ）の場合と同様に、Ｔ＝｛ｆ(1) （ｘ），ｆ(2) （ｘ），ｆ(3) （ｘ），ｆ(4) （ｘ）｝を得ることができる。この４つの多項式は上述した条件［（８）式及び（９）式］を満たす。この時、符号ビット列の長さＮ、情報ビット数Ｋ、符号化率は、上記のｆ5 （ｘ）の場合と全く同様に、各々１０２０、７６９、０．７５４であるが、最小距離は、ｆ5 （ｘ）の場合と異なり、１４以下となる。また、重み１４の符号ビット列の数Ａ14は１５３０以上となる。【００９８】
これらを（１８）式に代入し、誤り確率を算出すると、復号後のビット誤り確率が１０-12 を達成するのに必要な１ビット当たりの信号対雑音比は約５．０デシベルであることがわかり、これは繰り返し復号方式を適用することで実現することができる。繰り返し復号を用いて、これ以下のビット誤り率を達成するための信号対雑音比についても簡単に計算することができる。【００９９】
復号後のビット誤り確率が１０-12 の場合には、上記のｆ5 （ｘ）から構成されたものと比較して０．６デシベルの符号化利得の向上が望める一方で、復号後のビット誤り確率が１０-6の場合には、上記のｆ5 （ｘ）から構成されたものと比較して０．４デシベルの符号化利得の劣化が見られる。この場合には、通信システムの要求に沿った誤り訂正符号化装置を選択すればよく、本実施例による誤り訂正符号化装置は、多項式の選択によって、このように幅広い要求に答えることが可能である。
【産業上の利用可能性】
【０１００】
本発明は、衛星通信、あるいは移動体通信システム等における、所要電力の低減、アンテナの小型化等のシステム構成上の要件を満たすための誤り訂正技術として、あるいは磁気記録等の記憶装置に関する信頼性向上のための誤り訂正技術として適用することが可能である。
【図１】
0004821613.tif 000027
【図２】
0004821613.tif 000028
【図３】
0004821613.tif 000029
【図４】
0004821613.tif 000030
【図５】
0004821613.tif 000031
【図６】
0004821613.tif 000032
【図７】
0004821613.tif 000033