(57)【特許請求の範囲】
【請求項１】
複数のフリップフロップを含むシフトレジスタと、
入力ビット信号及び前記シフトレジスタの出力信号を基に選択的に排他的論理和を演算し、シフト１回目に相当する出力信号を出力するための入力排他的論理和回路と、
第ｎの入力ビット信号及びシフトｎ回目に相当する出力信号を基に選択的に排他的論理和を演算し演算結果を前記シフトレジスタの出力信号又は前記第ｎ−１の入力ビット信号として前記入力排他的論理和回路又は第ｎ−１の排他的論理和回路に出力するとともに縦列に接続されるｎ（ｎは２以上の整数）個の排他的論理和回路と
を有する準固定回路。
【請求項２】
第１の入力ビット信号及び前記シフト１回目に相当する出力信号を基に選択的に排他的論理和を演算する第１の排他的論理和回路の出力は前記入力排他的論理和回路に接続される請求項１記載の準固定回路。
【請求項３】
前記シフトレジスタ、前記入力排他的論理和回路及び前記ｎ個の排他的論理和回路の組みを２組設け、
前記入力排他的論理和回路及び前記ｎ個の排他的論理和回路の選択に応じて、畳み込みエンコーダの動作が可能である請求項１又は２記載の準固定回路。
【請求項４】
前記シフトレジスタ、前記入力排他的論理和回路及び前記ｎ個の排他的論理和回路の組みを４組設け、
前記入力排他的論理和回路及び前記ｎ個の排他的論理和回路の選択に応じて、畳み込みエンコーダ及び線形帰還シフトレジスタ回路の動作が可能である請求項１又は２記載の準固定回路。
【請求項５】
前記入力排他的論理和回路から前記準固定回路の出力信号が出力される請求項１又は２記載の準固定回路。
【請求項６】
前記入力排他的論理和回路及び前記複数のフリップフロップから前記準固定回路の出力信号が出力される請求項１又は２記載の準固定回路。
【請求項７】
前段フリップフロップの出力信号と前記入力排他的論理和回路の出力信号との排他的論理和信号又は前記前段フリップフロップからの出力信号を選択する選択回路を有する請求項１、２及び６のいずれか１項に記載の準固定回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、準固定回路に関し、特に複数種類の回路動作が可能な準固定回路に関する。
【背景技術】
【０００２】
従来、多くの通信規格、例えば移動通信規格W-CDMA、無線LAN規格IEEE802.11a及びIEEE802.11bで必要とされるデータ処理として、拡散器(スクランブラ)、畳み込み符号化器（畳み込みエンコーダ）、誤り検出方式ＣＲＣ(Cyclic Redundancy check)回路、線型帰還シフトレジスタによる疑似ランダム符号生成器が使用される。また、ビタビ復号器、マッチトフィルタ、複素乗算と複素加算を実行するバタフライ演算から構成される高速フーリエ変換(FFT)が使用される。
【０００３】
下記の特許文献１及び２には、線形帰還シフトレジスタを用いた疑似乱数発生回路が記載されている。下記の特許文献３には、可変ＣＲＣ発生回路が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−６７６２８号公報
【特許文献２】特開昭６３−２０４９１９号公報
【特許文献３】特開平４−２９２０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
スクランブラ及び畳み込みエンコーダ等は、処理内容が異なるため、別々の固定回路で構成される。また、同じスクランブラであっても、異なる規格のスクランブラは、別々の固定回路で構成される。これらを全て別々の固定回路で構成することは、ハードウエア資源の使用効率が悪い。
【０００６】
本発明の目的は、スクランブラ及び畳み込みエンコーダ等の異なる機能の回路を１つの回路で実現することができる準固定回路を提供することである。
本発明の他の目的は、スクランブラ等の同じ機能の回路であっても、異なる種類の回路を１つの回路で実現することができる準固定回路を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、複数のフリップフロップを含むシフトレジスタと、入力ビット信号及びシフトレジスタの出力信号を基に選択的に排他的論理和を演算し、シフト１回目に相当する出力信号を出力するための入力排他的論理和回路と、第ｎの入力ビット信号及びシフトｎ回目に相当する出力信号を基に選択的に排他的論理和を演算し演算結果をシフトレジスタの出力信号又は第ｎ−１の入力ビット信号として入力排他的論理和回路又は第ｎ−１の排他的論理和回路に出力するとともに縦列に接続されるｎ（ｎは２以上の整数）個の排他的論理和回路とを有する準固定回路が提供される。
【発明の効果】
【０００８】
スクランブラ、デスクランブラ又はビタビデコーダ等の同じ機能の回路であっても、異なる種類の回路を１つの準固定回路で実現することができる。また、マッチトフィルタ及びバタフライ演算回路等の異なる機能の回路を１つの準固定回路で実現することができる。また、複数種類のスクランブラ、デスクランブラ又はＣＲＣ回路等の複数ビット同時処理が１つの準固定回路で実現することができる。これにより、ハードウエア資源を共用することができるので、ハードウエア資源の使用効率を向上させることができる。また、１つの準固定回路で、複数の回路を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】図１（Ａ）は無線ＬＡＮ規格ＩＥＥＥ８０２．１１ａの送信機の構成例を示す図であり、図１（Ｂ）は無線ＬＡＮ規格ＩＥＥＥ８０２．１１ａの受信機の構成例を示す図である。
【図２】図２（Ａ）は無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂの送信機の構成例を示す図であり、図２（Ｂ）は無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂの受信機の構成例を示す図である。
【図３】無線ＬＡＮ規格ＩＥＥＥ８０２．１１ａのスクランブラの構成例を示す図である。
【図４】無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂのスクランブラの構成例を示す図である。
【図５】無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂのデスクランブラの構成例を示す図である。
【図６】本発明の第１の実施形態による準固定回路の構成例を示す図である。
【図７】本発明の第２の実施形態による準固定回路の構成例を示す図である。
【図８】入力ＥＯＲ回路の構成例を示す図である。
【図９】中段ＥＯＲ回路の構成例を示す図である。
【図１０】ＣＲＣ回路の構成例を示す図である。
【図１１】本発明の第３の実施形態による準固定回路の構成例を示す図である。
【図１２】フリップフロップ回路の構成例を示す図である。
【図１３】ＩＥＥＥ８０２．１１ａの符号化率１／２畳み込みエンコーダの構成例を示す図である。
【図１４】本発明の第４の実施形態による準固定回路の構成例を示す図である。
【図１５】入力ＥＯＲ回路の構成例を示す図である。
【図１６】Ｗ−ＣＤＭＡ規格の線形帰還シフトレジスタ（ＬＦＳＲ）の構成例を示す図である。
【図１７】本発明の第５の実施形態による準固定回路の構成例を示す図である。
【図１８】入力ＥＯＲ回路の構成例を示す図である。
【図１９】図１９（Ａ）及び（Ｂ）は第１のタイプのスクランブラ又はデスクランブラの構成例を示す図である。
【図２０】図２０（Ａ）及び（Ｂ）は第２のタイプのスクランブラ又はデスクランブラの構成例を示す図である。
【図２１】図２１（Ａ）及び（Ｂ）は第３のタイプのスクランブラ又はデスクランブラの構成例を示す図である。
【図２２】図２２（Ａ）及び（Ｂ）は本発明の第６の実施形態による準固定回路の構成例を示す図である。
【図２３】符号化率１／２の畳み込みエンコーダの構成例を示す図である。
【図２４】１シフトにつきＮビット同時処理することができる畳み込みエンコーダの準固定回路の構成例を示す図である。
【図２５】図２４の演算器の構成例を示す図である。
【図２６】図１６のＷ−ＣＤＭＡ規格の線形帰還シフトレジスタ（ＬＦＳＲ）を４個の演算器に分割することを示す図である。
【図２７】Ｎビット同時一括処理することができるＬＦＳＲの構成例を示す図である。
【図２８】図２８（Ａ）及び（Ｂ）は図２７の第１の演算器の構成例を示す図である。
【図２９】フリップフロップ３２段及び入力セレクタを含む回路の構成例を示す図である。
【図３０】図３０（Ａ）〜（Ｃ）は入力セレクタの構成例を示す図である。
【図３１】第１のＥＯＲ演算器の内部構成例を示す図である。
【図３２】第２のＥＯＲ演算器の内部構成例を示す図である。
【図３３】本発明の第８の実施形態による準固定回路の構成例を示す図である。
【図３４】図３３の第１の演算器の構成例を示す図である。
【図３５】フリップフロップ３２段及び入力セレクタを含む回路の構成例を示す図である。
【図３６】図３６（Ａ）〜（Ｆ）は入力セレクタの構成例を示す図である。
【図３７】第１のＥＯＲ演算器の内部構成例を示す図である。
【図３８】第２のＥＯＲ演算器の内部構成例を示す図である。
【図３９】本発明の第９の実施形態による準固定回路の構成例を示す図である。
【図４０】ブランチメトリック演算部の構成例を示す図である。
【図４１】ＡＣＳ部の構成例を示す図である。
【図４２】セレクタ及びＡＣＳの構成例を示す図である。
【図４３】図４３（Ａ）及び（Ｂ）はマッチトフィルタの構成例を示す図である。
【図４４】バタフライ演算器の構成例を示す図である。
【図４５】高速フーリエ変換（ＦＦＴ）回路の構成例を示す図である。
【図４６】マッチトフィルタ及びバタフライ演算を選択的に実現可能な準固定回路の構成例を示す図である。
【図４７】バタフライ演算器の構成例を示す図である。
【図４８】図４７の乗算器の内部構成例を示す図である。
【図４９】本発明の第１１の実施形態による準固定回路を含むＬＳＩの全体構成例を示す図である。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
図１（Ａ）は、無線ＬＡＮ規格ＩＥＥＥ８０２．１１ａの送信機の構成例を示す。入力データは、順に、スクランブラ１０１、畳み込みエンコーダ１０２、インターリーブ処理回路１０３、変調回路１０４、逆ＦＦＴ回路１０５、Ｄ／Ａ変換回路１０６及びＲＦ回路１０７を介して、無線で送信信号として送信される。スクランブラ１０１は、同じビットが入力されることによって、特定の周波数に電力が集中することを防ぐためにスクランブル処理を行う。畳み込みエンコーダ１０２は、誤り訂正（ビタビデコード）のための冗長符号化を行う。インターリーブ処理回路１０３は、ビタビデコードが送信時のバースト（連続）誤りに弱く、ランダム誤りに強い特性があるため、予め送信ビットを規則に沿って並び替える。変調回路１０４は、入力データに基づいて変調する。逆ＦＦＴ回路１０５は、変調されたデータを逆高速フーリエ変換する。Ｄ／Ａ変換回路１０６は、デジタル形式からアナログ形式に信号を変換する。ＲＦ回路１０７は、無線周波数の信号に変換する。
【００１１】
図１（Ｂ）は、無線ＬＡＮ規格ＩＥＥＥ８０２．１１ａの受信機の構成例を示す。無線で受信した信号は、順に、ＲＦ回路１１１、Ａ／Ｄ変換回路１１２、同期処理回路１１３、ＦＦＴ回路１１４、復調回路１１５、デインターリーブ処理回路１１６、ビタビデコーダ１１７及びデスクランブラ１１８を介して、データとして出力される。ＲＦ回路１１１は、無線周波数の信号を所定周波数の信号に変換する。Ａ／Ｄ変換回路１１２は、アナログ形式からデジタル形式に信号を変換する。同期処理回路１１３は、マッチトフィルタを含み、フレームの先頭位置として開始（同期）ポイントを検出する。ＦＦＴ回路１１４は、高速フーリエ変換する。復調回路１１５は、変調信号とタイミング同期をとった上で復調する。デインターリーブ処理回路１１６は、ビット順序をインターリーブする前の並びに戻す。ビタビデコーダ１１７は、畳み込み符号化された冗長ビットから送信ビットを復号する。デスクランブラ１１８は、スクランブルされたデータを元に戻す。
【００１２】
図２（Ａ）は、無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂの送信機の構成例を示す。入力データは、順に、ＣＲＣビット付加処理回路２０１、スクランブラ２０２、変調回路２０３、拡散回路２０４及び送信回路２０５を介して、無線で送信信号として送信される。拡散符号発生回路２０６は、拡散符号を生成して拡散回路２０４に出力する。ＣＲＣビット付加処理回路２０１は、データの誤り判定用のＣＲＣビットを付加する。ＣＲＣビットは、データに基づき決定される。そして、送信機は、伝送データを多項式とみなし、これをあらかじめ決められた生成多項式で除算したときの余りを検査用の符号として伝送データに付加する。受信機は、受信データを生成多項式で除算し、割り切れるか否かで誤りの有無を判断する。拡散回路２０４は、変調信号をスペクトラム拡散する。送信回路２０５は、Ｄ／Ａ変換回路及びＲＦ回路を含む。
【００１３】
図２（Ｂ）は、無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂの受信機の構成例を示す。無線で受信した信号は、順に、受信回路２１１、逆拡散回路２１２、復調回路２１３、ＣＲＣ処理回路２１４及びデスクランブラ２１５を介して、データとして出力される。拡散符号発生回路２１６は、拡散符号を生成して逆拡散回路２１２に出力する。受信回路２１１は、ＲＦ回路及びＡ／Ｄ変換回路を含む。逆拡散回路２１２は、拡散符号と同じ符号を受信信号に乗算することにより、受信信号が逆拡散され、拡散前の信号を復元する。ＣＲＣ処理回路２１４は、ＣＲＣビットを算出して誤りの有無をチェックする。
【００１４】
図３は、無線ＬＡＮ規格ＩＥＥＥ８０２．１１ａのスクランブラ１０１（図１（Ａ））の構成例を示す。例えば７個のフリップフロップＦＦ１〜ＦＦ７が直列に接続される。排他的論理和（以下、ＥＯＲという）回路３０２は、フリップフロップＦＦ４及びＦＦ７の出力信号のＥＯＲ演算を行って出力する。フリップフロップＦＦ１は、ＥＯＲ回路３０２の出力信号を入力する。ＥＯＲ回路３０１は、入力信号ＩＮＰＵＴ及びＥＯＲ回路３０２の出力信号のＥＯＲ演算を行い、それを出力信号ＯＵＴＰＵＴとして出力する。図１（Ｂ）のデスクランブラ１１８も、図３のスクランブラと同一の構成である。初期値が同じで、同期していれば、同じ符号を出力信号ＯＵＴＰＵＴとして出力できるからである。フリップフロップの内部状態と入力信号ＩＮＰＵＴとの相関はない。
【００１５】
図４は、無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂのスクランブラ２０２（図２（Ａ））の構成例を示す。例えば７個のフリップフロップＦＦ１〜ＦＦ７が直列に接続される。ＥＯＲ回路４０２は、フリップフロップＦＦ４及びＦＦ７の出力信号のＥＯＲ演算を行って出力する。ＥＯＲ回路４０１は、入力信号ＩＮＰＵＴ及びＥＯＲ回路４０２の出力信号のＥＯＲ演算を行い、出力信号ＯＵＴＰＵＴとして出力すると共に、フリップフロップＦＦ１に出力する。
【００１６】
図５は、無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂのデスクランブラ２１５（図２（Ｂ））の構成例を示す。例えば７個のフリップフロップＦＦ１〜ＦＦ７が直列に接続される。フリップフロップＦＦ１は、入力信号ＩＮＰＵＴを入力する。ＥＯＲ回路５０２は、フリップフロップＦＦ４及びＦＦ７の出力信号のＥＯＲ演算を行って出力する。ＥＯＲ回路５０１は、入力信号ＩＮＰＵＴ及びＥＯＲ回路５０２の出力信号のＥＯＲ演算を行い、出力信号ＯＵＴＰＵＴとして出力する。
【００１７】
ＩＥＥＥ８０２．１１ｂでは、図４のスクランブラと図５のデスクランブラの構成が異なる。フリップフロップの数は、両者とも７個で同じである。図４のスクランブラは、フリップフロップの初期値が同じでも、入力信号ＩＮＰＵＴのビット列が異なれば、異なる出力信号（符号）ＯＵＴＰＵＴを出力する。入力信号ＩＮＰＵＴとフリップフロップの内部状態とは相関がある。受信機のデクランブラで、送信機のスクランブラの入力信号ＩＮＰＵＴを復元するには、送信機のスクランブラのフリップフロップの内部状態を受信機（デスクランブラ）でも再現したうえで、その受信機（デスクランブラ）のフリップフロップ出力と送信機（スクランブラ）の出力信号ＯＵＴＰＵＴ（図５のデスクランブラの入力信号ＩＮＰＵＴ）のＥＯＲをとればよい。これを実現したのが、図５のデスクランブラである。図５では、入力信号ＩＮＰＵＴをそのままフリップフロップＦＦ１に入力することにより図４のスクランブラのフリップフロップの内部状態を再現している。
【００１８】
図６は、本発明の第１の実施形態による準固定回路の構成例を示す。この準固定回路は、図３の無線ＬＡＮ規格ＩＥＥＥ８０２．１１ａのスクランブラ（デスクランブラ）、図４の無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂのスクランブラ、及び図５の無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂのデスクランブラの動作が可能である。
【００１９】
Ｊ個のフリップフロップＦＦ１〜ＦＦＪが直列に接続される。各フリップフロップの間の接続線には、それぞれ中段ＥＯＲ回路６０２が接続される。図９に示すように、中段ＥＯＲ回路６０２は、フリップフロップの出力信号Ａ１及び前隣の中段ＥＯＲ回路６０２の出力信号（フィードバック信号）Ａ３を入力する。ＥＯＲ回路９０１は、信号Ａ１及びＡ３のＥＯＲ演算を行って信号Ａ２として出力する。セレクタ９０２は、選択信号ＳＥＬＥＣＴに応じて、信号Ａ１、Ａ２又はＡ３を択一的に選択して、後隣の中段ＥＯＲ回路６０２に出力する。例えば、図３のＥＯＲ回路３０２、図４のＥＯＲ回路４０２及び図５のＥＯＲ回路５０２に相当する中段ＥＯＲ回路６０２では、セレクタ９０２は信号Ａ２を選択して出力する。また、最終段フリップフロップＦＦ７に接続される中段ＥＯＲ回路６０２では、セレクタ９０２は信号Ａ１を選択して出力する。その他の中段ＥＯＲ回路６０２では、セレクタ９０２はフィードバック信号Ａ３を選択して出力する。
【００２０】
フリップフロップＦＦ１及びＦＦ２間に接続される中段ＥＯＲ回路６０２の出力信号（フィードバック信号）ＦＢは、入力ＥＯＲ回路６０１に入力される。図８に示すように、入力ＥＯＲ回路６０１は、フィードバック信号ＦＢ及び入力信号ＩＮＰＵＴを入力する。ＥＯＲ回路８０１は、フィードバック信号ＦＢ及び入力信号ＩＮＰＵＴのＥＯＲ演算を行い、信号Ａ２を出力する。フィードバック信号ＦＢを信号Ａ１とし、入力信号ＩＮＰＵＴを信号Ａ３とすると、セレクタ８０２は、選択信号ＳＥＬＥＣＴに応じて、信号Ａ１、Ａ２又はＡ３を択一的に選択して、フリップフロップＦＦ１に出力する。また、信号Ａ２は、出力信号ＯＵＴＰＵＴになる。図３の場合、セレクタ８０２は、信号Ａ１を選択する。図４の場合、セレクタ８０２は、信号Ａ２を選択する。図５の場合、セレクタ８０２は、信号Ａ３を選択する。
【００２１】
図６において、イネーブル信号ＥＮＡＢＬＥは、フリップフロップＦＦ１〜ＦＦＪをイネーブル状態にするか否かを制御するための信号である。例えば、フリップフロップＦＦ１〜ＦＦ７のみがイネーブル状態になる。初期値信号ＬＯＡＤは、フリップフロップＦＦ１〜ＦＦＪに初期値を設定するための信号である。以上のように、選択信号ＳＥＬＥＣＴに応じて、入力ＥＯＲ回路６０１及び中段ＥＯＲ回路６０２の選択状態を制御することにより、図３〜図５のスクランブラ及びデスクランブラを択一的に選択して動作させることができる。
【００２２】
固定回路のスクランブラは、シフトレジスタ長、ＥＯＲ回路に入力されるタップ位置、ＥＯＲ回路に入力されるタップ数といったパラメータに依存したハードウエアの構造であり、それらのパラメータが変わるとこれとは別にハードウエアを用意しなければならないという問題があった。本実施形態の準固定回路によれば、入力ＥＯＲ回路６０１及び中段ＥＯＲ回路６０２を設けることにより、図３〜図５の３つのスクランブラ又はデスクランブラを含め、１つの準固定回路で種々のスクランブラ及びデスクランブラの動作を可能にすることができる。
【００２３】
（第２の実施形態）
図７は、本発明の第２の実施形態による準固定回路の構成例を示す。この準固定回路は、図６の準固定回路に、デコーダ７０１を追加したものである。デコーダ７０１は、Ｌ＋１ビットの選択信号ＳＥＬＥＣＴを基に、２Ｌ＋２ビットの信号を出力し、Ｌ個の中段ＥＯＲ回路６０２及び１個の入力ＥＯＲ回路６０１の選択状態を制御する。
【００２４】
本来、Ｌ個の中段ＥＯＲ回路６０２及び１個の入力ＥＯＲ回路６０１を制御するためには、２Ｌ＋２ビットの選択信号ＳＥＬＥＣＴが必要であるが、全パターン数のうち使用するフリップフロップ及び中段ＥＯＲ回路６０２と、使用しないフリップフロップ及び中段ＥＯＲ回路６０２とにグループ分けして使用しないグループ内の設定の組み合わせパターンを全パターン数から引いて数えた結果、（２の（Ｌ−１）乗）×３通りのパターンであることを利用して、選択信号ＳＥＬＥＣＴをＬ＋１ビットとすることができる。
【００２５】
以上のように、デコーダ７０１は、ビット数が少ない入力信号ＳＥＬＥＣＴをデコードしてビット数が多い出力信号を出力し、中段ＥＯＲ回路６０２及び入力ＥＯＲ回路６０１を選択する。デコーダ７０１を用いることにより、選択信号の量を減らすことができる。
【００２６】
（第３の実施形態）
図１０は、ＣＲＣビット付加処理回路２０１（図２（Ａ））及びＣＲＣ処理回路２１４（図２（Ｂ））内のＣＲＣ回路の構成例を示す。ＥＯＲ回路１００１は、入力信号ＩＮ及び最後段のフリップフロップＦＦからのフィードバック信号のＥＯＲを演算し、初段のフリップフロップＦＦに出力する。例えば４個のフリップフロップＦＦがそれぞれＥＯＲ回路１００２を介して直列に接続される。各ＥＯＲ回路１００２は、ＥＯＲ回路１００１の出力信号及び前段のフリップフリップＦＦの出力信号のＥＯＲを演算し、後段のフリップフロップＦＦに出力する。各フリップフロップＦＦの出力信号が、それぞれ出力信号ＯＵＴ０，ＯＵＴ１，ＯＵＴ２，ＯＵＴ３になる。
【００２７】
図１０のＣＲＣ回路は、簡単化のため、４タップですべてのフリップフロップ間にＥＯＲ回路を挿入した例を説明したが、実際のＣＲＣ回路の構成ではタップ数は例えばＩＥＥＥ８０２．１１ｂは１６であり、ＥＯＲ回路１００２はフリップフロップＦＦ間に飛び飛びに挿入されるものである。
【００２８】
図１１は、本発明の第３の実施形態による準固定回路の構成例を示す。この準固定回路は、第１の実施形態の準固定回路（図６）に、図１０のＣＲＣ回路の機能を付加した回路である。本実施形態の準固定回路は、基本的に第１の実施形態の準固定回路と同じであるので、第１の実施形態と異なる点のみ説明する。なお、フリップフロップ回路１１０１の数に相当するタップ数Ｉは１６を基本とする。
【００２９】
複数のフリップフロップ回路１１０１は、図６と異なり、それぞれ図１２の構成を有する。ＥＯＲ回路１２０１は、入力ＥＯＲ回路６０１からの入力データ及び前段のフリップフロップの出力信号Ａ２のＥＯＲを演算し、信号Ａ１を出力する。セレクタ１２０３は、選択信号ＦＦ＿ＳＥＬＥＣＴに応じて、信号Ａ１又はＡ２を選択してフリップフロップ１２０４に出力する。フリップフロップ１２０４は、セレクタ１２０３の出力信号を入力し、出力する。
【００３０】
図１０のＣＲＣ回路を実現するためには、セレクタ１２０３は信号Ａ１を選択して出力すればよい。図６の回路を実現するためには、セレクタ１２０３は信号Ａ２を選択して出力すればよい。
【００３１】
また、図１０のＣＲＣ回路において、出力信号ＯＵＴ０〜ＯＵＴ３をそのまま出力する場合と、それらの出力を反転して出力する場合がある。そのため、図１１において、ＥＯＲ回路１１０２，１１０３が付加されている。反転信号ＩＮＶ＿ＯＵＴが１のときには反転出力となり、０のときには非反転出力となる。ＥＯＲ回路１１０３は、入力ＥＯＲ回路６０１の出力信号及び反転信号ＩＮＶ＿ＯＵＴのＥＯＲを演算し、出力する。複数のＥＯＲ回路１１０２は、それぞれ、各フリップフロップ１１０１の出力信号及び反転信号ＩＮＶ＿ＯＵＴのＥＯＲを演算し、出力する。
【００３２】
固定回路のＣＲＣ回路等は、パラメータに依存したハードウエアの構造であり、それらのパラメータが変わるとこれとは別にハードウエアを用意しなければならないという問題があった。本実施形態によれば、１つの準固定回路で任意の構成のスクランブラ及び任意の構成のＣＲＣ回路を実現できる。
【００３３】
（第４の実施形態）
図１３は、ＩＥＥＥ８０２．１１ａの符号化率１／２畳み込みエンコーダ１０２（図１（Ａ））の構成例を示す。例えば６個のフリップフロップＦＦ１〜ＦＦ６が直列に接続される。入力信号ＩＮＰＵＴは、初段のフリップフロップＦＦ１に入力される。ＥＯＲ回路１３０１は、入力信号ＩＮＰＵＴ、フリップフロップＦＦ２，ＦＦ３，ＦＦ５，ＦＦ６の出力信号のＥＯＲを演算し、出力信号ＯＵＴＰＵＴ１を出力する。ＥＯＲ回路１３０２は、入力信号ＩＮＰＵＴ、フリップフロップＦＦ１，ＦＦ２，ＦＦ３，ＦＦ６の出力信号のＥＯＲを演算し、出力信号ＯＵＴＰＵＴ２を出力する。
【００３４】
図１４は、本発明の第４の実施形態による準固定回路の構成例を示す。この準固定回路は、第３の実施形態の準固定回路（図１１）に、図１３の畳み込みエンコーダの機能を付加した回路である。本実施形態の準固定回路は、基本的に第３の実施形態の準固定回路と同じであるので、第３の実施形態と異なる点のみ説明する。
【００３５】
第３の実施形態では中段ＥＯＲ回路６０２をフリップフロップ１１０１の下段のみに設けたが、第４の実施形態では中段ＥＯＲ回路６０２をフリップフロップ１１０１の下段と同様に上段にも設ける。上段の中段ＥＯＲ回路６０２は、図１３のＥＯＲ回路１３０１に相当する。下段の中段ＥＯＲ回路６０２は、図１３のＥＯＲ回路１３０２に相当する。
【００３６】
入力ＥＯＲ回路１４０１は、図１１の入力ＥＯＲ回路６０１の代わりに設けられ、図１５の構成を有する。入力ＥＯＲ回路１４０１には、入力信号ＩＮＰＵＴ、上段の中段ＥＯＲ回路６０２からのフィードバック信号ＦＢ１、及び下段の中段ＥＯＲ回路６０２からのフィードバック信号ＦＢ２が入力される。フィードバック信号ＦＢ１は信号Ａ１、入力信号ＩＮＰＵＴは信号Ａ３、フィードバック信号ＦＢ２は信号Ａ５としてセレクタ１５０３に入力される。
【００３７】
ＥＯＲ回路１５０１は、フィードバック信号ＦＢ１及び入力信号ＩＮＰＵＴのＥＯＲを演算し、信号Ａ２を出力する。信号Ａ２は、出力信号ＯＵＴＰＵＴ１として出力される。ＥＯＲ回路１５０２は、フィードバック信号ＦＢ２及び入力信号ＩＮＰＵＴのＥＯＲを演算し、信号Ａ４を出力する。信号Ａ４は、出力信号ＯＵＴＰＵＴ２として出力される。図１４のデコーダ１４０２は、図７のデコーダ７０１と同様に、選択信号ＳＥＬＥＣＴをデコードして選択信号を出力する。セレクタ１５０３は、デコーダ１４０２の出力信号に応じて、信号Ａ１〜Ａ５の中から択一的に選択し、初段のフリップフロップＦＦ１に出力する。図１３の畳み込みデコーダを実現するためには、デコーダ１５０３は、信号Ａ３を選択して出力すればよい。
【００３８】
固定回路の畳み込みエンコーダ等は、パラメータに依存したハードウエアの構造であり、それらのパラメータが変わるとこれとは別にハードウエアを用意しなければならないという問題があった。本実施形態によれば、１つの準固定回路で任意の構成のスクランブラ、任意の構成のＣＲＣ回路、及び任意の構成の畳み込みエンコーダを実現できる。
【００３９】
（第５の実施形態）
図１６は、Ｗ−ＣＤＭＡ規格の線形帰還シフトレジスタ（ＬＦＳＲ）の構成例を示す。線形帰還シフトレジスタは、Ｗ−ＣＤＭＡ規格での拡散符号発生回路に用いられている。Ｗ−ＣＤＭＡ規格の拡散符号発生回路の位置は、図２（Ａ）、（Ｂ）のＩＥＥＥ８０２．１１ｂの拡散符号発生回路２０６，２１６と同様である。線型帰還シフトレジスタは、入力データを取り込まず、フリップフロップに初期設定された値に基づき再現性のあるビット演算処理をシフト操作する。
【００４０】
線形帰還シフトレジスタ（以下、ＬＦＳＲという）は、第１の回路１６１１及び第２の回路１６１２を有する。まず、第１の回路１６１１について説明する。複数のフリップフロップＦＦが直列に接続されている。ＥＯＲ回路１６０４は、最後段（左端）のフリップフロップＦＦ及びその他のフリップフロップＦＦの信号のＥＯＲを演算し、最初段（右端）のフリップフロップＦＦにフィードバックして入力する。ＥＯＲ回路１６０３は、３個のフリップフロップＦＦの信号のＥＯＲを演算し、出力する。
【００４１】
次に、第２の回路１６１２について説明する。複数のフリップフロップＦＦが直列に接続されている。ＥＯＲ回路１６０６は、４個のフリップフロップＦＦの信号のＥＯＲを演算し、最初段（右端）のフリップフロップＦＦにフィードバックして入力する。ＥＯＲ回路１６０５は、３個のフリップフロップＦＦの信号のＥＯＲを演算し、出力する。
【００４２】
ＥＯＲ回路１６０１は、第１の回路１６１１及び第２の回路１６１２の最後段のフリップフロップＦＦの出力信号のＥＯＲを演算し、出力信号ＯＵＴＰＵＴ１を出力する。ＥＯＲ回路１６０２は、ＥＯＲ回路１６０３及び１６０５の出力信号のＥＯＲを演算し、出力信号ＯＵＴＰＵＴ２を出力する。
【００４３】
図１７は、本発明の第５の実施形態による準固定回路の構成例を示す。この準固定回路は、第４の実施形態の準固定回路（図１４）に、図１６のＬＦＳＲの機能を付加した回路である。本実施形態の準固定回路が第４の実施形態と異なる点のみ説明する。
【００４４】
本実施形態の準固定回路は、第１の回路１７１１及び第２の回路１７１２を有する。第１の回路１７１１及び第２の回路１７１２は、それぞれ図１６の第１の回路１６１１及び第２の回路１６１２に相当し、それぞれが図１４の回路に相当する。
【００４５】
入力ＥＯＲ回路１７０１は、図１４の入力ＥＯＲ回路１４０１の代わりに設けられ、図１８の構成を有する。入力信号１７２５及び１７２６は、任意のフリップフロップ１１０１の出力から、今回構成するＬＦＳＲの段数に応じて最後段となるフリップフロップ１１０１の出力を選択した信号である。入力信号１７２１及び１７２２は、上段の中段ＥＯＲ回路６０２の出力信号である。入力信号ＩＮＰＵＴ１及びＩＮＰＵＴ２は、図１６のＬＦＳＲでは使用せず、上記の第４の実施形態の入力信号ＩＮＰＵＴに相当する。入力信号１７２３及び１７２４は、下段の中段ＥＯＲ回路６０２の出力信号である。
【００４６】
ＥＯＲ回路１８０１は、信号１７２１，１７２２及び入力信号ＩＮＰＵＴ１，ＩＮＰＵＴ２のＥＯＲを演算して出力する。ＥＯＲ回路１８０２は、信号１７２３，１７２４及び入力信号ＩＮＰＵＴ１，ＩＮＰＵＴ２のＥＯＲを演算して出力する。
【００４７】
図１７において、デコーダ１７０２は、選択信号ＳＥＬＥＣＴをデコードして選択信号を出力し、第１の回路１７１１の入力ＥＯＲ回路１７０１及び中段ＥＯＲ回路６０２の選択状態を制御する。デコーダ１７０３は、選択信号ＳＥＬＥＣＴをデコードして選択信号を出力し、第２の回路１７１２の入力ＥＯＲ回路１７０１及び中段ＥＯＲ回路６０２の選択状態を制御する。
【００４８】
図１８において、セレクタ１８０４は、選択信号に応じて、信号１７２５，１７２６、信号１７２１，１７２２、及びＥＯＲ回路１８０１の出力信号の中から信号を択一的に選択して出力信号１７３２，１７３３を出力する。セレクタ１８０５は、選択信号に応じて、信号１７２５，１７２６、信号１７２３，１７２４、及びＥＯＲ回路１８０２の出力信号の中から信号を択一的に選択して出力信号１７３４，１７３５を出力する。セレクタ１８０３は、選択信号に応じて、信号１７２１，１７２２、ＥＯＲ回路１８０１の出力信号、入力信号ＩＮＰＵＴ１，ＩＮＰＵＴ２、ＥＯＲ回路１８０２の出力信号、及び信号１７２３，１７２４の中から信号を択一的に選択して出力信号１７３１を最初段のフリップフロップＦＦ１に出力する。
【００４９】
図１７において、ＥＯＲ回路１７０４は、信号１７３２及び１７３３のＥＯＲを演算し、出力信号ＯＵＴＰＵＴ１を出力する。ＥＯＲ回路１７０５は、信号１７３４及び１７３５のＥＯＲを演算し、出力信号ＯＵＴＰＵＴ２を出力する。信号１７３３は出力信号ＯＵＴＰＵＴ３、信号１７３５は出力信号ＯＵＴＰＵＴ４として出力される。
【００５０】
図１６のＬＦＳＲを実現するためには、第１の回路１７１１の入力ＥＯＲ回路１７０１において、セレクタ１８０４は入力信号１７２５を選択して出力し、セレクタ１８０３は入力信号１７２１を選択して出力し、セレクタ１８０５は入力信号１７２３を選択して出力する。また、第２の回路１７１２の入力ＥＯＲ回路１７０１においては、セレクタ１８０４は入力信号１７２６を選択して出力し、セレクタ１８０３は入力信号１７２２を選択して出力し、セレクタ１８０５は入力信号１７２４を選択して出力する。
【００５１】
準固定回路のＬＦＳＲ等は、パラメータに依存したハードウエアの構造であり、それらのパラメータが変わるとこれとは別にハードウエアを用意しなければならないという問題があった。本実施形態によれば、１つの準固定回路で任意の構成のスクランブラ、任意の構成のＣＲＣ回路、任意の構成の畳み込みエンコーダ、任意の構成のＬＦＳＲを実現できる。
【００５２】
（第６の実施形態）
図２２（Ａ）は、本発明の第６の実施形態による準固定回路の構成例を示す。この準固定回路は、図１０のＣＲＣ回路等の複数種類のＣＲＣ回路を選択的に実現することができ、かつ、図１０のように１ビットずつシフトさせながら入力するのではなく、複数ビットを同時に入力して一度に数回シフト分を先見処理する。
【００５３】
例えば６ビットずつパラレルに入力信号ＩＮ［０］〜ＩＮ［５］を入力する。フリップフロップＦＦ１〜ＦＦ４には、それぞれセレクタ２２０１〜２２０４の出力信号が入力される。このフリップフロップＦＦ１〜ＦＦ４の出力信号ＯＵＴ０〜ＯＵＴ３は、シフト０回目に相当する初期設定値になる。複数のＥ回路２２１１は、それぞれ図２２（Ｂ）の構成を有し、信号Ａ１及び信号Ｂ１を入力する。ＥＯＲ回路２２３１は、信号Ａ１及びＢ１のＥＯＲを演算し、信号Ａ２を出力する。セレクタ２２３２は、信号Ａ１又はＡ２を選択して出力する。
【００５４】
データＤ００，Ｄ０１，Ｄ０２，Ｄ０３は、シフト１回目に相当する出力信号である。データＤ１０，Ｄ１１，Ｄ１２，Ｄ１３は、シフト２回目に相当する出力信号である。データＤ２０，Ｄ２１，Ｄ２２，Ｄ２３は、シフト３回目に相当する出力信号である。データＤ３０，Ｄ３１，Ｄ３２，Ｄ３３は、シフト４回目に相当する出力信号である。データＤ４０，Ｄ４１，Ｄ４２，Ｄ４３は、シフト５回目に相当する出力信号である。データＤ５０，Ｄ５１，Ｄ５２，Ｄ５３は、シフト６回目に相当する出力信号である。
【００５５】
セレクタ２２０１は、データＤ００，Ｄ１０，Ｄ２０，Ｄ３０，Ｄ４０，Ｄ５０の中からデータを択一的に選択してフリップフロップＦＦ１に出力する。セレクタ２２０２は、データＤ０１，Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１，Ｄ５１の中からデータを択一的に選択してフリップフロップＦＦ２に出力する。セレクタ２２０３は、データＤ０２，Ｄ１２，Ｄ２２，Ｄ３２，Ｄ４２，Ｄ５２の中からデータを択一的に選択してフリップフロップＦＦ３に出力する。セレクタ２２０４は、データＤ０３，Ｄ１３，Ｄ２３，Ｄ３３，Ｄ４３，Ｄ５３の中からデータを択一的に選択してフリップフロップＦＦ４に出力する。
【００５６】
この準固定回路は、１ビット〜６ビットのパラレル入力を選択することができる。例えば６ビットパラレル入力信号ＩＮ［０］〜ＩＮ［５］を入力する場合には、セレクタ２２０１〜２２０４は、データＤ５０，Ｄ５１，Ｄ５２，Ｄ５３を選択する。５ビットパラレル入力信号ＩＮ［０］〜ＩＮ［４］を入力する場合には、セレクタ２２０１〜２２０４は、データＤ４０，Ｄ４１，Ｄ４２，Ｄ４３を選択する。
【００５７】
Ｅ回路２２１１を設けることにより、図１０のＥＯＲ回路１００２が飛び飛びに挿入されるＣＲＣ回路を実現することが可能になる。Ｅ回路２２１１では、ＥＯＲ回路を挿入する場合には信号Ａ２を選択し、挿入しない場合には信号Ａ１を選択すればよい。
【００５８】
ここでは、一度に出力できる最大の先見シフト数を６として構成している。このとき、同時にＩＮ[０]からＩＮ[５]まで６ビットを一度に入力する。すると、フリップフロップＦＦ１〜ＦＦ４の初期設定時の出力信号ＯＵＴ０〜ＯＵＴ３が求められる。同時に、シフト回数１〜６までの出力Ｄｔｂが得られる。ｔは（シフト回数−１）を表し、ｂはビットの桁位置を表す。このとき、４つのセレクタ２２０１〜２２０４は、それぞれ上から６番目の入力を選択している。すなわち、左から順にＤ５０，Ｄ５１，Ｄ５２，Ｄ５３である。そうすれば、続く６ビットの入力によりシフト回数７〜１２までの出力が得られる。もし、入力として５ビットを一度に入力する場合は、回路２２２２を使わない、つまり、回路２２２２が存在しないと考えて、入力データ５ビットを一度に取り込むという操作を行う。これを行うため、セレクタ２２０１〜２２０４は、上から５番目の入力データを選択して次の５ビット入力信号を入力する。
【００５９】
本実施形態にて、図 １０の最右端のＥＯＲ回路１００２が挿入されない構成に対応するには、図２２（Ａ）の回路２２２１の全てのＥ回路２２１１の設定で信号Ａ１を選択すればよい。
【００６０】
なお、図２２（Ａ）の構成は、次式に示すように、図１０から求められるシフト回数ｔ−１とｔとの関係から求められる。ここで、"x"はＥＯＲを意味する。
【００６１】
｛OUT0[t], OUT1[t], OUT2[t], OUT3[t]｝＝｛OUT3[t-1]xIN[t-1],OUT3[t-1]xIN[t-1]xOUT0[t-1],OUT3[t-1]xIN[t-1]xOUT1[t-1],UT3[t-1]xIN[t-1]xOUT2[t-1] ｝
【００６２】
図１０のＣＲＣ回路は、１ビット入力されると１ビット出力されるシリアルな処理であった。本実施形態では、１ビットシフトを繰り返すのではなく、前もって複数回分のシフト処理を行う回路を持たせることにより、一度に複数のＣＲＣ演算を行うことができる。
【００６３】
（第７の実施形態）
図１９（Ａ）は、第１のタイプのスクランブラ（デスクランブラを含む。以下、同じ。）の構成例である。ＥＯＲ回路１９０１は、入力信号ＩＮ及びＥＯＲ回路１９０２の出力信号のＥＯＲを演算し、出力信号ＯＵＴを出力する。例えば４個のフリップフロップＦＦ１〜ＦＦ４が直列に接続される。フリップフロップＦＦ１には、ＥＯＲ回路１９０１の出力信号が入力される。ＥＯＲ回路１９０４は、フリップフロップＦＦ３及びＦＦ４の出力信号のＥＯＲを演算して出力する。ＥＯＲ回路１９０３は、ＥＯＲ回路１９０４の出力信号及びフリップフロップＦＦ２の出力信号のＥＯＲを演算して出力する。ＥＯＲ回路１９０２は、ＥＯＲ回路１９０３の出力信号及びフリップフロップＦＦ１の出力信号のＥＯＲを演算し、ＥＯＲ回路１９０１に出力する。
【００６４】
図１９（Ｂ）は、図１９（Ａ）のスクランブラの複数入力ビットを同時に入力して一度に数回シフト分を先見処理することができるスクランブラの構成例を示す。例えば６ビットずつ入力信号ＩＮ［０］〜ＩＮ［５］をパラレルに入力する。ＥＯＲ回路１９１１は、ＥＯＲ演算を行って出力する。フリップフロップＦＦ１〜ＦＦ４には、それぞれ出力信号ＯＵＴ［２］〜ＯＵＴ［５］がフィードバック入力される。出力信号ＯＵＴ［０］〜ＯＵＴ［５］は、それぞれ１回目〜６回目のシフトに相当する出力信号である。
【００６５】
図２０（Ａ）は、第２のタイプのスクランブラの構成例である。ＥＯＲ回路２００１は、入力信号ＩＮ及びＥＯＲ回路２００２の出力信号のＥＯＲを演算し、出力信号ＯＵＴを出力する。例えば４個のフリップフロップＦＦ１〜ＦＦ４が直列に接続される。フリップフロップＦＦ１には、ＥＯＲ回路２００２の出力信号が入力される。ＥＯＲ回路２００４は、フリップフロップＦＦ３及びＦＦ４の出力信号のＥＯＲを演算して出力する。ＥＯＲ回路２００３は、ＥＯＲ回路２００４の出力信号及びフリップフロップＦＦ２の出力信号のＥＯＲを演算して出力する。ＥＯＲ回路２００２は、ＥＯＲ回路２００３の出力信号及びフリップフロップＦＦ１の出力信号のＥＯＲを演算し、ＥＯＲ回路２００１及びフリップフロップＦＦ１に出力する。
【００６６】
図２０（Ｂ）は、図２０（Ａ）のスクランブラの複数入力ビットを同時に入力して一度に数回シフト分を先見処理することができるスクランブラの構成例を示す。例えば６ビットずつ入力信号ＩＮ［０］〜ＩＮ［５］をパラレルに入力する。ＥＯＲ回路２０１１は、ＥＯＲ演算を行って出力する。ＥＯＲ回路２０２１は、入力信号ＩＮ［５］及び出力信号ＯＵＴ［５］のＥＯＲを演算し、フリップフロップＦＦ１に出力する。ＥＯＲ回路２０２２は、入力信号ＩＮ［４］及び出力信号ＯＵＴ［４］のＥＯＲを演算し、フリップフロップＦＦ２に出力する。ＥＯＲ回路２０２３は、入力信号ＩＮ［３］及び出力信号ＯＵＴ［３］のＥＯＲを演算し、フリップフロップＦＦ３に出力する。ＥＯＲ回路２０２４は、入力信号ＩＮ［２］及び出力信号ＯＵＴ［２］のＥＯＲを演算し、フリップフロップＦＦ４に出力する。出力信号ＯＵＴ［０］〜ＯＵＴ［５］は、それぞれ１回目〜６回目のシフトに相当する出力信号である。
【００６７】
図２１（Ａ）は、第３のタイプのスクランブラの構成例である。ＥＯＲ回路２１０１は、入力信号ＩＮ及びＥＯＲ回路２１０２の出力信号のＥＯＲを演算し、出力信号ＯＵＴを出力する。例えば４個のフリップフロップＦＦ１〜ＦＦ４が直列に接続される。フリップフロップＦＦ１には、入力信号ＩＮが入力される。ＥＯＲ回路２１０４は、フリップフロップＦＦ３及びＦＦ４の出力信号のＥＯＲを演算して出力する。ＥＯＲ回路２１０３は、ＥＯＲ回路２１０４の出力信号及びフリップフロップＦＦ２の出力信号のＥＯＲを演算して出力する。ＥＯＲ回路２１０２は、ＥＯＲ回路２１０３の出力信号及びフリップフロップＦＦ１の出力信号のＥＯＲを演算し、ＥＯＲ回路２１０１に出力する。
【００６８】
図２１（Ｂ）は、図２１（Ａ）のスクランブラの複数入力ビットを同時に入力して一度に数回シフト分を先見処理することができるスクランブラの構成例を示す。例えば６ビットずつ入力信号ＩＮ［０］〜ＩＮ［５］をパラレルに入力する。ＥＯＲ回路２１１１は、ＥＯＲ演算を行って出力する。フリップフロップＦＦ１〜ＦＦ４には、それぞれ入力信号ＩＮ［５］〜ＩＮ［２］が入力される。出力信号ＯＵＴ［０］〜ＯＵＴ［５］は、それぞれ１回目〜６回目のシフトに相当する出力信号である。
【００６９】
図２３は、符号化率１／２の畳み込みエンコーダの構成例を示す。例えば４個のフリップフロップＦＦ１〜ＦＦ４が直列に接続される。入力信号ＩＮは、初段のフリップフロップＦＦ１に入力される。ＥＯＲ回路２３０１は、入力信号ＩＮＰＵＴ及びフリップフロップＦＦ１〜ＦＦ４の出力信号のＥＯＲを演算し、出力信号ＯＵＴ１を出力する。ＥＯＲ回路２３０２は、入力信号ＩＮＰＵＴ及びフリップフロップＦＦ１〜ＦＦ４の出力信号のＥＯＲを演算し、出力信号ＯＵＴ２を出力する。この畳み込みエンコーダの動作は、入力のデータ１ビットずつをシフトインして２ビットを出力するものである。
【００７０】
図２４は、図２３の畳み込みエンコーダを１シフトにつきＮビット同時処理することができる畳み込みエンコーダの準固定回路の構成例を示す。第１の畳み込み演算器２４０１は、図２３の演算器２３１１に相当し、Ｎビットの入力信号を入力し、Ｎビットの出力信号ＯＵＴ１を出力する。演算器２３１１は、フリップフロップＦＦ１〜ＦＦ４及びＥＯＲ回路２３０１を含む。第２の畳み込み演算器２４０２は、図２３の演算器２３１２に相当し、Ｎビットの入力信号を入力し、Ｎビットの出力信号ＯＵＴ２を出力する。演算器２３１２は、フリップフロップＦＦ１〜ＦＦ４及びＥＯＲ回路２３０２を含む。また、図２４の準固定回路は、図１９（Ｂ）、図２０（Ｂ）及び図２１（Ｂ）のスクランブラを選択的に実現可能である。
【００７１】
図２５は、図２４の演算器２４０１及び２４０２の同一の構成例を示し、複数ビットを同時に入力して一度に数回シフト分を先見処理する。例えば６ビットずつパラレルに入力信号ＩＮ［０］〜ＩＮ［５］を入力する。フリップフロップＦＦ１〜ＦＦ４には、それぞれセレクタ２５０１〜２５０４の出力信号が入力され、信号Ｄ０〜Ｄ３を出力する。Ｅ回路２５２１は、図２２（Ｂ）の構成を有する。出力信号ＯＵＴ［０］〜ＯＵＴ［５］は、それぞれ１回目〜６回目のシフトに相当する出力信号である。フィードバック回路２５２２では、信号Ｗ０〜Ｗ５が出力される。
【００７２】
セレクタ２５０１は、信号Ｗ０，Ｗ１，Ｗ２，Ｗ３，Ｗ４，Ｗ５を択一的に選択してフリップフロップＦＦ１に出力する。セレクタ２５０２は、信号Ｄ０，Ｗ０，Ｗ１，Ｗ２，Ｗ３，Ｗ４を択一的に選択してフリップフロップＦＦ２に出力する。セレクタ２５０３は、信号Ｄ１，Ｄ０，Ｗ０，Ｗ１，Ｗ２，Ｗ３を択一的に選択してフリップフロップＦＦ３に出力する。セレクタ２５０４は、信号Ｄ２，Ｄ１，Ｄ０，Ｗ０，Ｗ１，Ｗ２を択一的に選択してフリップフロップＦＦ４に出力する。なお、フィードバック回路２５２２は、図２３の畳み込みエンコーダを実現する場合には使用せず、図１９（Ｂ）、図２０（Ｂ）、図２１（Ｂ）のスクランブラを実現する場合に使用する。
【００７３】
図２３では、ある時刻である位置のフリップフロップに蓄積されたデータが１回シフトした後に持つ値は、単純に前段のフリップフロップが現在保持及び出力している値である。また、フリップフロップの個数以上のシフトを行った場合、そのときにフリップフロップの最終段がもつ、最も古い時刻でシフトインしたデータは消えて、新たに入力されたデータに置き換わる。そこで、各時刻においてフリップフロップが保持しているはずのデータ結果が得られるので、後はそのデータの存在するタップ位置でのＥＯＲ回路の配置にしたがいＥＯＲ演算、すなわち畳み込みエンコードを行う。
【００７４】
５個のセレクタ２５１１〜２５１５は、図２３の畳み込みエンコーダの場合であればそれぞれ入力信号ＩＮ［０］〜ＩＮ［４］を選択する設定になる。各シフトタイミングとそのタイミングにおけるシフトイン、シフトアウトするビットの関係をみると、最初のシフトで畳み込み符号化率１／Ｍの場合、図２４の畳み込み演算器２４０１，２４０２をＭ個並べることにより、入力信号ＩＮに対応する畳み込みエンコードを１回のシフトインで同時にＮビット出力することができる。なお、Ｎ＝６ビットの入力信号ＩＮはＩＮ[０]〜ＩＮ[５]で構成され、畳み込みエンコーダで同時に符号化され出力される。
【００７５】
Ｅ回路２５２１の有無は、実現したい畳み込み演算の構成によって決まる。実現したい畳み込みエンコーダがもつフリップフロップのすべての間にＥＯＲ回路がある構成をとるならば、全てのＥ回路２５２１はＥＯＲ演算を行う。
【００７６】
ここでは、Ｎ＝６として構成している。６ビットを同時に出力する場合、４つあるセレクタ２５０１〜２５０４はそれぞれ上から６番目の入力を選択する。つまり、左から順にＷ５，Ｗ４，Ｗ３，Ｗ２を選択する。入力は、ＩＮ[０]〜ＩＮ[５]に６ビットを１セットとして行う。セレクタ２５０１〜２５０４の設定により、６ビット以下の同時出力が可能である。また、ＩＮ[０]〜ＩＮ[５]の入力に対応する出力は、それぞれＯＵＴ[０]〜ＯＵＴ[５]である。
【００７７】
図１９（Ｂ）のスクランブラを実現するには、セレクタ２５１１〜２５１５は、真中の信号を選択して出力する。図２０（Ｂ）のスクランブラを実現するには、セレクタ２５１１〜２５１５は、右の信号を選択して出力する。図２１（Ｂ）のスクランブラを実現するには、セレクタ２５１１〜２５１５は、左の信号を選択して出力する。
【００７８】
従来のスクランブラ及び畳み込みエンコーダは、１ビット入力されると１ビット出力されるシリアルな処理であった。本実施形態の準固定回路によれば、１ビットシフトを繰り返すのではなく、前もって複数回分のシフト処理を行う回路を持たせることにより一度に複数のスクランブル処理及び畳み込みエンコーダ処理を行うことができる。また、本実施形態の準固定回路は、複数のビット入力を同時処理する任意の構成のスクランブラ、及び任意の構成の畳み込みエンコーダを構成できる。
【００７９】
（第８の実施形態）
図２６は、図１６のＷ−ＣＤＭＡ規格の線形帰還シフトレジスタ（ＬＦＳＲ）を４個の演算器２７０１〜２７０４に分割することを示す図である。第１の回路１６１１は、演算器２７０１及び２７０２に分割される。演算器２７０１は、複数のフリップフロップＦＦ及びＥＯＲ回路１６０３を含む。演算器２７０２は、複数のフリップフロップＦＦ及びＥＯＲ回路１６０４を含む。第２の回路１６１２は、演算器２７０３及び２７０４に分割される。演算器２７０３は、複数のフリップフロップＦＦ及びＥＯＲ回路１６０６を含む。演算器２７０４は、複数のフリップフロップＦＦ及びＥＯＲ回路１６０５を含む。フリップフロップの数は、例えば２５個である。フリップフロップの内部状態を初期設定した後は、その初期値設定に一意に対応したビット系列をシリアルに出力する。
【００８０】
図２７は、図２６のＬＦＳＲをＮビット同時一括処理することができるＬＦＳＲの構成例である。第１の回路１６１１は、第１の演算器２７０１及び第２の演算器２７０２を有する。第２の回路１６１２は、第３の演算器２７０３及び第４の演算器２７０４を有する。第１の演算器２７０１及び第３の演算器２７０３は、フリップフロップの内部状態のＥＯＲ演算を行う。第２の演算器２７０２及び第４の演算器２７０４は、フィードバックループを構成してフリップフロップの内部状態を更新する。第１〜第４の演算器２７０１〜２７０４は、相互に信号を入出力することができる。第１の演算器２７０１は、Ｎビットの出力信号ＯＵＴＰＵＴ１を出力する。第２の演算器２７０２は、Ｎビットの出力信号ＯＵＴＰＵＴ２を出力する。第１〜第４の演算器２７０１〜２７０４は、同じ構成を有する。
【００８１】
図２８（Ａ）は、図２７の第１の演算器２７０１の構成例を示す。回路２８００は、３２段のフリップフロップ及びその入力セレクタを含み（図２９参照）、信号２８５０を入力する。信号２８５０は、信号２８４９を含み、第１〜第４の演算器のフリップフロップの更新値の８×４ビット信号である。信号２８４９は、内部状態セレクタ２８２８から出力される第１の演算器２７０１のフリップフロップの更新値の信号である。
【００８２】
図２９は、回路２８００の構成例を示す。信号２９２０は、フリップフロップＦＦ０に関するセレクタへの入力信号であり、第１の演算器からの信号２８４９、第２の演算器からの信号２９１２、第３の演算器からの信号２９１３、及び第４の演算器からの信号２９１４を含む。例えば、第１の演算器からの信号２８４９は、フリップフロップの更新値を示す８ビットの信号である。回路２９０１は、セレクタ２９０７を含み、第１の演算器のフリップフロップＦＦ０の入力用データを選択する。セレクタ２９０７は、フリップフロップＦＦ０用の更新値セレクタであり、同時並列処理ビット数による選択を行う。
【００８３】
第１の演算器のための回路２９０１と同様に、回路２９０２は第２の演算器のフリップフロップＦＦ０の入力用データを選択するための回路であり、回路２９０３は第３の演算器のフリップフロップＦＦ０の入力用データを選択するための回路であり、回路２９０４は第４の演算器のフリップフロップＦＦ０の入力用データを選択するための回路である。回路２９０２〜２９０４には、それぞれ信号２９１２〜２９１４が入力される。セレクタ２９３１は、回路２９０１〜２９０４の出力信号を択一的に選択して、フリップフロップＦＦ０へ出力する。フリップフロップＦＦ０は、その信号を保持して出力する。
【００８４】
信号２９２０と同様に、信号２９２１はフリップフロップＦＦ１に関するセレクタへの入力信号であり、信号２９２２はフリップフロップＦＦ３１に関するセレクタへの入力信号である。また、回路２９０１と同様に、回路２９０５は第１の演算器のフリップフロップＦＦ１の入力用データを選択するための回路であり、回路２９０６は第１の演算器のフリップフロップＦＦ３１の入力用データを選択するための回路である。また、フリップフロップＦＦ１〜ＦＦ３１にも、入力用データが択一的に選択されて入力される。
【００８５】
８ビット一括処理なら、回路２９０１では、フリップフロップＦＦ０用の更新値セレクタ２９０７にて、８ビット目のデータをフリップフロップＦＦ０にセットする必要があるので、ＦＦ更新値［７］を選ぶ。７ビット一括なら、その上のＦＦ更新値［６］を選ぶ、というように一括処理するビット数により順次上のＦＦ更新値を選ぶ。なお、フリップフロップの初期値は、動作前にフリップフロップＦＦ０〜ＦＦ３１に別途設定が必要である。
【００８６】
図３０（Ａ）は、回路２９０５内のフリップフロップＦＦ１用入力セレクタ２９０７を示す。このセレクタは、フリップフロップＦＦ０の出力値、及び７ビットのＦＦ更新値［０］〜ＦＦ更新値［６］の中から選択する。
【００８７】
図３０（Ｂ）は、フリップフロップＦＦ２用入力セレクタ２９０７を示す。このセレクタは、フリップフロップＦＦ１及びＦＦ０の出力値、及び６ビットのＦＦ更新値［０］〜ＦＦ更新値［５］の中から選択する。
【００８８】
図３０（Ｃ）は、フリップフロップＦＦｎ用入力セレクタ２９０７を示す。このセレクタは、フリップフロップＦＦ（ｎ−８）〜ＦＦ（ｎ−１）の出力値の中から選択する。
【００８９】
図２８（Ａ）において、第１のＥＯＲ演算器２８１１は、図３１に示すように、３２段の選択ＥＯＲ回路２８３１ａ〜２８３１ｄ等を有する。選択ＥＯＲ回路２８３１ａ〜２８３１ｄは、図２８（Ｂ）に示すように、ＥＯＲ回路２８９１及びセレクタ２８９２を有する。ＥＯＲ回路２８９１は、入力信号Ａ１及びＢ１のＥＯＲを演算して信号Ａ２を出力する。セレクタ２８９２は、信号Ａ１又は信号Ａ２を選択して出力する。
【００９０】
図３１において、選択ＥＯＲ回路２８３１ａは、フリップフロップＦＦ０の出力信号３１００を入力し、次段の選択ＥＯＲ回路２８３１ｂに出力する。信号３１００は、途中結果［０］として内部状態セレクタ２８２１（図２８（Ａ））へ出力される。
【００９１】
選択ＥＯＲ回路２８３１ｂは、フリップフロップＦＦ１の出力信号３１０１及び選択ＥＯＲ回路２８３１ａの出力信号を入力し、次段の選択ＥＯＲ回路２８３１ｃに出力する。信号３１０１は、途中結果［１］として内部状態セレクタ２８２１（図２８（Ａ））へ出力される。
【００９２】
選択ＥＯＲ回路２８３１ｃは、フリップフロップＦＦ２の出力信号３１０２及び選択ＥＯＲ回路２８３１ｂの出力信号を入力し、次段の選択ＥＯＲ回路に出力する。信号３１０２は、途中結果［２］として内部状態セレクタ２８２１（図２８（Ａ））へ出力される。
【００９３】
選択ＥＯＲ回路２８３１ｄは、フリップフロップＦＦ３１の出力信号３１０３及び前段の選択ＥＯＲ回路の出力信号を入力し、信号３１０４を仮出力［０］として出力する。また、信号３１０４は、途中結果［３１］として内部状態セレクタ２８２１（図２８（Ａ））へ出力される。
【００９４】
第１のＥＯＲ演算器２８１１（図２８（Ａ））では、仮出力［０］の信号２８６０が有効となる。途中結果［０］〜［３１］の信号２８４１は有効でない。その代わりに、図２７の第２の演算器２７０２の途中結果［０］〜［３１］の信号２８４１が次段の第２のＥＯＲ演算器２８１２への入力となる。
【００９５】
図２８（Ａ）において、第１のＥＯＲ演算器２８１１の仮出力［０］の信号２８６０は、３個の選択ＥＯＲ回路２８３１を介して、出力信号ＯＵＴ［０］として出力される。選択ＥＯＲ回路２８３１には、他の演算器の仮出力［０］の信号２８７０が入力される。
【００９６】
また、第１のＥＯＲ演算器２８１１は、３２ビットの途中結果出力信号２８４１を内部状態セレクタ２８２１へ出力する。内部状態セレクタ２８２１は、３２ビットの途中結果出力信号２８４１及２８５１の中から選択して第２のＥＯＲ演算器２８１２へ出力する。途中結果出力信号２８５１は、フィードバックループをもつ設定の演算器からのＥＯＲ演算器の途中結果出力信号である。
【００９７】
第２のＥＯＲ演算器２８１２は、図３２に示す構成を有する。選択ＥＯＲ回路２８３１ａは、前段の途中結果［０］の信号３１００を入力し、次段の選択ＥＯＲ回路２８３１ｂに出力する。信号３１００は、途中結果［０］として出力される。
【００９８】
選択ＥＯＲ回路２８３１ｂは、前段の途中結果［１］の信号３１０１及び選択ＥＯＲ回路２８３１ａの出力信号を入力し、次段の選択ＥＯＲ回路に出力する。信号３１０１は、途中結果［１］として出力される。
【００９９】
選択ＥＯＲ回路２８３１ｅは、前段の途中結果［３０］の信号３１０５及び前段の選択ＥＯＲ回路の出力信号を入力し、次段の選択ＥＯＲ回路２８３１ｄに出力する。
【０１００】
選択ＥＯＲ回路２８３１ｄは、前段の途中結果［３１］の信号３１０４及び前段の選択ＥＯＲ回路２８３１ｅの出力信号を入力し、信号３２０１を仮出力［１］として出力する。また、信号３２０１は途中結果［３０］として出力され、信号３１０４は途中結果［３１］として出力される。なお、信号３２０１は、第ｎのＥＯＲ演算器の番号ｎが０ならば途中結果［３１］の場所に、１ならば途中結果［３０］の場所に、７ならば途中結果［２４］の場所に１つだけ入る。
【０１０１】
図２８（Ａ）において、第２のＥＯＲ演算器２８１２の仮出力［１］の信号２８６１は、３個の選択ＥＯＲ回路２８３１を介して、出力信号ＯＵＴ［１］として出力される。選択ＥＯＲ回路２８３１には、他の演算器の仮出力［１］の信号２８７１が入力される。また、第２のＥＯＲ演算器２８１２は、３２ビットの途中結果信号２８４２を出力する。
【０１０２】
同様に、内部状態セレクタ２８２７は、途中結果出力信号２８４７及び２８５１の中から選択して第８のＥＯＲ演算器２８１８へ出力する。第８のＥＯＲ演算器２８１８は、仮出力［７］の信号２８６７及び途中結果出力信号２８４８を出力する。仮出力信号２８６７は、３個の選択ＥＯＲ回路２８３１を介して出力信号ＯＵＴ［７］として出力される。その選択ＥＯＲ回路２８３１には、他の演算器の仮出力［７］の信号２８７７も入力される。
【０１０３】
内部状態セレクタ２８２８は、途中結果出力信号２８４８及び２８５１から選択してＦＦ更新値の信号２８４９を出力する。
【０１０４】
本実施形態では、フリップフロップの数は３２とし、N＝８ビットとしている。出力信号ＯＵＴ［ｎ］は、演算器のｎシフト目の出力である。第１〜第４の演算器では、お互いの内部状態信号を選択できる。実用上は、第１及び第２の演算器、第３及び第４の演算器の間でやり取りできれば良い。
【０１０５】
最終的に、第２及び第４の演算器の出力のＥＯＲを出力信号ＯＵＴＰＵＴ１とする。このため、第２の演算器の内部でそのＥＯＲをとり、出力信号ＯＵＴＰＵＴ１とする。同様に、第１及び第３の演算器の出力のＥＯＲを出力信号ＯＵＴＰＵＴ２とする。このため、第１の演算器の内部でそのＥＯＲをとり、出力信号ＯＵＴＰＵＴ２とする。
【０１０６】
図３３は、本実施形態による準固定回路の構成例を示す。この準固定回路は、図２２のＣＲＣ回路、図２５の畳み込みエンコーダ、図１９（Ｂ）、図２０（Ｂ）、図２１（Ｂ）のスクランブラ、図２７のＬＦＳＲを選択的に実現することができる。
【０１０７】
第１の演算器３３０１は、Ｎビットの入力信号ＩＮを入力し、Ｎビットの出力信号ＯＵＴ１を出力する。第２の演算器３３０２は、Ｎビットの入力信号ＩＮを入力し、Ｎビットの出力信号ＯＵＴ２を出力する。第３の演算器３３０３は、Ｎビットの入力信号ＩＮを入力し、Ｎビットの出力信号ＯＵＴ３を出力する。第４の演算器３３０４は、Ｎビットの入力信号ＩＮを入力し、Ｎビットの出力信号ＯＵＴ４を出力する。第１〜第４の演算器３３０１〜３３０４は、相互に信号を入出力可能である。第１〜第４の演算器３３０１〜３３０４は、同じ構成を有する。
【０１０８】
図３４は、図３３の第１の演算器３３０１の構成例を示す。図３４の回路は、基本的には図２８（Ａ）の回路と同じであるので、図２８（Ａ）の回路と異なる点を説明する。なお、図３４では省略しているが、図３４の回路にも図２８（Ａ）の信号２８５１、内部状態セレクタ２８２１〜２８２８が設けられている。回路３４１０は図２８（Ａ）の回路２８００に対応し、ＥＯＲ演算器３４１１〜３４１８は図２８（Ａ）のＥＯＲ演算器２８１１〜２８１８に対応する。
【０１０９】
回路３４１０は、信号３４５０及び３４５２を入力し、信号３４８１を出力する。信号３４５０は、第１〜第４の演算器からのＦＦ更新値を示す８×４ビット信号である。信号３４５２は、第１〜第４の演算器からのＥＯＲ演算器の途中結果出力信号（３２×８×４ビット）である。信号３４８１は、各フリップフロップの出力信号（３２ビット）であり、出力反転回路３４８２で反転され、３２ビット出力信号ＯＵＴ２として出力される。
【０１１０】
８ビットの入力信号ＩＮ［０］〜ＩＮ［７］が入力される。第１のＥＯＲ演算器３４１１は、信号３４８１及び入力信号ＩＮ［０］を入力し、仮出力１［０］の信号３４６０及び途中結果出力信号（３２ビット）３４４１を出力する。信号３４６０は、３個の選択ＥＯＲ回路２８３１を介して、出力信号ＯＵＴ１［０］を出力する。その選択ＥＯＲ回路２８３１には、他の演算器の仮出力１［０］の信号３４７０も入力される。
【０１１１】
第２のＥＯＲ演算器３４１２は、信号３４４１等及び入力信号ＩＮ［１］を入力し、仮出力１［１］の信号３４６１及び途中結果出力信号（３２ビット）３４４２を出力する。信号３４６１は、３個の選択ＥＯＲ回路２８３１を介して、出力信号ＯＵＴ１［１］を出力する。その選択ＥＯＲ回路２８３１には、他の演算器の仮出力１［１］の信号３４７１も入力される。
【０１１２】
第８のＥＯＲ演算器３４１８は、信号３４４７等及び入力信号ＩＮ［７］を入力し、仮出力１［７］の信号３４６７及び途中結果出力信号（３２ビット）３４４８を出力する。信号３４６７は、３個の選択ＥＯＲ回路２８３１を介して、出力信号ＯＵＴ１［７］を出力する。その選択ＥＯＲ回路２８３１には、他の演算器の仮出力１［７］の信号３４７７も入力される。
【０１１３】
途中結果出力信号３４４１〜３４４８は、信号３４５２として回路３４１０へフィードバックされる。フィードバック入力値セレクタ３４８０は、８ビットの仮出力信号３４６０〜３４６７及び８ビットの入力信号ＩＮ［０］〜ＩＮ［７］を入力し、８ビットのＦＦ更新値を示す信号３４８３を出力する。信号３４８３は、図２５のＷ０〜Ｗ５に相当し、信号３４５０として回路３４１０にフィードバックされる。
【０１１４】
図３５は、図３４の回路３４１０の構成例を示す。回路３５０１〜３５０６は図２９の回路２９０１〜２９０６に対応し、セレクタ３５０８は図２９のセレクタ２９０７に対応し、セレクタ３５３１は図２９のセレクタ２９３１に対応する。
【０１１５】
信号３５２０は、フリップフロップＦＦ０に関するセレクタへの入力信号であり、第１〜第４の演算器の信号３５１１〜３５１４を含む。第１の演算器の信号３５１１は、信号３５１０及び３４８３を含む。信号３５１０は、第１〜第８のＥＯＲ演算器の途中結果［０］の信号であり、図３４の信号３４５２に相当する。信号３４８３は、ＦＦ更新値［０］〜ＦＦ更新値［７］を示す信号であり、図３４の信号３４５０に相当する。
【０１１６】
セレクタ３５０７は、ＣＲＣ演算用入力セレクタであり、信号３５１０から選択して出力する。セレクタ３５０８は、ＣＲＣ以外の演算用入力セレクタであり、信号３４８３から選択して出力する。セレクタ３５０９は、ＣＲＣ処理のときにはセレクタ３５０７の出力信号を選択して出力し、ＣＲＣ処理以外の処理のときにはセレクタ３５０８の出力信号を選択して出力する。
【０１１７】
回路３５０２は、第２の演算器のフリップフロップＦＦ０の入力データ用回路であり、第２の演算器の信号３５１２を入力する。回路３５０３は、第３の演算器のフリップフロップＦＦ０の入力データ用回路であり、第３の演算器の信号３５１３を入力する。回路３５０４は、第４の演算器のフリップフロップＦＦ０の入力データ用回路であり、第４の演算器の信号３５１４を入力する。セレクタ３５３１は、回路３５０１〜３５０４の出力信号を選択してフリップフロップＦＦ０へ出力する。このセレクタ３５３１の機能により、ＬＦＳＲの動作が可能になる。
【０１１８】
信号３５２１は、フリップフロップＦＦ１に関するセレクタへの入力信号であり、第１の演算器の信号３５１１を含む。回路３５０５は、第１の演算器のフリップフロップＦＦ１の入力用データを選択するための回路であり、信号３５１１を入力する。
【０１１９】
信号３５２２は、フリップフロップＦＦ３１に関するセレクタへの入力信号であり、第１の演算器の信号３５１１を含む。回路３５０６は、第１の演算器のフリップフロップＦＦ３１の入力用データを選択するための回路であり、信号３５１１を入力する。
【０１２０】
フリップフロップＦＦ０〜ＦＦ３１は、セレクタ３５３１の出力信号を保持して出力する。
【０１２１】
図３６（Ａ）は、図３５の回路３５０５内のフリップフロップＦＦ１用ＣＲＣ演算用入力セレクタ３５０７の構成例を示す。セレクタ３５０７は、第１〜第８のＥＯＲ演算器の途中結果［１］から選択して出力する。
【０１２２】
図３６（Ｂ）は、図３５のフリップフロップＦＦ２用ＣＲＣ演算用入力セレクタ３５０７の構成例を示す。セレクタ３５０７は、第１〜第８のＥＯＲ演算器の途中結果［２］から選択して出力する。
【０１２３】
図３６（Ｃ）は、図３５のフリップフロップＦＦｎ用ＣＲＣ演算用入力セレクタ３５０７の構成例を示す。セレクタ３５０７は、第１〜第８のＥＯＲ演算器の途中結果［ｎ］から選択して出力する。
【０１２４】
図３６（Ｄ）は、図３５の回路３５０５内のフリップフロップＦＦ１用ＣＲＣ以外の演算用入力セレクタ３５０８の構成例を示す。セレクタ３５０８は、フリップフロップＦＦ０の出力値、ＦＦ更新値［０］〜ＦＦ更新値［６］から選択して出力する。
【０１２５】
図３６（Ｅ）は、図３５のフリップフロップＦＦ２用ＣＲＣ以外の演算用入力セレクタ３５０８の構成例を示す。セレクタ３５０８は、フリップフロップＦＦ０及びＦＦ１の出力値、ＦＦ更新値［０］〜ＦＦ更新値［５］から選択して出力する。
【０１２６】
図３６（Ｆ）は、図３５のフリップフロップＦＦｎ用ＣＲＣ以外の演算用入力セレクタ３５０８の構成例を示す。セレクタ３５０８は、フリップフロップＦＦ（ｎ−８）〜ＦＦ（ｎ−１）の出力値から選択して出力する。
【０１２７】
図３６（Ｆ）中、「ＦＦ(#)出力」の括弧中の# が負になる場合は、「FF(#)出力」を以下の信号で置き換える。
【０１２８】
"-1"ならば  FF更新値[0]
"-2"ならば  FF更新値[1]
"-3"ならば  FF更新値[2]
"-4"ならば  FF更新値[3]
"-5"ならば  FF更新値[4]
"-6"ならば  FF更新値[5]
"-7"ならば  FF更新値[6]
"-8"ならば  FF更新値[7]
【０１２９】
図３７は、図３４の第１のＥＯＲ演算器３４１１の構成例を示す。選択ＥＯＲ回路２８３１ａ〜２８３１ｄは、図２８（Ｂ）に示す構成を有する。セレクタ３７０１ａは、入力信号ＩＮ［０］及び仮出力１［０］を入力し、選択出力する。選択ＥＯＲ回路２８３１ａは、フリップフロップＦＦ０の出力信号及びセレクタ３７０１ａの出力信号を入力し、出力信号を出力する。セレクタ３７０２ａは、仮出力１［０］及びフリップフロップＦＦ０の出力信号を入力し、選択した信号を途中結果［０］として出力する。
【０１３０】
セレクタ３７０１ｂは、選択ＥＯＲ回路２８３１ａの出力信号及び仮出力１［０］を入力し、選択出力する。選択ＥＯＲ回路２８３１ｂは、フリップフロップＦＦ１の出力信号及びセレクタ３７０１ｂの出力信号を入力し、出力信号を出力する。セレクタ３７０２ｂは、選択ＥＯＲ回路２８３１ａの出力信号及びフリップフロップＦＦ１の出力信号を入力し、選択した信号を途中結果［１］として出力する。
【０１３１】
セレクタ３７０１ｃは、選択ＥＯＲ回路２８３１ｂの出力信号及び仮出力１［０］を入力し、選択出力する。選択ＥＯＲ回路２８３１ｃは、フリップフロップＦＦ２の出力信号及びセレクタ３７０１ｃの出力信号を入力し、出力信号を出力する。セレクタ３７０２ｃは、選択ＥＯＲ回路２８３１ｂの出力信号及びフリップフロップＦＦ２の出力信号を入力し、選択した信号を途中結果［２］として出力する。
【０１３２】
セレクタ３７０１ｄは、入力信号ＩＮ［０］及び前段の選択ＥＯＲ回路の出力信号を入力し、選択出力する。選択ＥＯＲ回路２８３１ｄは、フリップフロップＦＦ３１の出力信号及びセレクタ３７０１ｄの出力信号を入力し、仮出力１［０］を出力する。セレクタ３７０３は、入力信号ＩＮ［０］、仮出力１［０］、及びフリップフロップＦＦ３１の出力信号を入力し、選択出力する。セレクタ３７０２ｄは、前段の選択ＥＯＲ回路の出力信号及びセレクタ３７０３の出力信号を入力し、選択した信号を途中結果［３１］として出力する。
【０１３３】
図３８は、図３４の第２のＥＯＲ演算器３４１２の構成例を示す。選択ＥＯＲ回路２８３１ａ〜２８３１ｄは、図２８（Ｂ）に示す構成を有する。セレクタ３７０１ａは、入力信号ＩＮ［１］及び仮出力１［１］を入力し、選択出力する。選択ＥＯＲ回路２８３１ａは、前段の途中結果［０］及びセレクタ３７０１ａの出力信号を入力し、出力信号を出力する。セレクタ３７０２ａは、仮出力１［１］及び前段の途中結果［０］を入力し、選択した信号を途中結果［０］として出力する。
【０１３４】
セレクタ３７０１ｂは、選択ＥＯＲ回路２８３１ａの出力信号及び仮出力１［１］を入力し、選択出力する。選択ＥＯＲ回路２８３１ｂは、前段の途中結果［１］及びセレクタ３７０１ｂの出力信号を入力し、出力信号を出力する。セレクタ３７０２ｂは、選択ＥＯＲ回路２８３１ａの出力信号及び前段の途中結果［１］を入力し、選択した信号を途中結果［１］として出力する。
【０１３５】
セレクタ３７０１ｃは、前段の選択ＥＯＲ回路の出力信号及び仮出力１［１］を入力し、選択出力する。選択ＥＯＲ回路２８３１ｃは、前段の途中結果［３０］及びセレクタ３７０１ｃの出力信号を入力し、出力信号を出力する。セレクタ３７０３は、入力信号ＩＮ［１］、仮出力１［１］、及び前段の途中結果［３０］を入力し、選択出力する。セレクタ３７０２ｃは、前段の選択ＥＯＲ回路の出力信号及びセレクタ３７０３の出力信号を入力し、選択した信号を途中結果［３０］として出力する。
【０１３６】
セレクタ３７０１ｄは、入力信号ＩＮ［１］及び選択ＥＯＲ回路２８３１ｃの出力信号を入力し、選択出力する。選択ＥＯＲ回路２８３１ｄは、前段の途中結果［３１］及びセレクタ３７０１ｄの出力信号を入力し、仮出力１［１］を出力する。セレクタ３７０２ｄは、選択ＥＯＲ回路２８３１ｃの出力信号及び前段の途中結果［３１］を入力し、選択した信号を途中結果［３１］として出力する。
【０１３７】
セレクタ３７０３は、ＥＯＲ演算器の入力信号がＩＮ［０］ならば途中結果［３１］の場所に、ＩＮ［１］ならば途中結果［３０］の場所に、ＩＮ［７］ならば途中結果［２４］の場所に１つだけ入る。
【０１３８】
ここまでの構成をまとめると、図３３の準固定回路は図３４の回路を４つ並べた回路である。図３４において、出力信号ＯＵＴ１［０］〜［７］はスクランブラ、ＣＲＣ回路、畳み込みエンコーダ、ＬＦＳＲの出力となる。出力信号ＯＵＴ２は、ＣＲＣ回路のビット反転出力となる。ＣＲＣ回路の仕様によっては、出力を反転して出力する必要があるので、出力反転回路３４８２で対応できるようにする。
【０１３９】
有効な出力範囲について説明する。スクランブラ、畳み込み符号化器、ＬＦＳＲは入力に対して全てのデータが有効である。しかし、ＣＲＣ回路は、生成多項式の長さという一定のビット列が入力完了した時点での全メモリの出力が有効である。逆にいえば、予め決まったビット列が入力するまでは無効な出力となる。例えば、１６ビットのＣＲＣ回路ならば１６ビットの入力が１６クロックかかって１６個のメモリに入力された時点の出力が有効となる。
【０１４０】
従来の線形帰還シフトレジスタ等は、１ビット入力されると１ビット出力されるシリアルな処理であった。本実施形態によれば、１ビットごとシフト演算ではなく複数シフト分先までを先見処理する回路を１つの準固定回路にして、かつその処理の切り替えをセレクタにより行うことによりスクランブラ、畳み込みエンコーダ、ＣＲＣ回路、及びＬＦＳＲを実現することができる。
【０１４１】
（第９の実施形態）
図３９は、本発明の第９の実施形態による準固定回路の構成例を示す。この準固定回路は、複数種類のビタビデコーダ１１７（図１（Ｂ））を実現できる。ブランチメトリック演算部３９０１は、入力信号Ａ〜Ｃを入力し、トレリス線図におけるブランチメトリック（符号語のハミング距離）を計算する。ＡＣＳ部３９０２は、そのブランチメトリックを基にトレリス線図のステップ毎にパスメトリックを求め、生き残りパスとそのパスメトリック値をパスメモリ部３９０３に書き出す。パスメモリ部３９０３は、制御部３９１１及びＲＡＭ３９１２を有する。制御部３９１１は、ＡＣＳ部３９０２から入力されるデータをＲＡＭ３９１２に書き込み、ＲＡＭ３９１２内のデータをトレースバック部３９０４に読み出す。トレースバック部３９０４は、入力信号がある一定の回数行われたら(もしくは、符号化の終端のために挿入されたダミービットが入力されたら)、トレースバックし、最短のパスメトリックを求める。パスメトリックは、ブランチメトリックのつながりで表現される。最短のパスメトリックが正しい符号語の信号であるとして、デコードすることができる。
【０１４２】
具体的に符号化率Ｓ／Ｔ＝１／２，１／３に対応するビタビデコーダを例として、ブランチメトリック演算部３９０１とＡＣＳ部３９０２について説明する。分母Ｔは入力の信号数に、分子Ｓは出力の信号数に対応する。使用したいＴが３とするならば、必要な入力は３本（Ａ，Ｂ，Ｃ）の信号となる。
【０１４３】
図４０は、符号化率１／２及び１／３に対応するブランチメトリック演算部３９０１の構成例を示す。加算器４００１は、入力信号Ａ及びＢを加算し、信号ＢＭ００を出力する。信号ＢＭ００は、入力信号Ｂ，Ａと符号語「００」とのブランチメトリック値（ハミング距離）を示す。加算器４００２は、入力信号Ａの反転値及び入力信号Ｂを加算し、信号ＢＭ０１を出力する。信号ＢＭ０１は、入力信号Ｂ，Ａと符号語「０１」とのブランチメトリック値を示す。加算器４００３は、入力信号Ａ及び入力信号Ｂの反転値を加算し、信号ＢＭ１０を出力する。信号ＢＭ１０は、入力信号Ｂ，Ａと符号語「１０」とのブランチメトリック値を示す。加算器４００４は、入力信号Ａの反転値及び入力信号Ｂの反転値を加算し、信号ＢＭ１１を出力する。信号ＢＭ１１は、入力信号Ｂ，Ａと符号語「１１」とのブランチメトリック値を示す。符号化率１／２の場合、セレクタ４０２１〜４０２４は、４つのブランチメトリック信号ＢＭ００、ＢＭ０１，ＢＭ１０，ＢＭ１１を選択して、信号ＢＭ０００，ＢＭ００１，ＢＭ０１０，ＢＭ０１１として出力する。
【０１４４】
次に、符号化率１／３の場合を説明する。加算器４０１１は、信号ＢＭ００及び入力信号Ｃを加算し、セレクタ４０２１を介して信号ＢＭ０００を出力する。信号ＢＭ０００は、入力信号Ｃ，Ｂ，Ａと符号語「０００」とのブランチメトリック値を示す。加算器４０１２は、信号ＢＭ００及び入力信号Ｃの反転値を加算し、信号ＢＭ１００を出力する。信号ＢＭ１００は、入力信号Ｃ，Ｂ，Ａと符号語「１００」とのブランチメトリック値を示す。
【０１４５】
加算器４０１３は、信号ＢＭ０１及び入力信号Ｃを加算し、セレクタ４０２２を介して信号ＢＭ００１を出力する。信号ＢＭ００１は、入力信号Ｃ，Ｂ，Ａと符号語「００１」とのブランチメトリック値を示す。加算器４０１４は、信号ＢＭ０１及び入力信号Ｃの反転値を加算し、信号ＢＭ１０１を出力する。信号ＢＭ１０１は、入力信号Ｃ，Ｂ，Ａと符号語「１０１」とのブランチメトリック値を示す。
【０１４６】
加算器４０１５は、信号ＢＭ１０及び入力信号Ｃを加算し、セレクタ４０２３を介して信号ＢＭ０１０を出力する。信号ＢＭ０１０は、入力信号Ｃ，Ｂ，Ａと符号語「０１０」とのブランチメトリック値を示す。加算器４０１６は、信号ＢＭ１０及び入力信号Ｃの反転値を加算し、信号ＢＭ１１０を出力する。信号ＢＭ１１０は、入力信号Ｃ，Ｂ，Ａと符号語「１１０」とのブランチメトリック値を示す。
【０１４７】
加算器４０１７は、信号ＢＭ１１及び入力信号Ｃを加算し、セレクタ４０２４を介して信号ＢＭ０１１を出力する。信号ＢＭ０１１は、入力信号Ｃ，Ｂ，Ａと符号語「０１１」とのブランチメトリック値を示す。加算器４０１８は、信号ＢＭ１１及び入力信号Ｃの反転値を加算し、信号ＢＭ１１１を出力する。信号ＢＭ１１１は、入力信号Ｃ，Ｂ，Ａと符号語「１１１」とのブランチメトリック値を示す。
【０１４８】
セレクタ４０２１〜４０２４は、符号化率の選択信号に応じて、選択出力する。ブランチメトリックのとり方の全パターン数は、２のＴ乗パターンである。ブランチメトリック演算部３９０１では、符号化率に対応するように全てのブランチメトリックを予め計算してＡＣＳ部３９０２に出力する。図４０では、１／２と１／３の２つの符号化率に対応しているので出力が多くなる。これを防ぐため、Ｔが２のときは、ＢＭ００，ＢＭ０１，ＢＭ１０，ＢＭ１１をＢＭ０００，ＢＭ００１，ＢＭ０１０，ＢＭ０１１として出力する。
【０１４９】
図４１は、ＡＣＳ部３９０２の構成例を示す。２５６個のセレクタ４１００〜４１０２等には、８個のブランチメトリック信号ＢＭ０００〜ＢＭ１１１及び２５６個のパスメトリック信号ＰＭ０００〜ＰＭ２５５を入力し、ＰＭ選択信号、ＢＭ選択信号及び符号化率選択信号に応じて選択し、パスメトリック信号ＰＭ＿Ａ、ＰＭ＿Ｂ及びブランチメトリック信号ＢＭ＿Ａ，ＢＭ＿Ｂを出力する。２５６個のＡＣＳ４１１０〜４１１２等は、パスメトリック信号ＰＭ＿Ａ、ＰＭ＿Ｂ及びブランチメトリック信号ＢＭ＿Ａ，ＢＭ＿Ｂを入力し、加算、比較及び選択を行い、パスメトリック信号ＰＭ０００〜ＰＭ２５５及び選択されたパスＰＡＴＨ０００〜ＰＡＴＨ２５５を生き残りパスＳＬとして出力する。
【０１５０】
図４２は、セレクタ４１００及びＡＣＳ４１１０の構成例を示す。まず、セレクタ４１００について説明する。セレクタ４２０１は、ＰＭ選択信号及び符号化率選択信号に応じて、パスメトリック信号ＰＭ０００〜ＰＭ２５５の中から１つを選択し、信号ＰＭ＿Ａとして出力する。セレクタ４２０２も、ＰＭ選択信号及び符号化率選択信号に応じて、パスメトリック信号ＰＭ０００〜ＰＭ２５５の中から１つを選択し、信号ＰＭ＿Ｂとして出力する。セレクタ４２０３は、ＢＭ選択信号及び符号化率選択信号に応じて、ブランチメトリック信号ＢＭ０００〜ＢＭ１１１の中から１つを選択し、信号ＢＭ＿Ａとして出力する。セレクタ４２０４も、ＢＭ選択信号及び符号化率選択信号に応じて、ブランチメトリック信号ＢＭ０００〜ＢＭ１１１の中から１つを選択し、信号ＢＭ＿Ｂとして出力する。
【０１５１】
次に、ＡＣＳ４１１０について説明する。加算器４２１１は、信号ＰＭ＿Ａ及びＢＭ＿Ａを加算し、符号が０のときのパスメトリックを出力する。加算器４２２１は、信号ＰＭ＿Ｂ及びＢＭ＿Ｂを加算し、符号が１のときのパスメトリックを出力する。比較器４２２２は、加算器４２１１の出力信号から加算器４２２１の出力信号を減算し、その符号をセレクタ４２１２及びフリップフロップ４２２３へ出力する。セレクタ４２１２は、その符号に応じて、加算器４２１１又は４２２１の出力信号を選択し、フリップフロップ４２１３へ出力する。すなわち、小さいパスメトリックを選択して、出力する。フリップフロップ４２１３は、パスメトリックＰＭ０００を記憶して出力する。また、フリップフロップ４２２３は、符号を記憶し、選択されたパスＰＡＴＨ０００を出力する。
【０１５２】
ＡＣＳ部は、最大の状態数２５６（０００〜２５６）に対応できる。ＡＣＳ部中の２５６個のセレクタ０００〜２５５は、ブランチメトリック演算部３９０１の出力の中から各々の状態（０００〜２５５）毎に必要なものを選択（ＰＭ選択、ＢＭ選択、符号化率選択）して対応するＡＣＳ０００〜２５５に出力する。
【０１５３】
３つある回路設定（ＰＭ選択、ＢＭ選択、符号化率選択）は、符号化データ（図３９中の入力信号Ａ，Ｂ，Ｃ）を生成、出力する畳み込みエンコーダ１０２（図１（Ａ））の作りが決まれば一意に決まる。出力である次のステップのパスメトリックＰＭ０００と選択された（生き残った）パス情報ＰＡＴＨを計算するには、符号化率の分子Ｓ＝１のときパスメトリックとブランチメトリックが２組（ＰＭ＿Ａ，ＢＭ＿ＡとＰＭ＿Ｂ，ＢＭ＿Ｂの２組）必要となる。一般化すると、２のＳ乗組のパスメトリックとブランチメトリックを１つのＡＣＳに用意すれば良い。
【０１５４】
実際には、使用する符号化率としてＳ１／Ｔ１＝１／２、Ｓ２／Ｔ２＝１／３、状態数が６４、２５６の２セットを考えるならば、セレクタ４２０１、４２０２、４２０３、４２０４の入力は２５６本も必要ない。（（２のＳ１乗）＋（２のＳ２乗））×２セット＝８本で良い。使用する符号化率としてＳ1／Ｔ１＝１／２、Ｓ２／Ｔ２＝１／３、Ｓ３／Ｔ３＝２／３、状態数が６４、２５６の２セットを考えるならば、（（２のＳ１乗）＋（２のＳ２乗）＋（２のＳ３乗））×２セット＝１６本で良い。
【０１５５】
以上のように、符号化率と状態数といったパラメータに依存したビタビデコーダでは、予め設計時に決定した状態数だけ用意し、それに対するパスメトリックとブランチメトリックのとり方（選択）を固定化したうえで配線情報を決定し回路化されるが、本実施形態の準固定回路ではこれらのとり方をハードウエア中に予め用意したセレクタ（ブランチメトリック演算部とＡＣＳ部の内部にある）の設定を変更することにより、とり方に自由度をもたせることができ、あらゆる符号化率、状態数の畳み込み符号を一つのビタビデコーダでデコードできる。
【０１５６】
（第１０の実施形態）
図４３（Ａ）は、図１（Ｂ）のマッチトフィルタ１１３の構成例を示す。このマッチトフィルタは、例えば１６タップを有し、１６個の遅延素子レジスタ４３０１を有する。１６個のレジスタ４３０１（Ｒｅｇ００〜Ｒｅｇ１５）には、実数成分データＤｒ及び虚数成分データＤｉが入力データとして入力される。レジスタＲｅｇ００は、実数成分データＤｒ０及び虚数成分データＤｉ０を複素乗算回路４３０２に出力する。複素乗算回路４３０２は、図４３（Ｂ）の構成を有し、入力データＤｒ０，Ｄｉ０及び係数Ｗｒ０，Ｗｉ０を入力し、複素乗算する。係数Ｗｒ０は実数成分であり、係数Ｗｉ０は虚数成分である。
【０１５７】
図４３（Ｂ）において、複素乗算回路４３０２は、４個の乗算器４３１１〜４３１４及び２個の加算器４３１５，４３１６を有する。乗算器４３１１は、実数成分データＤｒ０及び実数成分係数Ｗｒ０を乗算して出力する。乗算器４３１２は、虚数成分データＤｉ０及び虚数成分係数Ｗｉ０を乗算して出力する。乗算器４３１３は、実数成分データＤｒ０及び虚数成分係数Ｗｉ０を乗算して出力する。乗算器４３１４は、虚数成分データＤｉ０及び実数成分係数Ｗｒ０を乗算して出力する。加算器４３１５は、乗算器４３１１の出力に正符号を付与し、乗算器４３１２の出力に負符号を付与し、両者を加算して出力する。加算器４３１６は、乗算器４３１３の出力に正符号を付与し、乗算器４３１４の出力に正符号を付与し、両者を加算して出力する。
【０１５８】
図４３（Ａ）において、複素乗算回路４３０３も同様に、入力データＤｒ１，Ｄｉ１及び係数Ｗｒ１，Ｗｉ１を入力し、複素乗算する。加算器群４３０４は、２個の加算器を有し、２個の複素乗算回路４３０２及び４３０３の出力の対応する成分同士を加算して出力する。加算器群４３０５は、２個の加算器を有し、隣接する２個の加算器群４３０４の出力の対応する成分同士を加算して出力する。加算器群４３０６は、２個の加算器を有し、隣接する２個の加算器群４３０５の出力の対応する成分同士を加算して出力する。加算器群４３０７は、２個の加算器を有し、隣接する２個の加算器群４３０６の出力の対応する成分同士を加算して出力データ（実数成分データ及び虚数成分データを含む）を出力する。
【０１５９】
以上のように、このマッチトフィルタは、複素数入力データＤｒ，Ｄｉに対して１６タップのフィルタ演算を行い、複素数出力する。複素乗算回路４３０２等では、乗算器４個と加算器２個で複素乗算を行っている。その出力は、複素成分を別々に加算していくために加算器群４３０４を１加算単位として加算され最終的に１６タップ分の複素乗算結果の和を出力している。よって、使用するリソースは、１６個のレジスタ、６４個の乗算器、６２個の加算器である。
【０１６０】
図４５は、図１（Ｂ）のＦＦＴ１１４の構成例を示す。このＦＦＴは、基数２の時間間引き８ポイントＦＦＴの場合を例に示す。入力データａ０，ａ１，…，ａ７は、複素数データである。出力データは、Ａ０，Ａ１，…，Ａ７である。Wφ＝ｅｘｐ（（２π／Ｎ）×φ））である。ここで、Ｎはポイント数であり、例えば８である。交点で加算を実行し、Wφの点で複素乗算する。“−”の記号があるところでは減算を実行する。
【０１６１】
第１ステージ４５０１、第２ステージ４５０２及び第３ステージ４５０３では、それぞれ４回のバタフライ演算を行う。バタフライ演算は、図４４に示すバタフライ演算器により行われ、２個の入力データに対して行われる演算である。例えば、第１ステージ４５０１の１回目のバタフライ演算では、（ａ０＋ａ４）×１の演算と（ａ０−ａ４）×１の演算が行われる。係数Ｗの乗算がない場合には、係数Ｗ＝１として乗算することと等価である。第１ステージ４５０１の２回目のバタフライ演算では、（ａ２＋ａ６）×Ｗ0の演算と（ａ２−ａ６）×Ｗ2の演算が行われる。
【０１６２】
図４４は、バタフライ演算器４４００の構成例を示す。図４３（Ａ）と同様に、レジスタ４４０１は、２個の入力データＤ０（＝Ｄｒ０＋ｊＤｉ０）及びＤ１（＝Ｄｒ１＋ｊＤｉ１）をバタフライ演算器４４００に出力する。バタフライ演算器４４００は、２個の入力データＤ０，Ｄ１の他に、係数Ｗ（＝Ｗｒ０＋ｊＷｉ０）を入力し、バタフライ演算を行い、次式の出力データＤ０＿ｏｕｔ及びＤ１＿ｏｕｔを出力する。ここで、(*)は、複素共役を表す。
【０１６３】
Ｄ０＿ｏｕｔ＝Ｄ０＋Ｗ(*)×Ｄ１
Ｄ１＿ｏｕｔ＝Ｄ０−Ｗ(*)×Ｄ１
【０１６４】
乗算器４４１１及び４４１５は、実数成分データＤｒ１及び実数成分係数Ｗｒ０を乗算して出力する。乗算器４４１２及び４４１６は、虚数成分データＤｉ１及び虚数成分係数Ｗｉ０を乗算して出力する。乗算器４４１３及び４４１７は、虚数成分データＤｉ１及び実数成分係数Ｗｒ０を乗算して出力する。乗算器４４１４及び４４１８は、実数成分データＤｒ１及び虚数成分係数Ｗｉ０を乗算して出力する。
【０１６５】
加算器４４２１は、乗算器４４１１の出力に正符号を付与し、乗算器４４１２の出力に負符号を付与し、両者を加算して出力する。加算器４４２２は、乗算器４４１３の出力に正符号を付与し、乗算器４４１４の出力に正符号を付与し、両者を加算して出力する。加算器４４２３は、乗算器４４１５の出力に負符号を付与し、乗算器４４１６の出力に正符号を付与し、両者を加算して出力する。加算器４４２４は、乗算器４４１７の出力に正符号を付与し、乗算器４４１８の出力に正符号を付与し、両者を加算して出力する。
【０１６６】
加算器４４３１は、実数成分データＤｒ０に正符号を付与し、加算器４４２１の出力に正符号を付与し、両者を加算して実数成分データＤｒ０＿ｏｕｔを出力する。加算器４４３２は、虚数成分データＤｉ０に正符号を付与し、加算器４４２２の出力に正符号を付与し、両者を加算して虚数成分データＤｉ０＿ｏｕｔを出力する。加算器４４３３は、実数成分データＤｒ０に正符号を付与し、加算器４４２３の出力に正符号を付与し、両者を加算して実数成分データＤｒ１＿ｏｕｔを出力する。加算器４４３４は、虚数成分データＤｉ０に正符号を付与し、加算器４４２４の出力に負符号を付与し、両者を加算して虚数成分データＤｉ１＿ｏｕｔを出力する。
【０１６７】
第１の出力データＤ０＿ｏｕｔ及び第２の出力データＤ１＿ｏｕｔは、次式で表される。
【０１６８】
Ｄ０＿ｏｕｔ＝Ｄｒ０＿ｏｕｔ＋ｊＤｉ０＿ｏｕｔ
＝Ｄｒ０＋Ｗｒ０×Ｄｒ１＋Ｗｉ０×Ｄｉ１
＋ｊ×（Ｄｉ０＋Ｗｒ０×Ｄｉ１−Ｗｉ０×Ｄｒ１）
Ｄ１＿ｏｕｔ＝Ｄｒ１＿ｏｕｔ＋ｊＤｉ１＿ｏｕｔ
＝Ｄｒ０−Ｗｒ０×Ｄｒ１−Ｗｉ０×Ｄｉ１
＋ｊ×（Ｄｉ０−Ｗｒ０×Ｄｉ１＋Ｗｉ０×Ｄｒ１）
【０１６９】
このバタフライ演算器４４００は、８個の乗算器及び８個の加算器から構成され、基数２のバタフライ演算を１回実行できる。図４３のマッチトフィルタと図４４のバタフライ演算器は、レジスタ、乗算器と加算器といった素子を用いる点は同じである。両者の異なるパラメータは、乗算に使う係数、素子間のネットワーク情報の設定、加算時の符号である。これらパラメータを再設定できるような回路上の仕組みをもたせることにより、マッチトフィルタ演算及びバタフライ演算を同一回路で対応できるようにする。このとき、図４３のマッチトフィルタでの使用リソースをバタフライ演算器とで共有化することを考えて、図４３でのリソースに対し加算器を２個追加してバタフライ演算器４４００を８個組むことができる。
【０１７０】
図４６は、マッチトフィルタ及びバタフライ演算を選択的に実現可能な準固定回路の構成例を示す。図４４に示すように、１個のバタフライ演算器４６０４は８個の乗算器及び８個の加算器を有する。したがって、８個のバタフライ演算器４６０４は、６４個の乗算器及び６４個の加算器を有する。これに対し、図４３に示すように、マッチトフィルタでは、そのうち、６４個の乗算器及び６２個の加算器を用いる。
【０１７１】
入力メモリ（レジスタ）４６０１は、メモリ制御部４６１１の制御に応じて、１６個の入力データ及び出力メモリ４６０５の出力データを入力し、セレクタ４６０２に出力する。セレクタ４６０２は、セレクタ設定部４６１２の設定に応じて、入力データの選択を行って演算器部４６０３内のバタフライ演算器４６０４に出力する。演算器部４６０３は、８個のバタフライ演算器４６０４を有する。係数設定部４６１３は、セレクタ４６０２を介して又は直接、バタフライ演算器４６０４に係数Ｗを入力する。符号設定部４６１４は、バタフライ演算器４６０４に正負符号を設定する。出力メモリ４６０５は、ワークメモリとしても機能し、バタフライ演算器４６０４の演算結果を記憶し、出力する。
【０１７２】
本実施形態では、複素成分入力が６４本ある場合、つまり６４ポイントのフーリエ変換を考えるのでバタフライ演算が１９２回必要となるが、８個のバタフライ演算器をもつ演算器部４６０３を使えば１９２÷８＝２４回のループで処理できる。マッチトフィルタは１回で処理が済む。なお、予めどちらの処理を行うか選択して、係数の設定をする係数設定部４６１３、配線の設定を行うセレクタ設定部４６１２と符号設定部４６１４とに反映させておく。
【０１７３】
図４４のバタフライ演算器４４００と図４６のバタフライ演算器４６０４のリソース量は同じである。特に、バタフライ演算器４６０４に注目してその内部構成を図４７に示す。
【０１７４】
図４７は、バタフライ演算器４６０４の構成例を示す。このバタフライ演算器４６０４は、バタフライ演算器及びマッチトフィルタを共有化した回路である。バタフライ演算器４６０４は、複素乗算回路４７０３及び４７０４を有する。複素乗算回路４７０３及び４７０４は、図４３（Ａ）の複素乗算回路４３０２及び４３０３（図４３（Ｂ））に対応する。
【０１７５】
入力メモリ（レジスタ）４７０２及びメモリ制御部４７０１は、図４６の入力メモリ４６０１及びメモリ制御部４６１１に対応する。入力メモリ４７０２は、入力データＤｒ０，Ｄｉ０，Ｄｒ１，Ｄｉ１をバタフライ演算器４６０４に出力する。
【０１７６】
まず、複素乗算回路４７０３について説明する。セレクタ４７１１は、実数成分データＤｒ１又はＤｒ０を選択して出力する。セレクタ４７１２は、虚数成分データＤｉ１又はＤｉ０を選択して出力する。乗算器４３１１は、セレクタ４７１１の出力及び係数Ｗｒ０を乗算して出力する。乗算器４３１２は、セレクタ４７１２の出力及び係数Ｗｉ０を乗算して出力する。乗算器４３１３は、セレクタ４７１１の出力及び係数Ｗｉ０を乗算して出力する。乗算器４３１４は、セレクタ４７１２の出力及び係数Ｗｒ０を乗算して出力する。
【０１７７】
セレクタ４７３１は、複素乗算回路４７０４内の加算器４３１５の出力信号４７４１又はセレクタ４７１１の出力信号を選択して出力する。加算器４７２１は、セレクタ４７３１の出力に正符号を付与し、加算器４３１５の出力に正符号を付与し、両者を加算して出力する。セレクタ４７３２は、複素乗算回路４７０４内の加算器４３１６の出力信号４７４２又はセレクタ４７１２の出力信号を選択して出力する。加算器４７２２は、セレクタ４７３２の出力に正符号を付与し、加算器４３１６の出力に正符号を付与し、両者を加算して出力する。
【０１７８】
次に、複素乗算回路４７０４について説明する。セレクタ４７１３は、実数成分係数Ｗｒ０又はＷｒ１を選択して出力する。セレクタ４７１４は、虚数成分係数Ｗｉ０又はＷｉ１を選択して出力する。乗算器４３１１は、セレクタ４７１３の出力及び実数成分データＤｒ１を乗算して出力する。乗算器４３１２は、セレクタ４７１４の出力及び虚数成分データＤｉ１を乗算して出力する。乗算器４３１３は、セレクタ４７１４の出力及び実数成分データＤｒ１を乗算して出力する。乗算器４３１４は、セレクタ４７１３の出力及び虚数成分データＤｉ１を乗算して出力する。
【０１７９】
セレクタ４７３３は、図４３の他の加算器群４３０３等の出力信号４７４３又はセレクタ４７１１の出力信号を選択して出力する。加算器４７２３は、セレクタ４７３３の出力に正符号を付与し、加算器４３１５の出力に正符号を付与し、両者を加算して出力する。セレクタ４７３４は、図４３の他の加算器群４３０３等の出力信号４７４４又はセレクタ４７１２の出力信号を選択して出力する。加算器４７２４は、セレクタ４７３４の出力に正符号を付与し、加算器４３１６の出力に正符号を付与し、両者を加算して出力する。
【０１８０】
出力メモリ４７０５は、図４６の出力メモリ４６０５に対応し、加算器４７２１〜４７２４の出力信号を記憶する。バタフライ演算の際には、出力メモリ４７０５の信号が入力メモリ４７０２にフィードバックされる。
【０１８１】
マッチトフィルタ処理の場合は、最初に係数Ｗｒ０、Ｗｉ０及びＷｒ１、Ｗｉ１が設定される。セレクタ４７３１、４７３２、４７３３、４７３４、４７１１、４７１２、４７１３、４７１４は、それぞれ信号４７４１、信号４７４２、信号４７４３、信号４７４４、データＤｒ０、データＤｉ０、係数Ｗｒ１、係数Ｗｉ１を選択する。符号設定部４６１４（図４６）は、図４７に示す通りに設定する。複素乗算回路４７０３及び４７０４での演算後は、その複素出力を残りの加算器４７２１〜４７２４と、同じく図４６の演算器部４６０３内の残りのバタフライ演算器４６０４の加算器を使用して加算するだけである。バタフライ演算器４６０４では、複素乗算回路４７０３及び４７０４の出力４本を加算器４７２１及び４７２２（図４３の加算器群４３０４に対応）を使い加算している。加算器４７２３及び４７２４は、その他の加算に用いる。
【０１８２】
バタフライ演算処理の場合は入力メモリ４７０２にデータが入る度に、係数設定でデータに対応した係数Ｗｒ０、Ｗｉ０が設定される。同時に、セレクタ４７３１、４７３２、４７３３、４７３４、４７１１、４７１２、４７１３、４７１４は、それぞれセレクタ４７１１の出力信号、セレクタ４７１２の出力信号、セレクタ４７１１の出力信号、セレクタ４７２１２の出力信号、データＤｒ１、データＤｉ１、係数Ｗｒ０、係数Ｗｉ０を選択する。符号設定部４６１４（図４６）は、複素乗算回路４７０４の中の加算器４３１５への２入力及び加算器４７２４の入力信号４７４２の符号極性を反転させる。これらの設定下で、バタフライ演算器４６０４にて複素数２入力データのバタフライ演算を行い、出力メモリ４７０５に書き出す。以上を必要なだけ繰り返し、ループ処理する。
【０１８３】
なお、加算器４７２１及び４７２２の出力信号は、バタフライ演算時には出力メモリ４７０５に出力するが、マッチトフィルタ動作時には実際には出力メモリ４７０５には出力せずに加算器群４３０５等（図４３）に出力される。マッチトフィルタ時には、入力データが未割り当ての加算器４７２３及び４７２４を加算器群４３０５等に割り当てることができるのでこれに出力する。
【０１８４】
さらに、また別の実施形態として、バタフライ演算器４６０４への入力データの順番をメモリ制御４７０１により変更することにより、無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｂがもつＣＣＫ(Complementary Code Keying)復調処理の一部である複素乗算（位相回転）計算にも応用できる。
【０１８５】
図４８は、図４７の乗算器の内部構成例である。ここでは、新たに入力切り換え用セレクタ４８０４、係数格納用レジスタ４８０５、スケジューラ（カウンタ）４８０６を追加していることを特徴とする。
【０１８６】
まず、係数設定部は、係数格納用レジスタ４８０５に定数を初期設定時に設定する。セレクタ４８０４は、入力切り換え設定信号に応じて、入力として外部からの入力２又は係数格納用レジスタ４８０５内のレジスタ値を選択できる。スケジューラ４８０６は、カウンタから構成されており、スケジューラ設定信号に応じて、係数格納用レジスタ４８０５にアドレスを供給している。アドレスは、固定値、又はある設定された数を最大とするカウントの繰り返し出力である。例えば、３と設定するなら０，１，２，３，０，１，２，…というようになる。これは、最初に係数格納用レジスタ４８０５に定数設定をしておけば、外部との信号のやり取りなしにマッチトフィルタの１６タップ分の係数セットを切り換えることができ、時間軸上で高速に複数のマッチトフィルタ演算が可能になることを意味する。係数格納用レジスタ４８０５は、アドレスに応じて、セレクタ４８０８に係数を出力する。
【０１８７】
符号設定部４８０１及び４８０３は、符号設定信号に応じて、正負符号が設定される。入力１は、符号設定部４８０１で符号設定され、乗算器４８０２に出力される。セレクタ４８０４の出力信号は、符号設定部４８０３で符号設定され、乗算器４８０２に出力される。乗算器４８０２は、符号設定部４８０１及び４８０３の出力信号を乗算して出力する。なお、乗算器の場合に限定されず、加算器もレジスタ４８０５及びスケジューラ４８０６等により制御してもよい。
【０１８８】
以上のように、マッチトフィルタとＦＦＴの間で乗算器、加算器という演算器リソースを共有できるので、別々にリソースをもつ場合に比べて回路規模を削減できる。
【０１８９】
（第１１の実施形態）
図４９は、本発明の第１１の実施形態による準固定回路を含むＬＳＩの全体構成例を示す。準固定回路は、例えば、第１〜第１０の実施形態の準固定回路である。ＬＳＩ４９００は、例えば、ＣＰＵ４９０１、準固定回路４９０４、固定回路４９０６及びＲＩＳＣ（ＤＳＰ）４９０８を有する。設定用バス４９０２には、ＣＰＵ４９０１の他に、設定部４９０３を介して準固定回路４９０４、設定部４９０５を介して固定回路４９０６、及び設定部４９０７を介してＲＩＳＣ４９０８が接続される。ＣＰＵ４９０１は、設定部４９０３，４９０５，４９０７の設定又は再設定を行うことができる。
【０１９０】
準固定回路４９０４は、従来のハードウエア（固定回路）４９０６のように機能を固定された要素として全体を構成しているのではなく、ソフトウエアでその設定を書き換えてやることにより必要に応じて機能を切り換えて全体を構成する。もちろん、必要なければ全体からその機能を切り離す。例えば、複数の機能を時分割で切り換えて使用してもよいし、複数の準固定回路でそれぞれ設定して使用してもよい。
【０１９１】
ＣＰＵ(設定／再設定用)４９０１が上位レイヤに相当する外部からの命令を受けて、回路構成設定情報を準固定回路４９０４、固定回路４９０６及びＲＩＳＣ４９０８等のＬＳＩ構成要素ブロックに渡す。準固定回路４９０４をはじめとする要素ブロックは、それぞれに１つ以上の設定のための複数の設定用アドレス空間を持つ。さらに要素ブロックは、ＣＰＵ４９０１からの命令により、それぞれの設定用アドレス空間から読み出した回路構成設定情報を参照して自身の設定／再設定を行う。
【０１９２】
以上のように、第１〜第１１の実施形態によれば、スクランブラ、デスクランブラ又はビタビデコーダ等の同じ機能の回路であっても、異なる種類の回路を１つの準固定回路で実現することができる。また、マッチトフィルタ及びバタフライ演算回路等の異なる機能の回路を１つの準固定回路で実現することができる。また、複数種類のスクランブラ、デクランブラ又はＣＲＣ回路等の複数ビット同時処理が１つの準固定回路で実現することができる。これにより、ハードウエア資源を共用することができるので、ハードウエア資源の使用効率を向上させることができる。また、１つの準固定回路で、複数の回路を実現することができる。
【０１９３】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１９４】
本発明の実施形態は、例えば以下のように種々の適用が可能である。
【０１９５】
（付記１）
複数種類のスクランブラ又はデクランブラの動作が可能である準固定回路であって、
直列接続可能な複数のフリップフロップと、
少なくとも入力信号と第１のフィードバック信号との排他的論理和信号、フィードバック信号及び入力信号のうちのいずれか１つの信号を選択して前記複数のフリップフロップのうちの一の第１のフリップフロップに出力可能な第１のセレクタと、
少なくとも前記複数のフリップフロップのうちの一の第２のフリップフロップの出力信号と第２のフィードバック信号との排他的論理和信号、該第２のフリップフロップの出力信号、及び第２のフィードバック信号のうちのいずれか１つの信号を選択して前記第１のセレクタに前記第１のフィードバック信号として出力可能な第２のセレクタと
を有する準固定回路。
（付記２）
前記第１のセレクタ及び前記第２のセレクタの選択に応じて、ＩＥＥＥ８０２．１１ａ規格のスクランブラ、ＩＥＥＥ８０２．１１ｂ規格のスクランブラ、及びＩＥＥＥ８０２．１１ｂ規格のデクランブラの動作が可能である付記１記載の準固定回路。
（付記３）
さらに、ビット数が少ない入力信号をデコードしてビット数が多い出力信号を出力し、前記第１のセレクタ及び前記第２のセレクタを選択するためのデコーダを有する付記１記載の準固定回路。
（付記４）
さらに、前記複数のフリップフロップの間に設けられ、前記第１のセレクタの出力信号と前段のフリップフロップの出力信号との排他的論理和信号、又は前段のフリップフロップの出力信号を選択して後段のフリップフロップに出力可能な第３のセレクタを有し、
前記第１〜第３のセレクタの選択に応じて、ＣＲＣ（Cycle Redundancy Check）回路の動作が可能である付記１記載の準固定回路。
（付記５）
さらに、少なくとも前記第２のフリップフロップの出力信号と第３のフィードバック信号との排他的論理和信号、該第２のフリップフロップの出力信号、及び第３のフィードバック信号のうちのいずれか１つの信号を選択して第４のフィードバック信号を出力可能な第４のセレクタを有し、
前記第１のセレクタは、さらに前記入力信号と前記第４のフィードバック信号との排他的論理和信号、及び前記第４のフィードバック信号を含めた信号の中から択一的に選択して出力可能であり、
前記第１、第２及び第４のセレクタの選択に応じて、畳み込みエンコーダの動作が可能である付記１記載の準固定回路。
（付記６）
前記複数のフリップフロップ、前記第１のセレクタ、前記第２のセレクタ及び前記第４のセレクタの組みを２組設け、
前記第１、第２及び第４のセレクタの選択に応じて、線形帰還シフトレジスタ回路の動作が可能である付記５記載の準固定回路。
（付記７）
さらに、少なくとも前記第２のフリップフロップの出力信号と第３のフィードバック信号との排他的論理和信号、該第２のフリップフロップの出力信号、及び第３のフィードバック信号のうちのいずれか１つの信号を選択して第４のフィードバック信号を出力可能な第４のセレクタを有し、
前記第１のセレクタは、さらに前記入力信号と前記第４のフィードバック信号との排他的論理和信号、及び前記第４のフィードバック信号を含めた信号の中から択一的に選択して出力可能であり、
前記第１〜第４のセレクタの選択に応じて、畳み込みエンコーダの動作が可能である付記４記載の準固定回路。
（付記８）
前記複数のフリップフロップ、前記第１のセレクタ、前記第２のセレクタ、前記第３のセレクタ及び前記第４のセレクタの組みを２組設け、
前記第１〜第４のセレクタの選択に応じて、線形帰還シフトレジスタ回路の動作が可能である付記７記載の準固定回路。
（付記９）
前記第１のフリップフロップ及び前記第２のフリップフロップは、同じ又は異なるフリップフロップである付記１記載の準固定回路。
（付記１０）
前記第２のセレクタは、複数あり、それぞれが前記複数のフリップフロップの間の接続線に接続され、
両端を除く各々の第２のセレクタは、一方に隣接する第２のセレクタの出力信号を第２のフィードバック信号として入力し、選択した信号を他方に隣接する第２のセレクタに出力する付記１記載の準固定回路。
（付記１１）
複数種類のＣＲＣ（Cycle Redundancy Check）回路の複数ビット同時処理が可能である準固定回路であって、
複数のフリップフロップと、
第１の入力ビット信号及び前記複数のフリップフロップの出力信号を基に選択的に排他的論理和を演算し、シフト１回目に相当する出力信号を出力するための第１の排他的論理和回路と、
第２の入力ビット信号及び前記シフト１回目に相当する出力信号を基に選択的に排他的論理和を演算し、シフト２回目に相当する出力信号を出力するための第２の排他的論理和回路と
を有する準固定回路。
（付記１２）
さらに、第ｎの入力ビット信号及びシフトｎ−１回目のシフト信号を基に選択的に排他的論理和を演算し、シフトｎ回目に相当する出力信号を出力するための第ｎの排他的論理和回路とを有する付記１１記載の準固定回路。
（付記１３）
前記複数のフリップフロップのうちの一のフリップフロップは、前記第ｎの排他的論理和回路の出力信号をフィードバック入力する付記１２記載の準固定回路。
（付記１４）
複数種類のスクランブラ又はデクランブラの複数ビット同時処理が可能である準固定回路であって、
複数のフリップフロップと、
第１の入力ビット信号及び前記複数のフリップフロップの出力信号を基に選択的に排他的論理和を演算し、シフト１回目に相当する出力信号を出力するための第１の排他的論理和回路と、
第２の入力ビット信号及び前記複数のフリップフロップの出力信号を基に選択的に排他的論理和を演算し、シフト２回目に相当する出力信号を出力するための第２の排他的論理和回路と
を有する準固定回路。
（付記１５）
前記複数のフリップフロップ、前記第１の排他的論理和回路及び前記第２の排他的論理和回路の組みを２組設け、
前記第１及び第２の排他的論理和回路の選択に応じて、畳み込みエンコーダの動作が可能である付記１４記載の準固定回路。
（付記１６）
前記複数のフリップフロップ、前記第１の排他的論理和回路及び前記第２の排他的論理和回路の組みを４組設け、
前記第１及び第２の排他的論理和回路の選択に応じて、畳み込みエンコーダ及び線形帰還シフトレジスタ回路の動作が可能である付記１４記載の準固定回路。
（付記１７）
前記第１の排他的論理和回路は、第１の入力ビット信号及び前記複数のフリップフロップの出力信号を基に選択的に排他的論理和を演算し、シフト１回目に相当する出力信号を出力し、
前記第２の排他的論理和回路は、第２の入力ビット信号及び前記シフト１回目に相当する出力信号を基に選択的に排他的論理和を演算し、シフト２回目に相当する出力信号を出力することにより、複数種類のＣＲＣ（Cycle Redundancy Check）回路の複数ビット同時処理が可能である付記１６記載の準固定回路。
（付記１８）
複数種類の符号化率で畳み込み符号化された符号化データをビタビデコードすることが可能な準固定回路であって、
畳み込み符号化された符号化データをビタビデコードするための複数のブランチメトリックを演算し、符号化率に応じたブランチメトリックを選択して出力するブランチメトリック演算回路と、
前記複数のブランチメトリックから必要なものを選択してパスメトリックを演算するパストリック演算回路と
を有する準固定回路。
（付記１９）
マッチトフィルタ及びバタフライ演算回路の動作が可能である準固定回路であって、
シフトレジスタと、
乗算を行うための複数の乗算器と、
加算を行うための複数の加算器と、
前記シフトレジスタ、前記複数の乗算器及び前記複数の加算器の接続を制御するための接続回路とを有し、
前記接続回路の接続に応じて、マッチトフィルタ及びバタフライ演算回路の動作が可能である準固定回路。
（付記２０）
前記接続回路の接続に応じて、マッチトフィルタ及び高速フーリエ変換回路の動作が可能である付記１９記載の準固定回路。
（付記２１）
さらに、前記乗算器又は前記加算器の入力として与えるデータを格納するためのメモリと、
前記メモリ内のデータを前記乗算器又は前記加算器に入力する順番を制御するスケジュール回路と
を有する付記１９記載の準固定回路。
【符号の説明】
【０１９６】
１０１  スクランブラ
１０２  畳み込みエンコーダ
１０３  インターリーブ処理回路
１０４  変調回路
１０５  逆ＦＦＴ回路
１０６  Ｄ／Ａ変換回路
１０７  ＲＦ回路
１１１  ＲＦ回路
１１２  Ａ／Ｄ変換回路
１１３  同期処理回路
１１４  ＦＦＴ回路
１１５  復調回路
１１６  デインターリーブ処理回路
１１７  ビタビデコーダ
１１８  デスクランブラ
２０１  ＣＲＣビット付加処理回路
２０２  スクランブラ
２０３  変調回路
２０４  拡散回路
２０５  送信回路
２０６  拡散符号発生回路
２１１  受信回路
２１２  逆拡散回路
２１３  復調回路
２１４  ＣＲＣ処理回路
２１５  デスクランブラ
２１６  拡散符号発生回路
３０１，３０２，４０１，４０２，５０１，５０２  ＥＯＲ回路
６０１  入力ＥＯＲ回路
６０２  中段ＥＯＲ回路
７０１  デコーダ
８０１，９０１  ＥＯＲ回路
８０２，９０２  セレクタ
【図１】
0004814969.tif 000002
【図２】
0004814969.tif 000003
【図３】
0004814969.tif 000004
【図４】
0004814969.tif 000005
【図５】
0004814969.tif 000006
【図６】
0004814969.tif 000007
【図７】
0004814969.tif 000008
【図８】
0004814969.tif 000009
【図９】
0004814969.tif 000010
【図１０】
0004814969.tif 000011
【図１１】
0004814969.tif 000012
【図１２】
0004814969.tif 000013
【図１３】
0004814969.tif 000014
【図１４】
0004814969.tif 000015
【図１５】
0004814969.tif 000016
【図１６】
0004814969.tif 000017
【図１７】
0004814969.tif 000018
【図１８】
0004814969.tif 000019
【図１９】
0004814969.tif 000020
【図２０】
0004814969.tif 000021
【図２１】
0004814969.tif 000022
【図２２】
0004814969.tif 000023
【図２３】
0004814969.tif 000024
【図２４】
0004814969.tif 000025
【図２５】
0004814969.tif 000026
【図２６】
0004814969.tif 000027
【図２７】
0004814969.tif 000028
【図２８】
0004814969.tif 000029
【図２９】
0004814969.tif 000030
【図３０】
0004814969.tif 000031
【図３１】
0004814969.tif 000032
【図３２】
0004814969.tif 000033
【図３３】
0004814969.tif 000034
【図３４】
0004814969.tif 000035
【図３５】
0004814969.tif 000036
【図３６】
0004814969.tif 000037
【図３７】
0004814969.tif 000038
【図３８】
0004814969.tif 000039
【図３９】
0004814969.tif 000040
【図４０】
0004814969.tif 000041
【図４１】
0004814969.tif 000042
【図４２】
0004814969.tif 000043
【図４３】
0004814969.tif 000044
【図４４】
0004814969.tif 000045
【図４５】
0004814969.tif 000046
【図４６】
0004814969.tif 000047
【図４７】
0004814969.tif 000048
【図４８】
0004814969.tif 000049
【図４９】
0004814969.tif 000050