(57)【特許請求の範囲】
【請求項１】
予め定められた巡回符号により符号化された、所定のインタリーブ順序でインタリーブされた可能性がある所定ビット数のデータを、デインタリーブするためのデインタリーバと、
前記デインタリーバの出力を受け、前記巡回符号の符号化方式に対応した検査方式により前記所定ビット数のデータの巡回符号検査を行なう第１の巡回符号検査回路と、
前記デインタリーバの出力を受け、前記第１の巡回符号検査回路による巡回符号検査と同時に、かつ実質的に前記第１の巡回符号検査回路による巡回符号検査の時間と同じ時間の間に、前記デインタリーバによって変更されたデータの並びを元に戻しながら、前記巡回符号の符号化方式に対応した検査方式により前記所定ビット数のデータの巡回符号検査を行なう第２の巡回符号検査回路とを含む、誤り制御回路。
【請求項２】
前記第２の巡回符号検査回路は、
前記デインタリーバの出力に接続された入力データ線と、
前記巡回符号の生成多項式の最高次数に対応した数のデータ信号線を含むデータバスと、
各々が前記入力データ線および前記データ信号線の各々に接続され、前記入力データ線から与えられるデータと前記データ信号線上のデータとに対して前記巡回符号の符号化方式と前記インタリーブの方式とによって定まる所定の演算シーケンスを行なうことによって前記巡回符号の所定位置の検査ビットを計算するための、前記巡回符号の生成多項式の最高次数に対応して設けられた複数個の部分検査ビット計算回路と、
前記複数個の部分検査ビット計算回路の各々に接続され、前記部分検査ビット計算回路で行なわれるべき演算シーケンスを制御するための演算制御手段とを含む、請求項１に記載の誤り制御回路。
【請求項３】
前記複数個の部分検査ビット計算回路の各々は、
前記演算制御手段、前記入力データ線、および前記データバスに接続され、前記入力データ線上のデータ、および前記データバス上の所定データ線上のデータに対して、前記演算制御手段から与えられる演算指定信号により定められる演算を行なうための演算手段と、
前記演算手段の出力に接続された入力と、前記データバスの、所定のデータ線に接続さ
れた出力とを有し、前記演算手段の出力するデータを保持して前記所定のデータ線に出力するためのデータ保持手段と、
前記データ保持手段の出力に接続され、前記演算シーケンス中、前記所定ビット数を前記インタリーブの段数で除した数に対応した回数だけの演算が終了するごとに自己の保持データと前記データ保持手段の出力とに対して２を法とする演算を行なって結果を保持するための演算結果保持手段とを含む、請求項２に記載の誤り制御回路。
【請求項４】
前記演算手段は、インタリーブ段数をＮとした場合、前記生成多項式によって演算内容が決定されるＮ種類のクロックサイクル演算を実行可能である、請求項３に記載の誤り制御回路。
【請求項５】
前記演算指定信号は、前記クロックサイクル演算のうちのいずれかを指定する、請求項４に記載の誤り制御回路。
【請求項６】
前記巡回符号は、１６ビットＣＲＣ符号である、請求項１に記載の誤り制御回路。
【請求項７】
前記インタリーブは１６段インタリーブである、請求項１に記載の誤り制御回路。
【請求項８】
予め定められた巡回符号により符号化された、所定のインタリーブ順序でインタリーブされた可能性がある所定ビット数のデータを、デインタリーブするステップと、
前記デインタリーブするステップによってデインタリーブされたデータを受け、前記巡回符号の符号化方式に対応した検査方式により前記所定ビット数のデータの第１の巡回符号検査を行なうステップと、
デインタリーブされた前記データを受け、前記第１の巡回符号検査を行なうステップと同時に、かつ実質的に前記第１の巡回符号検査の時間と同じ時間の間に、デインタリーブするステップによって変更されたデータの並びを元に戻しながら、前記巡回符号の符号化方式に対応した検査方式により前記所定ビット数のデータの第２の巡回符号検査を行なうステップとを含む、誤り制御方法。
【請求項９】
前記第２の巡回符号検査を行なう前記ステップは、
前記巡回符号の生成多項式の最高次数に対応した数の複数のテンポラリな巡回検査データ保持手段を初期化するステップと、
前記デインタリーブするステップによりデインタリーブされたデータに対して、前記複数のテンポラリな巡回検査データ保持手段を用いながら、前記巡回符号の符号化方式と前記インタリーブの方式とによって定まる複数個のクロックサイクル演算からなる演算シーケンスを行なうことによって前記巡回符号の各位置の検査ビットを計算するステップとを含む、請求項８に記載の誤り制御方法。
【請求項１０】
前記所定ビット数をインタリーブのインタリーブ段数で除した数は、インタリーブ段内のデータ数を表し、
前記所定ビット数のデータは前記インタリーブ段内のデータ数ごとに複数個の部分データに区分され、
前記各位置の検査ビットを計算するステップは、
前記複数個の部分データごとにテンポラリな巡回検査データを計算する処理を行なうステップと、
前記部分データごとに計算されたテンポラリな巡回検査データを加算することにより前記所定ビット数のデータの巡回検査データを求めるステップとを含む、請求項９に記載の誤り制御方法。
【請求項１１】
複数種類のクロックサイクル演算は、１クロックサイクル演算から、
前記インタリーブの段数に対応した最高数のクロックサイクル演算までを含み、
前記複数個の部分データの各々には、前記所定ビット数の位置に対応した番号が付与され、
前記テンポラリな巡回検査データを計算する処理は、
前記巡回符号の生成多項式の最高次数に対応した数の複数のデータ保持手段を予め定め
られた初期値で初期化するステップと、
入力されたデータと前記複数のデータ保持手段の保持するデータとに対して、前記最高数のクロックサイクル演算を行ない、結果を前記複数のデータ保持手段の各ビットに保持する処理を、前記インタリーブの段数より１少ない数だけ繰返すステップと、
入力されたデータと前記複数のデータ保持手段の保持するデータとに対して、前記部分データに付与された番号により定まる前記クロックサイクル演算を行ない、結果を前記複数のデータ保持手段の各ビットに保持する処理とを含む、請求項１０に記載の誤り制御方法。
【請求項１２】
前記所定ビット数のデータの巡回検査データを求めるステップは、前記部分データごとの巡回検査データの計算が終了するたびに、前記複数のデータ保持手段の各々の保持内容と、対応する前記複数のテンポラリな巡回検査ビット保持手段の保持内容との間で２を法とする加算を行なって、結果を前記対応するテンポラリな巡回検査ビット保持手段に保持するステップを含む、請求項１１に記載の誤り制御方法。
【請求項１３】
前記巡回符号は、１６ビットＣＲＣ符号である、請求項８に記載の誤り制御方法。
【請求項１４】
前記インタリーブは１６段インタリーブである、請求項８に記載の誤り制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は通信における巡回符号を用いた誤り制御装置および方法に関し、特に、データインタリーブを用いた通信とデータインタリーブを用いない通信とを切り替えて使用することができる通信方式を用いた誤り制御装置および方法に関する。
【０００２】
【従来の技術】
近年、携帯電話など、無線通信を用いた通信装置が普及している。無線通信を用いた通信は通常の電話システムにおける電話線などが不要であり、基地局を適切な箇所に設けることにより行えるため、電話線の敷設などのコストが過大になると思われる地域で利用するのに最適である。のみならず、通信を行なうことのできる地点が必ずしも限定されないため、将来もさらに普及することが見込まれる。
【０００３】
こうした無線通信では、ディジタル通信が主として利用される。特に無線を用いた通信ではたとえば電話における通話の秘話性を確保するために、ディジタル通信を用いることが好ましい。
【０００４】
ディジタル通信では、誤り訂正符号を用いた符号化方式と、ＣＲＣ符号とを組み合わせた誤り制御方式が用いられることがある。特に最近の携帯電話システムの規格の一部に見られるように、基地局から移動局に送信する際に、移動局からの通信の状況を見て無線回線品質が良好であればインタリーブを行なわないＣＲＣにより得られたＣＲＣ符号をデータに付加して送信し、無線回線品質が良好でないと誤り訂正符号により符号化し、インタリーブを行なったＣＲＣにより得られたＣＲＣ符号をデータに付加して送信するなど、回線の状況によりＣＲＣ符号の方式を変えることがある。
【０００５】
インタリーブされないデータは、図９に示される受信データ１２０のように、データD0〜D223の２２４ビット（うちデータはD0〜D207の２０８ビット、ＣＲＣビットはD208〜D223の１６ビット）を含み、これらデータビットがその順番にしたがって送信されてくる。データはこの順番で受信バッファに格納され、この順番で読み出されてＣＲＣによる誤り制御のための復号が行なわれる。なおここでは、例として符号長２２４ビット、１６ビットＣＲＣ、１６段インタリーブを仮定している。
【０００６】
図１０を参照して、インタリーブされた受信データ１３０は、D0〜D223の順番ではなく、D0、D16、D32、…、D209、D1、D17、D33、…、D210、…、D222、D15、D31、D47、…、D207、D223という順番でインタリーブされて送信され、矢印１３２により示されるようにこの順番で読み出されＣＲＣによる誤り制御のための復号がおこなわれる。特に、このようなインタリーブは、回線状況が悪い場合に、誤り訂正信号を付加して行なわれる。
【０００７】
こうしたインタリーブなし／ありのデータフォーマットは基地局側で行なう。移動機は、基地局から受信したデータがインタリーブなしなのか、ありなのかを知ることができない。そこで、従来は移動機はまず受信したデータがインタリーブありであることを仮定してＣＲＣ回路で誤り検出を行ない、誤りがなければ受信したデータがインタリーブありのフォーマットであったと判断してそのまま処理し、誤りがあれば受信したデータがインタリーブなしのフォーマットであったと判断して再度インタリーブなしとしてＣＲＣ回路で誤り検出を行なう。この処理によりさらにＣＲＣエラーがあれば、たとえばデータの再転送などの適切なエラー処理が行なわれる。誤り訂正符号が付加されているときには、このときに誤り訂正符号による誤り訂正も行なう。なお、誤り訂正符号を付加してデータ送信する技術をＦＥＣ（Foward Error Correction）と呼び、そのための回路をＦＥＣ回路と呼ぶ。またこの発明はＣＲＣ復号処理に関するものでありＦＥＣには関係しないため、以下の説明ではこの発明に関する説明を明確にするためにＦＥＣについては考慮しないものとする。
【０００８】
上記したＣＲＣ処理を実現するための回路の一例を図７に示す。図７を参照して、従来の誤り制御復号部９０は、基地局から受信されたデータを格納するための受信データバッファ５０と、受信データバッファ５０に格納されたデータがインタリーブされた（インタリーブフォーマットの）データであると仮定して所定の順序でデータの読出を行なうことによりデータのデインタリーブを行なうデインタリーバ５２と、デインタリーバ５２の出力を受けるＦＥＣ５４と、受信データバッファ５０からストレートに読み出されたデータを受けるＦＥＣ５６と、ＦＥＣ５６およびＦＥＣ５４のいずれか一方のデータを選択して出力するセレクタ１００と、セレクタ１００の出力を受け、データのＣＲＣを計算するためのＣＲＣ回路５８とを含む。
【０００９】
図１１を参照して、ＣＲＣ回路５８は、良く知られているように、データを順にシフトしていくように直列に接続された複数個の１ビットレジスタＣＲ０〜ＣＲ１５（この個数はＣＲＣの生成多項式によって定まる。）と、ＣＲＣ生成多項式における各項の係数のうち、０以外の係数に対応する位置の１ビットレジスタの前に挿入され、データ線１４０ を介して与えられるデータと、直前の１ビットレジスタの出力との２を法とする加算を行なって直後の１ビットレジスタに与えるための加算器１４２、加算器１４４と、入力データと最後の１ビットレジスタＣＲ１５の出力との２を法とする加算を行なってデータ線１４０を介して先頭の１ビットレジスタＣＲ０、加算器１４２ および加算器１４４に与えるための加算器１４６とを含む。図１１に示すのは、生成多項式：
g(x)=x16+x12+x5+1
に対応するＣＲＣ回路である。ＣＲＣ回路は、実質的には割算回路である。
【００１０】
ＣＲＣ回路では、最初に各１ビットレジスタに所定の初期値を設定し、入力データとして受信データを１ビットずつ与え各１ビットレジスタ間で値をシフトしていく。全ビットを入力し終えたときに１ビットレジスタＣＲ０〜ＣＲ１５に保持されている値が割算の剰余、すなわちＣＲＣビットである。通常はＣＲＣビットが０であれば誤りがなく、０以外であれば誤りがあったと判定される。
【００１１】
この回路を用いた誤り検出は、図１２に示したフローチャートで示される処理によって行なわれる。すなわち、移動機が起動され、ユニットを受信する（ステップＳ２）と、最初に受信データがインタリーブされていることを仮定して、図７に示すデインタリーバ５２を経由してデインタリーブされたデータをセレクタ１００で選択してＣＲＣ回路５８でＣＲＣ処理を行なう（ステップＳ３０）。この結果ＣＲＣエラーがなければ制御はステップＳ８に、ＣＲＣエラーがあれば制御はステップＳ３４に、それぞれ進む（ステップＳ３２での判定）。
【００１２】
ＣＲＣエラーがなかった場合には、基地局から送信されてくるデータはインタリーブされているということであり、以下ではそれを前提として受信処理を行なう。すなわち、ますステップＳ８で、ステップＳ２で受信されたユニットが先頭ユニットか否かを判定する。先頭ユニットでなければステップＳ１４でこのユニットを破棄して制御はステップＳ２に戻る。
【００１３】
ステップＳ８で、ステップＳ２で受信したユニットが先頭ユニットであると判定されると、ステップＳ１０でインタリーブありとして継続ユニットを受信しＣＲＣ処理を行なう。すなわち、これ以下の処理ではセレクタ１００はＦＥＣ５４の出力を選択する。続いてステップＳ１２で継続ユニットがあるか否かを判定し、あれば制御をステップＳ１０に戻して継続ユニットの受信処理を継続する。ステップＳ１２で継続ユニットがないと判定されれば制御はステップＳ２に戻る。
【００１４】
一方、ステップＳ３２でＣＲＣエラーがあったと判定された場合には、インタリーブなしと判断され、したがってステップＳ３４でインタリーブなしと仮定してＣＲＣ処理が行なわれる。図７に示す例では、再びデータが受信データバッファ５０から読み出され、今度はセレクタ１００によってＦＥＣ５６を経由したデータが選択されてＣＲＣ回路５８に与えられる。ＣＲＣ回路５８でのＣＲＣ処理の結果、ＣＲＣエラーがあったか否かをステップＳ３６で判定する。ＣＲＣエラーがなければステップＳ２で受信されたデータはインタリーブなしであったと判断され、制御はステップＳ１８に進む。ＣＲＣエラーがあれば、なにもせず（すなわち受信ユニットは破棄され）、制御はステップＳ２に戻る。
【００１５】
ステップＳ３６でＣＲＣエラーがなかったと判定された場合に行なわれるステップＳ１８〜Ｓ２４までの処理はそれぞれ、ステップＳ８〜１４までの処理と同様であるので、ここではそれらについての詳細な説明は繰返さない。ただし、ステップＳ２０では受信データにはインタリーブがかかっていないものとしてＣＲＣ処理をする点がステップＳ１０と異なる。
【００１６】
図７に示す従来の誤り制御復号部９０と同様の処理を行なうための他の従来の誤り制御復号部１１０を図８に示す。この例でも、最初に受信データにはインタリーブがかけられていると仮定して、受信データバッファ５０から読み出されデインタリーバ５２によってデインタリーブされたデータをＦＥＣ５４を経てＣＲＣ回路５８ＡでＣＲＣ処理する。この結果ＣＲＣエラーがあればインタリーブなしと判断して改めて受信データバッファ５０からデータを読出し、今度はデインタリーブされないデータをＦＥＣ５６を経てＣＲＣ回路５８Ａとは別のＣＲＣ回路５８ＢでＣＲＣ処理する。図７に示した例は、この図８に示した回路の二つのＣＲＣ回路５８Ａ、５８Ｂを一つのＣＲＣ回路５８にまとめたものである。
【００１７】
【発明が解決しようとする課題】
しかし、上述のように受信されたデータにインタリーブがかけられているか否かはＣＲＣ処理を一旦行なわなければ判定ができず、最初には必ずインタリーブがかけられていることを仮定して読出したデータをデインタリーブして処理され、実際にデータにはインタリーブがかけられていない場合にはあらためて受信データバッファからデータをストレートに読出してＣＲＣ処理しなければならない。その結果、受信データバッファからデータを２回読出さなければならなくなる場合があり、２回分に相当する処理時間を要することになる。またＣＲＣ計算も２度行なうこととなる。そのため移動機のシステム負荷が増大し、ひいては移動機の消費電力が増加するという問題点がある。移動機の電源は限られているため、その消費電力はできるだけ抑えるのが好ましい。
【００１８】
したがって、この発明の目的は、インターリーブなし／ありが予め分からないデータの巡回符号検査を行なう誤り制御装置および方法において、消費電力を削減することが可能な誤り制御回路および方法を提供することである。
【００１９】
この発明の他の目的は、受信データバッファから一度だけデータを読み出すことにより、インターリーブあり／なしを判定することが可能な誤り制御回路および方法を提供することである。
【００２０】
この発明のさらに他の目的は、受信データバッファから一度だけデータを読み出すことにより、インターリーブあり／なしを高速に判定することが可能な誤り制御回路および方法を提供することである。
【００２１】
【課題を解決するための手段および発明の効果】
この発明にかかる誤り制御装置は、予め定められた巡回符号により符号化された、所定のインタリーブ順序でインタリーブされた可能性がある所定ビット数のデータを、デインタリーブするためのデインタリーバと、デインタリーバの出力を受け、巡回符号の符号化方式に対応した検査方式により所定ビット数のデータの巡回符号検査を行なう第１の巡回符号検査回路と、デインタリーバの出力を受け、第１の巡回符号検査回路による巡回符号検査と同時に、かつ実質的に第１の巡回符号検査回路による巡回符号検査の時間と同じ時間の間に、デインタリーバによって変更されたデータの並びを元に戻しながら、巡回符号の符号化方式に対応した検査方式により所定ビット数のデータの巡回符号検査を行なう第２の巡回符号検査回路とを含む。
【００２２】
第１の巡回符号検査回路による、デインタリーブされたデータに対する巡回符号検査と同時に、かつ実質的に第１の巡回符号検査回路による巡回符号検査の時間と同じ時間の間に、第２の巡回符号検査回路によって、デインタリーブによって変更されたデータの並びを元に戻しながら巡回符号検査が行なわれる。これにより、デインタリーブされる前のデータがインタリーブされていたものであれば第１の巡回符号検査回路によりＣＲＣ検査ができ、デインタリーブされる前のデータがインタリーブされていないものであれば第２の巡回符号検査回路によりＣＲＣ検査ができる。データの読出はデインタリーブされるときの１回のみで上記した２種類の巡回符号検査が行えるので、巡回符号検査に要する時間が短縮され、かつ計算のための負荷も減少する。その結果、誤り制御装置の消費電力も削減される。
【００２３】
好ましくは、第２の巡回符号検査回路は、デインタリーバの出力に接続された入力データ線と、巡回符号の生成多項式の最高次数に対応した数のデータ信号線を含むデータバスと、各々が入力データ線およびデータ信号線の各々に接続され、入力データ線から与えられるデータとデータ信号線上のデータとに対して巡回符号の符号化方式とインタリーブの方式とによって定まる所定の演算シーケンスを行なうことによって巡回符号の所定位置の検査ビットを計算するための、巡回符号の生成多項式の最高次数に対応して設けられた複数個の部分検査ビット計算回路と、複数個の部分検査ビット計算回路の各々に接続され、部分検査ビット計算回路で行なわれるべき演算シーケンスを制御するための演算制御部とを含む。
【００２４】
より好ましくは、複数個の部分検査ビット計算回路の各々は、演算制御部、入力データ線、およびデータバスに接続され、入力データ線上のデータ、およびデータバス上の所定データ線上のデータに対して、演算制御部から与えられる演算指定信号により定められる演算を行なうための演算器と、演算器の出力に接続された入力と、データバスの、所定のデータ線に接続された出力とを有し、演算器の出力するデータを保持して所定のデータ線に出力するためのデータレジスタと、データレジスタの出力に接続され、演算シーケンス中、所定ビット数をインタリーブの段数で除した数に対応した回数だけの演算が終了するごとに自己の保持データとデータレジスタの出力とに対して２を法とする演算を行なって結果を保持するための演算結果レジスタとを含む。
【００２５】
この発明の他の局面にかかる誤り制御方法は、予め定められた巡回符号により符号化された、所定のインタリーブ順序でインタリーブされた可能性がある所定ビット数のデータを、デインタリーブするステップと、デインタリーブするステップによってデインタリーブされたデータを受け、巡回符号の符号化方式に対応した検査方式により所定ビット数のデータの第１の巡回符号検査を行なうステップと、デインタリーブされたデータを受け、第１の巡回符号検査を行なうステップと同時に、かつ実質的に第１の巡回符号検査回路による巡回符号検査の時間と同じ時間の間に、デインタリーブするステップによって変更されたデータの並びを元に戻しながら、巡回符号の符号化方式に対応した検査方式により所定ビット数のデータの第２の巡回符号検査を行なうステップとを含む。
【００２６】
デインタリーブされたデータに対する第１の巡回符号検査と同時に、かつ実質的に第１の巡回符号検査回路による巡回符号検査の時間と同じ時間の間に、デインタリーブによって変更されたデータの並びを元に戻しながら第２の巡回符号検査が行なわれる。これにより、デインタリーブされる前のデータがインタリーブされていたものであれば第１の巡回符号検査によりＣＲＣ検査ができ、デインタリーブされる前のデータがインタリーブされていないものであれば第２の巡回符号検査によりＣＲＣ検査ができる。データの読出はデインタリーブされるときの１回のみで上記した２種類の巡回符号検査が行えるので、巡回符号検査に要する時間が短縮され、かつ計算のための負荷も減少する。その結果、誤り制御装置の消費電力も削減される。
【００２７】
好ましくは、第２の巡回符号検査を行なうステップは、巡回符号の生成多項式の最高次数に対応した数の複数のテンポラリな巡回検査データレジスタを初期化するステップと、デインタリーブするステップによりデインタリーブされたデータに対して、複数のテンポラリな巡回検査データレジスタを用いながら、巡回符号の符号化方式とインタリーブの方式とによって定まる複数個のクロックサイクル演算からなる演算シーケンスを行なうことによって巡回符号の各位置の検査ビットを計算するステップとを含む。
【００２８】
【発明の実施の形態】
図１を参照して、この発明の好ましい実施例にかかる移動機２０は、基地局との間で無線通信を行なうためのＲＦ部３０と、ＲＦ部３０によって受信された基地局からの信号を復調する復調部３２と、復調部３２の出力に接続され、チャネルデコード処理を行なうチャネルデコード部３４と、チャネルデコード処理されたデータに対してＣＲＣチェックなどによる誤り検出および誤り訂正符号による誤り訂正などを行なうための誤り制御復号部３６と、移動機２０全体の、図示されない他の回路部も含めての基本的な動作を制御するためのＣＰＵ３８と、ＣＰＵ３８から出力される基地局へ送信されるべきデータに対してＣＲＣ符号付加などの誤り制御符号化処理を行なうための誤り制御符号化部４０と、誤り制御符号化部４０から出力される、誤り制御符号によって符号化されたデータに対してチャネル符号化を行なうためのチャネルコード部４２と、チャネルコード部４２の出力を無線周波数で変調するための変調部４４とを含む。
【００２９】
図２を参照して、誤り制御復号部３６は、基地局から受信されたデータを格納するための受信データバッファ５０と、受信データバッファ５０からデータを所定の順番（図１０の矢印１３２で示されるもの）で読み出すことによりデータのデインタリーブを行なうためのデインタリーバ５２と、デインタリーバ５２の出力に接続されたＦＥＣ５４と、ＦＥＣ５４の出力に接続されたＣＲＣ回路５８ と、デインタリーバ５２の出力に接続されたＦＥＣ５６と、ＦＥＣ５６の出力に接続され、デインタリーブされるデータが受信データバッファ５０内においてインタリーブなしフォーマットの場合であっても、ＣＲＣ回路５８と並行に同じ時間でＣＲＣ処理をおこなう機能を持つ新ＣＲＣ回路６０とを含む。
【００３０】
ＣＲＣ回路５８は、図１１に示したものと同様である。新ＣＲＣ回路６０がこの発明にかかわる部分であって、新ＣＲＣ回路６０は、データがインタリーブなしの場合に、そのデータに対してデインタリーブ処理がされたものについてもインタリーブなしでデータが入力されたときと同じ結果を得ることができる。この新ＣＲＣ回路６０ を設けることにより、受信データバッファ５０から読み出したデータに対してデインタリーバ５２でデインタリーブしたものについて、ＣＲＣ回路５８によってインタリーブされたデータに対するＣＲＣ検査を行なうのと並行して、新ＣＲＣ回路６０によってインタリーブなしのデータに対するＣＲＣ検査が行える。受信データバッファ５０からの読出が一度で済むため、ＣＲＣ計算の負荷が減少し、消費電力を少なくすることができる。
【００３１】
新ＣＲＣ回路６０の構成を説明する前に、新ＣＲＣ回路６０で行なわれる処理の原理について説明する。
【００３２】
インタリーブなしの場合のデータフォーマットは図９に示すとおりであり、ＣＲＣ受信多項式Fは次の式（１）のとおりとなる。
F = D0x223 + D1x222 + D2x221+ ...  +D207x16+ D208x15
+ D209x14 + ... + D223x0... (1)
一方、インタリーブありの場合のデータフォーマットは図１０に示すとおりであり、ＣＲＣ受信多項式は次の式（２）となる。
D0x223+ D16x222 + D32x221 + ... + D208x210
+ D1x209 + D17x208 + D33x207+ ... + D209x196
+ D2x195 + D18x194 + D34x193+ ... + D210x182
......................................................
+ D14x29 + D30x28 + D46x27+ ... + D190x16 + D206x15 + D222x14
+ D15x13 + D31x12 + D47x11+ D223x0 ............(2)
ここで、式（１）をインタリーブ（１６段）フォーマットにあわせた表現にすると、以下のように１６個の部分データF1〜F16に分解できる。
0003655872.tif 000002
【００３３】
ここで、求めるべきＣＲＣ（インタリーブなしフォーマット対応）は、式（３）をＣＲＣ多項式で割った剰余である。この求めるべきＣＲＣ（インタリーブなしフォーマット対応）をＣＲＣ（ｘ）とすると、ＣＲＣ符号が線形符号であるので、分配則によって次の式（５）が成立する。
0003655872.tif 000003
【００３４】
上記した式Fi (i=1〜16)は、xの高次から見ればその各項の係数D0〜D223 の出現順序はインタリーブありの式（２）の各項の係数D0〜D223 の出現順序と同一である。ただし、対応の項のxの次数が式（１）と式（２）とでは異なる。式（２）ではxの次数は各項ごとに１ずつ減じていくのに対して、式（１）ではxの次数はインタリーブ段数である１６ずつ減じていくことに注目する。
【００３５】
ここで、この発明の原理をより明確にするために、式F1をさらに以下のように展開することができる。
0003655872.tif 000004
式（３）と式（２）とを比較すると、式（２）において、第１項D0が入力されてから次のデインタリーブされた第２項データD16が入力されるまでの１５クロックの間、「０」データが入力されたものとし、以下同様に各項データDiが入力されてから次のデータDi+1が入力されるまでの１５クロックの間、「０」データが入力されたものとすると式（３）の形と一致した形を有する。
【００３６】
同じことが、F2〜F16についてもいえる。ただしF2〜F16の最終項についてのみ、以下のような調整が必要である。たとえばF2の最終項D209x14について見ると、次のようになる。
0003655872.tif 000005
この式では、全部で１５項あるうちの、最初の項がD209x14であり、残りの１４項には「０」というデータが入力されるものと考えて良い。同様にたとえばF15の最終項D222x1およびF16の最終項D223x0について見ると、次のようになる。
【００３７】
0003655872.tif 000006
F15においてはD222の後１クロックサイクルの間のみデータ「０」が入力されたものと考え、F16においてはD223の後にはデータの入力がないものと考えると、それぞれ式（２）でのＣＲＣ計算と同じ形の計算が可能であることがわかる。
【００３８】
つまり、F1〜F16式の最終項の計算において、それぞれ最初のデータがD209〜D203で、続く１５クロック〜０クロック（F1では１５クロック、F2では１４クロック、F3では１３クロック、以下同様にしてF15では１クロック、F16では０クロック）では固定「０」データが入力されたものとするとそれぞれ式（２）と同じように計算でき、これによってこれら部分データの各々に対してＣＲＣビットを計算できることが分かる。
【００３９】
したがって、原理的には、上記したF1〜F16を式（２）でそれぞれ計算し、その後にそれらの剰余の和を求めれば本来インタリーブなしのデータであってデインタリーバ５２によってデインタリーブ処理されたデータを、その順番に受取ってＣＲＣ計算を行なうことができる。
【００４０】
しかしこの場合、式（２）の計算を図１１に示すＣＲＣ計算回路で行なうと、F1の計算に２０８サイクル、F2の計算に２０７サイクル、F3の計算に２０６サイクル等、各々の計算時間がＣＲＣ回路５８で行なわれるのと同程度の大きさとなり、全体ではインタリーブありのデータのＣＲＣ計算に要する時間の１６倍近くかかることになる。これではインタリーブありのデータとインタリーブなしのデータとのＣＲＣ計算を同時に行えることにはならない。そこで、何らかの工夫が必要となる。
【００４１】
ここで、本願発明者は、上記したF1〜F16の計算において、計算対象となる各項の間に挿入されるデータが固定であり必ず「０」であることに着目した。特に、第１項にデータ、続く１５項に「０」が続く、という形で１６クロックサイクルが連続して行なわれる場合、生成多項式に対応したＣＲＣ回路において、最初の状態が分かっていれば、その１６クロックサイクルが終了した後の各ＣＲＣレジスタの内容が最初の各ＣＲＣレジスタの内容の関数として簡略な形で予め計算し表現できることに着目した。こうした性質を用いると、全部で１６項（最初の１項がデータ、続く１５項が「０」）分の演算をＣＲＣ回路で１６クロックサイクルをかけて行なう処理結果を、上記した関数を用いて１サイクルで計算することができる。本明細書では、このようにもとのＣＲＣ回路で１６クロックサイクルをかけて行なう処理を、予め求めていた関数により１クロックサイクルで計算することを「１６クロックサイクル演算」と呼ぶ。
【００４２】
１６クロックサイクル演算をどのようにして予め計算するかについて、図３を参照して説明する。図３の最も上段に既に述べた生成多項式x16+x12+x5+1に対応したＣＲＣ計算回路の構成を示す。このように、生成多項式に対応するＣＲＣ計算回路の構成に基づいて以下に述べるように順にＣＲＣ計算回路内のＣＲＣレジスタの各々の状態遷移を考えていくと、上記した１６クロックサイクル演算の表現が求められる。
【００４３】
まず、０クロック目（初期状態）における各ＣＲＣレジスタ（全部で１６個）の内容をC0〜C15 とする。最初に入力されるデータをP0とする。このデータには、まず入力部にある加算器によりＣＲＣレジスタ１５の内容が（２を法として）加算される。すると、１クロック目における各ＣＲＣレジスタの内容は図３において「１クロック」と記載した段に示されたようになる。たとえば ＣＲＣレジスタ０の値は「C15※P0」と表される（ここで記号「※」は２を法とする加算を表す。図での標記と異なることに注意）。同様に、ＣＲＣレジスタ１、２、３、４の値はそれぞれC0、C1、C2、C3となる。ＣＲＣレジスタ５の内容は、入力データP0とＣＲＣレジスタとの２を法とする加算結果C15※P0に対してさらにＣＲＣレジスタ４の内容C4との２を法とする加算を行なった結果となり、したがってC4※C15※P0となる。以下同様にして全てのＣＲＣレジスタの内容が、最初のＣＲＣレジスタの値と入力データP0とによって表現できる。
【００４４】
２クロック以下も同様である。２クロック目に入力されるデータをP1とすれば、ＣＲＣレジスタ０の内容はC14※P1となり、ＣＲＣレジスタ１の内容はC15※P0となり、ＣＲＣレジスタ２、３、４の内容はそれぞれC0、C1、およびC2となる。ＣＲＣレジスタ５、６の内容はそれぞれC3※C14※P1、およびC4※C15※P0となる。以下同様にして全てのＣＲＣレジスタの内容が、０クロック目の各ＣＲＣレジスタの値と入力されるデータP0およびP1によって定まる。
【００４５】
以下同様にして、前クロックサイクルにおける各ＣＲＣレジスタの内容と、そのクロックサイクルで入力されるデータとの値とによって、次のクロックサイクルにおける各ＣＲＣレジスタの内容を表現することができ、これを１６クロックサイクルまで繰返すことにより、１６クロックサイクル後のＣＲＣレジスタの内容が全てのＣＲＣレジスタの初期値と入力されたデータ P0〜P15によって表現できる。この際に、P1〜P15が「０」であることを用いれば、この計算は容易に行える。
【００４６】
このようにして、１６クロックサイクル演算によれば、P1〜P15がすべて０であることが分かっているものとすれば、P0が入力された時点で１クロックサイクルで上記した１６クロックサイクル後の全てのＣＲＣレジスタの内容が計算できることは、当業者には容易に理解できるであろう。
【００４７】
この１６クロックサイクル演算を用いると、たとえば上記した式F1については全てのデータの計算を１サイクルの間に実行される１６クロックサイクル演算で行なって、F1 mod G(x)を求めることができる。式F1に含まれる項（データ）数は１４項（D0, D16, D32, ..., D208）であるから、式F1の結果は全部で１４サイクルで計算できる。前述のとおりＣＲＣ回路で計算するときの２０８サイクルの１／１６である。
【００４８】
次に、F2について考えてみる。F2では、最初の１３項については上記した１６クロックサイクル演算で計算できる。しかし最後の１項については、その後に「０」が（１５個ではなく）１４個あるだけである。したがって最後の「０」が入力されるのは、１６サイクル後ではなく１５サイクル目となる。この場合、上記した１６クロックサイクル演算は用いることができない。
【００４９】
しかし、上記した１６クロックサイクル演算を求める過程の図（図３）を参照すると、１６クロックサイクル演算を求める過程で、同じように１５クロックサイクル後に各ＣＲＣレジスタの内容がどのようになっているかが既に求められていることが分かる。これを１６クロックサイクル演算と同様に１５クロックサイクル演算と呼ぶことにする。すると、F2の場合には、データとしてD1、D17、...、D193、D209の１４個のデータを各サイクルごとに与えながら、最初の１３サイクルではそれぞれ１回ずつ、合計１３回の１６クロックサイクル演算を行ない、最後の１クロックサイクルでは１回の１５クロックサイクル演算を行なうことにより、F2 mod G(x)が求められる。
【００５０】
以下同様にして、F3については１３回の１６クロックサイクル演算と１回の１４クロックサイクル演算でF3 mod G(x)が求められ、F4については１３回の１６クロックサイクル演算と１回の１３クロックサイクル演算でF4 mod G(x)が求められ、以下同様にしてFiについては１３回の１６クロックサイクル演算と１回のｍクロックサイクル演算（m = 17 - i）でFi mod G(x)が求められる。前述したとおりこれらFi mod G(x)  （i  = 1〜16)を全て合計することによりF mod G(x)が計算できる。これに要するクロックサイクル数は１４×１６＝２２４であって、インタリーブありのデータに対するＣＲＣ計算に必要なクロックサイクル数と一致する。
【００５１】
こうした原理を実現する回路によって、インタリーブなしのデータのＣＲＣ計算を、インタリーブありのデータのＣＲＣ計算に要するのと同じ時間の間に並行して行なうことができる。
【００５２】
上記した１６クロックサイクル演算、１５クロックサイクル演算、．．．１クロックサイクル演算は、与えられるデータの内容とは関係なく、巡回符号の生成多項式と、予定されているインタリーブのインタリーブ段数とにのみ依存して予め決定できる。また、こうしてその内容が決定された演算を「クロックサイクル演算」と呼ぶものとすると、クロックサイクル演算の種類は、インタリーブ段数の数だけ存在することになる。
【００５３】
図４に、上記した新ＣＲＣ回路６０の一構成例を示す。図４を参照して、新ＣＲＣ回路６０ は、ＣＲＣ巡回符号の生成多項式の最高次数（１６）に対応した数だけ設けられ、ＣＲＣの各ビットの計算を行ない結果を保持するための部分ＣＲＣ計算回路Ａ０〜Ａ１５と、これら部分ＣＲＣ計算回路に入力データを供給するための入力データ線７０と、これら部分ＣＲＣ回路の間のデータ供給路となるＣバス７４と、これら部分ＣＲＣ 回路に対して前述の１６クロックサイクル演算、１５クロックサイクル演算などのうちのどの演算を行なうかを指定することにより演算シーケンスを指定するサイクル制御信号が与えられるサイクル制御信号線７２とを含む。
【００５４】
図５を参照して、部分ＣＲＣ計算回路Ａ０は、入力データ線７０、サイクル制御信号線７２およびＣバス７４に接続され、サイクル制御信号線７２上のサイクル制御信号にしたがって、１６クロックサイクル演算〜１クロックサイクル演算のうちのいずれか一つを選択してＣバス７４上の所定のＣＲＣビットおよび入力データ線７０を介して与えられるデインタリーブ処理がされた入力データに対してその演算を行ない、結果を出力するための係数器８０と、係数器８０の出力に接続された入力と、Ｃバス７４の１本の信号線に接続された出力とを持ち、部分データに対する部分ＣＲＣ検査ビットのうち、係数器８０が出力する１ビットを保持しＣバス７４上の対応する信号線上に出力するためのＣＲＣレジスタ８２と、この部分ＣＲＣ計算回路Ａ０によるＣＲＣビット計算の途中結果を、受信データをインタリーブの段数（図１０に示される例では１６）に対応した回数だけ式（５）のｉの数だけの演算結果を格納するテンポラリＣＲＣレジスタ８４と、ＣＲＣレジスタ８２の内容とテンポラリＣＲＣレジスタ８４との内容の間で２を法とする加算を行なってテンポラリＣＲＣレジスタ８４にＣＲＣ計算の途中結果として与えるための加算器８６とを含む。
【００５５】
他の部分ＣＲＣ計算回路Ａ１〜Ａ１５についても、Ｃバス７４のうちＣＲＣレジスタ８２が接続される信号線が異なる点を除き、部分ＣＲＣ計算回路Ａ０と同じ構成を有している。したがってここではそれらについての詳細は繰返さない。
【００５６】
係数器８０は、既に述べた１６ビット演算〜１ビット演算までのいずれをも実行可能であり、そのうちのどの演算を実行するかをサイクル制御信号線７２上のサイクル制御信号による指示によって選択して実行する。このとき、入力データ線７０上の入力データおよびＣバス７４上のどのデータを用いるかは、その部分ＣＲＣ計算回路がどの何ビット目の計算を行なう回路なのか、およびそのときサイクル制御信号線７２上のサイクル制御信号によって指示された演算が何ビット演算なのかによって異なってくる。
【００５７】
いずれにせよ、係数器８０は、クロック信号の１サイクルの間に、サイクル制御信号線７２上のサイクル制御信号によって指示される演算を行ない結果をＣＲＣレジスタ８２に与える。ＣＲＣレジスタ８２はこの出力を保持するとともにＣバス７４上に出力する。前述のとおりF1〜F16の各々に対して１６クロックサイクル演算を１３回と、残りのデータ数に対応する１６クロックサイクル〜１クロックサイクル演算のうちのいずれかを一回した後、ＣＲＣレジスタ８２にはF1〜F16のいずれかに対して求められたＣＲＣ(Fi mod G(x))のうち、この部分ＣＲＣ計算回路に対応したビットが格納されていることになる。そのビットをテンポラリＣＲＣレジスタ８４に格納されている値と２を法とする演算を行なってテンポラリＣＲＣレジスタ８４に再び格納することで、ＣＲＣ計算の途中結果がテンポラリＣＲＣレジスタ８４に格納される。
【００５８】
さて、図１〜図２、図４および図５に示されるこの発明の実施例の移動機２０は以下のように動作する。受信時、ＲＦ部３０は基地局から電波を受信し復調部３２に与える。復調部３２はこの受信信号を復調しチャネルデコード部３４に与える。チャネルデコード部３４はチャネル復調されたデータに対してチャネルデコード処理を行ない、デコードされたデータを誤り制御復号部３６に与える。このとき、受信されたデータがインタリーブありかなしかは直ちには判断できない。
【００５９】
誤り制御復号部３６は以下のようにしてこのデータのＣＲＣ検査を行なう。図２を参照して、受信データバッファ５０に一旦格納されたデータはデインタリーバ５２によって図１０の矢印１３２で示されるような順番で受信データバッファ５０から読み出され（すなわちデインタリーブ処理されて）、ＦＥＣ５４およびＦＥＣ５６に与えられる。説明を簡略化するために、このデータはＦＥＣ５４およびＦＥＣ５６を経てそのままＣＲＣ回路５８および新ＣＲＣ回路６０に与えられるものとして以下説明する。
【００６０】
ＣＲＣ回路５８は、従来と同じ態様で与えられたデータに対して、インタリーブありという仮定のもとで、従来と同様のＣＲＣ計算処理を行なう。それと並行して、同時に、新ＣＲＣ回路６０ が図３に示した原理にしたがって、インタリーブなしという仮定のもとでＣＲＣ計算を行なう。新ＣＲＣ回路６０の動作については後述する。ＣＲＣ回路５８ によるＣＲＣ計算と新ＣＲＣ回路６０によるＣＲＣ計算とはほぼ同時におわる。ＣＲＣ回路５８でのＣＲＣ計算によってＣＲＣ誤りがない場合にはＣＲＣ回路５８の出力がＣＰＵ３８に与えられ、たとえば音声の再生などが行なわれる。ＣＲＣ回路５８でのＣＲＣ計算によってＣＲＣ誤りがあった場合には新ＣＲＣ回路６０でのＣＲＣ計算の結果が調べられ、ＣＲＣ誤りがなければ新ＣＲＣ回路６０の結果がＣＰＵ３８に与えられる。ＣＲＣ誤りがあればたとえば基地局に対してデータの再送要求をするなど、必要なエラー処理が行なわれる。
【００６１】
図６を参照して、この誤り制御復号部３６におけるＣＲＣ制御は以下の制御構造にしたがって行なわれる。まず、移動機が起動され、ユニットを受信する（ステップＳ２）と、最初に図２に示すデインタリーバ５２を経由してデインタリーブされたデータをＣＲＣ回路５８および新ＣＲＣ回路６０に与え、同時にＣＲＣ処理を行なう（ステップＳ４）。この結果ＣＲＣ回路５８の処理でＣＲＣエラーがなければ（ステップＳ６の判定で「YES」）制御はステップＳ８に進み、ＣＲＣ回路５８の処理でＣＲＣエラーがあれば（ステップＳ６の判定で「NO」）制御はステップＳ１６に進む。
【００６２】
ＣＲＣ回路５８でのＣＲＣ処理によりＣＲＣエラーがなかった場合には、基地局から送信されてくるデータはインタリーブされているということであり、以下ではそれを前提として受信処理を行なう。すなわち、まずステップＳ８で、ステップＳ２で受信されたユニットが先頭ユニットか否かを判定する。先頭ユニットでなければステップＳ１４でこのユニットを破棄して制御はステップＳ２に戻る。
【００６３】
ステップＳ８で、ステップＳ２で受信したユニットが先頭ユニットであると判定されると、ステップＳ１０でインタリーブありとして継続ユニットを受信しＣＲＣ処理を行なう。続いてステップＳ１２で継続ユニットがあるか否かを判定し、あれば制御をステップＳ１０に戻して継続ユニットの受信処理を継続する。ステップＳ１２で継続ユニットがないと判定されれば制御はステップＳ２に戻る。
【００６４】
一方、ステップＳ６でＣＲＣ回路５８でのＣＲＣ処理によりＣＲＣエラーがあったと判定された場合には、ステップＳ１６で新ＣＲＣ回路６０によるＣＲＣ処理の結果ＣＲＣエラーがあったか否かを判定する。この場合、実質的にはこの判定は既にステップＳ４で得られており、改めて受信データバッファ５０からデータをインタリーブなしで読出す必要はない。新ＣＲＣ回路６０でのＣＲＣ処理の結果、ＣＲＣエラーがなければステップＳ２で受信されたデータはインタリーブなしであったと判断され、制御はステップＳ１８に進む。ＣＲＣエラーがあれば、なにもせず（すなわち受信ユニットは破棄され）、制御はステップＳ２に戻る。
【００６５】
ステップＳ１６でＣＲＣエラーがなかったと判定された場合に行なわれるステップＳ１８〜Ｓ２４までの処理はそれぞれ、ステップＳ８〜１４までの処理と同様であるので、ここではそれらについての詳細な説明は繰返さない。
【００６６】
したがってこの制御構造では、図１２に示される従来例と異なり、ＣＲＣ回路５８ によるＣＲＣ処理でＣＲＣエラーがあったと判定されても、あらためて受信データを受信データバッファ５０から読出す必要はない。処理時間が短縮され、処理の負荷も軽減されることになる。
【００６７】
図４および図５を参照して、新ＣＲＣ回路６０は以下のように動作する。先に説明したとおり、デインタリーブされた受信データは、１６段インタリーブがかかっていれば、D0、D16、...、D192、D208、D1、D17、...、D193、D209、D2、D18、...、D194、D210、...、D15、D31、...、D207、D223という順序で受信データバッファ５０から読み出される。これらは前述のとおりF1、F2、F3〜F15という形に分解される。
【００６８】
まずF1に対するテンポラリＣＲＣを以下のようにして求める。最初に全ての部分ＣＲＣ計算回路Ａ０〜Ａ１５のＣＲＣレジスタ８２の内容を所定の値で初期化し、すべてのテンポラリＣＲＣレジスタ８４をクリアする。最初のデータD0が入力データ線７０を介して入力されるときには１６クロックサイクル演算を実行するよう指示するサイクル制御信号をサイクル制御信号線７２上に出力する。各部分ＣＲＣ計算回路Ａ０〜Ａ１５の係数器８０は、１６クロックサイクル演算に対応した演算を入力データ線７０上の入力データD0およびＣバス７４上のＣＲＣレジスタ８２の値のうちの所定のものに対して行ない、結果を出力する。ＣＲＣレジスタ８２が対応の係数器８０の演算結果を格納する。ここまでの処理は１サイクルで行なわれる。
【００６９】
次にデータD1が入力される。このときにも、同様に１６クロックサイクル演算を実行するよう指示するサイクル制御信号をサイクル制御信号線７２上に出力する。各部分ＣＲＣ計算回路Ａ０〜Ａ１５の係数器８０は、１６クロックサイクル演算に対応した演算を入力データ線７０上の入力データD1およびＣバス７４上のＣＲＣレジスタ８２の値のうちの所定のものに対して行ない、結果を出力する。ＣＲＣレジスタ８２が対応の係数器８０の演算結果を格納する。この処理も１サイクルで行なわれる。すなわちここまでの処理は合計２サイクルで行なわれる。
【００７０】
以下同様にして最終項D208まで１６クロックサイクル演算を行なう。その結果、この最終項D208が入力された時点で部分ＣＲＣ計算回路Ａ０〜Ａ１５のＣＲＣレジスタ８２には、F1についてのテンポラリＣＲＣであるCRC1(x)が格納されていることになる。これをテンポラリＣＲＣレジスタ８４に転送する。
【００７１】
次の入力データD1、D17、D193、D209はF2に関するものである。まず部分ＣＲＣ計算回路Ａ０〜Ａ１５の係数器８０のみを初期化する。最初のデータD1が入力されるときには１６クロックサイクル演算を行なうよう指示するサイクル制御信号をサイクル制御信号線７２上に出力する。これに応じて入力データD1と係数器８０に格納されている値との間で１６クロックサイクル演算が部分ＣＲＣ計算回路Ａ０〜Ａ１５の各々において１クロックサイクルで行なわれ、その結果がそれぞれの係数器８０に格納される。続いて次のデータD17が入力されるときには同様に１６クロックサイクル演算を実行する。以下同様にして最終項（D209）の前の項（D193）までの演算を行なう。
【００７２】
最終項（D209）については、前述したとおりこの後に固定の「０」が１４個だけ続く。したがってこの最終項に対しては１５クロックサイクル演算を指示するサイクル制御信号をサイクル制御信号線７２に出力する。各部分ＣＲＣ計算回路Ａ０〜Ａ１５では入力データD209と各係数器８０の値とを用いて前述した１５クロックサイクル演算を１クロックサイクルで行ない、その結果がそれぞれの係数器８０に格納される。こうして、最終項データの演算が終了した時点で係数器８０には、全体としてF2に対するテンポラリＣＲＣであるCRC2(x)が格納されている。これと、既にテンポラリＣＲＣレジスタ８４に格納されているF1に対するテンポラリＣＲＣであるCRC1(x)との間で２を法とする加算を行なうことにより、CRC1(x) + CRC2(x) = (F1(x) + F2(x)) mod G(x)が求められる。
【００７３】
以下同様にして、F3〜F16に対して最終項の演算のときのみ１４クロックサイクル演算〜１クロックサイクル演算を行なうようにしながら各テンポラリＣＲＣを求め、それをテンポラリＣＲＣレジスタ８４に２を法として加算することで、全てのデータに対する演算が終了した時点でテンポラリＣＲＣレジスタ８４には全体として(F1(x) + F2(x) + F3(x) +...+F15(x) + F16(x)) mod G(x) 、すなわちインタリーブなしフォーマットのデータのＣＲＣが求められている。この値を読み出すことにより、インタリーブなしフォーマットのデータのＣＲＣエラーの有無を判定することができる。
【００７４】
以上の新ＣＲＣ回路６０の処理は、既に説明したとおりＣＲＣ回路５８によるインタリーブありフォーマットのデータのＣＲＣ計算と同じ時間で行なうことができる。したがって、受信データバッファ５０から、データがインタリーブフォーマットであるという仮定のもとでデインタリーバ５２によって読み出したデータによって、インタリーブなしのＣＲＣチェック結果と、インタリーブありのＣＲＣチェック結果とが同時に得られる。ＣＰＵ３８は、この結果を用いて、送信データの再生などを行ない、さらに基地局に対して送信するデータを誤り制御符号化部４０、チャネルコード部４２、変調部４４を経てＲＦ部３０から送信する。
【００７５】
以上のようにこの実施例によれば、基地局から送信されてきたデータがインタリーブフォーマットか否かがわからないときでも、インタリーブありと仮定して一度だけデータを読み出すことにより、同時にインタリーブなしのＣＲＣチェック結果と、インタリーブありのＣＲＣチェック結果とが得られる。受信データがインタリーブありかなしかにかかわらず、一度だけの演算でインタリーブされているか否かを判定することができる。そのため演算の負荷が削減され、ひいては移動機の電力消費を抑えることができるという効果が奏される。
【００７６】
以上に開示された実施例はすべての点で例示的に示されるものであり、制限的なものではないと考えられるべきである。本発明の範囲は、以上の実施の形態や実施例ではなく、請求の範囲によって示され、請求の範囲と均等の意味と範囲内でのすべての修正や変形を含むものである。
【図面の簡単な説明】
【図１】この発明の一実施例の無線電話システムにおける移動機のブロック図である。
【図２】この発明の一実施例の無線電話システムにおける誤り制御復号部３６のブロック図である。
【図３】新ＣＲＣ回路６０の原理を説明するための図である。
【図４】新ＣＲＣ回路６０の構成を示すブロック図である。
【図５】新ＣＲＣ回路６０に用いられる部分ＣＲＣ計算回路のブロック図である。
【図６】この発明の一実施例の誤り制御復号部３６で行なわれる処理を示すフローチャートである。
【図７】従来の誤り制御復号部９０のブロック図である。
【図８】従来の誤り制御復号部１１０のブロック図である。
【図９】インタリーブなしのデータを示す図である。
【図１０】インタリーブありのデータを示す図である。
【図１１】ＣＲＣ計算回路を示すブロック図である。
【図１２】従来の誤り制御回路復号部で行なわれる処理を示すフローチャートである。
【符号の説明】
２０  移動機、３０  ＲＦ部、３２  復調部、３４  チャネルデコード部、３６  誤り制御復号部、３８  ＣＰＵ、４０  誤り制御符号化部、４２  チャネルコード部、４４  変調部、５０  受信データバッファ、５２  デインタリーバ、５４，５６  ＦＥＣ、５８  ＣＲＣ回路、６０  新ＣＲＣ回路、７０  入力データ、７２  サイクル制御、７４  Ｃバス８０  係数器、８２  ＣＲＣレジスタ、８４  テンポラリＣＲＣレジスタ、８６  加算器、１００  セレクタ。
【図１】
0003655872.tif 000007
【図２】
0003655872.tif 000008
【図３】
0003655872.tif 000009
【図４】
0003655872.tif 000010
【図５】
0003655872.tif 000011
【図６】
0003655872.tif 000012
【図７】
0003655872.tif 000013
【図８】
0003655872.tif 000014
【図９】
0003655872.tif 000015
【図１０】
0003655872.tif 000016
【図１１】
0003655872.tif 000017
【図１２】
0003655872.tif 000018