(57)【特許請求の範囲】
【請求項１】
第１シフトレジスタと、当該第１シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記第１シフトレジスタの初段に帰還する第１排他的論理和回路とを備え、第１シフトレジスタの各段に初期値をセットし、第１シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第１符号系列を生成し、当該第１符号系列をクロックに従って第１シフトレジスタの最終段から順次出力する第１符号系列生成器と、
第２シフトレジスタと、当該第２シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記第２シフトレジスタの初段に帰還する第２排他的論理和回路とを備え、第２シフトレジスタの各段に初期値をセットし、第２シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第２符号系列を生成し、当該第２符号系列をクロックに従って第２シフトレジスタの最終段から順次出力する第２符号系列生成器と、前記第２シフトレジスタの各段にセットされる初期値と、前記第１符号系列と前記第２符号系列とのオフセット量に対応して予め設定された行列要素から成る行列との行列演算を行い、その行列演算結果を前記第１シフトレジスタの各段の初期値としてセットする演算手段とを備えた
ことを特徴とする符号系列生成器。
【請求項２】
請求項１に記載の符号系列生成器において、
前記演算手段は前記第１シフトレジスタの各段にそれぞれ対応する複数の演算器を備え、当該各演算器はそれぞれ前記第１シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を行う
ことを特徴とする符号系列生成器。
【請求項３】
請求項１に記載の符号系列生成器において、
前記演算手段は、前記第１シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を各段毎に順次行う演算器と、前記演算器が順次算出する前記第１シフトレジスタの各段毎の行列演算結果を、前記第１シフトレジスタの各段の初期値として当該各段毎に切り替えてセットする切替手段とを備えた
ことを特徴とする符号系列生成器。
【請求項４】
請求項１〜３のいずれか１項に記載の符号系列生成器において、
前記行列を設定するための設定手段を備え、前記演算手段は当該設定手段により設定された任意の行列の対応する行列要素と前記初期値との行列演算を行う
ことを特徴とする符号系列生成器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は符号系列生成器に係り、詳しくは、最長系列（Ｍ系列）やゴールド（Ｇｏｌｄ）系列などの符号系列を生成する符号系列生成器に関するものである。
【０００２】
【従来の技術】
ディジタル符号系列は、ディジタル情報の秘匿や、スぺクトラム拡散通信における信号帯域拡大のための拡散符号など、広い分野で利用されている。特に、Ｍ系列は、その周期が非常に長い上に、自己相関特性がインパルス的なため、ランダム符号や雑音源などとして利用されている。
【０００３】
図４は、Ｍ系列を生成するために従来より一般に使用されている符号系列生成器１０１の概略構成を表すブロック図である。
Ｍ系列の符号系列生成器１０１は、初期値設定部１０２，シフトレジスタ１０３，排他的論理和演算回路１０４から構成されている。
【０００４】
ｎ＋１ビット長のシフトレジスタ１０３は、各フリップフロップＤ０〜Ｄｎがｎ＋１段シリーズに接続されて構成されている。
排他的論理和演算回路１０４は、シフトレジスタ１０３における最後段（ｎ＋１段目）のフリップフロップＤｎの出力と、生成すべき符号系列に対応した任意の段のフリップフロップ（例えば、３段目フリップフロップＤ２）の出力との排他的論理和をとり、その結果を初段のフリップフロップＤ０に帰還する。
【０００５】
ユーザが初期値設定部１０２を用いて設定した初期値Ｃ（＝ｃ０，ｃ１，ｃ２…，ｃｎ−１，ｃｎ）は、それぞれ各フリップフロップＤ０〜Ｄｎにセットされる。そして、各フリップフロップＤ０〜Ｄｎにクロック（図示略）を与えて、その内容を順次次段のフリップフロップにシフトさせることにより、周期２n+1−１のＭ系列の符号系列が生成され、その符号系列はクロックに従ってフリップフロップＤｎから順次出力される。
【０００６】
このように構成された符号系列生成器１０１において、任意の初期値Ｃをセットした後に任意の個数のクロックを与えると、そのクロック数分だけシフトされた符号系列が生成される。つまり、与えるクロック数を変更することにより、そのクロック数に対応した任意の位相から符号系列を生成することができる。これを利用して、符号系列生成器１０１を２つ用いることにより、任意のクロック数分だけ位相のずれた２つの符号系列を同時に生成する方法が提案されている。
【０００７】
図５は、任意のクロック数分だけ位相のずれた２つのＭ系列符号を生成することが可能な符号系列生成器２０１の概略構成を表すブロック図である。
符号系列生成器２０１は、初期値設定部１０２を共有する２つの符号系列生成器１０１（以下、２つを区別するため「１０１ａ」「１０１ｂ」と符号を付す）から構成されている。
【０００８】
図６は、符号系列生成器２０１の動作を表すタイミングチャートである。
符号系列生成器２０１を動作させるには、まず、各符号系列生成器１０１ａ，１０１ｂを構成する各フリップフロップＤ０〜Ｄｎに対して、ユーザが初期値設定部１０２を用いて設定した同じ初期値Ｃ（＝ｃ０，ｃ１，ｃ２…，ｃｎ−１，ｃｎ）をセットする。次に、符号系列生成器１０１ｂの各フリップフロップＤ０〜Ｄｎに任意の個数のクロックを予め与えておき、その内容を順次次段のフリップフロップにシフトさせておく。その後、各符号系列生成器１０１ａ，１０１ｂの各フリップフロップＤ０〜Ｄｎに同一のクロックを与える。その結果、符号系列生成器１０１ａの生成する符号系列αに対して、符号系列生成器１０１ｂからは予め与えておいたクロック数分だけ位相が進んだ符号系列βが生成される。つまり、各符号系列生成器１０１ａ，１０１ｂの生成する各符号系列α，βには、符号系列生成器１０１ｂに予め与えておいたクロック数分のオフセット量が生じることになる。
【０００９】
ここで、各符号系列生成器１０１ａ，１０１ｂの各符号系列α，βのオフセット量を大きくするには、符号系列生成器１０１ｂに予め与えておくクロック数を多くしなければならず、初期値Ｃをセットしてから各符号系列生成器１０１ａ，１０１ｂから位相のずれた符号系列α，βが生成開始されるまでの間に、非常に長い時間を要する。
【００１０】
ところで、符号系列生成器１０１から任意の位相の符号系列を生成する場合においても、周期が非常に長い符号系列における任意の位相から符号系列を生成するには、予め与えておくクロック数を多くしなければならず、初期値Ｃをセットしてから所望の符号系列が生成開始されるまでの間に非常に長い時間を要する。
【００１１】
【発明が解決しようとする課題】
そこで、特開平８−１８５５０号公報に開示されるように、レジスタに格納されたｎビット長のデータＸに（ｎ＋１）×（ｎ＋１）行列Ａで規定された線形変換を繰り返して実行することにより、符号系列Ｙ＝ＡｍＸ（ｍは正の整数）を生成する符号系列生成器が提案されている。この符号系列生成器は、予め定めたｔ＋１個の正の整数ｐｊ（ｊ＝０，１，２…，ｔ）のそれぞれについて行列Ａのｐｊ乗（Ａpj）を記憶する記憶手段と、前記整数ｍを前記整数ｐｊの一次式ｍ＝ｋ０＋ｋ１ｐ１＋ｋ２ｐ２＋…ｋｔｐｔ（ｋ０，ｋ１，ｋ２…，ｋｔは０または整数）の形に分解する手段と、前記ｋ０，ｋ１，ｋ２…，ｋｔの内でゼロでないものについて前記記憶手段から対応する行列を順次選択する選択手段と、前記ｋ０，ｋ１，ｋ２…，ｋｔの内でゼロでないものについて行列演算Ｙ＝（Ａp0）（Ａp1）k1（Ａp2）k2…（Ａpt）ktＸを実行する演算手段とを備えている。そのため、選択手段により選択された複数の行列を組み合わせて使用することにより、高速にレジスタ状態を設定し、任意の位相から符号系列を生成することができる。
【００１２】
しかし、同公報に記載の符号系列生成器では、前記選択手段により前記記憶手段から対応する行列を組み合わせて順次選択させるための制御が複雑であり、その制御を行うために大規模な回路構成の制御回路を要するという問題があった。本発明は上記問題点を解決するためになされたものであって、その目的は、任意のオフセット量が設定された同一系列の複数の符号系列を生成する際に、符号系列の生成開始までに要する時間を短縮することが可能で回路規模の小さな符号系列生成器を提供することにある。また、本発明の別の目的は、任意の位相から符号系列を生成する際に、符号系列の生成開始までに要する時間を短縮することが可能で回路規模の小さな符号系列生成器を提供することにある。
【００１３】
【課題を解決するための手段】
かかる目的を達成するためになされた第１の発明は、第１符号系列生成器、第２符号系列生成器、演算手段を備えている。第１符号系列生成器は、第１シフトレジスタと、当該第１シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記第１シフトレジスタの初段に帰還する第１排他的論理和回路とを備え、第１シフトレジスタの各段に初期値をセットし、第１シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第１符号系列を生成し、当該第１符号系列をクロックに従って第１シフトレジスタの最終段から順次出力する。第２符号系列生成器は、第２シフトレジスタと、当該第２シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記第２シフトレジスタの初段に帰還する第２排他的論理和回路とを備え、第２シフトレジスタの各段に初期値をセットし、第２シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第２符号系列を生成し、当該第２符号系列をクロックに従って第２シフトレジスタの最終段から順次出力する。演算手段は、前記第２シフトレジスタの各段にセットされる初期値と、前記第１符号系列と前記第２符号系列とのオフセット量に対応して予め設定された行列要素から成る行列との行列演算を行い、その行列演算結果を前記第１シフトレジスタの各段の初期値としてセットする。
【００１４】
従って、第１の発明によれば、第１符号系列と第２符号系列とのオフセット量を設定するために第１符号系列生成器にのみ予めクロックを与えておく必要がない。また、演算手段における行列演算に要する時間は、従来の符号系列生成器において第１，第２符号系列のオフセット量を設定するために第１符号系列生成器に予め与えておくクロック数分に相当する時間に比べればごく短い。そのため、第１の発明によれば、初期値をセットしてから任意のオフセット量が設定された第１，第２符号系列の生成開始までに要する時間を短縮することができる。
【００１５】
次に、第２の発明は、第１符号生成器および演算手段を備えている。第１符号生成器は、第１シフトレジスタと、当該第１シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記第１シフトレジスタの初段に帰還する第１排他的論理和回路とを備え、第１シフトレジスタの各段に初期値をセットし、第１シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第１符号系列を生成し、当該第１符号系列をクロックに従って第１シフトレジスタの最終段から順次出力する。演算手段は、前記第１シフトレジスタの各段に対応する初期値と、前記第１符号系列の任意の位相に対応して予め設定された行列要素から成る行列との行列演算を行い、その行列演算結果を前記第１シフトレジスタの各段の初期値としてセットする。
【００１６】
従って、第２の発明によれば、任意の位相の符号系列を生成する際に、第１符号系列生成器に予めクロックを与えておく必要がない。また、演算手段における行列演算に要する時間は、従来の符号系列生成器において任意の位相の符号系列を生成する際に第１符号系列生成器に予め与えておくクロック数分に相当する時間に比べればごく短い。そのため、第２の発明によれば、初期値をセットしてから任意の位相の符号系列の生成開始までに要する時間を短縮することができる。
【００１７】
ところで、第３の発明のように、第１または第２の発明において、前記演算手段は前記第１シフトレジスタの各段にそれぞれ対応する複数の演算器を備え、当該各演算器はそれぞれ前記第１シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を行うようにしてもよい。
【００１８】
このようにすれば、第１シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算がそれぞれ別個の演算器にて同時に算出されるため、初期値をセットしてから任意の位相の符号系列の生成開始までに要する時間をさらに短縮することができる。
【００１９】
また、第４の発明のように、第１または第２の発明において、前記演算手段は、前記第１シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を各段毎に順次行う演算器と、前記演算器が順次算出する前記第１シフトレジスタの各段毎の行列演算結果を、前記第１シフトレジスタの各段の初期値として当該各段毎に切り替えてセットする切替手段とを備えるようにしてもよい。
【００２０】
このようにすれば、１つの演算器を設けるだけで、第１シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を行い、その行列演算結果を第１シフトレジスタの各段の初期値として当該各段毎に切り替えてセットすることができる。従って、第１シフトレジスタの各段にそれぞれ対応する複数の演算器を設ける場合に比べて、演算器の数を減らせる分だけ全体の回路規模を小さくすることができる。
【００２１】
次に、第５の発明は、符号生成器および演算手段を備えている。符号生成器は、シフトレジスタと、当該シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記シフトレジスタの初段に帰還する排他的論理和回路とを備え、シフトレジスタの各段に初期値をセットし、シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第１符号系列を生成し、当該第１符号系列をクロックに従ってシフトレジスタの最終段から順次出力する。演算手段は、前記シフトレジスタの各段の出力を初期値とし、当該初期値と、前記第１符号系列と第２符号系列とのオフセット量に対応して予め設定された行列要素から成る行列との行列演算を行うことにより、第２符号系列を生成する。
【００２２】
従って、第５の発明によれば、第１符号系列と第２符号系列とのオフセット量を設定するために符号系列生成器に予めクロックを与えておく必要がない。また、演算手段における行列演算に要する時間は、従来の符号系列生成器において第１，第２符号系列のオフセット量を設定するために符号系列生成器に予め与えておくクロック数分に相当する時間に比べればごく短い。そのため、第１の発明によれば、初期値をセットしてから任意のオフセット量が設定された第１，第２符号系列の生成開始までに要する時間を短縮することができる。また、演算手段においては、演算器を１つ設けるだけで第２符号系列を生成することができる。そして、シフトレジスタおよび排他的論理和回路を備えた符号系列生成器を１つ設けるだけで、第１，第２符号系列を生成することができる。そのため、第１の発明のように第１，第２符号系列生成器を設ける場合に比べて、全体の回路規模を小さくすることができる。
【００２３】
ところで、第６の発明のように、第１〜第５のいずれかの発明において、前記行列を設定するための設定手段を備え、前記演算手段は当該設定手段により設定された任意の行列の対応する行列要素と前記初期値との行列演算を行うようにしてもよい。
【００２４】
このようにすれば、第１，第２符号系列のオフセット量を変更する際や符号系列の位相を変更する際に、設定手段を用いて設定する行列の各行列要素を適宜変更して容易に対応することができる。つまり、第１，第２符号系列のオフセット量に対応して離散的に離れた第１シフトレジスタのレジスタ状態を表す行列を予め設定するのが簡単になるため、オフセット量の大きな第１，第２符号系列を生成する場合や、周期が非常に長い符号系列における任意の位相から符号系列を生成する場合に特に有効である。
【００２５】
尚、以下に述べる発明の実施の形態において、特許請求の範囲または課題を解決するための手段に記載の「第１符号系列生成器」は符号系列生成器１０１ｂに相当し、同じく「第２符号系列生成器」は符号系列生成器１０１ａに相当し、同じく「第１符号系列」は符号系列βに相当し、同じく「第２符号系列」は符号系列αに相当し、「演算手段」は演算器群３または演算器１４および切替回路１５から構成され、同じく「設定手段」は行列要素設定部２またはメモリ１２および読出回路１３から構成される。
【００２６】
【発明の実施の形態】
（第１実施形態）
以下、本発明を具体化した第１実施形態を図面と共に説明する。尚、本第１実施形態において、図５に示した従来の形態と同じ構成部材については符号を等しくしてその詳細な説明を省略する。
【００２７】
図１は、第１実施形態の符号系列生成器１の概略構成を表すブロック図である。
符号系列生成器１は、初期値設定部１０２、符号系列生成器１０１ａ，１０１ｂ、行列要素設定部２、演算器群３から構成されている。
【００２８】
演算器群３は、ｎ＋１個の演算器Ｐ０〜Ｐｎから構成されている。
ユーザが初期値設定部１０２を用いて設定した初期値Ｃ（＝ｃ０，ｃ１，ｃ２…，ｃｎ−１，ｃｎ）は、符号系列生成器１０１ａのシフトレジスタ１０３を構成する各フリップフロップＤ０〜Ｄｎにセットされると共に、演算器群３の各演算器Ｐ０〜Ｐｎにセットされる。すなわち、初期値ｃ０はフリップフロップＤ０にセットされ、初期値ｃ１はフリップフロップＤ１にセットされ………、初期値ｃｎはフリップフロップＤｎにセットされるといった具合に、ｎ＋１段シリーズに接続された各フリップフロップＤ０〜Ｄｎに対し、そのフリップフロップの段数の昇順（符号の昇順）に対応した各初期値ｃ０〜ｃｎが昇順に１つずつセットされる。また、各演算器Ｐ０〜Ｐｎには初期値Ｃ（全ての初期値ｃ０〜ｃｎ）がセットされる。
【００２９】
ユーザが行列要素設定部２を用いて設定した（ｎ＋１）×（ｎ＋１）行列Ａの行列要素ａ０，ａ１，ａ２…，ａｎ−１，ａｎは、演算器群３の各演算器Ｐ０〜Ｐｎにセットされる。すなわち、行列要素ａ０は演算器Ｐ０にセットされ、行列要素ａ１は演算器Ｐ１にセットされ………、行列要素ａｎは演算器Ｐｎにセットされるといった具合に、各演算器Ｐ０〜Ｐｎに対し、その演算器の符号の昇順に対応した各行列要素ａ０〜ａｎが昇順に１つずつセットされる。
【００３０】
各演算器Ｐ０〜Ｐｎはそれぞれ、セットされた初期値Ｃ（＝ｃ０〜ｃｎ）と行列要素ａ０〜ａｎとの行列演算を行い、各行列演算結果ｃ’０〜ｃ’ｎを算出する。すなわち、演算器Ｐ０は初期値Ｃと行列要素ａ０との行列演算結果ｃ’０を算出し、演算器Ｐ１は初期値Ｃと行列要素ａ１との行列演算結果ｃ’１を算出し………、演算器Ｐｎは初期値Ｃと行列要素ａｎとの行列演算結果ｃ’ｎを算出するといった具合に、各演算器Ｐ０〜Ｐｎはそれぞれ各行列演算結果ｃ’０〜ｃ’ｎを算出する。
【００３１】
その各行列演算結果ｃ’０〜ｃ’ｎが初期値として、符号系列生成器１０１ｂのシフトレジスタ１０３を構成する各フリップフロップＤ０〜Ｄｎにセットされる。すなわち、行列演算結果ｃ’０はフリップフロップＤ０にセットされ、行列演算結果ｃ’１はフリップフロップＤ１にセットされ………、行列演算結果ｃ’ｎはフリップフロップＤｎにセットされるといった具合に、ｎ＋１段シリーズに接続された各フリップフロップＤ０〜Ｄｎに対し、そのフリップフロップの段数の昇順（符号の昇順）に対応した各行列演算結果（初期値）ｃ’０〜ｃ’ｎが昇順に１つずつセットされる。
【００３２】
このように、符号系列生成器１０１ａの各フリップフロップＤ０〜Ｄｎにそれぞれ各初期値ｃ０〜ｃｎがセットされると共に、符号系列生成器１０１ｂの各フリップフロップＤ０〜Ｄｎにそれぞれ各初期値ｃ’０〜ｃ’ｎがセットされた状態で、各符号系列生成器１０１ａ，１０１ｂの各フリップフロップＤ０〜Ｄｎに同一のクロックを与える。その結果、符号系列生成器１０１ａから周期２n+1−１のＭ系列の符号系列αが生成されるのと同時に、符号系列生成器１０１ｂから周期２n+1−１のＭ系列の符号系列βが生成される。
【００３３】
ここで、各符号系列α，βに所望のオフセット量を生じさせるには、各初期値ｃ０〜ｃｎと各初期値ｃ’０〜ｃ’ｎとに当該オフセット量を設定しておけばよい。それには、各初期値ｃ０，ｃ’０に当該オフセット量が設定されるように行列要素ａ０を設定し、各初期値ｃ１，ｃ’１に当該オフセット量が設定されるように行列要素ａ１を設定し………、各初期値ｃｎ，ｃ’ｎに当該オフセット量が設定されるように行列要素ａｎを設定するといった具合に、当該オフセット量に対応した各行列要素ａ０〜ａｎから成る行列Ａを設定しておけばよい。
【００３４】
つまり、図５に示す従来の符号系列生成器２０１においては、符号系列生成器１０１ｂの各フリップフロップＤ０〜Ｄｎにのみ予め任意の個数のクロックを与えておき、その後で各符号系列生成器１０１ａ，１０１ｂの各フリップフロップＤ０〜Ｄｎに同一のクロックを与えることにより、符号系列生成器１０１ｂに予め与えておいたクロック数分のオフセット量が各符号系列α，βに生じるようにしている。そのため、図６に示すように、初期値Ｃをセットしてから各符号系列生成器１０１ａ，１０１ｂからオフセット量を有した符号系列α，βが生成開始されるまでの間に、符号系列生成器１０１ｂに予め与えておくクロック数分に相当する時間を要することになる。
【００３５】
それに対して、本第１実施形態の符号系列生成器１においては、各符号系列α，βのオフセット量に対応した各行列要素ａ０〜ａｎから成る行列Ａを行列要素設定部２を用いて予め設定しておき、符号系列生成器１０１ａに与える初期値Ｃと各行列要素ａ０〜ａｎとの行列演算結果を各演算器Ｐ０〜Ｐｎにて算出し、その行列演算結果を符号系列生成器１０１ｂの初期値ｃ’０〜ｃ’ｎとして与えている。
【００３６】
そのため、符号系列生成器１では、各符号系列α，βのオフセット量を設定するために符号系列生成器１０１ｂにのみ予めクロックを与えておく必要がない。また、各演算器Ｐ０〜Ｐｎにおける行列演算に要する時間は、従来の符号系列生成器２０１において各符号系列α，βのオフセット量を設定するために符号系列生成器１０１ｂに予め与えておくクロック数分に相当する時間に比べればごく短い。
【００３７】
従って、符号系列生成器１によれば、初期値Ｃをセットしてから任意のオフセット量が設定された各符号系列α，βの生成開始までに要する時間を短縮することができる。
そして、各符号系列α，βのオフセット量を変更するには、行列要素設定部２を用いて設定する行列Ａの各行列要素ａ０〜ａｎを適宜変更すればよい。つまり、各符号系列α，βのオフセット量に対応して離散的に離れたシフトレジスタ１０３のレジスタ状態（各フリップフロップＤ０〜Ｄｎの内容）を表す行列Ａを予め設定しておけばよい。従って、符号系列生成器１は、オフセット量の大きな各符号系列α，βを生成する場合に特に有効である。
【００３８】
また、符号系列生成器１の制御動作は、従来の符号系列生成器２０１の制御動作とほぼ同じであり、その制御を行うための制御回路（図示略）の回路規模が増大することはない。
（第２実施形態）
次に、本発明を具体化した第２実施形態を図面と共に説明する。尚、本第２実施形態において、第１実施形態と同じ構成部材については符号を等しくしてその詳細な説明を省略する。
【００３９】
図２は、第２実施形態の符号系列生成器１１の概略構成を表すブロック図である。
符号系列生成器１１は、初期値設定部１０２、符号系列生成器１０１ａ，１０１ｂ、メモリ１２、読出回路１３、演算器１４、切替回路１５から構成されている。
【００４０】
ユーザが初期値設定部１０２を用いて設定した初期値Ｃ（＝ｃ０〜ｃｎ）は、符号系列生成器１０１ａのシフトレジスタ１０３を構成する各フリップフロップＤ０〜Ｄｎにセットされると共に、演算器１４にセットされる。
メモリ１２には、各行列要素ａ０〜ａｎから成る（ｎ＋１）×（ｎ＋１）行列Ａが記憶されている。
【００４１】
読出回路１３は、メモリ１２に記憶されている各行列要素ａ０〜ａｎを符号の昇順に順次読み出し、その読み出した行列要素ａｍ（ｍ＝０，１，２…，ｎ）を演算器１４にセットする。
演算器１４は、セットされた行列要素ａｍと初期値Ｃ（＝ｃ０〜ｃｎ）との行列演算を行い、各行列演算結果ｃ’０〜ｃ’ｎを順次算出する。すなわち、演算器１４は、まず、初期値Ｃと行列要素ａ０との行列演算結果ｃ’０を算出し、次に、初期値Ｃと行列要素ａ１との行列演算結果ｃ’１を算出し………、最後に、初期値Ｃと行列要素ａｎとの行列演算結果ｃ’ｎを算出するといった具合に、各行列演算結果ｃ’０〜ｃ’ｎを順次算出する。
【００４２】
切替回路１５は、演算器１４の算出した各行列演算結果ｃ’０〜ｃ’ｎを１つずつ選択切替し、その選択切替した行列演算結果を初期値として、符号系列生成器１０１ｂのシフトレジスタ１０３を構成する各フリップフロップＤ０〜Ｄｎにセットする。すなわち、行列演算結果ｃ’０はフリップフロップＤ０にセットされ、行列演算結果ｃ’１はフリップフロップＤ１にセットされ………、行列演算結果ｃ’ｎはフリップフロップＤｎにセットされるといった具合に、ｎ＋１段シリーズに接続された各フリップフロップＤ０〜Ｄｎに対し、そのフリップフロップの段数の昇順（符号の昇順）に対応した各行列演算結果（初期値）ｃ’０〜ｃ’ｎが昇順に１つずつ順次セットされる。
【００４３】
このように、符号系列生成器１０１ａの各フリップフロップＤ０〜Ｄｎにそれぞれ各初期値ｃ０〜ｃｎがセットされると共に、符号系列生成器１０１ｂの各フリップフロップＤ０〜Ｄｎにそれぞれ各初期値ｃ’０〜ｃ’ｎがセットされた状態で、各符号系列生成器１０１ａ，１０１ｂの各フリップフロップＤ０〜Ｄｎに同一のクロックを与える。その結果、符号系列生成器１０１ａから周期２n+1−１のＭ系列の符号系列αが生成されるのと同時に、符号系列生成器１０１ｂから周期２n+1−１のＭ系列の符号系列βが生成される。
【００４４】
従って、本第２実施形態の符号系列生成器１１によれば、第１実施形態の符号系列生成器１と同様の作用・効果を得ることができる。
但し、符号系列生成器１１においては、メモリ１２に記憶された行列Ａの各行列要素ａ０〜ａｎを読出回路１３により順次読み出して演算器１４にセットし、演算器１４の算出した各行列演算結果（初期値）ｃ’０〜ｃ’ｎを切替回路１５により選択切替して符号系列生成器１０１ｂの各フリップフロップＤ０〜Ｄｎにセットするようにしている。つまり、読出回路１３を設けることにより、１つの演算器１４のみでｎ＋１ビットの初期値ｃ’０〜ｃ’ｎを生成することが可能になる。そして、切替回路１５を設けることにより、１つの演算器１４の算出した各初期値ｃ’０〜ｃ’ｎを符号系列生成器１０１ｂの各フリップフロップＤ０〜Ｄｎにそれぞれセットすることが可能になる。
【００４５】
それに対して、第１実施形態の符号系列生成器１においては、各初期値ｃ’０〜ｃ’ｎをそれぞれ別個に算出し、その各初期値ｃ’０〜ｃ’ｎを符号系列生成器１０１ｂの各フリップフロップＤ０〜Ｄｎにそれぞれセットするため、ｎ＋１個の演算器Ｐ０〜Ｐｎを設けている。
【００４６】
従って、符号系列生成器１１によれば、符号系列生成器１に比べて、演算器の数を減らせる分だけ全体の回路規模を小さくすることができる。
但し、符号系列生成器１１では、まず、メモリ１２に記憶された各行列要素ａ０〜ａｎを読出回路１３により順次読み出し、次に、その行列要素に基づいて演算器１４により初期値ｃ’０〜ｃ’ｎを順次算出し、続いて、その初期値を切替回路１５により符号系列生成器１０１ｂの各フリップフロップＤ０〜Ｄｎに順次セットしている。そのため、これらの動作（読出回路１３，演算器１４，切替回路１５の動作）に要する時間分だけ、符号系列生成器１に比べて、任意のオフセット量が設定された各符号系列α，βの生成開始までに要する時間が長くなる。
【００４７】
しかし、前記動作（読出回路１３，演算器１４，切替回路１５の動作）に要する時間は、従来の符号系列生成器２０１において各符号系列α，βのオフセット量を設定するために符号系列生成器１０１ｂに予め与えておくクロック数分に相当する時間に比べればごく短い。従って、符号系列生成器１１においても、従来の符号系列生成器２０１に比べれば、任意のオフセット量が設定された各符号系列α，βの生成開始までに要する時間を短縮することができる。
【００４８】
また、読出回路１３および切替回路１５の動作は予め定められた手順を順次行うだけであり、その動作の制御は単純であるため、その制御を行うための制御回路（図示略）の回路規模は、前記公報（特開平８−１８５５０号）に記載の符号系列生成器の制御回路の回路規模に比べて小さくなる。従って、符号系列生成器１１によれば、前記公報に記載の符号系列生成器に比べて、前記制御回路の回路規模が小さくなる分だけ全体の回路規模を縮小することができる。
【００４９】
（第３実施形態）
次に、本発明を具体化した第３実施形態を図面と共に説明する。尚、本第２実施形態において、第２実施形態と同じ構成部材については符号を等しくしてその詳細な説明を省略する。
【００５０】
図３は、第３実施形態の符号系列生成器２１の概略構成を表すブロック図である。
符号系列生成器２１は、初期値設定部１０２、符号系列生成器１０１、メモリ１２、読出回路１３、演算器１４、切替回路１５から構成されている。
【００５１】
ユーザが初期値設定部１０２を用いて設定した初期値Ｃ（＝ｃ０〜ｃｎ）は、符号系列生成器１０１のシフトレジスタ１０３を構成する各フリップフロップＤ０〜Ｄｎにセットされる。そして、各フリップフロップＤ０〜Ｄｎにクロック（図示略）を与えて、その内容を順次次段のフリップフロップにシフトさせることにより、周期２n+1−１のＭ系列の符号系列αが生成され、その符号系列はクロックに従ってフリップフロップＤｎから順次出力される。このとき、各フリップフロップＤ０〜Ｄｎの出力は初期値Ｃとして演算器１４にセットされる。
【００５２】
メモリ１２には、各行列要素ａ０〜ａｎから成る（ｎ＋１）×（ｎ＋１）行列Ａが記憶されている。
読出回路１３は、メモリ１２に記憶されている各行列要素ａ０〜ａｎを符号の昇順に順次読み出し、その読み出した行列要素ａｍ（ｍ＝０，１，２…，ｎ）を演算器１４にセットする。
【００５３】
演算器１４は、セットされた行列要素ａｍと初期値Ｃ（各フリップフロップＤ０〜Ｄｎの出力）との行列演算を行い、各行列演算結果ｃ’０〜ｃ’ｎを順次算出することにより、各行列演算結果ｃ’０〜ｃ’ｎから成る符号系列βを生成する。
【００５４】
このように、本第３実施形態の符号系列生成器２１において、メモリ１２，読出回路１３，演算器１４の動作については、第２実施形態の符号系列生成器１１と同じである。
つまり、符号系列生成器１１においては、メモリ１２，読出回路１３，演算器１４，切替回路１５を用いて各初期値ｃ’０〜ｃ’ｎを生成した後に、その各初期値ｃ’０〜ｃ’ｎを符号系列生成器１０１ｂの各フリップフロップＤ０〜Ｄｎにセットすることにより、符号系列生成器１０１ｂから符号系列βを生成している。
【００５５】
それに対して、符号系列生成器２１においては、符号系列生成器１０１の各フリップフロップＤ０〜Ｄｎの出力を初期値Ｃとして演算器１４にセットし、演算器１４の算出した各行列演算結果ｃ’０〜ｃ’ｎを符号系列βとしている。
従って、符号系列生成器２１において、符号系列生成器１１と異なるのは、初期値Ｃの生成方法だけであるため、その他の点については符号系列生成器１１と同様の作用・効果を得ることができる。そして、符号系列生成器２１によれば、２つの符号系列生成器１０１ａ，１０１ｂを設ける符号系列生成器１１に比べて、１つの符号系列生成器１０１を設けるだけでよいため、全体の回路規模を小さくすることができる。
【００５６】
尚、本発明は上記各実施形態に限定されるものではなく、以下のように変更してもよく、その場合でも、上記各実施形態と同様の作用および効果を得ることができる。
（１）第１実施形態において、符号系列生成器１から符号系列生成器１０１ａを省き、符号系列生成器１０１ｂから任意の位相の符号系列βを生成するように変更してもよい。この場合は、行列要素設定部２を用いて、任意の位相に対応した各行列要素ａ０〜ａｎから成る行列Ａを予め設定しておく。このようにすれば、周期が非常に長い符号系列における任意の位相から符号系列を生成する場合でも、初期値Ｃをセットしてから所望の符号系列βが生成開始されるまでの時間を短縮することが可能であり、周期が長い符号系列を生成する場合に特に有効である。
【００５７】
（２）第２実施形態において、符号系列生成器１１から符号系列生成器１０１ａを省き、符号系列生成器１０１ｂから任意の位相の符号系列βを生成するように変更してもよい。この場合は、任意の位相に対応した各行列要素ａ０〜ａｎから成る行列Ａをメモリ１２に記憶させておく。このようにすれば、周期が非常に長い符号系列における任意の位相から符号系列を生成する場合でも、初期値Ｃをセットしてから所望の符号系列βが生成開始されるまでの時間を短縮することが可能であり、周期が長い符号系列を生成する場合に特に有効である。
【００５８】
（３）第２，第３実施形態において、メモリ１２に１種類の行列Ａを記憶させておくだけでなく、各符号系列α，βのオフセット量に対応して各行列要素が適宜設定された複数の行列を記憶させておき、読出回路１３により任意の行列の行列要素を読み出すようにしてもよい。すなわち、オフセット量ｘに対応した行列Ｘと、オフセット量ｙに対応した行列Ｙとをメモリ１２に記憶させておき、各符号系列α，βにオフセット量ｘが必要な場合は読み出し回路１３により行列Ｘの各行列要素を読み出し、各符号系列α，βにオフセット量ｙが必要な場合は読み出し回路１３により行列Ｙの各行列要素を読み出すようにする。このようにすれば、オフセット量が異なる各符号系列α，βを任意に生成することができる。
【００５９】
（４）第１実施形態において、行列要素設定部２，演算器群３，符号系列生成器１０１ｂを複数組設け、それら各組を異なる行列要素から成る行列を用いて並列動作させることにより、相互にオフセット量が設定された３つ以上の符号系列を同時に生成可能にしてもよい。
【００６０】
（５）第２実施形態において、読出回路１３，演算器１４，切替回路１５，符号系列生成器１０１ｂを複数組設け、それら各組を異なる行列要素から成る行列を用いて並列動作させることにより、相互にオフセット量が設定された３つ以上の符号系列を同時に生成可能にしてもよい。
【００６１】
（６）第３実施形態において、読出回路１３および演算器１４を複数組設け、それら各組を異なる行列要素から成る行列を用いて並列動作させることにより、相互にオフセット量が設定された３つ以上の符号系列を同時に生成可能にしてもよい。
【００６２】
（７）本発明はＭ系列ではなくゴールド系列の符号系列生成器に適用してもよい。
図７は、ゴールド系列を生成するために従来より一般に使用されている符号系列生成器３０１の概略構成を表すブロック図である。
【００６３】
ゴールド系列の符号系列生成器３０１は、初期値設定部１０２、符号系列生成器１０１ｃ，１０１ｄ、排他的論理和３０２から構成されている。
符号系列生成器１０１ｃの排他的論理和回路１０４は、シフトレジスタ１０３における最終段のフリップフロップＤｎの出力と、生成すべき符号系列に対応したｘ段目（ｘ＝０，１，２…，ｎ）のフリップフロップＤｘの出力との排他的論理和をとり、その結果を初段のフリップフロップＤ０に帰還する。また、符号系列生成器１０１ｄの排他的論理和回路１０４は、シフトレジスタ１０３における最終段のフリップフロップＤｎの出力と、生成すべき符号系列に対応したｙ段目（ｙ＝０，１，２…，ｎ、ｙ≠ｘ）のフリップフロップＤｙの出力との排他的論理和をとり、その結果を初段のフリップフロップＤ０に帰還する。
【００６４】
排他的論理和３０２は、符号系列生成器１０１ｃから生成された符号系列αと、符号系列生成器１０１ｄから生成された符号系列βとの排他的論理和をとり、ゴールド系列の符号系列を生成する。
第１実施形態において、Ｍ系列ではなくゴールド系列の符号系列を生成するには、図１に示す各符号系列生成器１０１ａ，１０１ｂをそれぞれ符号系列生成器３０１に置き換えればよい。
【００６５】
また、第２実施形態において、Ｍ系列ではなくゴールド系列の符号系列を生成するには、図２に示す各符号系列生成器１０１ａ，１０１ｂをそれぞれ符号系列生成器３０１に置き換えればよい。
また、第３実施形態において、Ｍ系列ではなくゴールド系列の符号系列を生成するには、図３に示す符号系列生成器１０１を符号系列生成器３０１に置き換えればよい。
【図面の簡単な説明】
【図１】本発明を具体化した第１実施形態の概略構成を表すブロック図。
【図２】本発明を具体化した第２実施形態の概略構成を表すブロック図。
【図３】本発明を具体化した第３実施形態の概略構成を表すブロック図。
【図４】従来の形態の概略構成を表すブロック図。
【図５】従来の形態の概略構成を表すブロック図。
【図６】従来の形態の動作を表すタイミングチャート。
【図７】従来の形態の概略構成を表すブロック図。
【符号の説明】
２…行列要素設定部    ３…演算器群    Ｐ０〜Ｐｎ，１４…演算器
１２…メモリ    １３…読出回路    １５…切替回路
１０１…符号系列生成器    １０１ａ…第２符号系列生成器
１０１ｂ…第１符号系列生成器    １０３…シフトレジスタ
１０４…排他的論理和回路
【図１】
0003965805.tif 000002
【図２】
0003965805.tif 000003
【図３】
0003965805.tif 000004
【図４】
0003965805.tif 000005
【図５】
0003965805.tif 000006
【図６】
0003965805.tif 000007
【図７】
0003965805.tif 000008