(57)【特許請求の範囲】
【請求項１】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、
ランダム誤り訂正用のシンドロームを生成する工程と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する工程と、
前記線形変換によって生成された値を用いてバースト誤りを訂正する工程と、
備えたことを特徴とする誤り訂正復号方法。
【請求項２】
前記バースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値について、ｂ組に分けて誤り判定を行う工程を備え、これらのｂ組の誤り判定のうち１組でも条件を満足している時に対応するビットの値を誤りパターンとしてバースト誤りを訂正することを特徴とする請求項１に記載の誤り訂正復号方法。
【請求項３】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、
ランダム誤り訂正用のシンドロームを生成する工程と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値から１ビットずつ順にシフトしたバースト誤り訂正用のシンドロームをそれぞれ生成しこれらの値を用いて複数のバースト誤りを同時に検出する工程と、
これらの誤り検出結果に従って複数ビッドのバースト誤りの訂正を同時に行う工程と、
備えたことを特徴とする誤り訂正復号方法。
【請求項４】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、
ランダム誤り訂正用のシンドロームを生成してランダム誤りを検出する工程と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する工程と、
このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値からバースト誤りを検出する工程と、
前記ランダム誤りおよびバースト誤りの一方が検出された場合は、その検出された方の誤り訂正方式で誤りの訂正を行い、両方の誤りが検出された場合は、予め定められた方の誤り訂正方式で誤り訂正を行う工程と、
を備えたことを特徴とする誤り訂正復号方法。
【請求項５】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、
ランダム誤り訂正用のシンドロームを生成してランダム誤りを検出する工程と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する工程と、
このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値からバースト誤りを検出する工程と、
前記ランダム誤りおよびバースト誤りの一方が検出された場合は、その検出された方の誤り訂正方式で誤り訂正を行い、両方の誤りが検出された場合は、誤りビットの信頼度情報の低い方の誤り訂正方式で誤り訂正を行う工程と、
を備えたことを特徴とする誤り訂正復号方法。
【請求項６】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、
ランダム誤り訂正用のシンドロームを生成して先頭ビットから順にランダム誤りを検出する工程と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する工程と、
このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値に基づき先頭ビットから順に前記ランダム誤り検出と同じビットについてバースト誤りを検出する工程と、
前記ランダム誤りおよびバースト誤りの先に誤り検出された誤り訂正方式で誤り訂正を行う工程と、
を備えたことを特徴とする誤り訂正復号方法。
【請求項７】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、
ランダム誤り訂正用のシンドロームを生成する手段と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する手段と、
前記線形変換によって生成された値を用いてバースト誤りを訂正する手段と、
備えたことを特徴とする誤り訂正復号装置。
【請求項８】
前記バースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値について、ｂ組に分けて誤り判定を行う手段を備え、これらのｂ組の誤り判定のうち１組でも条件を満足している時に対応するビットの値を誤りパターンとしてバースト誤りを訂正することを特徴とする請求項７に記載の誤り訂正復号装置。
【請求項９】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、
ランダム誤り訂正用のシンドロームを生成する手段と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値から１ビットずつ順にシフトしたバースト誤り訂正用のシンドロームをそれぞれ生成しこれらの値を用いて複数のバースト誤りを同時に検出する手段と、
これらの誤り検出結果に従って複数ビッドのバースト誤りの訂正を同時に行う手段と、
備えたことを特徴とする誤り訂正復号装置。
【請求項１０】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、
ランダム誤り訂正用のシンドロームを生成してランダム誤りを検出する手段と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する手段と、
このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値からバースト誤りを検出する手段と、
前記ランダム誤りおよびバースト誤りの一方が検出された場合は、その検出された方の誤りに基づく誤り訂正を行い、両方の誤りが検出された場合は、予め定められた方の誤り訂正に基づく訂正を行う手段と、
を備えたことを特徴とする誤り訂正復号装置。
【請求項１１】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、
ランダム誤り訂正用のシンドロームを生成してランダム誤りを検出する手段と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する手段と、
このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値からバースト誤りを検出する手段と、
前記ランダム誤りおよびバースト誤りの一方が検出された場合は、その検出された方の誤りに基づく誤り訂正を行い、両方の誤りが検出された場合は、誤りビットの信頼度情報の低い方の誤り訂正に基づき訂正を行う手段と、
を備えたことを特徴とする誤り訂正復号装置。
【請求項１２】
符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、
ランダム誤り訂正用のシンドロームを生成して先頭ビットから順にランダム誤りを検出する手段と、
このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する手段と、
このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値に基づき先頭ビットから順に前記ランダム誤り検出と同じビットについてバースト誤りを検出する手段と、
前記ランダム誤りおよびバースト誤りの先に誤り検出された方の誤り訂正に基づき訂正を行う手段と、
を備えたことを特徴とする誤り訂正復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、通信分野や記録分野で用いられている誤り訂正符号、特に線形符号の誤り訂正復号方法および装置に関するものである。
【０００２】
【従来の技術】
図７は文献「Ｅｒｒｏｒ  Ｃｏｎｔｒｏｌ  Ｃｏｄｉｎｇ：  Ｆｕｎｄａｍｅｎｔａｌｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ（誤り制御コード基礎およびその適用）」に示された従来のバースト誤り訂正を行うための誤り訂正復号装置の構成を示すブロック図である。以下の説明において、符号長ｎ、情報ビット数ｋ、訂正可能なバースト長をｂとして以下の説明を行う。
【０００３】
図において１０１は受信される受信語のビット入力をゲートするゲート回路、１０２は排他的論理和をとるためのＸＯＲ回路、１０３は生成多項式により決まる線形シフトレジスタ、１０４はゲート回路、１０５は（ｎ−ｋ）段の線形シフトレジスタ１０３のうち下位（ｎ−ｋ−ｂ）ビットについて全て０であるかどうかを判定する零判定手段、１０６はゲート回路である。
【０００４】
１０７は入力された受信ビットを保持するための記憶手段、１０８は記憶手段１０７に記憶された受信語を出力させるためのゲート回路、１０９は検出された誤りを訂正するためのＸＯＲ回路である。なお図示されていないが、各ゲート回路１０１，１０４，１０６，１０８には、ゲート制御信号がカウンタ（ソフトウェア等でも構成可能であり特に図示せず）のカウント値あるいは零判定手段１０５の判定結果等に基づいて供給され、これに従って下記の制御が行われる。
【０００５】
次に図７に従って動作を説明する。まず、ｎビットの受信ビット系列がゲート回路１０１を通過して、記憶手段１０７および（ｎ−ｋ）段のシフトレジスタ１０３に入力される。このとき、ゲート回路１０４については接続されており、生成多項式に応じたフィードバック処理が行われる。ｎビットの受信ビットが入力されたときのシフトレジスタの内容をバースト誤りのシンドロームと呼ぶ。
【０００６】
ｎビットの受信ビットが入力された後にゲート回路１０１は接続を切り離して０を出力するように制御される。また、ゲート回路１０４については、そのまま接続した状態でシフトレジスタ１０３のシフト操作を繰り返し行う。このシフト操作を行っている間で、シフトレジスタ１０３の下位（ｎ−ｋ−ｂ）ビットのレジスタ値が全て０になった場合、シフトレジスタ１０３の上位ｂビットのレジスタに入っている値がバースト誤りパターンとなる。このとき、バースト誤りのシンドロームが生成されてからシフトされる回数によって３つの条件に分けられる。
【０００７】
シフト回数が（ｎ−ｋ−ｂ）回以下の時に零判定手段１０５によって、シフトレジスタ１０３の下位の（ｎ−ｋ−ｂ）ビットが全て０になったときには、チェックビットの部分にバースト誤りが検出されたことになり、ゲート回路１０８を接続して、ゲート回路１０６からは０を出力させるようにして、記憶手段１０７に記憶されている受信ビットの情報ビット部分の内容をそのまま出力する。
【０００８】
シフトレジスタ１０３に記憶されたバースト誤り訂正用シンドロームについて、シフト回数が（ｎ−ｋ−ｂ＋ｉ）（ｉは１以上ｂ−１以下）回のときに零判定手段１０５によって、シフトレジスタ１０３の下位（ｎ−ｋ−ｂ）ビットが全て０になったときには、誤りとしてはチェック部分最後の（ｂ−ｉ）ビットと受信ビットの先頭のｉビットに誤りがあることになる。このときは、カウンタを（ｎ−ｋ−ｂ＋ｉ＋１）にセットをしてカウントアップをする。また、ゲート回路１０４を０を出力するように制御して、シフトレジスタ１０３の内容を上位ビットから順に出力するようにする。
【０００９】
次にカウンタの値が（ｎ−ｋ）になった時に、ゲート回路１０６およびゲート回路１０８を接続し受信ビットを先頭から順に出力するように制御して、受信ビットの先頭のｉビットについてＸＯＲ回路１０９において誤り訂正を行ない出力する。
【００１０】
シフトレジスタ１０３に記憶された、バースト誤り訂正用シンドロームについて（ｎ−ｋ）回シフトした結果、零判定手段１０５において１度もシフトレジスタ１０３の下位の（ｎ−ｋ−ｂ）ビットが全て０になるようなことがなかった場合には、ゲート回路１０８を接続して受信ビットを先頭から順に出力し、同時にゲート回路１０４についても接続を行ったままで、シフトレジスタ１０３のシフト操作を続けて行う。
【００１１】
ゲート回路１０８を接続してからのシフト回数がｉ（ｉは１以上ｋ以下）回のときに零判定手段１０５によって、シフトレジスタ１０３の下位（ｎ−ｋ−ｂ）ビットが全て０になった時には、受信ビットの先頭のｉビット目からｉ＋ｂ−１ビットまでに、シフトレジスタ１０３の上位ｂビットに記憶されているパターンのバースト誤りが生起したことが検出される。
【００１２】
そして、ゲート回路１０６が接続されて、ゲート回路１０４については接続が切断されて０を出力するようにして、シフトレジスタ１０３の上位ｂビットに記憶されている内容がＸＯＲ回路１０９に入力されてｂビットの訂正操作が行われ、その後にゲート回路１０６については０を出力するように制御して、残りの受信ビットについては記憶手段１０７に記憶されている内容がそのまま出力されて、バースト誤りの誤りが訂正される。
【００１３】
また、ゲート回路１０８をゲート制御してからのシフト回数がｋ回になっても一度も零判定手段１０５において下位の（ｎ−ｋ−ｂ）ビットが全て０にならなかった時は、バースト誤り訂正できない誤りが生起したものとして、訂正不可能とする。
【００１４】
【発明が解決しようとする課題】
従来のこの種のバースト誤り訂正復号装置においては、最初の操作ではチェックビット部分の誤りが検出されて、（ｎ−ｋ）回シフトさせてはじめて先頭ビットのバースト誤りが訂正できることになり、復号に要するステップ数が大きくなる問題があった。
【００１５】
また、チェックビットについても誤り訂正された結果が必要な場合については、最初にチェックビット部分の誤り検出が行われてその後で情報ビット部分の誤りが検出されるために、検査ビット部分の誤りパターンを記憶する必要があり、訂正のタイミングを計算する上で復号装置の動作制御が複雑になる問題点があった。
【００１６】
また、バースト誤り以外にランダム誤りを訂正する必要がある場合は、上記のバースト誤り訂正回路のほかにランダム誤り訂正回路を設ける必要があり回路規模が大きくなる問題点があった。
【００１７】
この発明は上記の問題を解消するためになされたものであり、受信ビットの先頭ビットから順にバースト誤りの検出ができるようにし、また、ランダム誤り訂正のためのシンドロームを用いてバースト誤り訂正ができるようにした誤り訂正復号方法および装置を提供することを目的とする。
【００１８】
【課題を解決するための手段】
上記の目的に鑑み、この発明は、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、ランダム誤り訂正用のシンドロームを生成する工程と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する工程と、前記線形変換によって生成された値を用いてバースト誤りを訂正する工程と、備えたことを特徴とする誤り訂正復号方法にある。
【００１９】
また、前記バースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値について、ｂ組に分けて誤り判定を行う工程を備え、これらのｂ組の誤り判定のうち１組でも条件を満足している時に対応するビットの値を誤りパターンとしてバースト誤りを訂正することを特徴とする請求項１に記載の誤り訂正復号方法にある。
【００２０】
また、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、ランダム誤り訂正用のシンドロームを生成する工程と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値から１ビットずつ順にシフトしたバースト誤り訂正用のシンドロームをそれぞれ生成しこれらの値を用いて複数のバースト誤りを同時に検出する工程と、これらの誤り検出結果に従って複数ビッドのバースト誤りの訂正を同時に行う工程と、備えたことを特徴とする誤り訂正復号方法にある。
【００２１】
また、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、ランダム誤り訂正用のシンドロームを生成してランダム誤りを検出する工程と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する工程と、このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値からバースト誤りを検出する工程と、前記ランダム誤りおよびバースト誤りの一方が検出された場合は、その検出された方の誤り訂正方式で誤りの訂正を行い、両方の誤りが検出された場合は、予め定められた方の誤り訂正方式で誤り訂正を行う工程と、を備えたことを特徴とする誤り訂正復号方法にある。
【００２２】
また、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、ランダム誤り訂正用のシンドロームを生成してランダム誤りを検出する工程と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する工程と、このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値からバースト誤りを検出する工程と、前記ランダム誤りおよびバースト誤りの一方が検出された場合は、その検出された方の誤り訂正方式で誤り訂正を行い、両方の誤りが検出された場合は、誤りビットの信頼度情報の低い方の誤り訂正方式で誤り訂正を行う工程と、を備えたことを特徴とする誤り訂正復号方法にある。
【００２３】
また、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号方法において、ランダム誤り訂正用のシンドロームを生成して先頭ビットから順にランダム誤りを検出する工程と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する工程と、このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値に基づき先頭ビットから順に前記ランダム誤り検出と同じビットについてバースト誤りを検出する工程と、前記ランダム誤りおよびバースト誤りの先に誤り検出された誤り訂正方式で誤り訂正を行う工程と、を備えたことを特徴とする誤り訂正復号方法にある。
【００２４】
また、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、ランダム誤り訂正用のシンドロームを生成する手段と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する手段と、前記線形変換によって生成された値を用いてバースト誤りを訂正する手段と、備えたことを特徴とする誤り訂正復号装置にある。
【００２５】
また、前記バースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値について、ｂ組に分けて誤り判定を行う手段を備え、これらのｂ組の誤り判定のうち１組でも条件を満足している時に対応するビットの値を誤りパターンとしてバースト誤りを訂正することを特徴とする請求項７に記載の誤り訂正復号装置にある。
【００２６】
また、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、ランダム誤り訂正用のシンドロームを生成する手段と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値から１ビットずつ順にシフトしたバースト誤り訂正用のシンドロームをそれぞれ生成しこれらの値を用いて複数のバースト誤りを同時に検出する手段と、これらの誤り検出結果に従って複数ビッドのバースト誤りの訂正を同時に行う手段と、備えたことを特徴とする誤り訂正復号装置にある。
【００２７】
また、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、ランダム誤り訂正用のシンドロームを生成してランダム誤りを検出する手段と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する手段と、このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値からバースト誤りを検出する手段と、前記ランダム誤りおよびバースト誤りの一方が検出された場合は、その検出された方の誤りに基づく誤り訂正を行い、両方の誤りが検出された場合は、予め定められた方の誤り訂正に基づく訂正を行う手段と、を備えたことを特徴とする誤り訂正復号装置にある。
【００２８】
また、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、ランダム誤り訂正用のシンドロームを生成してランダム誤りを検出する手段と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する手段と、このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値からバースト誤りを検出する手段と、前記ランダム誤りおよびバースト誤りの一方が検出された場合は、その検出された方の誤りに基づく誤り訂正を行い、両方の誤りが検出された場合は、誤りビットの信頼度情報の低い方の誤り訂正に基づき訂正を行う手段と、を備えたことを特徴とする誤り訂正復号装置にある。
【００２９】
また、符号長ｎ、情報ビット数ｋでｂビットまでのバースト誤りの訂正ができる線形符号の誤り訂正復号装置において、ランダム誤り訂正用のシンドロームを生成して先頭ビットから順にランダム誤りを検出する手段と、このランダム誤り訂正用のシンドロームについて線形変換を行ってバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成する手段と、このバースト誤り訂正用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値に基づき先頭ビットから順に前記ランダム誤り検出と同じビットについてバースト誤りを検出する手段と、前記ランダム誤りおよびバースト誤りの先に誤り検出された方の誤り訂正に基づき訂正を行う手段と、を備えたことを特徴とする誤り訂正復号装置にある。
【００３０】
【発明の実施の形態】
実施の形態１．
図１はこの発明の実施の形態１による誤り訂正復号装置の構成を示すブロック図である。図において１は接続状態時に受信語である受信ビットを復号回路部分に入力し、切断状態時は０を出力するゲート回路、２および３はランダム誤り訂正のためのシンドロームを計算するためのＸＯＲ回路、４、５はランダム誤り訂正のためのシンドロームを記憶するためのシフトレジスタ、６はランダム誤りのシンドロームを記憶しているレジスタ４，５の値からバースト誤り用のシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値に変換するための線形変換手段である。
【００３１】
７は線形変換手段６の出力を記憶するためのシフトレジスタ、８はシフトレジスタ７の下位（ｎ−ｋ−ｂ）ビットの値について値が全て零であるかどうかを判定する零判定手段、９は復号回路に入力された受信ビットを記憶する記憶手段、１０は記憶手段９に記憶されている受信ビットを順次出力するゲート回路、１１は誤りパターンを出力するためのゲート回路、１２は誤りを訂正するためのＸＯＲ回路、１３はバースト誤りパターンを一時的に退避させて記憶する記憶手段である。なお図示されていないが、各ゲート回路には、ゲート制御信号がカウンタ（ソフトウェア等でも構成可能であり特に図示せず）のカウント値あるいは零判定手段の判定結果等に基づいて供給され、これに従って下記の制御が行われる（以下同様）。
【００３２】
次に、動作について説明する。まず、ｎビットの受信ビット系列がゲート回路１を通過して、記憶手段９およびシフトレジスタ４、５に入力される。記憶手段９では受信ビットを記憶する。シフトレジスタ４、５ではシフト演算が行われてランダム誤り訂正用のシンドロームが計算される。ｎビットの受信ビットが入力された時点にシフトレジスタ４、５に記憶されている値がランダム誤り訂正用のシンドロームになる。
【００３３】
ｎビットの情報ビットが入力された後に、ゲート回路１を切断して０を出力するようにして、１回ごとにシフトレジスタ４および５のシフト操作を行う。この時それぞれのステップごとに線形変換手段６においてランダム誤りのシンドロームについて変換を行う。このとき、線形変形手段６はランダム誤り訂正用のシンドロームからバースト誤りのシンドロームについて（ｎ−ｋ−ｂ）ビットシフトした値に変換する組み合わせ論理回路により構成されている。
【００３４】
線形変形手段６によって変換された値はシフトレジスタ７に記憶させる。シフトレジスタ７において下位（ｎ−ｋ−ｂ）ビットの値が全て０かどうかを零判定手段８において判定を行う。このとき、シフトされる回数によって２つの条件に分けられる。
【００３５】
シフト回数ｉがｂ回未満の時に零判定手段８において、シフトレジスタ７の下位（ｎ−ｋ−ｂ）ビットが全て０になった時は、誤りとしてはチェック部分最後の（ｂ−ｉ）ビットと受信ビットの先頭のｉビットに誤りがあることになる。この時カウンタ（ソフトウェア等でも構成可能であり特に図示せず）を（ｉ＋１）にセットをしてカウントアップをする。一方でシフトレジスタ７の上位ｂビットを先頭から順に出力し記憶手段１３に記憶させる。またゲート回路１１を切断して０を出力する。
【００３６】
カウンタの値がｂになった時にゲート回路１０、１１を接続し、記憶手段９の内容を上位ビットから順に出力するようにして、上位ｉビットの誤りをＸＯＲ回路１２において訂正する。また、チェックビットの最後の部分については記憶手段１３に記憶している内容を順に取り出して誤りの訂正を行う。
【００３７】
また、シフト回数ｉがｂ回未満のときに零判定手段８において、シフトレジスタ７の下位（ｎ−ｋ−ｂ）ビットが全て０にならなかった時は、シフト回数がｂになった時に、ゲート回路１０を接続し受信ビットを先頭から順に出力して、受信ビットの先頭のｉ＋１ビットについてＸＯＲ回路１２において誤り訂正を行ない出力する。
【００３８】
また、ゲート回路１０を接続してからのシフト回数がｎ回になっても一度も零判定手段８において下位の（ｎ−ｋ−ｂ）ビットが全て０にならなかったときはバースト誤り訂正できない誤りが生起したものとして、訂正不可能とする。
【００３９】
上記のような構成にすることにより、受信ビットの先頭ビットから順にバースト誤り訂正が行えるようになり、チェックビットまで誤り訂正を行う必要がある場合には、復号処理のステップ数を削減でき高速に復号できる効果がある。
【００４０】
実施の形態２．
図２はこの発明の実施の形態２による誤り訂正復号装置の構成を示すブロック図である。上記実施の形態と同一もしくは相当部分は同一符号で示す（以下同様）。図において１４−１から１４−ｂについてはバースト誤りのシンドロームを記憶しているレジスタに対して、それぞれ特定のｂビットの値が全て零であることを検出する零判定手段、１５は零判定手段１４−１から１４−ｂまでの中で、少なくとも１つの零判定手段において、検出対象となるビットの全てが０になったことが検出された場合には、下位からｂビット目の値を出力し、それ以外の場合は０を出力するゲート回路である。
【００４１】
次に、動作について説明する。まず、ｎビットの受信ビット系列がゲート回路１を通過して、記憶手段９およびシフトレジスタ４、５に入力される。記憶手段９では受信ビットを記憶する。シフトレジスタ４、５ではシフト演算が行われてランダム誤り訂正用のシンドロームが計算される。ｎビットの受信ビットが入力された時点にシフトレジスタ４，５に記憶されている値がランダム誤り訂正用のシンドロームになる。
【００４２】
ｎビットの情報ビットが入力された後に、ゲート回路１を切断して０を出力するようして１回ごとにシフトレジスタのシフト計算を行う。また、ゲート回路１０を接続し記憶手段９に記憶されている内容を１ビット毎に出力させる。このとき、それぞれのステップごとに線形変換手段６においてランダム誤りのシンドロームについて変換を行い、バースト誤りのシンドロームについて（ｎ−ｋ−ｂ）ビットシフトした値を生成しシフトレジスタ７に記憶させる。
【００４３】
次に、零判定手段１４−１においてはシフトレジスタ７において下位（ｎ−ｋ−ｂ）ビットの値が全て０であることの判定を行ない、零判定手段１４−２ではシフトレジスタ７において下位（ｎ−ｋ−ｂ−１）ビットと最上位１ビットの値が０であることの判定を行う零判定手段として、同様に１ビットずつずらして、零判定手段１４−ｂではシフトレジスタ７において下位（ｎ−ｋ−ｂ−（ｂ−１））ビットと上位（ｂ−１）ビットの値が０であることの判定を行う零判定手段として、該当するシフトレジスタの中身が全て０であることを判定する。
【００４４】
零判定手段１４−１から１４−ｂにおいて、少なくとも１つの零判定手段において、全て０であると判定されたときは、ゲート回路１５を接続して、上位ｂビット目に記憶されている値を誤りパターンとして、ＸＯＲ回路１２により訂正を行う。また、零判定手段１４−１から１４−ｂにおいて、検出対象となっているレジスタの中身が全て０になっていない場合については、ゲート回路１５を切断して０を出力して、記憶手段９に記憶されている受信ビットの内容をそのまま出力する。
【００４５】
上記実施の形態は、ランダム誤りのシンドロームからバースト誤りのシンドロームを（ｎ−ｋ−ｂ）回シフトしたものを線形変換手段により生成していたが、バースト誤りのシンドロームから（ｎ−ｋ−ｂ）回シフトしたものを線形変換手段により生成しても同様の誤り訂正装置が得られる。
【００４６】
上記のような構成にすることにより、受信ビットの先頭ビットから順にバースト誤り訂正が行えるようになり、先頭ビットとチェックビットの後ろに誤りが存在するような場合についても、誤りパターンを記憶するための記憶手段を用いることなく誤り訂正が行えて、高速に復号でき、回路規模を削減できる効果がある。
【００４７】
実施の形態３．
図３はこの発明の実施の形態３による誤り訂正復号装置の構成を示すブロック図である。図において１６はバースト誤りのシンドロームに対して、１回シフトした値を計算するためのシフト演算手段、１７はバースト誤りのパターンを検出して誤りパターンを出力するためのバースト誤り検出手段、１８はシリアル／パラレル変換手段、１９はパラレル／シリアル変換手段である。
【００４８】
次に、動作について説明する。以下の説明では例えば３ビットパラレルにして復号する場合について説明する。ｎビットの受信ビット系列がゲート回路１を通過して、記憶手段９およびシフトレジスタ４、５に入力される。記憶手段９では受信ビットを記憶する。シフトレジスタ４、５ではシフト演算が行われてランダム誤り訂正用のシンドロームが計算される。ｎビットの受信ビットが入力された時点にシフトレジスタ４，５に記憶されている値がランダム誤り訂正用のシンドロームになる。
【００４９】
ｎビットの情報ビットが入力された後に１回ごとにシフトレジスタ４、５のシフト計算を行う。シフトレジスタ４，５のシフト計算の部分では１回のシフトで、３ビット分のフィードバックおよびシフト操作を行う。この時それぞれのステップごとに線形変換手段６においてランダム誤りのシンドロームについて変換を行い、バースト誤りのシンドロームについて（ｎ−ｋ−ｂ）ビットシフトした値にする。また、シフト演算手段１６において１回シフトさせた値を計算させた値を生成する。また、シフト演算手段１６を２段に重ねることにより、２ビットシフトさせた値を生成する。
【００５０】
バースト誤り検出手段１７において、線形変換手段６において変換された値について、実施の形態２に述べた方法を用いて、ｂ種類の零判定手段によりバースト誤りが検出された時は、ゲート回路１５を接続して、上位ｂビット目の値を出力して、ＸＯＲ回路１２により訂正を行う。また、バースト誤り検出手段１７において検出対象となっているレジスタの中身が全て０になっていない場合については、ゲート回路１５を切断して０を出力させて、記憶手段９に記憶されている受信ビットの内容をそのまま出力する。
【００５１】
上記のような構成にすることにより、受信ビットの先頭ビットから順にバースト誤り訂正が行え、しかも複数ビット同時に誤り検出できるようになり、高速に復号できる効果がある。
【００５２】
実施の形態４．
図４はこの発明の実施の形態４による誤り訂正復号装置の構成を示すブロック図である。図において２０はランダム誤りのシンドロームを生成して、ランダム誤りを検出するランダム誤り検出手段、２１はランダム誤りパターンを記憶するための記憶手段、２２はランダム誤りが検出されたときにフラグを立てて記憶させるランダム誤り検出フラグ記憶手段である。
【００５３】
２３はランダム誤りのシンドロームから線形変換手段６によりバースト誤りのシンドロームを（ｎ−ｋ−ｂ）ビットシフトした値からバースト誤りを検出するバースト誤り検出手段、２４はバースト誤りパターンを記憶するための記憶手段、２５はランダム誤りが検出されたときにフラグを立てて記憶させるバースト誤り検出フラグ記憶手段、２６はランダム訂りパターンとバースト誤りパターンを選択するセレクタである。
【００５４】
次に、動作について説明する。まず、ｎビットの受信ビット系列がゲート回路１を通過して、記憶手段９およびランダム誤り検出手段２０に入力される。記憶手段９では受信ビットを記憶する。ランダム誤り検出手段２０ではランダム誤り訂正用のシンドロームが計算されて、その値からランダム誤り訂正のための誤り位置多項式の係数が計算される。誤り位置多項式の係数から、先頭ビットから順にチェックを行い誤りパターンを生成し記憶手段２１にランダム誤りパターンを記憶させる。また、ランダム誤りが検出されたときはランダム誤り検出フラグ記憶手段２２においてフラグを立てる。ランダム誤りが検出されずに訂正不可能な場合にはランダム誤り検出フラグ記憶手段２２においてフラグを立てないようにする。
【００５５】
ランダム誤り検出手段２０において計算された、ランダム誤りのシンドロームについては線形変換手段６によってバースト誤り訂正用のシンドロームについて（ｎ−ｋ−ｂ）回シフトしたものが生成され、バースト誤り検出手段２３に入力される。バースト誤り検出手段２３では、実施の形態２で述べた方法に従って、先頭ビットから順にバースト誤りパターンが生成され記憶手段２４にバースト誤りパターンを記憶させる。また、バースト誤りが検出された時はバースト誤り検出フラグ記憶手段２５においてフラグを立てる。バースト誤りが検出されずに訂正不可能な場合にはバースト誤り検出フラグ記憶手段２５においてフラグを立てないようにする。
【００５６】
ｎビット全てのビットに対してランダム誤りとバースト誤りの誤りパターンが生成されると、ゲート回路１０および１１を接続して、記憶手段９に記憶されている受信ビットと記憶手段２１，２４に記憶されている誤りパターンが読み出されて、ＸＯＲ回路１２によって誤り訂正を行われる。
【００５７】
このとき、ランダム誤り検出フラグ記憶手段２２およびバースト誤り検出フラグ記憶手段２５の一方のフラグが立っている時はセレクタ２６において、フラグが立っている方の誤りパターンを出力させる。また、両方のフラグが立っている時は、セレクタ２６において、予め定められている方の誤りパターンを出力させる。さらに両方のフラグが立っていない時は、セレクタ２６において０を出力して受信ビットをそのまま出力して誤り検出に止める。
【００５８】
上記のような構成にすることにより、ランダム誤りとバースト誤りが同時に実行でき、それぞれの誤り検出状況に応じて復号の方式を変えることができるために、復号性能の向上を図る効果がある。
【００５９】
実施の形態５．
図５はこの発明の実施の形態５による誤り訂正復号装置の構成を示すブロック図である。図において、２７はランダム誤り検出手段２０で検出された誤りビットの信頼度情報の総和を計算し記憶するランダム誤りビット信頼度情報計算手段、２８はバースト誤り検出手段２３で検出されたの誤りビットの信頼度情報の総和を計算し記憶するバースト誤りビット信頼度情報計算手段である。
【００６０】
次に、動作について説明する。まず、ｎビットの受信ビット系列がゲート回路１を通過して、記憶手段９およびランダム誤り検出手段２０に入力される。記憶手段９では受信ビットを記憶する。ランダム誤り検出手段２０ではランダム誤り訂正用のシンドロームが計算されて、その値からランダム誤り訂正のための誤り位置多項式の係数が計算される。誤り位置多項式の係数から、先頭ビットから順にチェックを行い誤りパターンを生成し記憶手段２１にランダム誤りパターンを記憶させる。また、ランダム誤りが検出された時はランダム誤りビット信頼度情報計算手段２７において、誤りのあるビットの信頼度情報について加算を行った結果を記憶させる。
【００６１】
ランダム誤り検出手段２０において計算された、ランダム誤りのシンドロームについては線形変換手段６によってバースト誤り訂正用のシンドロームについて（ｎ−ｋ−ｂ）回シフトしたものが生成され、バースト誤り検出手段２３に入力される。バースト誤り検出手段２３では、実施の形態２で述べた方法に従って、先頭ビットから順にバースト誤りパターンが生成され記憶手段２４にバースト誤りパターンを記憶させる。また、バースト誤りが検出された時はバースト誤りビット信頼度情報計算手段２８において、誤りのあるビットの信頼度情報について加算を行った結果を記憶させる。
【００６２】
ｎビット全てのビットに対してランダム誤りとバースト誤りの誤りパターンが生成されると、ゲート回路１０および１１を接続して、記憶手段９に記憶されている受信ビットと記憶手段２１，２４に記憶されている誤りパターンが読み出されて、ＸＯＲ回路１２によって誤り訂正を行われる。
【００６３】
このとき、ランダム誤りあるいはバースト誤りの一方が検出されている場合はセレクタ２６において、誤り検出されている方の誤りパターンを出力させる。また、ランダム誤りおよびバースト誤りの両方が検出されている場合は、セレクタ２６において、予め定められている方の誤りパターンを出力させる。ランダム誤りとバースト誤りの両方が検出された時は、セレクタ２６において、ランダム誤りビット信頼度情報計算手段２７とバースト誤りビット信頼度情報計算手段２８に記憶されている値のうち、小さい方の誤りパターンを出力させる。またランダムとバースト誤りの両方の検出ができなかった時は、セレクタ２６において０を出力して受信ビットをそのまま出力して誤り検出に止める。
【００６４】
上記のような構成にすることにより、ランダム誤りとバースト誤りが同時に実行でき、復号結果として信頼度の高い方式を選択できるために、復号性能の向上を図る効果がある。
【００６５】
実施の形態６．
図６はこの発明の実施の形態６による誤り訂正復号装置の構成を示すブロック図である。図において２９はランダム誤りとバースト誤りの誤り検出信号について、最初に検出された方をセレクタ２６の選択信号として出力する選択信号生成手段である。
【００６６】
次に、動作について説明する。まず、ｎビットの受信ビット系列がゲート回路１を通過して、記憶手段９およびランダム誤り検出手段２０に入力される。記憶手段９では受信ビットを記憶する。ランダム誤り検出手段２０ではランダム誤り訂正用のシンドロームが計算されて、その値からランダム誤り訂正のための誤り位置多項式の係数が計算される。誤り位置多項式の係数から、先頭ビットから順にチェックを行い誤りパターンを順に出力させる。また、ランダム誤りが検出された時は誤りパターンが出力されるのと同じタイミングで検出信号を出力させる。
【００６７】
ランダム誤り検出手段２０において計算されたランダム誤りのシンドロームについては線形変換手段６によってバースト誤り訂正用のシンドロームについて（ｎ−ｋ−ｂ）回シフトしたものが生成され、バースト誤り検出手段２３に入力される。バースト誤り検出手段２３では、実施の形態２で述べた方法に従って、先頭ビットから順にバースト誤りパターンが生成され順に出力される。また、バースト誤りが検出されたときは誤りパターンが出力されるのと同じタイミングで検出信号を出力させる。
【００６８】
ｎビットの受信ビットが全て入力されると、ゲート回路１０および１１を接続して、記憶手段９に記憶されている受信ビットが読み出される。また、出力されるランダム誤りパターンあるいはバースト誤りパターンと、ＸＯＲ回路１２によって誤り訂正が行われる。
【００６９】
このとき、選択信号生成手段２９において、ランダム誤りがバースト誤りよりも先に検出された時はランダム誤りパターンを出力させる選択信号を生成し、バースト誤りがランダム誤りよりも先に検出された時はバースト誤りパターンを出力させる選択信号を生成し、セレクタ２６において誤りパターンの選択を行う。また、同時に検出された場合は、予め定められた方式を選択するようにする。
【００７０】
上記のような構成にすることにより、ランダム誤り訂正とバースト誤り訂正について最初に誤り検出されたほうを選択するために、高速に復号できる効果がある。
【００７１】
【発明の効果】
以上のようにこの発明によれば、ランダム誤りのシンドロームを線形変換することによりバースト誤り訂正を行うためのシンドロームを（ｎ−ｋ−ｂ）ビットあらかじめシフトした値を生成するようにしたので、受信ビットの先頭ビットから順にバースト誤り訂正が行えるようになり、チェックビットまで誤り訂正を行う必要がある場合には、復号処理のステップ数を削減でき高速に復号できる。
【００７２】
また、バースト誤りのシンドロームから（ｎ−ｋ−ｂ）ビットシフトした値を生成し、バースト誤りのチェックとしてｂ種類の誤り検査を行い、このうち１種類でも条件を満たしているときに誤りを検出するようにしたので、受信ビットの先頭ビットから順にバースト誤り訂正が行えるようになり、先頭ビットとチェックビットの後ろに誤りが存在するような場合についても、誤りパターンを記憶するための記憶手段を用いることなく誤り訂正が行えて、高速に復号でき、かつ回路規模を削減できる。
【００７３】
また、複数ビットシフトした値を組み合わせ回路により得て、複数ビットの誤りパターンを検出するようにしたので、受信ビットの先頭ビットから順にバースト誤り訂正が行え、しかも複数ビットを同時に誤り検出できるようになり、高速に復号できる。
【００７４】
また、ランダム誤りとバースト誤りの双方で誤り検出を行い、一方で誤り検出された場合は誤り検出された方法で復号を行い、両方で誤り検出された場合はあらかじめ定められた方法で復号を行うようにしたので、ランダム誤りとバースト誤りが同時に実行でき、それぞれの誤り検出状況に応じて復号の方式を変えることができるために、復号性能の向上を図ることができる。
【００７５】
また、ランダム誤りとバースト誤りの双方で誤り検出を行い、一方で誤り検出された場合は誤り検出された方法で復号を行い、両方で誤り検出された場合は誤りビットの信頼度の低い方の方法で復号を行うようにしたので、ランダム誤りとバースト誤りが同時に実行でき、復号結果として信頼度の高い方式を選択できるために、復号性能の向上を図ることができる。
【００７６】
また、ランダム誤りとバースト誤りの双方で誤り検出を行い、先に誤り検出された方法で復号を行うようにしたので、ランダム誤り訂正とバースト誤り訂正について最初に誤り検出された方を選択するために、高速に復号できる。
【図面の簡単な説明】
【図１】この発明の実施の形態１による誤り訂正復号装置の構成を示すブロック図である。
【図２】この発明の実施の形態２による誤り訂正復号装置の構成を示すブロック図である。
【図３】この発明の実施の形態３による誤り訂正復号装置の構成を示すブロック図である。
【図４】この発明の実施の形態４による誤り訂正復号装置の構成を示すブロック図である。
【図５】この発明の実施の形態５による誤り訂正復号装置の構成を示すブロック図である。
【図６】この発明の実施の形態６による誤り訂正復号装置の構成を示すブロック図である。
【図７】従来のバースト誤り訂正を行うための誤り訂正復号装置の構成を示すブロック図である。
【符号の説明】
１，１０，１１，１５  ゲート回路、２，３，１２  ＸＯＲ回路、４，５，７シフトレジスタ、６  線形変換手段、７  シフトレジスタ、８，１４−１〜１４−ｂ  零判定手段、９，１３，２１，２４  記憶手段、１６  シフト演算手段、１７  バースト誤り検出手段、１８  シリアル／パラレル変換手段、１９  パラレル／シリアル変換手段、２０  ランダム誤り検出手段、２２  ランダム誤り検出フラグ記憶手段、２３  バースト誤り検出手段、２５  バースト誤り検出フラグ記憶手段、２６  セレクタ、２７  ランダム誤りビット信頼度情報計算手段、２８  バースト誤りビット信頼度情報計算手段、２９  選択信号生成手段。
【図１】
0003595271.tif 000002
【図２】
0003595271.tif 000003
【図３】
0003595271.tif 000004
【図４】
0003595271.tif 000005
【図５】
0003595271.tif 000006
【図６】
0003595271.tif 000007
【図７】
0003595271.tif 000008