(57)【要約】誤り検出符号化処理によりパリティビットを作成し、該パリティビットを入力データ列に付加して符号化する誤り検出符号化装置および該パリティビットを用いて誤りを検出する該パリティビットを誤り検出復号装置である。データ分割手段は誤り検出符号化対象の入力データ列を複数に分割し、除算手段は分割したサブデータ列を誤り検出符号生成用の多項式で除算してその剰余を演算し、変換手段は剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施し、合成手段は変換処理により得られた各変換値を合成してパリティビットを出力する。符号器はこのパリティをデータ列に付加し、復号器は該パリティを用いて誤り検出を行う。
2003090362.tif 000002
【特許請求の範囲】
【請求項１】
誤り検出符号化処理によりパリティビットを作成し、該パリティビットを入力データ列に付加して符号化する誤り検出符号化装置において、
入力データ列を複数に分割するデータ分割手段、
分割したサブデータ列を生成多項式で除算してその剰余（第１の剰余）を演算する除算手段、
前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換手段、
前記変換処理により得られた各変換値を合成してパリティビットを出力する合成手段、
を備えたことを特徴とする誤り検出符号化装置。
【請求項２】
前記サブデータの末尾に”０”を１個付加したデータ列を前記生成多項式で除算したときの剰余を第２の剰余とし、前記第１の剰余を第２の剰余に変換するための変換行列をＡとするとき、前記サブデータの分割位置がＳビット目であれば、前記変換手段は行列ＡＳと第１の剰余を乗算することにより前記変換処理を実行する、
ことを特徴とする請求項１記載の誤り検出符号化装置。
【請求項３】
行列ＡをＳ回乗算して得られる変換行列ＡＳをハードウェアで構成し、第１の剰余を該ハードウェアに入力して前記変換処理を実行する、
ことを特徴とする請求項２記載の誤り検出符号化装置。
【請求項４】
前記データ分割手段は、前記各サブデータ列のビット長が等しくなるように入力データ列を分割し、各サブデータ列を高次側より１ビットづつ前記除算手段に入力する、
ことを特徴とする請求項１記載の誤り検出符号化装置。
【請求項５】
前記データ分割手段は、サブデータ列のビット長が設定長となるように入力データ列を分割し、各サブデータ列を高次側より１ビットづつ前記除算手段に入力する、
ことを特徴とする請求項１記載の誤り検出符号化装置。
【請求項６】
前記データ分割手段は、ビット長が前記設定長に満たないサブデータ列の高次側に前記満たない分“０”を付加し、高次側よりサブデータ列を１ビットづつ前記除算手段に入力する、
ことを特徴とする請求項５記載の誤り検出符号化装置。
【請求項７】
パリティビットが付加された入力データ列に誤り検出処理を施して入力データ列の誤りを検出する誤り検出復号装置において、
入力データ列を複数に分割するデータ分割手段、
分割したサブデータ列を生成多項式で除算してその剰余（第１の剰余）を演算する除算手段、
前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換手段、
前記変換処理により得られた各変換値を合成してパリティビットを出力する合成手段、
該パリティビットと入力データに付加されているパリティビットが一致しているか否かにより入力データの誤りの有無を検出する誤り検出部、
を備えたことを特徴とする誤り検出復号装置。
【請求項８】
前記サブデータの末尾に”０”を１個付加したデータ列を前記生成多項式で除算したときの剰余を第２の剰余とし、前記第１の剰余を第２の剰余に変換するための変換行列をＡとするとき、前記サブデータの分割位置がＳビット目であれば、前記変換手段は行列ＡＳと第１の剰余を乗算することにより前記変換処理を実行する、
ことを特徴とする請求項７記載の誤り検出復号装置。
【請求項９】
行列ＡをＳ回乗算して得られる変換行列ＡＳをハードウェアで構成し、第１の剰余を該ハードウェアに入力して前記変換処理を実行する、
ことを特徴とする請求項８記載の誤り検出復号装置。
【請求項１０】
前記データ分割手段は、前記各サブデータ列のビット長が等しくなるように入力データ列を分割し、各サブデータ列を高次側より１ビットづつ前記除算手段に入力する、
ことを特徴とする請求項７記載の誤り検出復号装置。
【請求項１１】
前記データ分割手段は、サブデータ列のビット長が設定長となるように入力データ列を分割し、各サブデータ列を高次側より１ビットづつ前記除算手段に入力する、
ことを特徴とする請求項７記載の誤り検出復号装置。
【請求項１２】
前記データ分割手段は、ビット長が前記設定長に満たないサブデータ列の高次側に前記満たない分“０”を付加し、高次側よりサブデータ列を１ビットづつ前記除算手段に入力する、
ことを特徴とする請求項１１記載の誤り検出復号装置。
【請求項１３】
前記変換処理により得られた各変換値を保存する保存手段を備え、
誤りのために再入力されたサブデータのみ再度剰余を計算し、該剰余の変換結果と保存されている他のサブデータの変換結果を合成してパリティビットを出力する、
ことを特徴とする請求項７記載の誤り検出復号装置。
【請求項１４】
パリティビットが付加された入力データ列に誤り検出処理を施して入力データ列の誤りを検出する誤り検出復号装置において、
パリティビットを含めて入力データ列を複数に分割するデータ分割手段、
分割したサブデータ列を生成多項式で除算してその剰余（第１の剰余）を演算する除算手段、
前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換手段、
前記変換処理により得られた各変換値を合成する合成部、
合成結果が全ビット“０”であるか否かにより入力データの誤りの有無を検出する誤り検出部、
を備えたことを特徴とする誤り検出復号装置。
【請求項１５】
前記サブデータの末尾に”０”を１個付加したデータ列を前記生成多項式で除算したときの剰余を第２の剰余とし、前記第１の剰余を第２の剰余に変換するための変換行列をＡとするとき、前記サブデータの分割位置がＳビット目であれば、前記変換手段は行列ＡＳと第１の剰余を乗算することにより前記変換処理を実行する、
ことを特徴とする請求項１４記載の誤り検出復号装置。
【請求項１６】
行列ＡをＳ回乗算して得られる変換行列ＡＳをハードウェアで構成し、第１の剰余を該ハードウェアに入力して前記変換処理を実行する、
ことを特徴とする請求項１５記載の誤り検出復号装置。
【請求項１７】
前記データ分割手段は、前記各サブデータ列のビット長が等しくなるように入力データ列を分割し、各サブデータ列を高次側より１ビットづつ前記除算手段に入力する、
ことを特徴とする請求項１４記載の誤り検出復号装置。
【請求項１８】
前記データ分割手段は、サブデータ列のビット長が設定長となるように入力データ列を分割し、各サブデータ列を高次側より１ビットづつ前記除算手段に入力する、
ことを特徴とする請求項１４記載の誤り検出復号装置。
【請求項１９】
前記データ分割手段は、ビット長が前記設定長に満たないサブデータ列の高次側に前記満たない分“０”を付加し、高次側よりサブデータ列を１ビットづつ前記除算手段に入力する、
ことを特徴とする請求項１８記載の誤り検出復号装置。
【請求項２０】
前記変換処理により得られた各変換値を保存する保存手段を備え、
誤りのために再入力されたサブデータのみ再度剰余を計算し、該剰余の変換結果と保存されている他のサブデータの変換結果を合成し、合成結果が全ビット“０”であるか否かにより入力データの誤りの有無を検出する、
ことを特徴とする請求項１４記載の誤り検出復号装置。
【請求項２１】
パリティビットが付加された入力データ列に誤り検出処理を施して入力データ列の誤りを検出する誤り検出復号装置において、
所定の生成多項式を用いて生成された第１のパリティビットが付加されたデータ列を複数に分割し、かつ、分割により得られたサブデータ列毎に前記生成多項式を用いて生成された第２のパリティビットを該サブデータ列に付加してなるデータ列が入力したとき、該入力データ列を第２のパリティを含む前記サブデータ列毎に分割するデータ分割手段、
前記サブデータ列を前記生成多項式で除算し、その剰余をパリティビットとして出力し、該パリティビットと前記サブデータに付加されている第２のパリティビットとを比較してサブデータの誤りを検出する第１の誤り検出部、
前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換手段、
前記変換処理により得られた各変換値を合成し、合成結果が全ビット“０”であるか否かにより入力データの誤りの有無を検出する第２の誤り検出部、
を備えたことを特徴とするの誤り検出復号装置。
【請求項２２】
Ｋビットの入力データ列を第１の多項式と見立てて第２の多項式で除算してその剰余を演算する除算装置において、
入力データ列を複数に分割するデータ分割手段、
分割したサブデータ列毎に、サブデータ列の情報ビットを多項式と見立てて前記第２の多項式で除算してその剰余を演算する除算手段、
前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換手段、
前記変換処理により得られた各変換値を合成し、合成結果をＫビットの入力データ列を前記第２の多項式で除算したときの剰余とする合成部、
を備えたことを特徴とする除算装置。
【発明の詳細な説明】
技術分野
本発明は、誤り検出符号化及び復号装置並びに除算装置に係わり、特に、入力データ列の誤り検出用パリティビットを生成して該データ列に付加する誤り検出符号化装置およびパリティビットが付加された入力データ列に誤り検出処理を施して入力データ列の誤りを検出する誤り検出復号装置並びにこれら誤り検出符号化及び復号装置に使用できる除算装置に関する。
背景技術
誤り検出符号は、移動通信、ＦＡＸ、銀行のキャッシュディスペンサ等、データ通信を行う際にデータを誤りなく伝送することが要求されるシステムに、あるいは、磁気ディスク、ＣＤなどの大容量データ保存を行う際にデータを誤りなく読み出すことが要求されるシステムに適用される。また、誤り検出符号は、通常、誤り訂正符号と併用され、誤り訂正で完全に訂正できなかった誤りの検出を行うためのもので、誤りを検出すれば再送制御や再読み出し制御などが行われる。
・誤り検出を適用したシステム
図４２は誤り検出を適用したシステムの構成例である。送信側１において、誤り検出符号化部１ｂは、情報生成部１ａが生成した所定ビット長のデータ列に誤り検出符号化処理を施し、誤り訂正符号化部１ｃは畳み込み符号化あるいはターボ符号化処理などにより入力データ列を誤り訂正符号化して通信路２を介して受信側３に送信する。受信側３において、誤り訂正復号部３ａは入力した符号化データ列を誤り訂正復号処理により復号し、復号データ列を誤り検出復号部３ｂに入力する。誤り検出復号部３ｂは復号データ列に誤り検出復号処理を施して誤りの有無を検出し、誤りが有れば送信側に再送要求信号ＲＲＱを送出する。情報抽出部３ｃは誤りが無ければデータを抽出して出力する。以下、巡回符号による誤り検出であるＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）について説明する。
・ＣＲＣ
ＣＲＣは、簡単に言うと、送信側で、所定ビット長のデータ列を多項式に見立ててこれを誤り検出符号生成用の多項式（生成多項式）で除算し、余りが０となるように符号化する。受信側では、受信データ列を多項式に見立ててこれを送信側と同一の生成多項式で除算し、余りが０であれば誤り無し、余りが０でなければ誤り有りと判定する。
すなわち、送信側では、ｋビットの情報を多項式と見なしてＫ（ｘ）とし、該多項式Ｋ（ｘ）を生成多項式Ｇ（ｘ）で除算して剰余が０となるようにパリティビットを付加する。たとえば、生成多項式Ｇ（ｘ）を１６ビットとし、
2003090362.tif 000003
であれば、
2003090362.tif 000004
を符号語とする。ここでｘ１６Ｋ（ｘ）はｋビットのデータ列の低次側に１６ビットの”０”を付加したデータ列を意味する。
受信側では、この符号語Ｗ（ｘ）に誤りＥ（ｘ）が付加されたＷ’（ｘ）＝Ｗ（ｘ）＋Ｅ（ｘ）を受信すると、Ｗ’（ｘ）をＧ（ｘ）で除算し、その剰余が０であれば誤りなし、０以外であれば誤りありと検出する。具体的には、
2003090362.tif 000005
を演算し、割り切れるかどうかを検出する。
以下、３２ｂｉｔのオール“１”の信号を
2003090362.tif 000006
で誤り検出符号化、復号化を行う場合について示す。
・ＣＲＣ演算装置
図４３は生成多項式Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１とした場合のＣＲＣ演算装置の第１、第２の構成例である。
▲１▼第１のＣＲＣ演算装置
図４３（Ａ）は通常のＣＲＣ演算装置、すなわち、Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１としたときの除算器の例である。このＣＲＣ演算装置は、１６段のシフトレジスタＳＲと、０ビット位置、５ビット位置、１２ビット位置の入力側に設けられ、前段の出力データとフィードバックデータの排他的論理和演算を行う排他的論理和回路（Ｅｘｃｌｕｓｉｖｅ  ＯＲ回路）ＥＯＲ１〜ＥＯＲ３と、１５ビット位置の出力側に設けられたスイッチＳＷで構成されている。
スイッチＳＷをフィードバック側（Ａ側）に切り替えた状態でデータ列ｘ１６Ｋ（ｘ）を高次から１ビットづつＥＯＲ１に入力することで除算を行うことができる。すなわち、誤り検出符号化において、符号化する前のデータ列Ｋ（ｘ）を例えば３２ビットとすればｘ１６Ｋ（ｘ）は４８ビットになり、この４８ビットのデータ列を高次よりシフトレジスタＳＲを動作させながら入力する。４８ビット入力し終わったときのレジスタＳＲの中身が剰余Ｒ（ｘ）となるため、これをパリティビットとしてＫ（ｘ）の低次側に付加してＷ（ｘ）として出力する。
誤り検出復号に際して、Ｗ’（ｘ）が４８ビットであれば、図４３（Ａ）と同一構成のＣＲＣ演算装置のＥＯＲ１にシフトレジスタＳＲを動作させながら高次より４８ビットの信号を入力する。４８ビット入力し終わったときのレジスタＳＲの中身が剰余Ｒ（ｘ）となるため、これが全て“０”であれば誤り無しと判定し、１つでも“０”でなければ誤りありと判定する。
▲２▼第２のＣＲＣ演算装置
図４３（Ｂ）は、図４３（Ａ）のデータ入力位置を修正することで演算回数を少なくしたＣＲＣ演算装置（Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１としたときの除算器）であり、データ入力用のＥＯＲ１の位置が左端から右端に移動している。データ入力は図２（Ａ）の場合と同様に、データ列の高次側から１ビットづつＥＯＲ１に入力することで除算を行う。図２（Ａ）と比べてＥＯＲ１の位置を左端から右端に移動させただけだが、これは入力データ列にｘ１６を乗算しながら入力しているのに等しい。すなわち、シフトレジスタＳＲを動作させながら高次より３２ビットのデータ列Ｋ（ｘ）をＥＯＲ１に入力すれば、３２ビットのデータ列Ｋ（ｘ）を入力し終わったときのレジスタＳＲの中身が剰余Ｒ（ｘ）となるため、該剰余Ｒ（ｘ）をパリティビット（１６ビット）としてＫ（ｘ）の低次側に付加してＷ（ｘ）として出力する。
誤り検出復号に際して、入力データ列Ｗ’（ｘ）がパリティビット付きの４８ビット（低次側の１６ビットがパリティビット）であれば、図４３（Ｂ）と同一構成のＣＲＣ演算装置のＥＯＲ１にシフトレジスタＳＲを動作させながら高次より３２ビットのデータ列を入力する。３２ビット入力し終わったときのレジスタＳＲの中身は剰余となるため、この剰余と残り１６ビットのパリティと比較し、完全一致であれば誤り無しと判定し、完全一致しない場合には誤りありと判定する。これにより、演算回数を３２回と少なくすることができる。
又、以下のように誤り検出復号を行うこともできる。すなわち、入力データ列Ｗ’（ｘ）がパリティビット付きの４８ビット（低次側の１６ビットがパリティビット）であれば、図４３（Ｂ）と同一構成のＣＲＣ演算装置のＥＯＲ１にシフトレジスタＳＲを動作させながら高次より４８ビットのデータ列を全て入力する。この場合、シフトレジスタＳＲの中身が全て“０”であれば誤り無しと判定し、全て“０”でなければ、誤りありと判定する。なお、この誤り検出復号方式におけるレジスタＳＲの中身は剰余でなく、一致検出の結果を示している。
・符号器の従来例
図４３（Ｂ）のＣＲＣ演算装置において、初期状態時、シフトレジスタＳＲの値を全て”０”にする。スイッチＳＷをＡ側にして１ビットづつデータ列Ｋ（ｘ）をＥＯＲ１に順次入力する。全てのデータ列を入力し終わったときのレジスタ値Ｒ（ｘ）がＧ（ｘ）の剰余、すなわち余りとなる。ここでスイッチＳＷをＢ側に倒してレジスタＳＲの値Ｒ（ｘ）を出力することでパリティビットを得ることができる。
３２ビットのオール”１”のデータ列Ｋ（ｘ）を生成多項式Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１でＣＲＣ符号化する例を示す。３２ビット入力し終えたときのシフトレジスタＳＲの値Ｒ（ｘ）をパリティビットとする。この場合、Ｋ（ｘ）、ｘ１６Ｋ（ｘ）、Ｒ（ｘ）、Ｗ（ｘ）以下に示すようになる。
2003090362.tif 000007
図４４はデータ列ｘ１６Ｋ（ｘ）における高次側３２ビットのオール”１”のデータ列を１クロックで１ビットづつ図４３（Ｂ）のＥＯＲ１に入力したときのレジスタＳＲの内容を示すもので、３２ビット入力し終えたときのシフトレジスタＳＲの値Ｒ（ｘ）がパリティビットになる。
・復号器の第１従来例（一致検出復号方法）
図４３（Ｂ）のＣＲＣ演算装置において、初期状態時、レジスタＳＲの値を全て”０”にする。スイッチＳＷをＡ側にして入力データ列Ｗ（ｘ）’のうちパリティビットを除いた情報ビットのみを順次入力する。情報ビットのみを入力し終わったときのレジスタＳＲの値と、入力データ列の残りのビットであるパリティビットとの一致検出を行う。一致であれば誤りなし、一致しなければ誤りありと判定する。
図４５は、３２ｂｉｔのオール”１”のデータ列に１６ｂｉｔのパリティビットが付加された符号化データを、１クロックで１ビットづつ高次側より図４３（Ｂ）のＥＯＲ１に入力したときのレジスタＳＲの内容を示すものである。符号化データを３２ビット入力し終えたときのシフトレジスタＳＲの値Ｒ１と入力データ列の残り１６ビット（パリティビット）Ｐ１とが一致しているかにより誤り検出を行う。以上のように、演算されたパリティと入力データ列に付加されているパリティとが一致しているか否かにより、誤り検出する復号方法を一致検出復号方法という。
・復号器の第２従来例（オール”０”検出復号方法）
図４３（Ｂ）のＣＲＣ演算装置において、初期状態時、レジスタＳＲの値を全て”０”にする。スイッチＳＷをＡ側にして入力データ列Ｗ（ｘ）’の情報ビットを順次入力し、続いてパリティビットを入力する。パリティビットを入力し終わったときのレジスタＳＲの値が全て０であるか否かをチェックし、全て０であれば誤りなし、一つでも１があれば誤りありと判定する。
図４６は、３２ｂｉｔのオール”１”のデータ列に１６ｂｉｔのパリティビットが付加された符号化データを、１クロックで１ビットづつ高次側より図４３（Ｂ）のＥＯＲ１に入力したときのレジスタＳＲの内容を示すものである。符号化データ３２ビット及びパリティ１６ビットを入力し終えたときのシフトレジスタＳＲの値が全て０であるか否かをチェックし、全て０であれば誤りなし、一つでも１があれば誤りありと判定する。以上のように、全て”０”であれば誤りなし、一つでも”１”があれば誤り有りと判定する復号方法をオール”０”検出復号方法という。
図４４〜図４６に示すようにＣＲＣ演算では、少なくとも情報ビット長の演算が必要となる。すなわち、図４４〜図４６の誤り検出符号器及び復号器では、少なくとも３２クロック必要になる。ところで、第４世代（新世代）の移動通信システムは総務省によれば、最大情報レートを１００Ｍｂｐｓ以上（無線ＬＡＮは１Ｇｂｐｓ以上）にすると言われている。情報レート１００Ｍｂｐｓの信号の場合、ＣＲＣ演算するには１００ＭＨｚのクロックが必要になる。この場合でもＣＲＣ誤り検出だけで１パケット長遅延することになる。これに更に再送制御を考慮すると再送信号要求生成に時間を要するため、データ伝送速度の著しい低下につながる。
又、ＣＲＣ演算を低速クロック、例えば２５ＭＨｚとすればＣＲＣ演算器が４つ必要になる。ＣＲＣ演算器はもともと小規模なのでハードウェア規模は問題にならないが、演算遅延が４パケット長になるため、再送まで考えるとデータ伝送速度が大きく低下する。図４７にかかる場合における受信側のタイムチャートを示す。パケット＃１を受信してそれがＮＧであった場合に、再送要求するのはパケット＃７以降になることがわかる。なお、ＣＲＣ演算が高速に行われていればそれ以前に再送要求を行うことができる。
又、情報レート１Ｇｂｐｓであれば、１００Ｍｂｐｓのクロックで動作するＣＲＣ演算回路を１０個使用したとしても、ＣＲＣ演算による遅延は１０パケット長となり、再送制御は現実的でない。
以上より本発明の目的は、ＣＲＣ演算に要する時間を短縮することである。
本発明の別の目的は、再送制御する場合でもパケットの遅延時間を短くすることである。
発明の開示
本発明の第１は、誤り検出符号化処理によりパリティビットを作成し、該パリティビットを入力データ列に付加して符号化する誤り検出符号化装置である。この誤り検出符号化装置において、データ分割手段は誤り検出符号化対象の入力データ列を複数に分割し、除算手段は分割したサブデータ列を生成多項式で除算してその剰余を演算し、変換手段は前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施し、合成手段は前記変換処理により得られた各変換値を合成してパリティビットを出力する。本発明の誤り検出符号化処理によれば、データ分割手段によりデータ列をｎ分割するものとすれば、ＣＲＣ演算（パリティビット演算）に要する時間を略１／ｎに短縮することができる。
本発明の第２、第３は、パリティビットが付加された入力データ列に誤り検出処理を施して入力データ列の誤りを検出する誤り検出復号装置である。
第２の発明の誤り検出復号装置において、データ分割手段は入力データ列を複数に分割し、除算手段は分割したサブデータ列を生成多項式で除算してその剰余を演算し、変換手段は前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施し、合成手段は前記変換処理により得られた各変換値を合成してパリティビットを出力し、誤り検出部は該パリティビットと入力データに付加されているパリティビットが一致しているか否かにより入力データの誤りの有無を検出する。
第３の発明の誤り検出復号装置において、データ分割手段はパリティビットを含めて入力データ列を複数に分割し、除算手段は分割したサブデータ列を所定の生成多項式で除算してその剰余を演算し、変換手段は前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施し、合成部は前記変換処理により得られた各変換値を合成し、誤り検出部は合成結果が全ビット“０”であるか否かにより入力データの誤りの有無を検出する。
第２、第３の誤り検出復号装置によれば、データ分割手段によりデータ列をｎ分割するものとすれば、ＣＲＣ演算（パリティビット演算）に要する時間を略１／ｎに短縮することができ、誤り検出を短時間で行うことができる。又、再送制御する場合でもパケットの遅延時間を短くすることができる。
第４の発明は、Ｋビットの入力データ列を第１の多項式と見立てて第２の多項式で除算してその剰余を演算する除算装置である。この除算装置において、データ分割手段は入力データ列を複数に分割し、除算手段は分割したサブデータ列毎に、サブデータ列の情報ビットを多項式と見立てて前記第２の多項式で除算してその剰余を演算し、変換手段は前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施し、合成部は前記変換処理により得られた各変換値を合成し、合成結果をＫビットの入力データ列を前記第２の多項式で除算したときの剰余とする。この除算装置によれば、データ分割手段によりデータ列をｎ分割するものとすれば除算時間を、略１／ｎに短縮することができる。
発明を実施するための最良の形態
（Ａ）本発明の概略
（ａ）本発明の原理
受信語Ｗ’（ｘ）を生成多項式Ｇ（ｘ）（＝ｘ１６＋ｘ１２＋ｘ５＋１）で除算したときの剰余すなわちパリティビットは以下のように求めることができる。受信語Ｗ’（ｘ）を３２ｂｉｔとし、例えば、８ｂｉｔづつ
2003090362.tif 000008
に分割し、該受信語Ｗ’（ｘ）をＧ（ｘ）で除算する。除算式を
2003090362.tif 000009
と表現し、
2003090362.tif 000010
を演算し、それぞれの剰余を順に
2003090362.tif 000011
とする。次に
▲１▼ＲＡ（ｘ）からｘ２４Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）を演算し、
▲２▼ＲＢ（ｘ）からｘ１６Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）を演算し、
▲３▼ＲＣ（ｘ）からｘ８Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）を演算し、
▲４▼ＲＤ（ｘ）＝ＲＤ’（ｘ）とする。
ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ’（ｘ）が求まれば次式
2003090362.tif 000012
により、受信語Ｗ’（ｘ）を生成多項式Ｇ（ｘ）で除算したときの剰余すなわちパリティビットが求まる。
ＲＡ（ｘ）（＝Ａ（ｘ）／Ｇ（ｘ））からＲＡ’（ｘ）の演算は以下のようにして行う。ＲＡ’（ｘ）はｘ２４Ａ（ｘ）／Ｇ（ｘ）の剰余であり、ｘ２４Ａ（ｘ）のｘ２３次以下の係数は０である。従って、ＲＡ（ｘ）（＝Ａ（ｘ）／Ｇ（ｘ））からＲＡ’（ｘ）の変換は、まず、図４３（Ｂ）のＣＲＣ演算装置にＡ（ｘ）を入力してＲＡ（ｘ）を演算し（ＲＡ（ｘ）はシフトレジスタＳＲに記憶される）、ついで、ＣＲＣ演算装置の入力を２４ビットオール”０”としてシフトレジスタＳＲを２４回シフトすれば、該シフトレジスタの中身がＲＡ’（ｘ）となる。しかし、実際に２４回シフトするとそれだけ演算時間を要するため、後述するようにそれと等価な処理を行うことで演算時間を削減する。尚、以下ではＮビットの”０”入力によるシフトレジスタＳＲのシフト動作を単にＮビットシフトあるいはＮビットシフト処理という。
同様に、ＲＢ（ｘ）（＝Ｂ（ｘ）／Ｇ（ｘ））からＲＢ’（ｘ）の変換は、図４３（Ｂ）のＣＲＣ演算装置にＢ（ｘ）を入力してＲＢ（ｘ）を演算し（ＲＢ（ｘ）はシフトレジスタＳＲに記憶される）、ついで、シフトレジスタＳＲを１６ビットシフトすれば該シフトレジスタの中身がＲＢ’（ｘ）となる。
又、ＲＣ（ｘ）（＝Ｃ（ｘ）／Ｇ（ｘ））からＲＣ’（ｘ）の変換は、図４３（Ｂ）のＣＲＣ演算装置にＣ（ｘ）を入力してＲＣ（ｘ）を演算し（ＲＣ（ｘ）はシフトレジスタＳＲに記憶される）、ついで、シフトレジスタＳＲを８ビットシフトすれば該シフトレジスタの中身がＲＣ’（ｘ）となる。
（ｂ）誤り検出符号器
図１は誤り検出符号化対象が３２ビットのデータ列ｂ０〜ｂ３１とした場合の本発明の誤り検出符号器のブロック構成図である。入力データ分割部１１は、３２ビットの入力データ列ｂ０〜ｂ３１を８ビットづつのｂ０〜ｂ７、ｂ８〜ｂ１５、ｂ１６〜ｂ２３、ｂ２４〜ｂ３１に分割して
2003090362.tif 000013
とする。ただし、ｂ２４〜ｂ３１の８ビット情報で表現される多項式をＡ（ｘ）、ｂ１６〜ｂ２３の８ビット情報で表現される多項式をＢ（ｘ）、ｂ８〜ｂ１５の８ビット情報で表現される多項式をＣ（ｘ）、ｂ０〜ｂ７の８ビット情報で表現される多項式をＤ（ｘ）とする。
ＣＲＣ演算装置１２Ａ，１２Ｂ，１２Ｃ，１２Ｄはそれぞれ図４３（Ｂ）に示す構成を備え、Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１を生成多項式として
2003090362.tif 000014
の除算演算を実行し、それぞれの剰余
2003090362.tif 000015
を出力する。
２４ビットシフト装置１３Ａは剰余ＲＡ（ｘ）を２４ビットシフト処理してｘ２４Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）を演算し、１６ビットシフト装置１３Ｂは剰余ＲＢ（ｘ）を１６ビットシフト処理してｘ１６Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）を演算し、８ビットシフト装置１３Ｃは剰余ＲＣ（ｘ）を８ビットシフト処理してｘ８Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）を演算する。
合成部１４は、ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ’（ｘ）が求まれば次式
2003090362.tif 000016
により剰余を合成し（ビット毎の排他的論理和（ＥＸ−ＯＲ）演算し）、３２ビットの入力データ列を生成多項式Ｇ（ｘ）で除算したときの余り、すなわち、１６ビットのＣＲＣパリティビットを出力する。
図１の誤り検出符号化器によれば、ＣＲＣ演算（パリティビット演算）に要する時間を従来の１／４に短縮することができ、入力データ列をｎ分割するものとすれば、１／ｎに短縮することができる。
（ｃ）Ｎビットシフト装置
図２は、図４３（Ｂ）のＣＲＣ演算装置において、”０”を１個入力してシフトレジスタＳＲの内容を１ビットシフトするのと等価な１ビットシフト処理演算を行う１６×１６の行列説明図である。この行列の見方は、シフトレジスタＳＲにおけるシフト後の各ビットがシフト前のどのビットのＥＸ−ＯＲ演算により求まるかを示している。ＥＸ−ＯＲ演算の対象となるシフト前のビットは”１”が立っているビットである。例えば、シフト後の第５ビットは、シフト前の第４ビットと第１５ビットのＥＸ−ＯＲにより求まり、シフト後の第１２ビットはシフト前の第１１ビットと第１５ビットのＥＸ−ＯＲにより求まる。なお、シフト後の第０ビットは”１”が１つしか立っていないからシフト前の第１５ビットの値となる。同様に、シフト後の第１ビットはシフト前の第０ビット、シフト後の第２ビットはシフト前の第１ビット、．．．．の値となる。
従って、図２の１６×１６の１ビットシフト演算行列に、１６ビットのシフトレジスタＳＲの内容を１６×１の行列にして乗算すれば、１ビットシフト後のシフトレジスタＳＲの内容が１６×１の行列として求まる。ここで行列演算における加算は排他的論理和演算ＥＸ−ＯＲである。
１ビットシフト演算行列をＮ回乗算することによりＮビットシフトを実現できる。すなわち、１ビットシフト演算行列をＡと表現すれば、Ｎビットシフトを実現する演算行列はＡＮとなる。従って、２ビットシフト行列Ａ２（＝Ａ×Ａ）及び４ビットシフト行列Ａ４（＝Ａ２×Ａ２）は図３（Ａ），（Ｂ）に示すようになり、８ビットシフト行列Ａ８（＝Ａ４×Ａ４）及び１６ビットシフト行列Ａ１６（＝Ａ８×Ａ８）は図４（Ａ），（Ｂ）に示すようになる。又、２４ビットビットシフト行列Ａ２４（＝Ａ１６×Ａ８）は図５に示すようになり、３２ビットシフト行列Ａ３２（＝Ａ２４×Ａ８）及び４０ビットシフト行列Ａ４０（＝Ａ３２×Ａ８）は図６（Ａ），（Ｂ）に示すようになる。
以上から、図１の８ビットシフト装置１３Ｃは、ＣＲＣ演算装置１２Ｃから出力する１６ビットの剰余ＲＣ（ｘ）（１６×１の行列で表現する）を図４（Ａ）の右側の変換行列Ａ８に乗算する乗算回路により実現することができる。図７はＣＲＣ演算装置１２Ｃと８ビットシフト装置１３Ｃの接続構成図である。８ビットシフト装置１３Ｃは、変換行列Ａ８と剰余ＲＣ（ｘ）との乗算結果である１６ビットのＲＣ’（ｘ）を１６個のＥＯＲ回路を用いて出力する構成になっている。
又、図１の１６ビットシフト装置１３Ｂは、ＣＲＣ演算装置１２Ｂから出力する１６ビットの剰余ＲＢ（ｘ）（１６×１の行列で表現する）を図４（Ｂ）の右側の変換行列Ａ１６に乗算する乗算回路により実現することができる。図８はＣＲＣ演算装置１２Ｂと１６ビットシフト装置１３Ｂの接続構成図である。１６ビットシフト装置１３Ｂは、変換行列Ａ１６と剰余ＲＢ（ｘ）との乗算結果である１６ビットのＲＢ’（ｘ）を１６個のＥＯＲ回路を用いて出力する構成になっている。
同様に図１の２４ビットシフト装置１３Ａは、ＣＲＣ演算装置１２Ａから出力する１６ビットの剰余ＲＡ（ｘ）を１６×１の行列で表現し、これを図５の右側の変換行列Ａ２４に乗算する回路により構成することができる。図９はＣＲＣ演算装置１２Ａと２４ビットシフト装置１３Ａの接続構成図である。２４ビットシフト装置１３Ａは、図示しないが、図７、図８と同様に変換行列Ａ２４と剰余ＲＡ（ｘ）との乗算結果である１６ビットのＲＡ’（ｘ）を１６個のＥＯＲ回路を用いて出力する構成になっている。
図１０〜図１４は誤り検出符号器の各部動作説明図であり、入力データは３２ビットオール”１”であるとしている。
図１０（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置１２Ａ及び２４ビットシフト装置１３Ａの動作説明図であり、ＣＲＣ演算装置１２Ｂには高次側より８クロックで順次ｘ３１〜ｘ２４が入力し、ｘ２４の入力が完了したときのシフトレジスタＳＲの内容がＡ（ｘ）／Ｇ（ｘ）の剰余ＲＡ（ｘ）となる。２４ビットシフト装置１３Ａは変換行列Ａ２４と１６×１の行列ＲＡ（ｘ）を掛け合わせてｘ２４Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）を出力する。尚、図中のｘ＾ｍはｘｍを意味する。
図１１（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置１２Ｂ及び１６ビットシフト装置１３Ｂの動作説明図であり、ＣＲＣ演算装置１２Ｂには高次側より８クロックで順次ｘ２３〜ｘ１６が入力し、ｘ１６の入力が完了したときのシフトレジスタＳＲの内容がＢ（ｘ）／Ｇ（ｘ）の剰余ＲＢ（ｘ）となる。１６ビットシフト装置１３Ｂは変換行列Ａ１６と１６×１の行列ＲＢ（ｘ）を掛け合わせてｘ１６Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）を出力する。
図１２（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置１２Ｃ及び８ビットシフト装置１３Ｃの動作説明図であり、ＣＲＣ演算装置１２Ｃには高次側より８クロックで順次ｘ１５〜ｘ８が入力し、ｘ８の入力が完了したときのシフトレジスタＳＲの内容がＣ（ｘ）／Ｇ（ｘ）の剰余ＲＣ（ｘ）となる。８ビットシフト装置１３Ｃは変換行列Ａ８と１６×１の行列ＲＣ（ｘ）を掛け合わせてｘ８Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）を出力する。
図１３はＣＲＣ演算装置１２Ｄの動作説明図であり、ＣＲＣ演算装置１２Ｄには高次側より８クロックで順次ｘ７〜ｘ０が入力し、ｘ０の入力が完了したときのシフトレジスタＳＲの内容がＤ（ｘ）／Ｇ（ｘ）の剰余ＲＤ（ｘ）（＝ＲＤ’（ｘ））となる。
図１４は合成部１４の動作説明図である。合成部１４は上記演算された剰余ＲＡ’（ｘ）、ＲＢ’（ｘ）、ＲＣ’（ｘ）、ＲＤ（ｘ）のビット対応のＥＸ−ＯＲ演算を行って１６ビットのＣＲＣパリティを出力する。
（ｄ）誤り検出復号器
図１５は３２ビットの入力データの低次側に１６ビットのＣＲＣパリティビットが付加されている場合の本発明の誤り検出復号器のブロック構成図である。データ分割部２１は、ＣＲＣパリティビットを除いた３２ビットの入力データ列ｂ１６〜ｂ４７を８ビットづつのｂ１６〜ｂ２３、ｂ２４〜ｂ３１、ｂ３２〜ｂ３９、ｂ４０〜ｂ４７に分割して
2003090362.tif 000017
とする。なお、ｂ４０〜ｂ４７の８ビット情報で表現される多項式をＡ（ｘ）、ｂ３２〜ｂ３９の８ビット情報で表現される多項式をＢ（ｘ）、ｂ２４〜ｂ３１の８ビット情報で表現される多項式をＣ（ｘ）、ｂ１６〜ｂ２３の８ビット情報で表現される多項式をＤ（ｘ）とする。又、データ分割部２１はｂ０〜ｂ１５のＣＲＣパリティビットＰ（ｘ）を分離して出力する。
ＣＲＣ演算装置２２Ａ，２２Ｂ，２２Ｃ，２２Ｄはそれぞれ図４３（Ｂ）に示す構成を備え、Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１を生成多項式として
2003090362.tif 000018
の除算演算を実行し、それぞれの剰余
2003090362.tif 000019
を出力する。
２４ビットシフト装置２３Ａは剰余ＲＡ（ｘ）を２４ビットシフト処理してｘ２４Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）を演算し、１６ビットシフト装置２３Ｂは剰余ＲＢ（ｘ）を１６ビットシフト処理してｘ１６Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）を演算し、８ビットシフト装置２３Ｃは剰余ＲＣ（ｘ）を８ビットシフト処理してｘ８Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）を演算する。尚、各シフト装置２３Ａ〜２３は誤り検出符号化器と同様に構成することができる
合成部２４は、ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ’（ｘ）が求まれば次式
2003090362.tif 000020
により剰余を合成（ビット毎のＥＸ−ＯＲ演算）し、３２ビットの入力データ列を生成多項式Ｇ（ｘ）で除算したときの余り、すなわち、パリティビットＰ’（ｘ）を出力する。
比較部２５は算出された１６ビットのパリティビットＰ’（ｘ）と入力データに付加されている１６ビットのパリティビットＰ（ｘ）をビット対応に比較し、全て一致すれば誤り無しと判定し、１つでも一致しなければ誤りありと判定する。
図１６〜図２０は誤り検出復号器の各部動作説明図であり、４８ビットの入力データのうち低次側の１６ビットｘ０〜ｘ１５はＣＲＣパリティビットであり、高次側の３２ビットｘ１６〜ｘ４７はオール”１”であるとしている。
図１６（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置２２Ａ及び２４ビットシフト装置２３Ａの動作説明図であり、ＣＲＣ演算装置２２Ａには高次側より８クロックで順次ｘ４７〜ｘ４０が入力し、ｘ４０の入力が完了したときのシフトレジスタＳＲの内容がＡ（ｘ）／Ｇ（ｘ）の剰余ＲＡ（ｘ）となる。２４ビットシフト装置２３Ａは変換行列Ａ２４と１６×１の行列ＲＡ（ｘ）を掛け合わせてｘ２４Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）を出力する。
図１７（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置２２Ｂ及び１６ビットシフト装置２３Ｂの動作説明図であり、ＣＲＣ演算装置２２Ｂには高次側より８クロックで順次ｘ３９〜ｘ３２が入力し、ｘ３２の入力が完了したときのシフトレジスタＳＲの内容がＢ（ｘ）／Ｇ（ｘ）の剰余ＲＢ（ｘ）となる。１６ビットシフト装置２３Ｂは変換行列Ａ１６と１６×１の行列ＲＢ（ｘ）を掛け合わせてｘ１６Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）を出力する。
図１８（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置２２Ｃ及び８ビットシフト装置２３Ｃの動作説明図であり、ＣＲＣ演算装置２２Ｃには高次側より８クロックで順次ｘ３１〜ｘ２４が入力し、ｘ２４の入力が完了したときのシフトレジスタＳＲの内容がＣ（ｘ）／Ｇ（ｘ）の剰余ＲＣ（ｘ）となる。８ビットシフト装置２３Ｃは変換行列Ａ８と１６×１の行列ＲＣ（ｘ）を掛け合わせてｘ８Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）を出力する。
図１９はＣＲＣ演算装置２２Ｄの動作説明図であり、ＣＲＣ演算装置２２Ｄには高次側より８クロックで順次ｘ２３〜ｘ１７が入力し、ｘ１７の入力が完了したときのシフトレジスタＳＲの内容がＤ（ｘ）／Ｇ（ｘ）の剰余ＲＤ（ｘ）（＝ＲＤ’（ｘ））となる。
図２０は合成部２４の動作説明図である。合成部２４は上記演算された剰余ＲＡ’（ｘ）、ＲＢ’（ｘ）、ＲＣ’（ｘ）、ＲＤ（ｘ）のビット対応のＥＸ−ＯＲ演算を行って１６ビットのＣＲＣパリティＰ’（ｘ）を出力する。
本発明の誤り検出復号器によれば、誤り有無検出に要する時間を従来の１／４に短縮することができ、入力データ列を１／ｎに分割するものとすれば誤り有無検出に要する時間を１／ｎに短縮することができる。したがって、再送制御する場合でもパケットの遅延時間を短くすることができる。
（ｅ）誤り検出復号器の別の例
図２１は本発明の別の誤り検出復号器のブロック構成図である。データ分割部３１は、１６ビットのＣＲＣパリティを含む４８ビットの入力データ列ｂ０〜ｂ４７を８ビットづつのｂ０〜ｂ７、ｂ８〜ｂ１５、ｂ１６〜ｂ２３、ｂ２４〜ｂ３１、ｂ３２〜ｂ３９、ｂ４０〜ｂ４７に分割して
2003090362.tif 000021
とする。なお、ｂ４０〜ｂ４７の８ビット情報で表現される多項式をＡ（ｘ）、ｂ３２〜ｂ３９の８ビット情報で表現される多項式をＢ（ｘ）、ｂ２４〜ｂ３１の８ビット情報で表現される多項式をＣ（ｘ）、ｂ１６〜ｂ２３の８ビット情報で表現される多項式をＤ（ｘ）、ｂ８〜ｂ１５の８ビット情報で表現される多項式をＥ（ｘ）、ｂ０〜ｂ７の８ビット情報で表現される多項式をＦ（Ｘ）とする。
ＣＲＣ演算装置３２Ａ，３２Ｂ，３２Ｃ，３２Ｄ，３２Ｅ，３２Ｆはそれぞれ図４３（Ｂ）に示す構成を備え、Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１を生成多項式として
2003090362.tif 000022
の除算演算を実行し、それぞれの剰余
2003090362.tif 000023
を出力する。
４０ビットシフト装置３３Ａは剰余ＲＡ（ｘ）を４０ビットシフト処理してｘ４０Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）を演算し、３２ビットシフト装置３３Ｂは剰余ＲＢ（ｘ）を３２ビットシフト処理してｘ３２Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）を演算し、２４ビットシフト装置３３Ｃは剰余ＲＣ（ｘ）を２４ビットシフト処理してｘ２４Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）を演算し、１６ビットシフト装置３３Ｄは剰余ＲＤ（ｘ）を１６ビットシフト処理してｘ１６Ｄ（ｘ）／Ｇ（ｘ）の剰余ＲＤ’（ｘ）を演算し、８ビットシフト装置３３Ｅは剰余ＲＥ（ｘ）を８ビットシフト処理してｘ８Ｅ（ｘ）／Ｇ（ｘ）の剰余ＲＥ’（ｘ）を演算する。なお、４０ビットシフト装置３３ＡはＣＲＣ演算装置３２Ａから出力する１６ビットの剰余ＲＡ（ｘ）（１６×１の行列で表現する）を図６（Ｂ）の右側の変換行列Ａ４０に乗算する乗算回路により実現でき、３２ビットシフト装置３３ＢはＣＲＣ演算装置３２Ｂから出力する１６ビットの剰余ＲＢ（ｘ）（１６×１の行列で表現する）を図６（Ａ）の右側の変換行列Ａ３２に乗算する乗算回路により実現できる。また、２４ビットシフト装置３３Ｃ、１６ビットシフト装置３３Ｄ、８ビットシフト装置３３Ｅは誤り検出符号器と同様に構成することができる。
合成部３４は、ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ’（ｘ），ＲＥ’（ｘ），ＲＦ’（ｘ）が求まれば次式
2003090362.tif 000024
により剰余を合成（ビット毎のＥＸ−ＯＲ演算）し、４８ビットの入力データ列を生成多項式Ｇ（ｘ）で除算したときの余り、すなわち、パリティビットＰ’（ｘ）を出力する。誤り検出部３５は算出された１６ビットのパリティビットＰ’（ｘ）の全ビットが”０”であるかチェックし、全て”０”であれば誤り無しと判定し（ＣＲＣ  ＯＫ）、１つでも”０”でなければ誤り有りと判定する（ＣＲＣ  ＮＧ）。
図２２〜図２８は図２１の誤り検出復号器の各部動作説明図であり、４８ビットの入力データのうち低次側の１６ビットｘ０〜ｘ１５はＣＲＣパリティビットであり、高次側の３２ビットｘ１６〜ｘ４７はオール”１”であるとしている。
図２２（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置３２Ａ及び４０ビットシフト装置３３Ａの動作説明図であり、ＣＲＣ演算装置３２Ａには高次側より８クロックで順次ｘ４７〜ｘ４０が入力し、ｘ４０の入力が完了したときのシフトレジスタＳＲの内容がＡ（ｘ）／Ｇ（ｘ）の剰余ＲＡ（ｘ）となる。４０ビットシフト装置３３Ａは変換行列Ａ４０と１６×１の行列ＲＡ（ｘ）を掛け合わせてｘ４０Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）を出力する。
図２３（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置３２Ｂ及び３２ビットシフト装置３３Ｂの動作説明図であり、ＣＲＣ演算装置３２Ｂには高次側より８クロックで順次ｘ３９〜ｘ３２が入力し、ｘ３２の入力が完了したときのシフトレジスタＳＲの内容がＢ（ｘ）／Ｇ（ｘ）の剰余ＲＢ（ｘ）となる。３２ビットシフト装置３３Ｂは変換行列Ａ３２と１６×１の行列ＲＢ（ｘ）を掛け合わせてｘ３２Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）を出力する。
図２４（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置３２Ｃ及び２４ビットシフト装置３３Ｃの動作説明図であり、ＣＲＣ演算装置３２Ｃには高次側より８クロックで順次ｘ３１〜ｘ２４が入力し、ｘ２４の入力が完了したときのシフトレジスタＳＲの内容がＣ（ｘ）／Ｇ（ｘ）の剰余ＲＣ（ｘ）となる。８ビットシフト装置３３Ｃは変換行列Ａ２４と１６×１の行列ＲＣ（ｘ）を掛け合わせてｘ２４Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）を出力する。
図２５（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置３２Ｄ及び１６ビットシフト装置３３Ｄの動作説明図であり、ＣＲＣ演算装置３２Ｄには高次側より８クロックで順次ｘ２３〜ｘ１６が入力し、ｘ１６の入力が完了したときのシフトレジスタＳＲの内容がＤ（ｘ）／Ｇ（ｘ）の剰余ＲＤ（ｘ）となる。１６ビットシフト装置３３Ｄは変換行列Ａ１６と１６×１の行列ＲＤ（ｘ）を掛け合わせてｘ１６Ｄ（ｘ）／Ｇ（ｘ）の剰余ＲＤ’（ｘ）を出力する。
図２６（Ａ），（Ｂ）はそれぞれＣＲＣ演算装置３２Ｅ及び８ビットシフト装置３３Ｅの動作説明図であり、ＣＲＣ演算装置３２Ｅには高次側より８クロックで順次ｘ１５〜ｘ８が入力し、ｘ８の入力が完了したときのシフトレジスタＳＲの内容がＥ（ｘ）／Ｇ（ｘ）の剰余ＲＥ（ｘ）となる。８ビットシフト装置３３Ｅは変換行列Ａ８と１６×１の行列ＲＥ（ｘ）を掛け合わせてｘ８Ｅ（ｘ）／Ｇ（ｘ）の剰余ＲＥ’（ｘ）を出力する。
図２７はＣＲＣ演算装置３２Ｆの動作説明図であり、ＣＲＣ演算装置３２Ｆには高次側より８クロックで順次ｘ７〜ｘ０が入力し、ｘ０の入力が完了したときのシフトレジスタＳＲの内容がＦ（ｘ）／Ｇ（ｘ）の剰余ＲＦ（ｘ）（＝ＲＦ’（ｘ））となる。
図２８は合成部３４の動作説明図である。合成部３４は上記演算された剰余ＲＡ’（ｘ）、ＲＢ’（ｘ）、ＲＣ’（ｘ）、ＲＤ’（ｘ）、ＲＥ’（ｘ）、ＲＦ（ｘ）のビット対応のＥＸ−ＯＲ演算を行って１６ビットのＣＲＣパリティＰ’（ｘ）を出力する。誤り検出部３５はＣＲＣパリティＰ’（ｘ）の全ビットが”０”であれば誤り無しと判定し、１つでも”１”が有れば誤り有りと判定する。
（ｆ）本願発明と従来例の比較
データ長が３２ビットの場合、従来例の誤り検出符号器ではパリティを生成するのに３２クロック必要である。しかし、図１の本発明の誤り検出符号器では必要クロック数は８クロックであるため、演算時間が１／４に短縮する。
又、データ長が３２ビット、パリティが１６ビットの場合、従来例の一致検出復号方法による誤り検出復号器では３２クロック必要である。しかし、図１５の本発明の誤り検出復号器では、必要クロック数は８クロックであるため、演算時間が１／４に短縮する。
又、データ長が３２ビット、パリティが１６ビットの場合、従来例のオール”０”検出復号方法による誤り検出復号器では４８クロック必要である。しかし、本発明の図２１の誤り検出復号器では、必要クロック数は８クロックであるため演算時間が１／６に短縮する。
ところで、本発明の符号器、復号器は、演算時間に反比例してハードウェア規模がそれぞれ、４倍、４倍、６倍となる。これは演算を直列に行っていたものを並列に行ったからである。しかしながら、例えば、情報レート１００Ｍｂｐｓを２５ＭＨｚのクロックでＣＲＣ演算する場合を考えると、ハードウェア規模は従来例と同等になる。
すなわち、情報レート１００Ｍｂｐｓを２５ＭＨｚのクロックでＣＲＣ演算するためには、従来例では図４７で説明したように誤り検出復号器が４つ必要になる。一方、本発明では図２９に示すように演算速度が４倍であるため１つの誤り検出復号器のみで十分である。この結果、従来例及び本発明において、▲１▼誤り検出復号器のハードウェア規模、▲２▼情報レート１００Ｍｂｐｓを２５ＭＨｚのクロックでＣＲＣ演算するために必要なハードウェア数、▲３▼演算時間は表１に示すようになる。これより、本発明によれば合計のハードウェア規模を変えることなく演算時間の高速化を実現できることがわかる。以上では誤り検出復号器について説明したが誤り検出符号器についても同様である。
2003090362.tif 000025
（Ｂ）第１実施例
図３０は第１実施例の誤り検出符号器の構成図であり、生成多項式Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１により３２ｂｉｔのデータ列ｘ０〜ｘ３１のＣＲＣパリティを生成する場合である。図３０において図１と同一部分には同一符号を付している。又、３２ビットの入力データは８ビットづつのｘ０〜ｘ７、ｘ８〜ｘ１５、ｘ１６〜ｘ２３、ｘ２４〜ｘ３１に分割され、以下の多項式
2003090362.tif 000026
で表現されるものとする。
全てのＣＲＣ演算装置１２Ａ〜１２ＤにおけるシフトレジスタＳＲの初期値を“０”にしておく。図示しないデータ分割部は、３２ビットのデータ列を８ビットづつのｘ０〜ｘ７、ｘ８〜ｘ１５、ｘ１６〜ｘ２３、ｘ２４〜ｘ３１に分割して各ＣＲＣ演算装置に入力する。
ＣＲＣ演算装置１２Ａのシフトレジスタへは８クロックでｘ３１〜ｘ２４が高次側より入力し、演算した結果（Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ（ｘ））は２４ビットシフト装置１３Ａで２４ビットシフト処理されてｘ２４Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）に変換される。
ＣＲＣ演算装置１２Ｂのシフトレジスタへは８クロックでｘ２３〜ｘ１６が高次側より入力し、演算した結果（Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ（ｘ））は１６ビットシフト装置１３Ｂで１６ビットシフト処理されてｘ１６Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）に変換される。
ＣＲＣ演算装置１２Ｃのシフトレジスタへは８クロックでｘ１５〜ｘ８が高次側より入力し、演算した結果（Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ（ｘ））は８ビットシフト装置１３Ｃで８ビットシフト処理されてｘ８Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）に変換される。
ＣＲＣ演算装置１２Ｄのシフトレジスタへは８クロックでｘ７〜ｘ０を高次側より入力して、Ｄ（ｘ）／Ｇ（ｘ）の剰余ＲＤ（ｘ）を演算する。
以上の演算を同時に行い、合成部１４はこれらの演算結果である剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビットごとにＥＸ−ＯＲをとりＣＲＣパリティＰ（ｘ）を出力する。
（Ｃ）第２実施例
図３１は、第２実施例である誤り検出復号器の構成図で、図１５と同一部分には同一符号を付している。３２ビットの入力データの低次側に１６ビットのＣＲＣパリティが付加されており、このＣＲＣパリティは生成多項式Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１を用いて生成されて入力データ列に付加されている。従って、誤り検出復号器はこの生成多項式Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１を用いてで３２ビットの情報ビットと１６ビットのＣＲＣパリティが正しいかどうか検出する。
全てのＣＲＣ演算装置２２Ａ〜２２ＤにおけるシフトレジスタＳＲの初期値を“０”にしておく。図示しないデータ分割部は、４８ビットのデータ列を低次側１６ビットのＣＲＣパリティｘ０〜ｘ１５と高次側の３２ビットの入力データｘ１６〜ｘ４７に分離し、更に、３２ビットの入力データを８ビットづつのｘ１６〜ｘ２３、ｘ２４〜ｘ３１、ｘ３２〜ｘ３９、ｘ４０〜ｘ４７に分割して各ＣＲＣ演算装置に入力する。
ＣＲＣ演算装置２２Ａのシフトレジスタへは８クロックでｘ４７〜ｘ４０が高次側より入力し、該ＣＲＣ演算装置２２Ａの演算結果（Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ（ｘ））は２４ビットシフト装置２３Ａに入力し、ここで２４ビットシフト処理されてｘ２４Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）に変換される。
又、ＣＲＣ演算装置２２Ｂのシフトレジスタへは８クロックでｘ３９〜ｘ３２が高次側より入力し、該ＣＲＣ演算装置２２Ｂの演算結果（Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ（ｘ））は１６ビットシフト装置２３Ｂに入力し、ここで１６ビットシフト処理されてｘ１６Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）に変換される。
又、ＣＲＣ演算装置２２Ｃのシフトレジスタへは８クロックでｘ３１〜ｘ２４が高次側より入力し、該ＣＲＣ演算装置２２Ｃの演算結果（Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ（ｘ））は８ビットシフト装置２３Ｃに入力し、ここで８ビットシフト処理されてｘ８Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）に変換される。
ＣＲＣ演算装置２２Ｄのシフトレジスタへは８クロックでｘ２３〜ｘ１６が高次側より入力し、Ｄ（ｘ）／Ｇ（ｘ）の剰余ＲＤ（ｘ）が演算される。
以上の演算を同時に行い、合成部２４はこれらの演算結果である剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビットごとにＥＸ−ＯＲをとりＣＲＣパリティＰ’（ｘ）を出力する。比較部２５は、この１６ビットのＣＲＣパリティＰ’（ｘ）と、入力データに付加されているＣＲＣパリティビットＰ（ｘ）（ｘ１５〜ｘ０）とビット毎にＥＸ−ＯＲをとって加算（論理和）することで誤りを検出する。すなわち、演算結果であるＣＲＣパリティビットＰ’（ｘ）と入力データに付加されているＣＲＣパリティビットＰ（ｘ）が全て等しく、誤りが無ければ比較部２５は“０”を出力し、誤りが有れば”１”を出力する。
（Ｄ）第３実施例
図３２は第３実施例である誤り検出復号器の構成図であり、図２１と同一部分には同一符号を付している。図３２において、３２ビットの入力データの低次側には１６ビットのＣＲＣパリティが付加されており、このＣＲＣパリティは生成多項式Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１を用いて生成されて入力データ列に付加されている。従って、誤り検出復号器は生成多項式Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１を用いて３２ビットの情報ビットと１６ビットのＣＲＣパリティが正しいかどうか検出する。
４８ビットのデータ列は、８ビットづつのｘ０〜ｘ７、ｘ８〜ｘ１５、ｘ１６〜ｘ２３、ｘ２４〜ｘ３１、ｘ３２〜ｘ３９、ｘ４０〜ｘ４７に分割され以下の多項式
2003090362.tif 000027
で表現される。
全てのＣＲＣ演算装置３２Ａ〜３２ＦにおけるシフトレジスタＳＲの初期値を“０”にしておく。図示しないデータ分割部は、４８ビットのデータ列を８ビットづつのｘ０〜ｘ７、ｘ８〜ｘ１５、ｘ１６〜ｘ２３、ｘ２４〜ｘ３１、ｘ３２〜ｘ３９、ｘ４０〜ｘ４７に分割して各ＣＲＣ演算装置に入力する。
ＣＲＣ演算装置３２Ａのシフトレジスタへは８クロックでｘ４７〜ｘ４０が高次側より入力し、ＣＲＣ演算装置３２Ａの演算結果（Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ（ｘ））は４０ビットシフト装置３３Ａに入力し、ここで４０ビットシフト処理されてｘ４０Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）に変換される。
ＣＲＣ演算装置３２Ｂのシフトレジスタへは８クロックでｘ３９〜ｘ３２が高次側より入力し、該ＣＲＣ演算装置３２Ｂの演算結果（Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ（ｘ））は３２ビットシフト装置３３Ｂに入力し、ここで３２ビットシフト処理されてｘ３２Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）に変換される。
ＣＲＣ演算装置３２Ｃのシフトレジスタへは８クロックでｘ３１〜ｘ２４が高次側より入力し、該ＣＲＣ演算装置３２Ｃの演算結果（Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ（ｘ））は２４ビットシフト装置２３Ｃに入力し、ここで２４ビットシフト処理されてｘ２４Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）に変換される。
ＣＲＣ演算装置３２Ｄのシフトレジスタへは８クロックでｘ２３〜ｘ１６が高次側より入力し、該ＣＲＣ演算装置３２Ｄの演算結果（Ｄ（ｘ）／Ｇ（ｘ）の剰余ＲＤ（ｘ））は１６ビットシフト装置３３Ｄに入力し、ここで１６ビットシフト処理されてｘ１６Ｄ（ｘ）／Ｇ（ｘ）の剰余ＲＤ’（ｘ）に変換される。
ＣＲＣ演算装置３２Ｅのシフトレジスタへは８クロックでｘ１５〜ｘ８が高次側より入力し、該ＣＲＣ演算装置３２Ｅの演算結果（Ｅ（ｘ）／Ｇ（ｘ）の剰余ＲＥ（ｘ））は８ビットシフト装置３３Ｅに入力し、ここで８ビットシフト処理されてｘ８Ｅ（ｘ）／Ｇ（ｘ）の剰余ＲＥ’（ｘ）に変換される。
ＣＲＣ演算装置３２Ｆのシフトレジスタへは８クロックでｘ７〜ｘ０が高次側より入力し、Ｆ（ｘ）／Ｇ（ｘ）の剰余ＲＦ（ｘ）が演算される。
以上の演算を同時に行い、合成部３４はこれらの演算結果である剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ’（ｘ），ＲＥ’（ｘ），ＲＦ（ｘ）をビット毎にＥＸ−ＯＲをとり、１６ビットのＣＲＣパリティＰ’（ｘ）を出力し、誤り検出部３５はＰ’（ｘ）の全ビットのＯＲを計算する。ＣＲＣパリティＰ’（ｘ）の全ビットが”０”であれば誤りはなく、誤り検出部３５は”０”を出力する。しかし、１つでも”１”であれば誤りが有り、誤り検出部３５は”１”を出力する。
（Ｅ）第４実施例
図３３は第４実施例の誤り検出復号器の別の構成図であり、復号方式は図２１の復号方式と同じである。図３３の誤り検出復号器では、４台のＣＲＣ演算装置４２Ａ〜４２Ｄを備えている。かかる場合、入力データ分割制御部４１は各ＣＲＣ演算装置４２Ａ〜４２Ｄへ入力するビット長を
［全体の入力ビット長／４］
とし、一般にＣＲＣ演算装置をｎ台備えている場合、入力ビット長を
［全体の入力ビット長／ｎ］
とする。例えば、ＣＲＣ誤り検出符号化ビット長がＣＲＣパリティを含めて４０ｂｉｔであったとすれば、入力データ分割制御部４１は入力データを１０ｂｉｔずつ
2003090362.tif 000028
に分割し、それぞれを入力ビット数（演算回数）１０と共にＣＲＣ演算装置４２Ａ，４２Ｂ，４２Ｃ，４２Ｄに入力する。また、入力データ分割部４１は各シフト変換装置４３Ａ，４３Ｂ，４３Ｃにビットシフト量を入力する。上記例では、シフト変換装置４３Ａに３０ビットシフトを指示し、シフト変換装置４３Ｂに２０ビットシフトを指示し、シフト変換装置４３Ｃに１０ビットシフトを指示する。
以上により、ＣＲＣ演算装置４２Ａ，４２Ｂ，４２Ｃ，４２Ｄは指示されたビット数のデータが入力された時点におけるシフトレジスタの内容を剰余ＲＡ（ｘ），ＲＢ（ｘ），ＲＣ（ｘ），ＲＤ（ｘ）として出力する。又、シフト変換装置４３Ａは入力する剰余ＲＡ（ｘ）に３０ビットシフト処理を行って剰余ＲＡ’（ｘ）に変換し、シフト変換装置４３Ｂは入力する剰余ＲＢ（ｘ）に２０ビットシフト処理を行って剰余ＲＢ’（ｘ）に変換し、シフト変換装置４３Ｃは入力する剰余ＲＣ（ｘ）に１０ビットシフト処理を行って剰余ＲＣ’（ｘ）に変換する。合成部４４は剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビット毎にＥＸ−ＯＲ演算して合成し、全ビットが”０”であるか否かにより誤り検出を行う。
又、次のＣＲＣ誤り検出符号化ビット長がＣＲＣパリティを含めて５０ｂｉｔであったとすれば、入力データ分割制御部４１は該入力データを１３，１３，１２，１２ビットずつ
2003090362.tif 000029
に分割し、それぞれを入力ビット数（演算回数）１３，１３，１２，１２と共にＣＲＣ演算装置４２Ａ，４２Ｂ，４２Ｃ，４２Ｄに入力する。また、入力データ分割制御部４１は各シフト変換装置４３Ａ，４３Ｂ，４３Ｃにビットシフト量を入力する。上記例では、シフト変換装置４３Ａに３７ビットシフトを指示し、シフト変換装置４３Ｂに２４ビットシフトを指示し、シフト変換装置４３Ｃに１２ビットシフトを指示する。
以上により、ＣＲＣ演算装置４２Ａ，４２Ｂ，４２Ｃ，４２Ｄは指示されたビット数のデータが入力された時点におけるシフトレジスタの内容を剰余ＲＡ（ｘ），ＲＢ（ｘ），ＲＣ（ｘ），ＲＤ（ｘ）として出力する。又、シフト変換装置４３Ａは入力する剰余ＲＡ（ｘ）に３７ビットシフト処理を行って剰余ＲＡ’（ｘ）に変換し、シフト変換装置４３Ｂは入力する剰余ＲＢ（ｘ）に２４ビットシフト処理を行って剰余ＲＢ’（ｘ）に変換し、シフト変換装置４３Ｃは入力する剰余ＲＣ（ｘ）に１２ビットシフト処理を行って剰余ＲＣ’（ｘ）に変換する。合成部４４は剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビット毎にＥＸ−ＯＲ演算して合成し、全ビットが”０”であるか否かにより誤り検出を行う。
以上、入力データ列を１／ｎに略等分割することにより、各ＣＲＣ演算装置の演算時間を均一にできるため、ＣＲＣ演算時間を短縮することができる。
なお、以上の入力データ列を１／ｎに略等分割する思想は、図１５の誤り検出復号器や図１の誤り検出符号器にも適用することができる。すなわち、図１及び図１５のデータ分割分１１、２１は、分割後のデータ列のビット長が等しくなるように入力データ列を分割し、各分割データ列を高次側より１ビットづつＣＲＣ演算装置（除算手段）に入力する。
（Ｆ）第５実施例
図３４は第５実施例の誤り検出復号器の別の構成図であり、復号方式は図２１の復号方式と同じである。誤り検出復号器において、
▲１▼最大のＣＲＣ誤り検出符号化ビット長が６０ビットであり、
▲２▼４台のＣＲＣ演算装置５２Ａ〜５２Ｄが備えられており、
▲３▼各ＣＲＣ演算装置５２Ａ〜５２Ｄへの最大入力ビット数が１５ビットであり、
▲４▼シフト変換装置５３Ａ〜５３Ｃがそれぞれ４５ビットシフト処理、３０ビットシフト処理、１５ビットシフト処理を行うものとする。
上記構成において、ＣＲＣ誤り検出符号化ビット長が４０ビットであったとすれば、入力データ分割制御分５１は、この４０ビットを低次側から１５ビットづつ分割し、順にＣＲＣ演算装置５２Ｄ、ＣＲＣ演算装置５２Ｃに入力し、残りの１０ビットをＣＲＣ演算装置５２Ｂに入力し、ＣＲＣ演算装置Ａには入力しない。すなわち、入力データ分割部５１は、ＣＲＣ演算装置５２Ａにデータを入力せず、ＣＲＣ演算装置５２Ｂ，５２Ｃ，５２Ｄにそれぞれ
2003090362.tif 000030
を入力する。又、入力データ分割部５１は、各ＣＲＣ演算装置５２Ａ，５２Ｂ，５２Ｃ，５２Ｄに入力ビット数（演算回数）０，１０，１５，１５を入力する。
以上により、ＣＲＣ演算装置５２Ａ，５２Ｂ，５２Ｃ，５２Ｄは指示されたビット数のデータが入力された時点におけるシフトレジスタの内容を剰余ＲＡ（ｘ）（＝０），ＲＢ（ｘ），ＲＣ（ｘ），ＲＤ（ｘ）として出力する。又、４５ビットシフト変換装置５３Ａは入力する剰余ＲＡ（ｘ）（＝０）に４５ビットシフト処理を行って剰余ＲＡ’（ｘ）（＝０）に変換し、３０ビットシフト変換装置５３Ｂは入力する剰余ＲＢ（ｘ）に３０ビットシフト処理を行って剰余ＲＢ’（ｘ）に変換し、１５ビットシフト変換装置５３Ｃは入力する剰余ＲＣ（ｘ）に１５ビットシフト処理を行って剰余ＲＣ’（ｘ）に変換する。合成部５４は剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビット毎にＥＸ−ＯＲ演算して合成し、全ビットが”０”であるか否かにより誤り検出を行う。
また、ＣＲＣ誤り検出符号化ビット長の入力が５０ビットであったとすれば、入力データ分割制御部５１は、入力データを低次側より１５，１５，１５，５づつ分割し、ＣＲＣ演算装置５２Ａ，５２Ｂ，５２Ｃ，５２Ｄにそれぞれ
2003090362.tif 000031
を入力する。又、入力データ分割制御部５１は、各ＣＲＣ演算装置５２Ａ，５２Ｂ，５２Ｃ，５２Ｄに入力ビット数（演算回数）５，１５，１５，１５を入力する。
以上により、ＣＲＣ演算装置５２Ａ，５２Ｂ，５２Ｃ，５２Ｄは指示されたビット数のデータが入力された時点におけるシフトレジスタの内容を剰余ＲＡ（ｘ），ＲＢ（ｘ），ＲＣ（ｘ），ＲＤ（ｘ）として出力する。又、４５ビットシフト変換装置５３Ａは入力する剰余ＲＡ（ｘ）に４５ビットシフト処理を行って剰余ＲＡ’（ｘ）に変換し、３０ビットシフト変換装置５３Ｂは入力する剰余ＲＢ（ｘ）に３０ビットシフト処理を行って剰余ＲＢ’（ｘ）に変換し、１５ビットシフト変換装置５３Ｃは入力する剰余ＲＣ（ｘ）に１５ビットシフト処理を行って剰余ＲＣ’（ｘ）に変換する。合成部５４は剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビット毎にＥＸ−ＯＲ演算して合成し、全ビットが”０”であるか否かにより誤り検出を行う。
第５実施例によれば、各ビットシフト変換装置は常に一定数のビットシフト処理を行うだけで良いため、構成を簡単にすることができる。
尚、以上の分割データ列のビット長が設定長となるように入力データ列を分割するという思想は、図１５の誤り検出復号器や図１の誤り検出符号器にも適用することができる。すなわち、図１及び図１５のデータ分割分１１、２１は、分割後のデータ列のビット長が設定長となるように入力データ列を分割し、各分割データ列を高次側より１ビットづつＣＲＣ演算装置（除算手段）に入力する。
（Ｇ）第６実施例
図３５は第６実施例の誤り検出復号器の別の構成図であり、復号方式は図２１の復号方式と同じである。誤り検出復号器において、
▲１▼最大のＣＲＣ誤り検出符号化ビット長が６０ビットであり、
▲２▼４台のＣＲＣ演算装置６２Ａ〜６２Ｄが備えられており、
▲３▼各ＣＲＣ演算装置６２Ａ〜６２Ｄへの最大入力ビット数が１５ビットであり、
▲４▼シフト変換装置６３Ａ〜６３Ｃがそれぞれ４５ビットシフト処理、３０ビットシフト処理、１５ビットシフト処理を行うものとする。
上記構成において、ＣＲＣ誤り検出符号化ビット長が４０ビットであったとすれば、入力データ分割制御部６１は、この４０ビットを低次側から１５ビットづつ分割し、順にＣＲＣ演算装置６２Ｄ、ＣＲＣ演算装置６２Ｃに入力し、１５ビットに満たない装置へは高次側に”０”を埋め込んでトータル１５ビットを入力する。従って、入力データ分割制御部６１は、ＣＲＣ演算装置６２Ａ，６２Ｂ，６２Ｃ，６２Ｄにそれぞれ
2003090362.tif 000032
を入力する。
以上により、ＣＲＣ演算装置６２Ａ，６２Ｂ，６２Ｃ，６２Ｄは１５ビットのデータが入力された時点におけるシフトレジスタの内容を剰余ＲＡ（ｘ）（＝０），ＲＢ（ｘ），ＲＣ（ｘ），ＲＤ（ｘ）として出力する。又、４５ビットシフト変換装置６３Ａは入力する剰余ＲＡ（ｘ）（＝０）に４５ビットシフト処理を行って剰余ＲＡ’（ｘ）（＝０）に変換し、３０ビットシフト変換装置６３Ｂは入力する剰余ＲＢ（ｘ）に３０ビットシフト処理を行って剰余ＲＢ’（ｘ）に変換し、１５ビットシフト変換装置６３Ｃは入力する剰余ＲＣ（ｘ）に１５ビットシフト処理を行って剰余ＲＣ’（ｘ）に変換する。合成部６４は剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビット毎にＥＸ−ＯＲ演算して合成し、全ビットが”０”であるか否かにより誤り検出を行う。
また、ＣＲＣ誤り検出符号化ビット長が５０ビットであったとすれば、入力データ分割制御部６１は、入力データを低次側より１５，１５，１５，５づつ分割し、ＣＲＣ演算装置６２Ａ，６２Ｂ，６２Ｃ，６２Ｄにそれぞれ
2003090362.tif 000033
を入力する。
以上により、ＣＲＣ演算装置６２Ａ，６２Ｂ，６２Ｃ，６２Ｄは１５ビットのデータが入力された時点におけるシフトレジスタの内容を剰余ＲＡ（ｘ），ＲＢ（ｘ），ＲＣ（ｘ），ＲＤ（ｘ）として出力する。又、４５ビットシフト変換装置６３Ａは入力する剰余ＲＡ（ｘ）に４５ビットシフト処理を行って剰余ＲＡ’（ｘ）に変換し、３０ビットシフト変換装置６３Ｂは入力する剰余ＲＢ（ｘ）に３０ビットシフト処理を行って剰余ＲＢ’（ｘ）に変換し、１５ビットシフト変換装置６３Ｃは入力する剰余ＲＣ（ｘ）に１５ビットシフト処理を行って剰余ＲＣ’（ｘ）に変換する。合成部６４は剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビット毎にＥＸ−ＯＲ演算して合成し、全ビットが”０”であるか否かにより誤り検出を行う。
第６実施例によれば、各ＣＲＣ演算装置には常に一定数のデータが入力するため構成を簡単にできる。又、各ビットシフト変換装置は常に一定数のビットシフト処理を行うだけで良いため、ますます構成を簡単にすることができる。
以上のビット長が設定長に満たない分割データ列の高次側に前記満たない分“０”を付加する思想は、図１５の誤り検出復号器や図１の誤り検出符号器にも適用することができる。すなわち、図１及び図１５のデータ分割分１１、２１は、分割後のデータ列のビット長が設定長となるように入力データ列を分割し、ビット長が設定長に満たない分割データ列の高次側に前記満たない分“０”を付加して各分割データ列を高次側より１ビットづつＣＲＣ演算装置（除算手段）に入力する。
（Ｈ）第７実施例
図３６は第７実施例の誤り検出復号器の構成図であり、図３１の誤り検出復号器と同一部分には同一符号を付している。異なる点は、▲１▼ビットシフト処理により得られた剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）を記憶する記憶装置２６Ａ〜２６Ｄを設けている点、▲２▼誤り検出により再入力された８ビットの分割データのみ再度剰余を計算し、該剰余と保存されている他の分割データの剰余を合成してＣＲＣパリティを出力する点である。
第７実施例の誤り検出復号器において、最初の誤り検出は、図３１と同様の方法で行うが、誤りが検出されて、データが部分的に再入力がされた場合には、再入力された８ビットの分割データのみ再度剰余を計算し、該剰余と保存されている他の分割データの剰余を合成してＣＲＣパリティを出力する。
初期時には、全てのＣＲＣ演算装置２２Ａ〜２２Ｄにおけるシフトレジスタの初期値を“０”にしておく。図示しないデータ分割部は、４８ビットのデータ列を低次側１６ビットのＣＲＣパリティｘ０〜ｘ１５と高次側の３２ビットの入力データｘ１６〜ｘ４７に分離し、更に、３２ビットの入力データを８ビットづつのｘ１６〜ｘ２３、ｘ２４〜ｘ３１、ｘ３２〜ｘ３９、ｘ４０〜ｘ４７に分割して各ＣＲＣ演算装置２２Ａ〜２２Ｄに入力する。
ＣＲＣ演算装置２２Ａのシフトレジスタへは８クロックでｘ４７〜ｘ４０が高次側より入力し、該ＣＲＣ演算装置２２Ａの演算結果（Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ（ｘ））は２４ビットシフト装置２３Ａに入力し、ここで２４ビットシフト処理されてｘ２４Ａ（ｘ）／Ｇ（ｘ）の剰余ＲＡ’（ｘ）に変換され，記憶装置２６Ａに記憶される。
又、ＣＲＣ演算装置２２Ｂのシフトレジスタへは８クロックでｘ３９〜ｘ３２が高次側より入力し、該ＣＲＣ演算装置２２Ｂの演算結果（Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ（ｘ））は１６ビットシフト装置２３Ｂに入力し、ここで１６ビットシフト処理されてｘ１６Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）に変換され，記憶装置２６Ｂに記憶される。
又、ＣＲＣ演算装置２２Ｃのシフトレジスタへは８クロックでｘ３１〜ｘ２４が高次側より入力し、該ＣＲＣ演算装置２２Ｃの演算結果（Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ（ｘ））は８ビットシフト装置２３Ｃに入力し、ここで８ビットシフト処理されてｘ８Ｃ（ｘ）／Ｇ（ｘ）の剰余ＲＣ’（ｘ）に変換され，記憶装置２６Ｃに記憶される。
ＣＲＣ演算装置２２Ｄのシフトレジスタへは８クロックでｘ２３〜ｘ１６が高次側より入力し、Ｄ（ｘ）／Ｇ（ｘ）の剰余ＲＤ（ｘ）が演算され，記憶装置２６Ｄに記憶される。
以上の演算を同時に行い、合成部２４はこれらの演算結果である剰余ＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビットごとにＥＸ−ＯＲをとって合成し、ＣＲＣパリティビットＰ’（ｘ）を出力する。比較部２５は、このＣＲＣパリティビットＰ’（ｘ）と、入力データに付加されているＣＲＣビットビットＰ（ｘ）（ｘ１５〜ｘ０）とをビット毎にＥＸ−ＯＲをとって加算（論理和）することで誤りを検出する。すなわち、演算結果であるＣＲＣパリティビットＰ’（ｘ）と入力データに付加されているＣＲＣパリティビットＰ（ｘ）が全て等しく、誤りが無ければ比較部２５は”０”を出力し、誤りが有れば”１”を出力する。
ここで誤りがあった場合、例えばｘ３９〜ｘ３２のみが再入力された場合、ＣＲＣ演算装置２２Ｂのシフトレジスタのみに８クロックで８ビットデータｘ３９〜ｘ３２が再入力し、該ＣＲＣ演算装置２２Ｂの演算結果（Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ（ｘ））は１６ビットシフト装置２３Ｂに入力し、ここで１６ビットシフトしてｘ１６Ｂ（ｘ）／Ｇ（ｘ）の剰余ＲＢ’（ｘ）に変換される。
合成部２４は、記憶装置２６Ａ，２６Ｃ，２６Ｄに記憶されている剰余ＲＡ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）を読出し、これらと１６ビットシフト回路２３Ｂで１６ビットシフト処理して得られた結果ＲＢ’（ｘ）とをビットごとにＥＸ−ＯＲをとる。比較部２５は、この１６ビットのＣＲＣパリティＰ’（ｘ）と、入力データに付加されているＣＲＣビットＰ（ｘ）（ｘ１５〜ｘ０）とビット毎にＥＸ−ＯＲをとって加算（論理和）することで誤りを検出する。
次に第７実施例の適用例について示す。ＣＲＣが２重にかけられている場合について図３７（Ａ），（Ｂ）に従って説明する。尚、図３７（Ａ）はシステム全体の構成図、図３７（Ｂ）はデータ処理説明図である。
送信側１０１は、情報全体に対してＬ２レイヤのＣＲＣ誤り検出符号化を行う。ついで、誤り検出符号化されたデータ（Ｌ２レイヤのＣＲＣパリティ付きのデータ）を複数ａ〜ｄに分割し、各分割データにＬ１レイヤのＣＲＣ誤り検出符号化を行い、最後に誤り訂正符号化を行って送信する。
受信側１０２は、誤り訂正復号後、復号データを複数Ａ〜Ｄに分割し、各分割データにＬ１レイヤのＣＲＣ誤り検出処理を施す。Ｌ１  ＣＲＣ誤り検出の結果、全て誤り検出なしと判断されてからＬ２レイヤのＣＲＣ誤り検出処理を行うと演算を２回に分けて行うため効率が悪い。そこでＬ１レイヤ及びＬ２レイヤにおける誤り検出処理を両方同時に行う。ところが、Ｌ１レイヤのＣＲＣ誤り検出によりデータ列Ａ〜Ｄのうちどこか一つでも誤りが検出されてしまうとＬ２レイヤでのＣＲＣ誤り検出処理は無駄になってしまい、Ｌ１レイヤの誤った部分だけ再送されたとしても最初から同じ演算を行うことになる。
そこで、第７実施例の方法を適用する。すなわち、Ｌ２レイヤのＣＲＣ誤り検出の演算単位をａ〜ｄとすることにより、Ｌ１レイヤの誤り検出のＣＲＣ演算単位と同じ長さにして行ない、演算結果を保存し、データが部分的に再送された場合にその部分のみを演算する。このようにすれば、効率のよいＬ２レイヤのＣＲＣ誤り検出を行うことができる。Ｌ２レイヤ以上の高位レイヤは処理をソフトウェアで行うことが多いため、部分的な演算で結果が得られることは、プロセッサの処理効率が向上して好ましい。
図３８は第７実施例の適用例である誤り検出復号器の構成図である。入力データ分割制御部７１は入力データ列をＬ１レイヤのＣＲＣ演算単位Ａ〜Ｄ（図３７（Ｂ）参照）に分割し、それぞれをＬ１  ＣＲＣ誤り検出装置７２Ａ〜７２Ｄに入力すると共に、Ｌ２  ＣＲＣ誤り検出装置７０のＣＲＣ演算装置７４Ａ〜７４Ｄに入力する。Ｌ１  ＣＲＣ誤り検出装置７２Ａ〜７２Ｄ及びＬ２  ＣＲＣ誤り検出装置７０は同時に誤り検出処理を行う。
Ｌ１  ＣＲＣ誤り検出装置７２Ａ〜７２Ｄは分割データ列Ａ〜ＤについてＣＲＣ演算を行い、演算結果を出力する。ＣＲＣ監視部７３はＬ１  ＣＲＣ誤り検出装置７２Ａ〜７２Ｄの誤り検出結果に基いてＬ１レイヤの誤りの有無を監視し、誤りがなければ合成許可信号をＬ２  ＣＲＣ誤り検出装置７０の合成部に入力する。
以上と並行してＬ２  ＣＲＣ誤り検出装置７０のＣＲＣ演算装置７４Ａ〜７４Ｄは入力データ列Ａ〜Ｄに含まれるＬ１  ＣＲＣパリティを除いたデータ部分を生成多項式で除算した剰余を出力する。シフト変換装置７５Ａ〜７５ＣはデータＡ〜Ｃ列の分割位置に応じたビットシフト分、ＣＲＣ演算装置７４Ａ〜７４Ｃで求めた剰余にビットシフト処理を施して変換し、記憶部７６Ａ〜７６Ｄに保存する。合成部７７は、ＣＲＣ監視部７３からの合成許可信号により記憶部７６Ａ〜７６Ｄに記憶されている剰余を合成（ビット毎のＥＸ−ＯＲ演算）し、誤り検出部７８は合成結果に基づいてＬ２レイヤのＣＲＣ誤り検出を行う。
Ｌ１  ＣＲＣ誤り検出装置７２Ａ〜７２Ｄのいずれかの誤り検出結果が誤りを示していれば、ＣＲＣ監視部７３は送信側に誤っているデータ部分の再送を要求する。例えばデータ列Ｂに誤りが含まれていれば、該データ列Ｂの再送を要求する。入力データ分割制御部７１はデー列タＢが再送されてくればＬ１  ＣＲＣ検出装置７２ＢとＬ２  ＣＲＣ誤り検出装置７０のＣＲＣ演算装置７４Ｂに入力する。
Ｌ１  ＣＲＣ誤り検出装置７２Ｂは分割データ列ＢについてＣＲＣ演算を行い、演算結果を出力する。ＣＲＣ監視部７３はＬ１  ＣＲＣ誤り検出装置７２Ａ〜７２Ｄの誤り検出結果に基いてＬ１レイヤの誤りの有無を監視し、誤りがなければ合成部７７に合成を許可する。以上と並行して、ＣＲＣ演算装置７４Ｂは，入力データＢに含まれるＬ１  ＣＲＣパリティを除いたデータ部分を生成多項式で除算した剰余を出力し、シフト変換装置７５ＢはデータＢの分割位置に応じたビットシフト分、ＣＲＣ演算装置７４Ｂで求めた剰余にビットシフト処理を施して変換して記憶部７６Ｂに記憶する。合成部７７はＣＲＣ監視部７３からの許可信号により、記憶部７６Ａ〜７６Ｄに記憶されている剰余を合成（ビット毎のＥＸ−ＯＲ演算）し、誤り検出部７８は合成結果に基づいてＬ２レイヤのＣＲＣ誤り検出を行う。
（Ｉ）第８実施例
図３９は第８実施例の誤り検出復号器の別の構成図で、ＣＲＣを２重にかける図３７（Ａ）に示すシステム構成において適用できるもの、図４０はデータ処理説明図である。
誤り検出符号器側では図４０に示すように、１１２ビットの情報全体に対してＬ２レイヤのＣＲＣ誤り検出符号化を行って１６ビットのＬ２  ＣＲＣパリティを付加する。ついで、誤り検出符号化された１２８ビットのデータ（Ｌ２  ＣＲＣパリティ付きのデータ）を３２ビットづつの複数のデータ列Ａ〜Ｄに分割し、各分割データ列Ａ〜Ｄに１６ビットのＬ１  ＣＲＣパリティを付加し、最後に誤り訂正符号化を行って送信する。
受信側に設けられたＬ１  ＣＲＣ演算部８０（図３９）は、一致検出復号方法によりＬ１  ＣＲＣ演算を行う。尚、Ｌ１  ＣＲＣ演算部８０はオール”０”検出復号方法や本発明の復号方法など任意の復号方法を用いることができる。また、Ｌ２  ＣＲＣ演算部９０は、図２１に示す復号方法によりＬ２  ＣＲＣ演算を行うものとする。
Ｌ１  ＣＲＣ演算部８０は、まず、最初のＬ１  ＣＲＣ演算をおこなう。すなわち、３２ｂｉｔのデータＡ（ｘ１９１，ｘ１９０，ｘ１８９，ｘ１８８，・・・，ｘ１６１，ｘ１６０）を除算器８１のシフトレジスタＳＲに入力する。シフトレジスタへの入力が完了したとき、誤り検出部８２は、シフトレジスタＳＲの値（剰余ＲＡ（ｘ））とＬ１  ＣＲＣパリティ（ｘ１５９，ｘ１５８，ｘ１５７，ｘ１５６，・・・，ｘ１４５，ｘ１４４）を比較し、全ビット一致しているか否かでＬ１  ＣＲＣ誤り検出を行う。これと同時に、シフトレジスタの値（剰余ＲＡ（ｘ））をＬ２  ＣＲＣ演算部９０に引き渡す。Ｌ２  ＣＲＣ演算部９０はスイッチ９１を制御することでこの値を記憶装置９２Ａに格納する。
ついで、Ｌ１  ＣＲＣ演算部８０は、シフトレジスタＳＲをクリアして次のＬ１  ＣＲＣ演算を行う。すなわち、３２ｂｉｔのデータＢ（ｘ１４３，ｘ１４２，ｘ１４１，ｘ１４０，・・・，ｘ１１３，ｘ１１２）をシフトレジスタＳＲに入力する。シフトレジスタへの入力が完了したとき、誤り検出部８２は、シフトレジスタＳＲの値（剰余ＲＢ（ｘ））とＬ１  ＣＲＣパリティ（ｘ１１１，ｘ１１０，ｘ１０９，ｘ１０８，・・・，ｘ９７，ｘ９６）とを比較し、全ビット一致しているか否かでＬ１  ＣＲＣ誤り検出を行う。これと同時に、シフトレジスタの値（剰余ＲＢ（ｘ））をＬ２  ＣＲＣ演算部９０に引き渡す。Ｌ２  ＣＲＣ演算部９０はスイッチ９１を制御することでこの値を記憶装置９２Ｂに格納する。
ついで、Ｌ１  ＣＲＣ演算部８０は、シフトレジスタＳＲをクリアして次のＬ１  ＣＲＣ演算を行う。すなわち、３２ｂｉｔのデータＢ（ｘ９５，ｘ９４，ｘ９３，ｘ９２，・・・，ｘ６５，ｘ６４）をシフトレジスタＳＲに入力する。シフトレジスタへの入力が完了したとき、誤り検出部８２は、シフトレジスタＳＲの値（剰余ＲＣ（ｘ））とＬ１  ＣＲＣパリティ（ｘ６３，ｘ６２，ｘ６１，ｘ６０，・・・，ｘ４９，ｘ４８）とを比較し、全ビット一致しているか否かでＬ１  ＣＲＣ誤り検出を行う。これと同時に、シフトレジスタの値（剰余ＲＣ（ｘ））をＬ２  ＣＲＣ演算部９０に引き渡す。Ｌ２  ＣＲＣ演算部９０はスイッチ９１を制御することでこの値を記憶装置９２Ｃに格納する。
ついで、Ｌ１  ＣＲＣ演算部８０は、シフトレジスタＳＲをクリアして次のＬ１  ＣＲＣ演算を行う。すなわち、３２ｂｉｔのデータＢ（ｘ４７，ｘ４６，ｘ４５，ｘ４４，・・・，ｘ１７，ｘ１６）をシフトレジスタＳＲに入力する。シフトレジスタへの入力が完了したとき、誤り検出部８２は、シフトレジスタＳＲの値（剰余ＲＤ（ｘ））とＬ１  ＣＲＣパリティ（ｘ１５，ｘ１４，ｘ１３，ｘ１２，・・・，ｘ１，ｘ０）とを比較し、全ビット一致しているか否かでＬ１  ＣＲＣ誤り検出を行う。これと同時に、シフトレジスタの値（剰余剰余ＲＤ（ｘ））をＬ２  ＣＲＣ演算部９０に引き渡す。Ｌ２  ＣＲＣ演算部９０はスイッチ９１を制御することでこの値を記憶装置９２Ｄに格納する。
以上によりＬ１  ＣＲＣ誤り検出が終了すれば、Ｌ２  ＣＲＣ演算部９０はＬ２  ＣＲＣ演算を開始する。すなわち、９６ビットシフト部９３Ａは記憶装置９２Ａから記憶データ（剰余ＲＡ（ｘ））を読出し、該剰余に９６ビットシフト処理を施す。６４ビットシフト部９３Ｂは記憶装置９２Ｂから記憶データ（剰余ＲＢ（ｘ））を読出し、該剰余に６４ビットシフト処理を施す。３２ビットシフト部９３Ｃは記憶装置９２Ｃから記憶データ（剰余ＲＣ（ｘ））を読出し、該剰余に３２ビットシフト処理を施す。合成部９４はビットシフト後のＲＡ’（ｘ），ＲＢ’（ｘ），ＲＣ’（ｘ），ＲＤ（ｘ）をビット毎にＥＸ−ＯＲ演算し、誤り検出部９５は合成結果が全ビット０であるか否かによりＬ２レイヤのＣＲＣ誤り検出を行う。
尚、図３９では、Ｌ１  ＣＲＣ演算部８０が直列的に剰余ＲＡ（ｘ），ＲＢ（ｘ），ＲＣ（ｘ），ＲＤ（ｘ）を演算したが、図４１に示すように入力データ分割部８３と４台のＬ１  ＣＲＣ演算部８０Ａ〜８０Ｄを設け、それぞれでＬ１  ＣＲＣチェックを行うと共に剰余ＲＡ（ｘ），ＲＢ（ｘ），ＲＣ（ｘ），ＲＤ（ｘ）を演算するように構成することもできる。尚、Ｌ１  ＣＲＣ演算部８０Ａ〜８０Ｄは図３９のＬ１  ＣＲＣ演算部８０と同一の構成を有している。
以上第８実施例によれば、Ｌ２  ＣＲＣ演算部のシフトレジスタ演算を不要に出来、ハードウェア構成を簡単にできる。
（Ｊ）第９実施例
以上では、誤り検出符号器及び誤り検出復号器について説明したが、図１の誤り検出符号器はそのままＫビットの入力データ列を第１の多項式Ｋ（ｘ）と見立てて第２の多項式（生成多項式Ｇ（ｘ））で除算してその剰余を演算する除算装置として用いることができる。すなわち、除算装置は、▲１▼入力データ列を複数に分割するデータ分割手段１１、▲２▼分割したサブデータ列毎に、サブデータ列の情報ビットを多項式と見立てて第２の多項式で除算してその剰余を演算する除算手段１２Ａ〜１２Ｄ、▲３▼前記剰余毎に、サブデータ列の分割位置に応じた変換処理（ビットシフト処理）を該剰余に施す変換手段１３Ａ〜１３Ｃ、▲４▼前記変換処理により得られた各変換値を合成し、合成結果をＫビットの入力データ列を前記第２の多項式で除算したときの剰余とする合成部１４、とで構成することができる。
かかる除算装置は、誤り検出符号器に限定されず種々の符号化において利用することができる。
【図面の簡単な説明】
図１は本発明の誤り検出符号器のブロック構成図ある。
図２はＣＲＣ演算装置において、１ビットシフトを行う１６×１６の行列の説明図である。
図３は２ビットシフト行列Ａ２（＝Ａ×Ａ）及び４ビットシフト行列Ａ４（＝Ａ２×Ａ２）の説明図である。
図４は８ビットシフト行列Ａ８（＝Ａ４×Ａ４）及び１６ビットシフト行列Ａ１６（＝Ａ８×Ａ８）の説明図である。
図５は２４ビットビットシフト行列Ａ２４（＝Ａ１６×Ａ８）の説明図である。
図６は３２ビットシフト行列Ａ３２（＝Ａ２４×Ａ８）及び４０ビットシフト行列Ａ４０（＝Ａ３２×Ａ８）の説明図である。
図７はＣＲＣ演算装置と８ビットシフト装置の接続構成図である。
図８はＣＲＣ演算装置と１６ビットシフト装置の接続構成図である。
図９はＣＲＣ演算装置と２４ビットシフト装置の接続構成図である。
図１０は誤り検出符号器の第１の動作説明図である。
図１１は誤り検出符号器の第２の動作説明図である。
図１２は誤り検出符号器の第３の動作説明図である。
図１３は誤り検出符号器の第４の動作説明図である。
図１４は誤り検出符号器の第５の動作説明図である。
図１５は本発明の誤り検出復号器のブロック構成図である。
図１６は誤り検出復号器の第１の動作説明図である。
図１７は誤り検出復号器の第２の動作説明図である。
図１８は誤り検出復号器の第３の動作説明図である。
図１９は誤り検出復号器の第４の動作説明図である。
図２０は誤り検出復号器の第５の動作説明図である。
図２１は本発明の別の誤り検出復号器のブロック構成図である。
図２２は誤り検出復号器の第１の動作説明図である。
図２３は誤り検出復号器の第２の動作説明図である。
図２４は誤り検出復号器の第３の動作説明図である。
図２５は誤り検出復号器の第４の動作説明図である。
図２６は誤り検出復号器の第５の動作説明図である。
図２７は誤り検出復号器の第６の動作説明図である。
図２８は誤り検出復号器の第７の動作説明図である。
図２９は本発明の利点説明図である。
図３０は第１実施例である誤り検出符号器の構成図である。
図３１は第２実施例である誤り検出復号器の構成図である。
図３２は第３実施例である誤り検出復号器の構成図である。
図３３は第４実施例の誤り検出復号器の構成図である。
図３４は第５実施例の誤り検出復号器の構成図である。
図３５は第６実施例の誤り検出復号器の構成図である。
図３６は第７実施例の誤り検出復号器の構成図である。
図３７はシステム全体の構成図及びデータ処理説明図である。
図３８は第７実施例の適用例である誤り検出復号器の構成図である。
図３９は第８実施例の誤り検出復号器の構成図である。
図４０はデータ処理説明図である。
図４１は第８実施例の誤り検出復号器の別の構成図である。
図４２は誤り検出を適用したシステムの構成例である。
図４３は生成多項式Ｇ（ｘ）＝ｘ１６＋ｘ１２＋ｘ５＋１とした場合のＣＲＣ演算装置の第１、第２の構成例である。
図４４は誤り検出符号器の動作説明図である。
図４５は一致検出復号方法説明図である。
図４６はオール”０”検出復号方法説明図である。
図４７は従来の問題点説明図である。
【図１】
2003090362.tif 000034
【図２】
2003090362.tif 000035
【図３】
2003090362.tif 000036
【図４】
2003090362.tif 000037
【図５】
2003090362.tif 000038
【図６】
2003090362.tif 000039
【図７】
2003090362.tif 000040
【図８】
2003090362.tif 000041
【図９】
2003090362.tif 000042
【図１０】
2003090362.tif 000043
【図１１】
2003090362.tif 000044
【図１２】
2003090362.tif 000045
【図１３】
2003090362.tif 000046
【図１４】
2003090362.tif 000047
【図１５】
2003090362.tif 000048
【図１６】
2003090362.tif 000049
【図１７】
2003090362.tif 000050
【図１８】
2003090362.tif 000051
【図１９】
2003090362.tif 000052
【図２０】
2003090362.tif 000053
【図２１】
2003090362.tif 000054
【図２２】
2003090362.tif 000055
【図２３】
2003090362.tif 000056
【図２４】
2003090362.tif 000057
【図２５】
2003090362.tif 000058
【図２６】
2003090362.tif 000059
【図２７】
2003090362.tif 000060
【図２８】
2003090362.tif 000061
【図２９】
2003090362.tif 000062
【図３０】
2003090362.tif 000063
【図３１】
2003090362.tif 000064
【図３２】
2003090362.tif 000065
【図３３】
2003090362.tif 000066
【図３４】
2003090362.tif 000067
【図３５】
2003090362.tif 000068
【図３６】
2003090362.tif 000069
【図３７】
2003090362.tif 000070
【図３８】
2003090362.tif 000071
【図３９】
2003090362.tif 000072
【図４０】
2003090362.tif 000073
【図４１】
2003090362.tif 000074
【図４２】
2003090362.tif 000075
【図４３】
2003090362.tif 000076
【図４４】
2003090362.tif 000077
【図４５】
2003090362.tif 000078
【図４６】
2003090362.tif 000079
【図４７】
2003090362.tif 000080
【国際調査報告】
2003090362.tif 000081
2003090362.tif 000082
2003090362.tif 000083
2003090362.tif 000084