(57)【特許請求の範囲】
【請求項１】
所定の手順で符号化、送信された送信符号に対し、誤り訂正を行う誤り訂正方法であって、
前記所定の手順では、
入力データに基づいて生成された４ビットのデジタルデータの４ブロック毎の４行４列のデータ行列に基づいて、第１の（８，４）拡大ハミング符号を生成し、
前記データ行列の転置行列に基づいて生成した（８，４）拡大ハミング符号のシンドローム部の転置行列に基づいて、第２の（８，４）拡大ハミング符号を生成し、
生成した前記第１の（８，４）拡大ハミング符号と前記第２の（８，４）拡大ハミング符号を結合し８行８列の積符号を生成し、生成した前記積符号の行又は列の符号を順次読み出して前記送信符号とし、
前記誤り訂正方法は、
前記所定の手順で符号化、送信された前記送信符号を順次８行８列の行列テーブルに配置して積符号行列を生成し、
手順１として、前記積符号行列におけるデータ符号を含む４列の符号列について列毎に最初の誤り検定を行い、１ビット誤りを検出した列の符号列に１ビット誤りフラグを設定し、２ビット誤りを検出した列の符号列に２ビット誤りフラグを設定し、
手順２として、前記積符号行列に対応する８行の符号列について行毎に誤り検定を行い、２ビット誤りを検出した場合に検出した行の符号列に２ビット誤りフラグを設定し、１ビット誤りを検出し、検出した誤り符号が手順１の検定で誤りフラグが設定されている列の符号列に属する場合には当該誤りを訂正して当該行の符号列に誤り訂正フラグを設定し、検出した誤り符号が手順１で誤り検出フラグが設定されていない場合には当該誤りを訂正せずに当該行の符号列に３ビット誤りフラグを設定し、
手順３として、手順１の誤り検定の対象となった４列の符号列について手順２の誤り検定の結果を反映して列毎に２度目の誤り検定を行い、手順２と同様に、１ビット誤りを検出した場合は誤り箇所を訂正し誤り訂正フラグを設定するか、又は３ビット誤りフラグを設定し、２ビット誤りを検出した場合は２ビット誤りフラグを設定し、
手順４として、前記積符号行列について手順３の誤り検定の結果を反映し、２ビット誤りフラグか３ビット誤りフラグのいずれかが設定された行と列の符号列の交点を求め、当該交点が誤り訂正されていない場合にその交点箇所を訂正し、
手順５として、手順１の誤り検定の対象となった４列の符号列について手順４の訂正の結果を反映して列毎に３度目の誤り検定を行い、誤りが検出された場合、手順１〜手順４を繰返し、誤りが検出されなければ処理を終了することを特徴とする誤り訂正方法。
【請求項２】
請求項１に記載の誤り訂正方法において、手順４で、２ビット誤りフラグか３ビット誤りフラグのいずれかが設定された行と列の符号列の交点が無い場合、誤り訂正フラグが設定された符号列との交点を求めることを特徴とする誤り訂正方法。
【請求項３】
請求項１に記載の誤り訂正方法において、手順１及び手順２の誤り検定で誤りが検出されなかった場合、以後の手順を省略して処理を終了することを特徴とする誤り訂正方法。
【請求項４】
請求項１に記載の誤り訂正方法において、手順３で、１ビット誤りの訂正のみが検出され、且つ、その訂正ビットの総数が手順１で検出された誤りビットの総数より減少している場合又は手順１で検出された１ビット誤りの数と同数である場合、以後の手順を省略して処理を終了することを特徴とする誤り訂正方法。
【請求項５】
請求項１〜４のいずれか１に記載の誤り訂正方法により訂正された符号からデータを抽出して出力することを特徴とする復号方法。
【請求項６】
所定の手順で符号化、送信された送信符号を受信し、誤り訂正を行ってデータを出力する復号装置であって、
前記所定の手順では、
入力データに基づいて生成された４ビットのデジタルデータの４ブロック毎の４行４列のデータ行列に基づいて、第１の（８，４）拡大ハミング符号を生成し、
前記データ行列の転置行列に基づいて生成した（８，４）拡大ハミング符号のシンドローム部の転置行列に基づいて、第２の（８，４）拡大ハミング符号を生成し、
生成した前記第１の（８，４）拡大ハミング符号と前記第２の（８，４）拡大ハミング符号を結合し８行８列の積符号を生成し、生成した前記積符号の行又は列の符号を順次読み出して前記送信符号とし、
前記復号装置は、
前記所定の手順で符号化、送信された前記送信符号を受信して順次８行８列の行列テーブルに配置して積符号行列を生成する受信部と、所定の誤り訂正手順に従って前記行列テーブルの前記積符号行列について誤りを訂正する誤り訂正部と、前記誤り訂正部で誤り訂正されたデータを抽出して出力する出力部とを備え、
前記所定の誤り訂正手順では、
手順１として、前記積符号行列におけるデータ符号を含む４列の符号列について列毎に最初の誤り検定を行い、１ビット誤りを検出した列の符号列に１ビット誤りフラグを設定し、２ビット誤りを検出した列の符号列に２ビット誤りフラグを設定し、
手順２として、前記積符号行列に対応する８行の符号列について行毎に誤り検定を行い、２ビット誤りを検出した場合に検出した行の符号列に２ビット誤りフラグを設定し、１ビット誤りを検出し、検出した誤り符号が手順１の検定で誤りフラグが設定されている列の符号列に属する場合には当該誤りを訂正して当該行の符号列に誤り訂正フラグを設定し、検出した誤り符号が手順１で誤り検出フラグが設定されていない場合には当該誤りを訂正せずに当該行の符号列に３ビット誤りフラグを設定し、
手順３として、手順１の誤り検定の対象となった４列の符号列について手順２の誤り検定の結果を反映して列毎に２度目の誤り検定を行い、手順２と同様に、１ビット誤りを検出した場合は誤り箇所を訂正し誤り訂正フラグを設定するか、又は３ビット誤りフラグを設定し、２ビット誤りを検出した場合は２ビット誤りフラグを設定し、
手順４として、前記積符号行列について手順３の誤り検定の結果を反映し、２ビット誤りフラグか３ビット誤りフラグのいずれかが設定された行と列の符号列の交点を求め、当該交点が誤り訂正されていない場合にその交点箇所を訂正し、
手順５として、手順１の誤り検定の対象となった４列の符号列について手順４の訂正の結果を反映して列毎に３度目の誤り検定を行い、誤りが検出された場合、手順１〜手順４を繰返し、誤りが検出されなければ処理を終了することを特徴とする復号装置。
【請求項７】
コンピュータに請求項１〜５のいずれか１に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハミング符号と積符号を用いる誤り訂正が可能な符号化・復号化方式に関し、特に電力系統を運用するための情報伝送に適用し、伝送路上で生じる雑音等により発生した符号の誤り訂正が可能な符号化・復号化方式に関する。
【背景技術】
【０００２】
一般に、電力系統を運用するために用いられている情報伝送装置には、電力系統を安定運用するに必要とされる信頼度と同様な信頼度が要求され、その伝送品質はエラーレートで１×１０-7以下程度にさせることが要求される。
【０００３】
また、系統事故時の動揺を抑えるために情報を送信し、相手に伝達し終えるための時間にも制約があるため、伝送した情報は誤りなく伝達されなければならず、誤りが発生することによる生じる情報の再送や遅達などによる伝送遅延時間発生を抑えることに加え、誤ったデータの伝達を抑制する必要がある。
【０００４】
このような条件に対応させるため、これまでは伝送速度の高速化や、高段の生成多項式などを用いた高度な誤り検出方式を採用しており、これに伴い帯域幅の広い伝送路と、誤り率が小さい通信回線が要求される。
しかしながら、今後拡大すると予想される分散型電源方式や、自然エネルギーを活用した電源方式などを想定した場合、設備が設置される場所はルーラルな地域となることが想定される。
【０００５】
一般に、このようなルーラル地域へ電力系統を運用するための通信回線を構成する場合、広帯域伝送路では費用対効果の面から高価な設備投資は不利となることに加え、かならずしも情報量は多くは必要とされないことから、安価となる狭帯域な伝送路を構成することが要求されるため、伝送品質も良好な状態を維持できないことも多い。
【０００６】
これにより、伝送する符号方式としては、低速度で簡易な誤り訂正方式と、誤り検出方式となる符号方式を採用せざるを得なくなるが、そのような簡易な符号方式に対しても電力系統運用として用いられる符号方式の場合は、品質と信頼度は高いものが要求される。この簡易な符号方式の一例として、例えば、周知の（７、４）ハミング符号を用いた場合、ハミング距離が３ビットであるため１ビット誤り訂正が可能であるが、２ビット誤りでは、誤っていないデータを誤訂正してしまうため、バースト雑音など連続した雑音には対応できない。このことから、必要とする伝送品質と、再送や遅達などに伴う遅延が発生し、許容の伝送遅延時間が確保できなくなるという問題が発生する。
【０００７】
特に電気所における雑音は、遮断器などの開閉サージによるバースト雑音が主となり、この連続したバースト雑音の発生に加え、雷の放電によるバースト雑音も発生もするため、これら連続した雑音に対して発生するビット誤りを訂正できる簡易な符号方式でも誤り訂正能力が高い符号方式が必要になってくる。
このため、この特性を改善するため２ビット誤り訂正をさせる方式（特許文献１）や、バースト誤りに対応させるため、ハミング符号に積符号を用いる方式も検討され、誤りの検出性の向上や特性の改善をさせている。
【０００８】
しかしながら、前述した特許文献１ではこれら方式でも２ビット誤りの訂正は可能であるものの、３ビット誤りは異なる符号パターンへと変化するため、誤りとして検出することができない問題がある。また、（７、４）ハミング符号に、パリティービットを付加した図１に示す（８、４）拡大ハミング（ＢＣＨ）符号においても、２ビット誤り検出は可能であるが訂正は不可能であり、３ビット誤りでは、異なる符号へと誤訂正してしまうため、誤った情報が伝達してしまう問題がある。
【０００９】
非特許文献１に記載されているレディ・ロビンソンの復号法では、多くのビットの誤り訂正が可能であるが、訂正には多くの反復処理を必要とし、かなりの計算量を要することから、連続でデータが誤るバースト雑音の場合、誤り訂正に多くの処理時間を要することになり、また誤訂正の確率も高くなる可能性もある。したがって、このような符号方式においては、電力系統運用の誤情報の伝達に繋がってしまうことや、情報伝達の遅達になることが懸念され、電力系統を運用するための伝送符号方式としては適合しないという問題がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平２００１−２５１１９７号公報
【非特許文献】
【００１１】
【非特許文献１】“符号理論”、電子情報通信学会、２３３頁〜２３５頁
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明は、上述のごとき実情に鑑みてなされたものであり、（８，４）拡大ハミング符号に積符号方式を適用し、狭帯域な伝送路にも適用できる、２ビット誤り訂正、３ビット誤り検出、さらに、３ビット誤りを訂正反復回数が少なくても誤り検出・訂正を可能とし、例えば、熱雑音によるランダムビット誤りや、電気所雑音や雷雑音によるバースト雑音による連続ビット誤りに対しても誤り訂正を可能とする高速度で簡易な誤り訂正方式と誤り検出が可能な符号化・復号化方式を提供するものである。
【課題を解決するための手段】
【００１４】
第１の技術手段は、所定の手順で符号化、送信された送信符号に対し、誤り訂正を行う誤り訂正方法であって、前記所定の手順では、入力データに基づいて生成された４ビットのデジタルデータの４ブロック毎の４行４列のデータ行列に基づいて、第１の（８，４）拡大ハミング符号を生成し、前記データ行列の転置行列に基づいて生成した（８，４）拡大ハミング符号のシンドローム部の転置行列に基づいて、第２の（８，４）拡大ハミング符号を生成し、生成した前記第１の（８，４）拡大ハミング符号と前記第２の（８，４）拡大ハミング符号を結合し８行８列の積符号を生成し、生成した前記積符号の行又は列の符号を順次読み出して前記送信符号とし、前記誤り訂正方法は、前記所定の手順で符号化、送信された前記送信符号を順次８行８列の行列テーブルに配置して積符号行列を生成し、手順１として、前記積符号行列におけるデータ符号を含む４列の符号列について列毎に最初の誤り検定を行い、１ビット誤りを検出した列の符号列に１ビット誤りフラグを設定し、２ビット誤りを検出した列の符号列に２ビット誤りフラグを設定し、手順２として、前記積符号行列に対応する８行の符号列について行毎に誤り検定を行い、２ビット誤りを検出した場合に検出した行の符号列に２ビット誤りフラグを設定し、１ビット誤りを検出し、検出した誤り符号が手順１の検定で誤りフラグが設定されている列の符号列に属する場合には当該誤りを訂正して当該行の符号列に誤り訂正フラグを設定し、検出した誤り符号が手順１で誤り検出フラグが設定されていない場合には当該誤りを訂正せずに当該行の符号列に３ビット誤りフラグを設定し、手順３として、手順１の誤り検定の対象となった４列の符号列について手順２の誤り検定の結果を反映して列毎に２度目の誤り検定を行い、手順２と同様に、１ビット誤りを検出した場合は誤り箇所を訂正し誤り訂正フラグを設定するか、又は３ビット誤りフラグを設定し、２ビット誤りを検出した場合は２ビット誤りフラグを設定し、手順４として、前記積符号行列について手順３の誤り検定の結果を反映し、２ビット誤りフラグか３ビット誤りフラグのいずれかが設定された行と列の符号列の交点を求め、当該交点が誤り訂正されていない場合にその交点箇所を訂正し、手順５として、手順１の誤り検定の対象となった４列の符号列について手順４の訂正の結果を反映して列毎に３度目の誤り検定を行い、誤りが検出された場合、手順１〜手順４を繰返し、誤りが検出されなければ処理を終了することを特徴とする。
【００１５】
第２の技術手段は、第１の技術手段において、手順４で、２ビット誤りフラグか３ビット誤りフラグのいずれかが設定された行と列の符号列の交点が無い場合、誤り訂正フラグが設定された符号列との交点を求めることを特徴とする。
【００１６】
第３の技術手段は、第１の技術手段において、手順１及び手順２の誤り検定で誤りが検出されなかった場合、以後の手順を省略して処理を終了することを特徴とする。
【００１７】
第４の技術手段は、第１の技術手段において、手順３で、１ビット誤りの訂正のみが検出され、且つ、その訂正ビットの総数が手順１で検出された誤りビットの総数より減少している場合又は手順１で検出された１ビット誤りの数と同数である場合、以後の手順を省略して処理を終了することを特徴とする。
【００１８】
第５の技術手段は、第１〜４の技術手段のいずれか１の誤り訂正方法により訂正された符号からデータを抽出して出力する復号方法である。
【００２０】
第６の技術手段は、所定の手順で符号化、送信された送信符号を受信し、誤り訂正を行ってデータを出力する復号装置であって、前記所定の手順では、入力データに基づいて生成された４ビットのデジタルデータの４ブロック毎の４行４列のデータ行列に基づいて、第１の（８，４）拡大ハミング符号を生成し、前記データ行列の転置行列に基づいて生成した（８，４）拡大ハミング符号のシンドローム部の転置行列に基づいて、第２の（８，４）拡大ハミング符号を生成し、生成した前記第１の（８，４）拡大ハミング符号と前記第２の（８，４）拡大ハミング符号を結合し８行８列の積符号を生成し、生成した前記積符号の行又は列の符号を順次読み出して前記送信符号とし、前記復号装置は、前記所定の手順で符号化、送信された前記送信符号を受信して順次８行８列の行列テーブルに配置して積符号行列を生成する受信部と、所定の誤り訂正手順に従って前記行列テーブルの前記積符号行列について誤りを訂正する誤り訂正部と、前記誤り訂正部で誤り訂正されたデータを抽出して出力する出力部とを備え、前記所定の誤り訂正手順では、手順１として、前記積符号行列におけるデータ符号を含む４列の符号列について列毎に最初の誤り検定を行い、１ビット誤りを検出した列の符号列に１ビット誤りフラグを設定し、２ビット誤りを検出した列の符号列に２ビット誤りフラグを設定し、手順２として、前記積符号行列に対応する８行の符号列について行毎に誤り検定を行い、２ビット誤りを検出した場合に検出した行の符号列に２ビット誤りフラグを設定し、１ビット誤りを検出し、検出した誤り符号が手順１の検定で誤りフラグが設定されている列の符号列に属する場合には当該誤りを訂正して当該行の符号列に誤り訂正フラグを設定し、検出した誤り符号が手順１で誤り検出フラグが設定されていない場合には当該誤りを訂正せずに当該行の符号列に３ビット誤りフラグを設定し、手順３として、手順１の誤り検定の対象となった４列の符号列について手順２の誤り検定の結果を反映して列毎に２度目の誤り検定を行い、手順２と同様に、１ビット誤りを検出した場合は誤り箇所を訂正し誤り訂正フラグを設定するか、又は３ビット誤りフラグを設定し、２ビット誤りを検出した場合は２ビット誤りフラグを設定し、手順４として、前記積符号行列について手順３の誤り検定の結果を反映し、２ビット誤りフラグか３ビット誤りフラグのいずれかが設定された行と列の符号列の交点を求め、当該交点が誤り訂正されていない場合にその交点箇所を訂正し、手順５として、手順１の誤り検定の対象となった４列の符号列について手順４の訂正の結果を反映して列毎に３度目の誤り検定を行い、誤りが検出された場合、手順１〜手順４を繰返し、誤りが検出されなければ処理を終了することを特徴とする。
【００２１】
第７の技術手段は、コンピュータに第１〜５の技術手段のいずれか１の方法を実行させるためのプログラムである。
【発明の効果】
【００２２】
本発明により、簡単なシステム構成で、２ビットは勿論３ビットの誤り訂正が可能な符号化・復号化システムを構築できる。
【図面の簡単な説明】
【００２３】
【図１】本発明で用いる（８，４）拡大ハミング（ＢＣＨ）符号を説明する図である。
【図２】（８，４）拡大ハミング（ＢＣＨ）符号の例を示す図である。
【図３】本発明における積符号を説明する図である。
【図４】本発明が適用される通信システムの概要を示す図である。
【図５】本発明の符号化装置の構成を示す図である。
【図６】本発明の符号化方法を説明するフロー図である。
【図７】本発明の復号化処理における誤り訂正を説明する図である。
【図８Ａ】本発明における誤り訂正処理のフロー図である。
【図８Ｂ】本発明における誤り訂正処理のフロー図である。
【図８Ｃ】本発明における誤り訂正処理のフロー図である。
【図９】本発明の復号装置の構成を示す図である。
【発明を実施するための形態】
【００２４】
以下、図を参照して本発明を説明する。図１は、本発明で用いる周知の（８,４）拡大ハミング符号（ＢＣＨ符号）の構成を示す図である。
Ｘ１〜Ｘ４は、データ部（情報ビット）、Ｃ１〜Ｃ４はシンドローム部（検査ビット）であり、Ｃ１〜Ｃ３は、Ｘ１〜Ｘ４を３ビットシフトし、生成多項式Ｇ１(Ｘ)＝Ｘ３+Ｘ+１で割った剰余、Ｃ４はデータ部とシンドローム部のＸ１〜Ｃ３を１ビットシフトし、生成多項式Ｇ２(Ｘ)＝Ｘ+１で割った剰余Ｐであり、図２の表に例示するような１６の符号が形成される。なお、このＰは所謂偶数パリティーである。
【００２５】
これらの符号が送信され伝送過程で誤りがなければ、受信符号のＸ１〜Ｃ３は生成多項式Ｇ１(Ｘ)＝Ｘ３+Ｘ+１で割り切れる。また、Ｘ１〜Ｃ４も生成多項式Ｇ２(Ｘ)＝Ｘ+１で割り切れる。
１ビットに誤りが生じたときは、Ｘ１〜Ｃ３は生成多項式Ｇ１(Ｘ)＝Ｘ３+Ｘ+１で割り切れない。しかし、その剰余から誤りが生じたビットを特定できる。また、Ｘ１〜Ｃ４はＣ４が誤りのときを除いて生成多項式Ｇ２(Ｘ)＝Ｘ+１で割り切れない。
２ビットに誤りが生じたときは、Ｘ１〜Ｃ３は生成多項式Ｇ１(Ｘ)＝Ｘ３+Ｘ+１で割り切れないが、Ｘ１〜Ｃ４は生成多項式Ｇ２(Ｘ)＝Ｘ+１で割り切れる。
【００２６】
また、この１６の符号は、それぞれの符号を対比すると、少なくとも４箇所に相違がある。つまり、この符号の最小ハミング距離は４であり、伝送過程等における１ビットの誤り訂正が可能であり、２ビットの誤りが検出できる。
図２の表中のある送信符号が伝送過程で、１ビット又は２ビットに誤りが生じた場合、受信された符号は図２の表のいずれにも該当しない符号となり、誤りが生じたことが検知できる。
そこで、受信符号と図２の表の符号のそれぞれとを対比することによって、１ビットの誤りの場合、受信符号は送信符号との間でのみ１箇所の相違が検知されるので、その符号を訂正すれば誤りが訂正できる。
しかし、２ビットに誤りが生じた場合、図２の表の符号との対比によって受信符号と２箇所の相違が検知される符号が、送信符号以外にも検知されるため、誤りが生じた箇所の符号を特定できず、誤りは検出できるが、誤りの訂正ができない。
【００２７】
また、３ビットに誤りが生じた場合、受信符号は送信符号以外の符号との間に１箇所の相違が検知されることになり、その符号が訂正され誤訂正となる。本発明はこのような３ビットの誤りを検出すると共に誤り訂正を可能にするものである。
仮に４ビットに誤りが生じると、受信符号は送信符号以外の他の符号と一致することになり誤りも検出もできないが、４ビットの誤りが生じる確率は極めて低いので、これに対しては別途の対策で対処する。
【００２８】
図３は、本発明で用いる積符号の構成である。データ部１〜４、５〜８、９〜１２、１３〜１６を含む４ブロックの（８，４）拡大ハミング符号をそれぞれ１〜４行に配置する。１行１列〜４行４列のマトリックスがデータ部、１行５列〜４行８列のマトリックスが上記データ部に対する第１のシンドローム部となる。
次いで、データ部の転置行列に対応する列方向１〜４列について、１列目の１、５、９、１３の情報ビットについて前記生成多項式Ｇ１(Ｘ)で割った剰余ｄ１〜ｄ３、同１、５、９、１３、ｄ１〜ｄ３を前記生成多項式Ｇ２(Ｘ)で割った剰余Ｐを求め（８，４）拡大ハミング符号を生成する。このようにしてデータ部の列方向１〜４列目の情報ビットについて拡大ハミング符号を生成しそのシンドロームを５行１列〜８行４列のマトリックスに第２のシンドローム部として配置する。
【００２９】
さらに、第２のシンドローム部の検査ビットを情報ビットとみなして、（８，４）拡大ハミング符号を生成し、そのシンドローム５行５列〜８行８列のマトリックスに第３のシンドローム部として配置する。
このようにして送信側で構成した積符号は、例えば、１行１列のデータ部の情報ビットから行方向に向かって順に送出される。
【００３０】
図４は本発明が適用される通信システムの概要であり、送信端の端末機器から出力されるデータは符号化／復号化部の符号化部で図３に示す積符号に符号化され、モデムを介して順次伝送路に出力される。受信端はモデムを介して受信した受信信号を符号化／復号化部の復号化部で、復号され誤り訂正されて端末機に出力する。なお、図では、モデムを硬判定モデムと記載しているが、特に硬判定モデムに限られるものではない。
【００３１】
図５及図６に基づいて送信端側の符号化処理について説明する。図５は符号化装置を示し、図６はその動作を示すフロー図である。
符号化装置の入力部で、入力された送信データは、４ビットのデジタルデータ列に変換され、その４ブロック単位にデータ行列テーブルに展開され、当該データ行列に基づいて拡大ハミング（ＢＣＨ）符号生成部で、第１の（８，４）ＢＣＨ符号を生成する。また、前記データ行列の転置行列に基づいて同様にＢＣＨ符号生成部で（８，４）ＢＣＨ符号を生成し、その４×４シンドローム行列を抽出し、その転置行列を生成する。これは前記第２のシンドローム部と一致する。
この第２のシンドローム部ビット（検査ビット）を情報ビットとみなして同じく（８，４）ＢＣＨ符号を生成する。これは、前記第２の（８，４）ＢＣＨ符号であり、そのシンドロームが第３のシンドローム部になる。
前記第１、第２の（８，４）ＢＣＨ符号を結合して本発明に係る積符号を構成する。出力部は、積符号行列の符号列を順次読み出して出力する。
【００３２】
図７（Ａ）〜（Ｇ）、図８（Ａ）〜（Ｃ）に基づいて前記積符号による受信端での復号処理における誤り訂正について説明する。受信端では、受信した４ブロック単位の受信信号を８行・８列の行列テーブルに展開し、送信端と同様の積符号を形成する。なお、図７（Ａ）〜（Ｇ）は、図３と同様の符号によってマトリックスが構成されているものであるが、図では（Ａ）以外は符号の記載を省略して示している。
ここで、例えば図７（Ａ）に示すように×印を付した箇所の符号に誤りが発生していると仮定する。
【００３３】
復号（誤り検定／訂正）の手順１として、図示の列方向の１〜４列の符号列について誤り検定を行なう。この符号列は４ブロックのデータ行列の列方向の符号列に基づいて生成された（８，４）ＢＣＨ符号に対応している。
図７（Ｂ）に示すように、誤りが検出された１列目に１ビット誤り、３列目に１ビット誤りフラグが設定される。３列目は、実際には３ビットに誤りが発生しているが、前述したとおり（８，４）ＢＣＨ符号では１ビット誤りとして検出されるので１ビット誤りフラグが設定される。
【００３４】
手順２として、図示の１〜８行の行方向、つまりデータ行列のデータの符号列の方向の８符号列について誤り検定を行い、誤り箇所が特定できる１ビット誤りを訂正し誤り検出／訂正を行なう。
図示の場合、１行目、３行目、７行目は２ビット誤りが検出され、２ビット誤りフラグが設定される。２行目は３ビットに誤りが発生しているが、２行４列目の１ビット誤りとして検出され、当該箇所が訂正されることになる。
ここで、２行４列目に誤りが発生していれば、その誤りは、前述の手順１の列方向の誤り検定で検出される筈である。しかし、図７（Ｂ）に示すように手順１で、４列目には誤りフラグは設定されていない。つまり、手順２における２行目は１ビット誤りではなく３ビット誤りであることが検知され、３ビット誤りフラグが設定される。
【００３５】
手順３で、図７（Ｃ）に示す手順２の結果について、１〜４列について再度手順１の列方向の誤り検定を行なう共に、１ビット誤りが検出された場合は誤り訂正をする。
図示のように、１ビット誤りが検出されている１列の１ビット誤りが訂正され、１列目に誤り訂正フラグが設定される。
３列は３ビット誤りが誤って１ビット誤りに検出されているので、誤検出されている３列６行目が誤訂正されることになるが、前述のとおり、手順２で６行には誤りフラグが設定されていないので、３列目は１ビット誤りではなく、３ビット誤りであることが検知され、３ビット誤りフラグが設定される。結果は図７（Ｄ）に示すとおりになる。なお、図では誤り訂正された箇所を○印を付して示している。
【００３６】
手順２、手順３で、訂正された結果を整理すると図７（Ｅ）に示すとおりになる。
手順４では、図７（Ｅ）に示した手順２、手順３で訂正された結果について、行、列で２ビット、３ビット誤りフラグが設定されている行、列の交点を求め、交点のビットを訂正する。
その際、誤りフラグが設定された行又は列の交点がない場合は、誤り訂正が設定された行又は列との交点を求める。これは、訂正された行／列は誤りが検出された行／列だからである。また、それらの交点が手順２、３における誤り訂正箇所の場合は訂正しない。これは、１ビット誤り検出に基づいた正しい訂正だからである。図示の例では、これらの条件には該当してない。
これにより、交点の３列１行目、３列３行目、３列７行目の誤りが訂正される。しかし、誤りが発生していない２行３列目の交点も訂正され、図７（Ｆ）に△印で示すように誤訂正されることになる。
【００３７】
手順５では、図７（Ｆ）に示す手順４で訂正された結果について再度手順３の１〜４列の列方向の誤り検定を行い１ビット誤りが検出された箇所を訂正する。図示の例では、３列目の検定で、手順４で誤訂正された△印箇所の３列２行目の，誤訂正された１ビット誤りが検出されて正しく訂正される。２ビット誤りが検出された場合は、手順２〜４を繰り返す。繰返し回数は任意に定めるが、誤りが解消しない場合は訂正不調として処理を終え、別途の手法で対応する。
図示の例では、図７（Ｇ）のとおり２ビット誤りは検出されないため繰り返しの検定をすることなく誤り訂正は終了する。
【００３８】
以上の処理過程で、手順１、手順２の両処理で、いずれの列、行にも誤りが検出されない場合、受信信号のデータに誤りは発生してないと判定して処理を終了できることは明らかである。
また、手順３の検定において、列方向の誤り検出が１ビット誤りのみであり、その総数が手順１で検出された誤りビット数より減少している場合、又は同１ビット誤り検出数と同数であれば、誤りは訂正されたものとして処理を終了する。
これは、手順１で誤りが検出された箇所（符号）は、手順２でも誤り検出され、その際、行方向の１ビット誤りに該当していれば手順２で訂正される。つまり、手順１と手順２で、１ビット誤りが検出された符号の該当列は手順３では誤りが検出されない。また、手順１で２ビット誤りが検出された列の１箇所の符号が手順２で行方向の１ビット誤り検出箇所であれば訂正され、手順３では該当列は１ビット誤りが検出され、訂正されることになり、２ビット、３ビットの列が検出されなければ訂正は終了したものと判定できる。
図８（Ａ）〜図８（Ｃ）は、以上の誤り訂正の処理のフローを記述したチャートである。
【００３９】
図９は、図４における符号化／復号化部における復号装置の例を示す図である。受信部５は、受信信号から抽出された８×８ビットのＢＣＨ符号を８行８列の積符号行列テーブルに展開し、例えば、図３に例示されたような積符号を生成する。
誤り訂正部６は、積符号行列テーブルに展開された符号列の誤りを検出し訂正する。誤り訂正部６は、符号誤り検定部６１、フラグ設定部６２、訂正部６３、訂正テーブル生成部６４、判定部６５、を有している。
【００４０】
前記誤り検定部６１は、前記手順１〜手順３、手順５の前記展開した積符号の符号列について誤り検定を行う。フラグ設定部６２は、誤り検定部６１が誤りを検出した場合、検出された符号列に検出された誤りのフラグを設定し、誤りが訂正部で訂正されたときは誤り訂正フラグを設定する。
訂正部６３は、検出された１ビット誤りを訂正し、また前記手順４の交点の符号を訂正する。
【００４１】
訂正テーブル生成部６４は、前記手順２〜４の誤り検出／訂正処理過程で訂正された結果をテーブルに展開する。なお訂正結果は受信部１のテーブルを兼用して展開できることは明らかである。
判定部６５は、前記手順２、手順３、手順５における前述したとおりの誤り訂正処理の終了を判定する。出力部７は、判定部の処理終了判定に基づいてデータを抽出し出力する。
【００４２】
以上のとおり、本発明は、簡単なシステム構成によって２ビット誤りの訂正は勿論、３ビットの誤り訂正をも達成するものである。また、その処理においても、ＢＣＨ符号生成処理や誤り検定処理を、例えば、図２の表に示す（８、４）ＢＣＨ符号のテーブルを参照することにより、簡単／高速に処理できものである。
本発明は、誤りの発生が懸念される伝送路において、比較的データ量は少ないが、高い伝送品質が要求される、例えば、ルーラルな地域に対応する電力系統の運用情報の伝送などに好適である。
【符号の説明】
【００４３】
１…入力部、２（８，４）…拡大ハミング符号生成部、３…積符号生成部、４…出力部、５、受信部、６…誤り訂正部、６１…誤り検定部、６２…フラグ設定部、６３…訂正部、６４…訂正テーブル生成部、６５…判定部、７…出力部。
【図１】
0005357993.tif 000002
【図２】
0005357993.tif 000003
【図３】
0005357993.tif 000004
【図４】
0005357993.tif 000005
【図５】
0005357993.tif 000006
【図６】
0005357993.tif 000007
【図７】
0005357993.tif 000008
【図８Ａ】
0005357993.tif 000009
【図８Ｂ】
0005357993.tif 000010
【図８Ｃ】
0005357993.tif 000011
【図９】
0005357993.tif 000012