JP3965805B2 - Code sequence generator - Google Patents
Code sequence generator Download PDFInfo
- Publication number
- JP3965805B2 JP3965805B2 JP32527798A JP32527798A JP3965805B2 JP 3965805 B2 JP3965805 B2 JP 3965805B2 JP 32527798 A JP32527798 A JP 32527798A JP 32527798 A JP32527798 A JP 32527798A JP 3965805 B2 JP3965805 B2 JP 3965805B2
- Authority
- JP
- Japan
- Prior art keywords
- code sequence
- stage
- shift register
- matrix
- sequence generator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は符号系列生成器に係り、詳しくは、最長系列(M系列)やゴールド(Gold)系列などの符号系列を生成する符号系列生成器に関するものである。
【0002】
【従来の技術】
ディジタル符号系列は、ディジタル情報の秘匿や、スぺクトラム拡散通信における信号帯域拡大のための拡散符号など、広い分野で利用されている。特に、M系列は、その周期が非常に長い上に、自己相関特性がインパルス的なため、ランダム符号や雑音源などとして利用されている。
【0003】
図4は、M系列を生成するために従来より一般に使用されている符号系列生成器101の概略構成を表すブロック図である。
M系列の符号系列生成器101は、初期値設定部102,シフトレジスタ103,排他的論理和演算回路104から構成されている。
【0004】
n+1ビット長のシフトレジスタ103は、各フリップフロップD0〜Dnがn+1段シリーズに接続されて構成されている。
排他的論理和演算回路104は、シフトレジスタ103における最後段(n+1段目)のフリップフロップDnの出力と、生成すべき符号系列に対応した任意の段のフリップフロップ(例えば、3段目フリップフロップD2)の出力との排他的論理和をとり、その結果を初段のフリップフロップD0に帰還する。
【0005】
ユーザが初期値設定部102を用いて設定した初期値C(=c0,c1,c2…,cn−1,cn)は、それぞれ各フリップフロップD0〜Dnにセットされる。そして、各フリップフロップD0〜Dnにクロック(図示略)を与えて、その内容を順次次段のフリップフロップにシフトさせることにより、周期2n+1−1のM系列の符号系列が生成され、その符号系列はクロックに従ってフリップフロップDnから順次出力される。
【0006】
このように構成された符号系列生成器101において、任意の初期値Cをセットした後に任意の個数のクロックを与えると、そのクロック数分だけシフトされた符号系列が生成される。つまり、与えるクロック数を変更することにより、そのクロック数に対応した任意の位相から符号系列を生成することができる。これを利用して、符号系列生成器101を2つ用いることにより、任意のクロック数分だけ位相のずれた2つの符号系列を同時に生成する方法が提案されている。
【0007】
図5は、任意のクロック数分だけ位相のずれた2つのM系列符号を生成することが可能な符号系列生成器201の概略構成を表すブロック図である。
符号系列生成器201は、初期値設定部102を共有する2つの符号系列生成器101(以下、2つを区別するため「101a」「101b」と符号を付す)から構成されている。
【0008】
図6は、符号系列生成器201の動作を表すタイミングチャートである。
符号系列生成器201を動作させるには、まず、各符号系列生成器101a,101bを構成する各フリップフロップD0〜Dnに対して、ユーザが初期値設定部102を用いて設定した同じ初期値C(=c0,c1,c2…,cn−1,cn)をセットする。次に、符号系列生成器101bの各フリップフロップD0〜Dnに任意の個数のクロックを予め与えておき、その内容を順次次段のフリップフロップにシフトさせておく。その後、各符号系列生成器101a,101bの各フリップフロップD0〜Dnに同一のクロックを与える。その結果、符号系列生成器101aの生成する符号系列αに対して、符号系列生成器101bからは予め与えておいたクロック数分だけ位相が進んだ符号系列βが生成される。つまり、各符号系列生成器101a,101bの生成する各符号系列α,βには、符号系列生成器101bに予め与えておいたクロック数分のオフセット量が生じることになる。
【0009】
ここで、各符号系列生成器101a,101bの各符号系列α,βのオフセット量を大きくするには、符号系列生成器101bに予め与えておくクロック数を多くしなければならず、初期値Cをセットしてから各符号系列生成器101a,101bから位相のずれた符号系列α,βが生成開始されるまでの間に、非常に長い時間を要する。
【0010】
ところで、符号系列生成器101から任意の位相の符号系列を生成する場合においても、周期が非常に長い符号系列における任意の位相から符号系列を生成するには、予め与えておくクロック数を多くしなければならず、初期値Cをセットしてから所望の符号系列が生成開始されるまでの間に非常に長い時間を要する。
【0011】
【発明が解決しようとする課題】
そこで、特開平8−18550号公報に開示されるように、レジスタに格納されたnビット長のデータXに(n+1)×(n+1)行列Aで規定された線形変換を繰り返して実行することにより、符号系列Y=AmX(mは正の整数)を生成する符号系列生成器が提案されている。この符号系列生成器は、予め定めたt+1個の正の整数pj(j=0,1,2…,t)のそれぞれについて行列Aのpj乗(Apj)を記憶する記憶手段と、前記整数mを前記整数pjの一次式m=k0+k1p1+k2p2+…ktpt(k0,k1,k2…,ktは0または整数)の形に分解する手段と、前記k0,k1,k2…,ktの内でゼロでないものについて前記記憶手段から対応する行列を順次選択する選択手段と、前記k0,k1,k2…,ktの内でゼロでないものについて行列演算Y=(Ap0)(Ap1)k1(Ap2)k2…(Apt)ktXを実行する演算手段とを備えている。そのため、選択手段により選択された複数の行列を組み合わせて使用することにより、高速にレジスタ状態を設定し、任意の位相から符号系列を生成することができる。
【0012】
しかし、同公報に記載の符号系列生成器では、前記選択手段により前記記憶手段から対応する行列を組み合わせて順次選択させるための制御が複雑であり、その制御を行うために大規模な回路構成の制御回路を要するという問題があった。本発明は上記問題点を解決するためになされたものであって、その目的は、任意のオフセット量が設定された同一系列の複数の符号系列を生成する際に、符号系列の生成開始までに要する時間を短縮することが可能で回路規模の小さな符号系列生成器を提供することにある。また、本発明の別の目的は、任意の位相から符号系列を生成する際に、符号系列の生成開始までに要する時間を短縮することが可能で回路規模の小さな符号系列生成器を提供することにある。
【0013】
【課題を解決するための手段】
かかる目的を達成するためになされた第1の発明は、第1符号系列生成器、第2符号系列生成器、演算手段を備えている。第1符号系列生成器は、第1シフトレジスタと、当該第1シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記第1シフトレジスタの初段に帰還する第1排他的論理和回路とを備え、第1シフトレジスタの各段に初期値をセットし、第1シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第1符号系列を生成し、当該第1符号系列をクロックに従って第1シフトレジスタの最終段から順次出力する。第2符号系列生成器は、第2シフトレジスタと、当該第2シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記第2シフトレジスタの初段に帰還する第2排他的論理和回路とを備え、第2シフトレジスタの各段に初期値をセットし、第2シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第2符号系列を生成し、当該第2符号系列をクロックに従って第2シフトレジスタの最終段から順次出力する。演算手段は、前記第2シフトレジスタの各段にセットされる初期値と、前記第1符号系列と前記第2符号系列とのオフセット量に対応して予め設定された行列要素から成る行列との行列演算を行い、その行列演算結果を前記第1シフトレジスタの各段の初期値としてセットする。
【0014】
従って、第1の発明によれば、第1符号系列と第2符号系列とのオフセット量を設定するために第1符号系列生成器にのみ予めクロックを与えておく必要がない。また、演算手段における行列演算に要する時間は、従来の符号系列生成器において第1,第2符号系列のオフセット量を設定するために第1符号系列生成器に予め与えておくクロック数分に相当する時間に比べればごく短い。そのため、第1の発明によれば、初期値をセットしてから任意のオフセット量が設定された第1,第2符号系列の生成開始までに要する時間を短縮することができる。
【0015】
次に、第2の発明は、第1符号生成器および演算手段を備えている。第1符号生成器は、第1シフトレジスタと、当該第1シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記第1シフトレジスタの初段に帰還する第1排他的論理和回路とを備え、第1シフトレジスタの各段に初期値をセットし、第1シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第1符号系列を生成し、当該第1符号系列をクロックに従って第1シフトレジスタの最終段から順次出力する。演算手段は、前記第1シフトレジスタの各段に対応する初期値と、前記第1符号系列の任意の位相に対応して予め設定された行列要素から成る行列との行列演算を行い、その行列演算結果を前記第1シフトレジスタの各段の初期値としてセットする。
【0016】
従って、第2の発明によれば、任意の位相の符号系列を生成する際に、第1符号系列生成器に予めクロックを与えておく必要がない。また、演算手段における行列演算に要する時間は、従来の符号系列生成器において任意の位相の符号系列を生成する際に第1符号系列生成器に予め与えておくクロック数分に相当する時間に比べればごく短い。そのため、第2の発明によれば、初期値をセットしてから任意の位相の符号系列の生成開始までに要する時間を短縮することができる。
【0017】
ところで、第3の発明のように、第1または第2の発明において、前記演算手段は前記第1シフトレジスタの各段にそれぞれ対応する複数の演算器を備え、当該各演算器はそれぞれ前記第1シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を行うようにしてもよい。
【0018】
このようにすれば、第1シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算がそれぞれ別個の演算器にて同時に算出されるため、初期値をセットしてから任意の位相の符号系列の生成開始までに要する時間をさらに短縮することができる。
【0019】
また、第4の発明のように、第1または第2の発明において、前記演算手段は、前記第1シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を各段毎に順次行う演算器と、前記演算器が順次算出する前記第1シフトレジスタの各段毎の行列演算結果を、前記第1シフトレジスタの各段の初期値として当該各段毎に切り替えてセットする切替手段とを備えるようにしてもよい。
【0020】
このようにすれば、1つの演算器を設けるだけで、第1シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を行い、その行列演算結果を第1シフトレジスタの各段の初期値として当該各段毎に切り替えてセットすることができる。従って、第1シフトレジスタの各段にそれぞれ対応する複数の演算器を設ける場合に比べて、演算器の数を減らせる分だけ全体の回路規模を小さくすることができる。
【0021】
次に、第5の発明は、符号生成器および演算手段を備えている。符号生成器は、シフトレジスタと、当該シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記シフトレジスタの初段に帰還する排他的論理和回路とを備え、シフトレジスタの各段に初期値をセットし、シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第1符号系列を生成し、当該第1符号系列をクロックに従ってシフトレジスタの最終段から順次出力する。演算手段は、前記シフトレジスタの各段の出力を初期値とし、当該初期値と、前記第1符号系列と第2符号系列とのオフセット量に対応して予め設定された行列要素から成る行列との行列演算を行うことにより、第2符号系列を生成する。
【0022】
従って、第5の発明によれば、第1符号系列と第2符号系列とのオフセット量を設定するために符号系列生成器に予めクロックを与えておく必要がない。また、演算手段における行列演算に要する時間は、従来の符号系列生成器において第1,第2符号系列のオフセット量を設定するために符号系列生成器に予め与えておくクロック数分に相当する時間に比べればごく短い。そのため、第1の発明によれば、初期値をセットしてから任意のオフセット量が設定された第1,第2符号系列の生成開始までに要する時間を短縮することができる。また、演算手段においては、演算器を1つ設けるだけで第2符号系列を生成することができる。そして、シフトレジスタおよび排他的論理和回路を備えた符号系列生成器を1つ設けるだけで、第1,第2符号系列を生成することができる。そのため、第1の発明のように第1,第2符号系列生成器を設ける場合に比べて、全体の回路規模を小さくすることができる。
【0023】
ところで、第6の発明のように、第1〜第5のいずれかの発明において、前記行列を設定するための設定手段を備え、前記演算手段は当該設定手段により設定された任意の行列の対応する行列要素と前記初期値との行列演算を行うようにしてもよい。
【0024】
このようにすれば、第1,第2符号系列のオフセット量を変更する際や符号系列の位相を変更する際に、設定手段を用いて設定する行列の各行列要素を適宜変更して容易に対応することができる。つまり、第1,第2符号系列のオフセット量に対応して離散的に離れた第1シフトレジスタのレジスタ状態を表す行列を予め設定するのが簡単になるため、オフセット量の大きな第1,第2符号系列を生成する場合や、周期が非常に長い符号系列における任意の位相から符号系列を生成する場合に特に有効である。
【0025】
尚、以下に述べる発明の実施の形態において、特許請求の範囲または課題を解決するための手段に記載の「第1符号系列生成器」は符号系列生成器101bに相当し、同じく「第2符号系列生成器」は符号系列生成器101aに相当し、同じく「第1符号系列」は符号系列βに相当し、同じく「第2符号系列」は符号系列αに相当し、「演算手段」は演算器群3または演算器14および切替回路15から構成され、同じく「設定手段」は行列要素設定部2またはメモリ12および読出回路13から構成される。
【0026】
【発明の実施の形態】
(第1実施形態)
以下、本発明を具体化した第1実施形態を図面と共に説明する。尚、本第1実施形態において、図5に示した従来の形態と同じ構成部材については符号を等しくしてその詳細な説明を省略する。
【0027】
図1は、第1実施形態の符号系列生成器1の概略構成を表すブロック図である。
符号系列生成器1は、初期値設定部102、符号系列生成器101a,101b、行列要素設定部2、演算器群3から構成されている。
【0028】
演算器群3は、n+1個の演算器P0〜Pnから構成されている。
ユーザが初期値設定部102を用いて設定した初期値C(=c0,c1,c2…,cn−1,cn)は、符号系列生成器101aのシフトレジスタ103を構成する各フリップフロップD0〜Dnにセットされると共に、演算器群3の各演算器P0〜Pnにセットされる。すなわち、初期値c0はフリップフロップD0にセットされ、初期値c1はフリップフロップD1にセットされ………、初期値cnはフリップフロップDnにセットされるといった具合に、n+1段シリーズに接続された各フリップフロップD0〜Dnに対し、そのフリップフロップの段数の昇順(符号の昇順)に対応した各初期値c0〜cnが昇順に1つずつセットされる。また、各演算器P0〜Pnには初期値C(全ての初期値c0〜cn)がセットされる。
【0029】
ユーザが行列要素設定部2を用いて設定した(n+1)×(n+1)行列Aの行列要素a0,a1,a2…,an−1,anは、演算器群3の各演算器P0〜Pnにセットされる。すなわち、行列要素a0は演算器P0にセットされ、行列要素a1は演算器P1にセットされ………、行列要素anは演算器Pnにセットされるといった具合に、各演算器P0〜Pnに対し、その演算器の符号の昇順に対応した各行列要素a0〜anが昇順に1つずつセットされる。
【0030】
各演算器P0〜Pnはそれぞれ、セットされた初期値C(=c0〜cn)と行列要素a0〜anとの行列演算を行い、各行列演算結果c’0〜c’nを算出する。すなわち、演算器P0は初期値Cと行列要素a0との行列演算結果c’0を算出し、演算器P1は初期値Cと行列要素a1との行列演算結果c’1を算出し………、演算器Pnは初期値Cと行列要素anとの行列演算結果c’nを算出するといった具合に、各演算器P0〜Pnはそれぞれ各行列演算結果c’0〜c’nを算出する。
【0031】
その各行列演算結果c’0〜c’nが初期値として、符号系列生成器101bのシフトレジスタ103を構成する各フリップフロップD0〜Dnにセットされる。すなわち、行列演算結果c’0はフリップフロップD0にセットされ、行列演算結果c’1はフリップフロップD1にセットされ………、行列演算結果c’nはフリップフロップDnにセットされるといった具合に、n+1段シリーズに接続された各フリップフロップD0〜Dnに対し、そのフリップフロップの段数の昇順(符号の昇順)に対応した各行列演算結果(初期値)c’0〜c’nが昇順に1つずつセットされる。
【0032】
このように、符号系列生成器101aの各フリップフロップD0〜Dnにそれぞれ各初期値c0〜cnがセットされると共に、符号系列生成器101bの各フリップフロップD0〜Dnにそれぞれ各初期値c’0〜c’nがセットされた状態で、各符号系列生成器101a,101bの各フリップフロップD0〜Dnに同一のクロックを与える。その結果、符号系列生成器101aから周期2n+1−1のM系列の符号系列αが生成されるのと同時に、符号系列生成器101bから周期2n+1−1のM系列の符号系列βが生成される。
【0033】
ここで、各符号系列α,βに所望のオフセット量を生じさせるには、各初期値c0〜cnと各初期値c’0〜c’nとに当該オフセット量を設定しておけばよい。それには、各初期値c0,c’0に当該オフセット量が設定されるように行列要素a0を設定し、各初期値c1,c’1に当該オフセット量が設定されるように行列要素a1を設定し………、各初期値cn,c’nに当該オフセット量が設定されるように行列要素anを設定するといった具合に、当該オフセット量に対応した各行列要素a0〜anから成る行列Aを設定しておけばよい。
【0034】
つまり、図5に示す従来の符号系列生成器201においては、符号系列生成器101bの各フリップフロップD0〜Dnにのみ予め任意の個数のクロックを与えておき、その後で各符号系列生成器101a,101bの各フリップフロップD0〜Dnに同一のクロックを与えることにより、符号系列生成器101bに予め与えておいたクロック数分のオフセット量が各符号系列α,βに生じるようにしている。そのため、図6に示すように、初期値Cをセットしてから各符号系列生成器101a,101bからオフセット量を有した符号系列α,βが生成開始されるまでの間に、符号系列生成器101bに予め与えておくクロック数分に相当する時間を要することになる。
【0035】
それに対して、本第1実施形態の符号系列生成器1においては、各符号系列α,βのオフセット量に対応した各行列要素a0〜anから成る行列Aを行列要素設定部2を用いて予め設定しておき、符号系列生成器101aに与える初期値Cと各行列要素a0〜anとの行列演算結果を各演算器P0〜Pnにて算出し、その行列演算結果を符号系列生成器101bの初期値c’0〜c’nとして与えている。
【0036】
そのため、符号系列生成器1では、各符号系列α,βのオフセット量を設定するために符号系列生成器101bにのみ予めクロックを与えておく必要がない。また、各演算器P0〜Pnにおける行列演算に要する時間は、従来の符号系列生成器201において各符号系列α,βのオフセット量を設定するために符号系列生成器101bに予め与えておくクロック数分に相当する時間に比べればごく短い。
【0037】
従って、符号系列生成器1によれば、初期値Cをセットしてから任意のオフセット量が設定された各符号系列α,βの生成開始までに要する時間を短縮することができる。
そして、各符号系列α,βのオフセット量を変更するには、行列要素設定部2を用いて設定する行列Aの各行列要素a0〜anを適宜変更すればよい。つまり、各符号系列α,βのオフセット量に対応して離散的に離れたシフトレジスタ103のレジスタ状態(各フリップフロップD0〜Dnの内容)を表す行列Aを予め設定しておけばよい。従って、符号系列生成器1は、オフセット量の大きな各符号系列α,βを生成する場合に特に有効である。
【0038】
また、符号系列生成器1の制御動作は、従来の符号系列生成器201の制御動作とほぼ同じであり、その制御を行うための制御回路(図示略)の回路規模が増大することはない。
(第2実施形態)
次に、本発明を具体化した第2実施形態を図面と共に説明する。尚、本第2実施形態において、第1実施形態と同じ構成部材については符号を等しくしてその詳細な説明を省略する。
【0039】
図2は、第2実施形態の符号系列生成器11の概略構成を表すブロック図である。
符号系列生成器11は、初期値設定部102、符号系列生成器101a,101b、メモリ12、読出回路13、演算器14、切替回路15から構成されている。
【0040】
ユーザが初期値設定部102を用いて設定した初期値C(=c0〜cn)は、符号系列生成器101aのシフトレジスタ103を構成する各フリップフロップD0〜Dnにセットされると共に、演算器14にセットされる。
メモリ12には、各行列要素a0〜anから成る(n+1)×(n+1)行列Aが記憶されている。
【0041】
読出回路13は、メモリ12に記憶されている各行列要素a0〜anを符号の昇順に順次読み出し、その読み出した行列要素am(m=0,1,2…,n)を演算器14にセットする。
演算器14は、セットされた行列要素amと初期値C(=c0〜cn)との行列演算を行い、各行列演算結果c’0〜c’nを順次算出する。すなわち、演算器14は、まず、初期値Cと行列要素a0との行列演算結果c’0を算出し、次に、初期値Cと行列要素a1との行列演算結果c’1を算出し………、最後に、初期値Cと行列要素anとの行列演算結果c’nを算出するといった具合に、各行列演算結果c’0〜c’nを順次算出する。
【0042】
切替回路15は、演算器14の算出した各行列演算結果c’0〜c’nを1つずつ選択切替し、その選択切替した行列演算結果を初期値として、符号系列生成器101bのシフトレジスタ103を構成する各フリップフロップD0〜Dnにセットする。すなわち、行列演算結果c’0はフリップフロップD0にセットされ、行列演算結果c’1はフリップフロップD1にセットされ………、行列演算結果c’nはフリップフロップDnにセットされるといった具合に、n+1段シリーズに接続された各フリップフロップD0〜Dnに対し、そのフリップフロップの段数の昇順(符号の昇順)に対応した各行列演算結果(初期値)c’0〜c’nが昇順に1つずつ順次セットされる。
【0043】
このように、符号系列生成器101aの各フリップフロップD0〜Dnにそれぞれ各初期値c0〜cnがセットされると共に、符号系列生成器101bの各フリップフロップD0〜Dnにそれぞれ各初期値c’0〜c’nがセットされた状態で、各符号系列生成器101a,101bの各フリップフロップD0〜Dnに同一のクロックを与える。その結果、符号系列生成器101aから周期2n+1−1のM系列の符号系列αが生成されるのと同時に、符号系列生成器101bから周期2n+1−1のM系列の符号系列βが生成される。
【0044】
従って、本第2実施形態の符号系列生成器11によれば、第1実施形態の符号系列生成器1と同様の作用・効果を得ることができる。
但し、符号系列生成器11においては、メモリ12に記憶された行列Aの各行列要素a0〜anを読出回路13により順次読み出して演算器14にセットし、演算器14の算出した各行列演算結果(初期値)c’0〜c’nを切替回路15により選択切替して符号系列生成器101bの各フリップフロップD0〜Dnにセットするようにしている。つまり、読出回路13を設けることにより、1つの演算器14のみでn+1ビットの初期値c’0〜c’nを生成することが可能になる。そして、切替回路15を設けることにより、1つの演算器14の算出した各初期値c’0〜c’nを符号系列生成器101bの各フリップフロップD0〜Dnにそれぞれセットすることが可能になる。
【0045】
それに対して、第1実施形態の符号系列生成器1においては、各初期値c’0〜c’nをそれぞれ別個に算出し、その各初期値c’0〜c’nを符号系列生成器101bの各フリップフロップD0〜Dnにそれぞれセットするため、n+1個の演算器P0〜Pnを設けている。
【0046】
従って、符号系列生成器11によれば、符号系列生成器1に比べて、演算器の数を減らせる分だけ全体の回路規模を小さくすることができる。
但し、符号系列生成器11では、まず、メモリ12に記憶された各行列要素a0〜anを読出回路13により順次読み出し、次に、その行列要素に基づいて演算器14により初期値c’0〜c’nを順次算出し、続いて、その初期値を切替回路15により符号系列生成器101bの各フリップフロップD0〜Dnに順次セットしている。そのため、これらの動作(読出回路13,演算器14,切替回路15の動作)に要する時間分だけ、符号系列生成器1に比べて、任意のオフセット量が設定された各符号系列α,βの生成開始までに要する時間が長くなる。
【0047】
しかし、前記動作(読出回路13,演算器14,切替回路15の動作)に要する時間は、従来の符号系列生成器201において各符号系列α,βのオフセット量を設定するために符号系列生成器101bに予め与えておくクロック数分に相当する時間に比べればごく短い。従って、符号系列生成器11においても、従来の符号系列生成器201に比べれば、任意のオフセット量が設定された各符号系列α,βの生成開始までに要する時間を短縮することができる。
【0048】
また、読出回路13および切替回路15の動作は予め定められた手順を順次行うだけであり、その動作の制御は単純であるため、その制御を行うための制御回路(図示略)の回路規模は、前記公報(特開平8−18550号)に記載の符号系列生成器の制御回路の回路規模に比べて小さくなる。従って、符号系列生成器11によれば、前記公報に記載の符号系列生成器に比べて、前記制御回路の回路規模が小さくなる分だけ全体の回路規模を縮小することができる。
【0049】
(第3実施形態)
次に、本発明を具体化した第3実施形態を図面と共に説明する。尚、本第2実施形態において、第2実施形態と同じ構成部材については符号を等しくしてその詳細な説明を省略する。
【0050】
図3は、第3実施形態の符号系列生成器21の概略構成を表すブロック図である。
符号系列生成器21は、初期値設定部102、符号系列生成器101、メモリ12、読出回路13、演算器14、切替回路15から構成されている。
【0051】
ユーザが初期値設定部102を用いて設定した初期値C(=c0〜cn)は、符号系列生成器101のシフトレジスタ103を構成する各フリップフロップD0〜Dnにセットされる。そして、各フリップフロップD0〜Dnにクロック(図示略)を与えて、その内容を順次次段のフリップフロップにシフトさせることにより、周期2n+1−1のM系列の符号系列αが生成され、その符号系列はクロックに従ってフリップフロップDnから順次出力される。このとき、各フリップフロップD0〜Dnの出力は初期値Cとして演算器14にセットされる。
【0052】
メモリ12には、各行列要素a0〜anから成る(n+1)×(n+1)行列Aが記憶されている。
読出回路13は、メモリ12に記憶されている各行列要素a0〜anを符号の昇順に順次読み出し、その読み出した行列要素am(m=0,1,2…,n)を演算器14にセットする。
【0053】
演算器14は、セットされた行列要素amと初期値C(各フリップフロップD0〜Dnの出力)との行列演算を行い、各行列演算結果c’0〜c’nを順次算出することにより、各行列演算結果c’0〜c’nから成る符号系列βを生成する。
【0054】
このように、本第3実施形態の符号系列生成器21において、メモリ12,読出回路13,演算器14の動作については、第2実施形態の符号系列生成器11と同じである。
つまり、符号系列生成器11においては、メモリ12,読出回路13,演算器14,切替回路15を用いて各初期値c’0〜c’nを生成した後に、その各初期値c’0〜c’nを符号系列生成器101bの各フリップフロップD0〜Dnにセットすることにより、符号系列生成器101bから符号系列βを生成している。
【0055】
それに対して、符号系列生成器21においては、符号系列生成器101の各フリップフロップD0〜Dnの出力を初期値Cとして演算器14にセットし、演算器14の算出した各行列演算結果c’0〜c’nを符号系列βとしている。
従って、符号系列生成器21において、符号系列生成器11と異なるのは、初期値Cの生成方法だけであるため、その他の点については符号系列生成器11と同様の作用・効果を得ることができる。そして、符号系列生成器21によれば、2つの符号系列生成器101a,101bを設ける符号系列生成器11に比べて、1つの符号系列生成器101を設けるだけでよいため、全体の回路規模を小さくすることができる。
【0056】
尚、本発明は上記各実施形態に限定されるものではなく、以下のように変更してもよく、その場合でも、上記各実施形態と同様の作用および効果を得ることができる。
(1)第1実施形態において、符号系列生成器1から符号系列生成器101aを省き、符号系列生成器101bから任意の位相の符号系列βを生成するように変更してもよい。この場合は、行列要素設定部2を用いて、任意の位相に対応した各行列要素a0〜anから成る行列Aを予め設定しておく。このようにすれば、周期が非常に長い符号系列における任意の位相から符号系列を生成する場合でも、初期値Cをセットしてから所望の符号系列βが生成開始されるまでの時間を短縮することが可能であり、周期が長い符号系列を生成する場合に特に有効である。
【0057】
(2)第2実施形態において、符号系列生成器11から符号系列生成器101aを省き、符号系列生成器101bから任意の位相の符号系列βを生成するように変更してもよい。この場合は、任意の位相に対応した各行列要素a0〜anから成る行列Aをメモリ12に記憶させておく。このようにすれば、周期が非常に長い符号系列における任意の位相から符号系列を生成する場合でも、初期値Cをセットしてから所望の符号系列βが生成開始されるまでの時間を短縮することが可能であり、周期が長い符号系列を生成する場合に特に有効である。
【0058】
(3)第2,第3実施形態において、メモリ12に1種類の行列Aを記憶させておくだけでなく、各符号系列α,βのオフセット量に対応して各行列要素が適宜設定された複数の行列を記憶させておき、読出回路13により任意の行列の行列要素を読み出すようにしてもよい。すなわち、オフセット量xに対応した行列Xと、オフセット量yに対応した行列Yとをメモリ12に記憶させておき、各符号系列α,βにオフセット量xが必要な場合は読み出し回路13により行列Xの各行列要素を読み出し、各符号系列α,βにオフセット量yが必要な場合は読み出し回路13により行列Yの各行列要素を読み出すようにする。このようにすれば、オフセット量が異なる各符号系列α,βを任意に生成することができる。
【0059】
(4)第1実施形態において、行列要素設定部2,演算器群3,符号系列生成器101bを複数組設け、それら各組を異なる行列要素から成る行列を用いて並列動作させることにより、相互にオフセット量が設定された3つ以上の符号系列を同時に生成可能にしてもよい。
【0060】
(5)第2実施形態において、読出回路13,演算器14,切替回路15,符号系列生成器101bを複数組設け、それら各組を異なる行列要素から成る行列を用いて並列動作させることにより、相互にオフセット量が設定された3つ以上の符号系列を同時に生成可能にしてもよい。
【0061】
(6)第3実施形態において、読出回路13および演算器14を複数組設け、それら各組を異なる行列要素から成る行列を用いて並列動作させることにより、相互にオフセット量が設定された3つ以上の符号系列を同時に生成可能にしてもよい。
【0062】
(7)本発明はM系列ではなくゴールド系列の符号系列生成器に適用してもよい。
図7は、ゴールド系列を生成するために従来より一般に使用されている符号系列生成器301の概略構成を表すブロック図である。
【0063】
ゴールド系列の符号系列生成器301は、初期値設定部102、符号系列生成器101c,101d、排他的論理和302から構成されている。
符号系列生成器101cの排他的論理和回路104は、シフトレジスタ103における最終段のフリップフロップDnの出力と、生成すべき符号系列に対応したx段目(x=0,1,2…,n)のフリップフロップDxの出力との排他的論理和をとり、その結果を初段のフリップフロップD0に帰還する。また、符号系列生成器101dの排他的論理和回路104は、シフトレジスタ103における最終段のフリップフロップDnの出力と、生成すべき符号系列に対応したy段目(y=0,1,2…,n、y≠x)のフリップフロップDyの出力との排他的論理和をとり、その結果を初段のフリップフロップD0に帰還する。
【0064】
排他的論理和302は、符号系列生成器101cから生成された符号系列αと、符号系列生成器101dから生成された符号系列βとの排他的論理和をとり、ゴールド系列の符号系列を生成する。
第1実施形態において、M系列ではなくゴールド系列の符号系列を生成するには、図1に示す各符号系列生成器101a,101bをそれぞれ符号系列生成器301に置き換えればよい。
【0065】
また、第2実施形態において、M系列ではなくゴールド系列の符号系列を生成するには、図2に示す各符号系列生成器101a,101bをそれぞれ符号系列生成器301に置き換えればよい。
また、第3実施形態において、M系列ではなくゴールド系列の符号系列を生成するには、図3に示す符号系列生成器101を符号系列生成器301に置き換えればよい。
【図面の簡単な説明】
【図1】本発明を具体化した第1実施形態の概略構成を表すブロック図。
【図2】本発明を具体化した第2実施形態の概略構成を表すブロック図。
【図3】本発明を具体化した第3実施形態の概略構成を表すブロック図。
【図4】従来の形態の概略構成を表すブロック図。
【図5】従来の形態の概略構成を表すブロック図。
【図6】従来の形態の動作を表すタイミングチャート。
【図7】従来の形態の概略構成を表すブロック図。
【符号の説明】
2…行列要素設定部 3…演算器群 P0〜Pn,14…演算器
12…メモリ 13…読出回路 15…切替回路
101…符号系列生成器 101a…第2符号系列生成器
101b…第1符号系列生成器 103…シフトレジスタ
104…排他的論理和回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a code sequence generator, and more particularly to a code sequence generator that generates a code sequence such as a longest sequence (M sequence) or a Gold sequence.
[0002]
[Prior art]
Digital code sequences are used in a wide range of fields such as concealing digital information and spreading codes for signal band expansion in spread spectrum communication. In particular, the M-sequence is used as a random code or a noise source because its period is very long and the autocorrelation characteristics are impulse-like.
[0003]
FIG. 4 is a block diagram illustrating a schematic configuration of a
The M-sequence
[0004]
The
The exclusive
[0005]
Initial values C (= c0, c1, c2,..., Cn−1, cn) set by the user using the initial
[0006]
In the
[0007]
FIG. 5 is a block diagram showing a schematic configuration of a
The
[0008]
FIG. 6 is a timing chart showing the operation of the
In order to operate the
[0009]
Here, in order to increase the offset amount of the code sequences α and β of the
[0010]
By the way, even when a code sequence having an arbitrary phase is generated from the
[0011]
[Problems to be solved by the invention]
Therefore, as disclosed in Japanese Patent Application Laid-Open No. 8-18550, by repeatedly performing linear transformation defined by (n + 1) × (n + 1) matrix A on n-bit data X stored in a register. A code sequence generator for generating a code sequence Y = AmX (m is a positive integer) has been proposed. The code sequence generator generates a matrix A raised to the power of pj (A) for each of predetermined t + 1 positive integers pj (j = 0, 1, 2,..., T). pj ), Means for decomposing the integer m into the form of the primary expression m = k0 + k1p1 + k2p2 +... Ktpt (k0, k1, k2..., Kt is 0 or an integer), k0, k1, Selection means for sequentially selecting a corresponding matrix from the storage means for non-zero among k2..., kt, and matrix operation Y = (A for non-zero among k0, k1, k2,. p0 (A p1 ) k1 (A p2 ) k2 ... (A pt ) kt Computing means for executing X. Therefore, by using a plurality of matrices selected by the selection means in combination, it is possible to set the register state at high speed and generate a code sequence from an arbitrary phase.
[0012]
However, in the code sequence generator described in the publication, the control for making the selection means sequentially select a combination of corresponding matrices from the storage means is complicated, and a large-scale circuit configuration is used for the control. There was a problem of requiring a control circuit. The present invention has been made to solve the above problems, and its purpose is to generate a plurality of code sequences of the same sequence with an arbitrary offset amount before the start of code sequence generation. An object of the present invention is to provide a code sequence generator with a small circuit scale that can shorten the time required. Another object of the present invention is to provide a code sequence generator with a small circuit scale that can reduce the time required to start generation of a code sequence when generating a code sequence from an arbitrary phase. It is in.
[0013]
[Means for Solving the Problems]
Made to achieve this goal First The invention includes a first code sequence generator, a second code sequence generator, and an arithmetic means. The first code sequence generator takes an exclusive OR of the first shift register and the output of the final stage of the first shift register and the output of an arbitrary stage, and the exclusive OR is calculated as the first shift register. A first exclusive OR circuit that feeds back to the first stage of the first shift register, sets an initial value to each stage of the first shift register, provides a clock to each stage of the first shift register, and sequentially describes the contents of each stage. A first code sequence is generated by shifting to the next stage, and the first code series is sequentially output from the last stage of the first shift register according to the clock. The second code sequence generator takes an exclusive OR of the second shift register and the output of the final stage of the second shift register and the output of an arbitrary stage, and the exclusive OR is calculated as the second shift register. And a second exclusive OR circuit that feeds back to the first stage, sets initial values to each stage of the second shift register, provides a clock to each stage of the second shift register, and sequentially describes the contents of each stage. A second code sequence is generated by shifting to the next stage, and the second code series is sequentially output from the last stage of the second shift register according to the clock. The computing means includes an initial value set in each stage of the second shift register, and a matrix composed of matrix elements set in advance corresponding to an offset amount between the first code sequence and the second code sequence. Matrix operation is performed, and the matrix operation result is set as an initial value of each stage of the first shift register.
[0014]
Therefore, First According to this invention, it is not necessary to give a clock to only the first code sequence generator in advance in order to set the offset amount between the first code sequence and the second code sequence. Further, the time required for matrix calculation in the calculation means corresponds to the number of clocks given in advance to the first code sequence generator in order to set the offset amounts of the first and second code sequences in the conventional code sequence generator. It is very short compared to the time to do. for that reason, First According to this invention, it is possible to reduce the time required from the initial value to the generation start of the first and second code sequences in which an arbitrary offset amount is set.
[0015]
next, Second The invention includes a first code generator and an arithmetic means. The first code generator takes an exclusive OR of the first shift register and the output of the last stage of the first shift register and the output of an arbitrary stage, and the exclusive OR is obtained from the first shift register. A first exclusive OR circuit that feeds back to the first stage, sets an initial value to each stage of the first shift register, applies a clock to each stage of the first shift register, and sequentially follows the contents of each stage. The first code sequence is generated by shifting to the stage, and the first code series is sequentially output from the last stage of the first shift register according to the clock. The calculation means performs a matrix calculation of an initial value corresponding to each stage of the first shift register and a matrix composed of matrix elements set in advance corresponding to an arbitrary phase of the first code sequence, and the matrix An operation result is set as an initial value of each stage of the first shift register.
[0016]
Therefore, Second According to this invention, when generating a code sequence of an arbitrary phase, it is not necessary to give a clock to the first code sequence generator in advance. Further, the time required for the matrix calculation in the calculation means is compared with the time corresponding to the number of clocks given in advance to the first code sequence generator when generating a code sequence of an arbitrary phase in the conventional code sequence generator. Very short. for that reason, Second According to this invention, it is possible to reduce the time required from the setting of the initial value to the start of generation of a code sequence having an arbitrary phase.
[0017]
by the way, Third Like the invention of First Or Second of invention The computing means includes a plurality of computing units respectively corresponding to the respective stages of the first shift register, and each of the computing units includes a matrix element of the matrix corresponding to each stage of the first shift register and the initial stage. You may make it perform matrix operation with a value.
[0018]
In this way, since the matrix operation of the matrix element of the matrix corresponding to each stage of the first shift register and the initial value are simultaneously calculated by the separate arithmetic units, the initial value is set. It is possible to further reduce the time required to start generating a code sequence having an arbitrary phase.
[0019]
Also, 4th Like the invention of First Or Second of invention The computing means includes a computing unit that sequentially performs matrix computation of the matrix elements of the matrix corresponding to each stage of the first shift register and the initial value for each stage, and the computing unit sequentially calculates the computing unit. There may be provided switching means for switching and setting the matrix operation result for each stage of the first shift register as the initial value of each stage of the first shift register for each stage.
[0020]
In this way, the matrix operation of the matrix element of the matrix corresponding to each stage of the first shift register and the initial value is performed only by providing one arithmetic unit, and the matrix operation result is obtained as the first shift register. The initial value of each stage can be switched and set for each stage. Therefore, as compared with the case where a plurality of arithmetic units corresponding to the respective stages of the first shift register are provided, the overall circuit scale can be reduced by the amount that the number of arithmetic units can be reduced.
[0021]
next, 5th The invention includes a code generator and an arithmetic means. The code generator takes an exclusive OR of the shift register and the output of the last stage of the shift register and the output of an arbitrary stage, and returns the exclusive OR to the first stage of the shift register. A first code sequence is generated by setting an initial value to each stage of the shift register, supplying a clock to each stage of the shift register, and sequentially shifting the contents of each stage to the next stage, The first code sequence is sequentially output from the last stage of the shift register according to the clock. The computing means uses the output of each stage of the shift register as an initial value, and a matrix composed of the initial value and a matrix element set in advance corresponding to the offset amount between the first code sequence and the second code sequence. The second code sequence is generated by performing the matrix operation.
[0022]
Therefore, 5th According to this invention, it is not necessary to give a clock to the code sequence generator in advance in order to set the offset amount between the first code sequence and the second code sequence. Further, the time required for matrix calculation in the calculation means is a time corresponding to the number of clocks given in advance to the code sequence generator in order to set the offset amounts of the first and second code sequences in the conventional code sequence generator. It is very short compared to. for that reason, First According to this invention, it is possible to reduce the time required from the initial value to the generation start of the first and second code sequences in which an arbitrary offset amount is set. Further, the computing means can generate the second code sequence by providing only one computing unit. The first and second code sequences can be generated only by providing one code sequence generator including a shift register and an exclusive OR circuit. for that reason, First Compared with the case where the first and second code sequence generators are provided as in the present invention, the overall circuit scale can be reduced.
[0023]
by the way, 6th Like the invention of 1st to 5th Any of Invention In the above, a setting means for setting the matrix may be provided, and the calculation means may perform a matrix calculation of a matrix element corresponding to an arbitrary matrix set by the setting means and the initial value.
[0024]
In this way, when changing the offset amount of the first and second code sequences or changing the phase of the code sequence, each matrix element of the matrix set using the setting means can be changed as appropriate to facilitate the change. Can respond. That is, since it becomes easy to set in advance a matrix representing the register states of the first shift registers that are discretely separated corresponding to the offset amounts of the first and second code sequences, This is particularly effective when two code sequences are generated or when a code sequence is generated from an arbitrary phase in a code sequence having a very long period.
[0025]
In the embodiments of the invention described below, the “first code sequence generator” described in the claims or the means for solving the problem corresponds to the
[0026]
DETAILED DESCRIPTION OF THE INVENTION
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. In the first embodiment, the same constituent members as those of the conventional embodiment shown in FIG. 5 are denoted by the same reference numerals, and detailed description thereof is omitted.
[0027]
FIG. 1 is a block diagram illustrating a schematic configuration of a
The
[0028]
The computing unit group 3 is composed of n + 1 computing units P0 to Pn.
Initial values C (= c0, c1, c2,..., Cn−1, cn) set by the user using the initial
[0029]
The matrix elements a0, a1, a2,..., An−1, an of the (n + 1) × (n + 1) matrix A set by the user using the matrix
[0030]
Each of the arithmetic units P0 to Pn performs a matrix operation on the set initial value C (= c0 to cn) and the matrix elements a0 to an, and calculates each matrix operation result c′0 to c′n. That is, the calculator P0 calculates the matrix calculation result c′0 of the initial value C and the matrix element a0, and the calculator P1 calculates the matrix calculation result c′1 of the initial value C and the matrix element a1. The calculators Pn calculate the matrix calculation results c′n of the initial values C and the matrix elements an, and the calculators P0 to Pn calculate the matrix calculation results c′0 to c′n, respectively.
[0031]
The matrix calculation results c′0 to c′n are set as initial values in the flip-flops D0 to Dn constituting the
[0032]
As described above, the initial values c0 to cn are set in the flip-flops D0 to Dn of the
[0033]
Here, in order to generate a desired offset amount in each of the code sequences α and β, the offset amount may be set for each of the initial values c0 to cn and each of the initial values c′0 to c′n. For this purpose, the matrix element a0 is set so that the offset amount is set to each initial value c0, c′0, and the matrix element a1 is set so that the offset amount is set to each initial value c1, c′1. Set ..... matrix A including matrix elements a0 to an corresponding to the offset amount, such as setting the matrix element an so that the offset amount is set to the initial values cn and c'n. Should be set.
[0034]
That is, in the conventional
[0035]
On the other hand, in the
[0036]
Therefore, the
[0037]
Therefore, according to the
In order to change the offset amounts of the code sequences α and β, the matrix elements a0 to an of the matrix A set using the matrix
[0038]
The control operation of the
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to the drawings. In the second embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and detailed description thereof is omitted.
[0039]
FIG. 2 is a block diagram illustrating a schematic configuration of the
The
[0040]
The initial value C (= c0 to cn) set by the user using the initial
The
[0041]
The
The
[0042]
The switching
[0043]
As described above, the initial values c0 to cn are set in the flip-flops D0 to Dn of the
[0044]
Therefore, according to the
However, in the
[0045]
On the other hand, in the
[0046]
Therefore, according to the
However, in the
[0047]
However, the time required for the operations (operations of the
[0048]
In addition, the operations of the
[0049]
(Third embodiment)
Next, a third embodiment of the present invention will be described with reference to the drawings. In the second embodiment, the same components as those in the second embodiment are denoted by the same reference numerals, and detailed description thereof is omitted.
[0050]
FIG. 3 is a block diagram illustrating a schematic configuration of the
The
[0051]
The initial value C (= c0 to cn) set by the user using the initial
[0052]
The
The
[0053]
The
[0054]
Thus, in the
That is, in the
[0055]
On the other hand, in the
Therefore, the
[0056]
In addition, this invention is not limited to said each embodiment, You may change as follows, Even in that case, the effect | action and effect similar to said each embodiment can be acquired.
(1) In the first embodiment, the
[0057]
(2) In the second embodiment, the
[0058]
(3) In the second and third embodiments, not only one type of matrix A is stored in the
[0059]
(4) In the first embodiment, a plurality of sets of matrix
[0060]
(5) In the second embodiment, by providing a plurality of sets of the
[0061]
(6) In the third embodiment, a plurality of sets of
[0062]
(7) The present invention may be applied to a code sequence generator of a Gold sequence instead of an M sequence.
FIG. 7 is a block diagram showing a schematic configuration of a
[0063]
The gold sequence
The exclusive OR
[0064]
The exclusive OR 302 calculates the exclusive OR of the code sequence α generated from the
In the first embodiment, in order to generate a gold-sequence code sequence instead of an M-sequence, the
[0065]
Further, in the second embodiment, in order to generate a Gold-sequence code sequence instead of an M-sequence, the
In the third embodiment, the
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a first embodiment embodying the present invention.
FIG. 2 is a block diagram showing a schematic configuration of a second embodiment embodying the present invention.
FIG. 3 is a block diagram showing a schematic configuration of a third embodiment embodying the present invention.
FIG. 4 is a block diagram showing a schematic configuration of a conventional form.
FIG. 5 is a block diagram showing a schematic configuration of a conventional form.
FIG. 6 is a timing chart showing the operation of a conventional form.
FIG. 7 is a block diagram showing a schematic configuration of a conventional form.
[Explanation of symbols]
2 ... Matrix element setting unit 3 ... Operator group P0 to Pn, 14 ... Operator
12 ...
101:
101b: first code sequence generator 103: shift register
104: Exclusive OR circuit
Claims (4)
第2シフトレジスタと、当該第2シフトレジスタの最終段の出力と任意の段の出力との排他的論理和をとり、当該排他的論理和を前記第2シフトレジスタの初段に帰還する第2排他的論理和回路とを備え、第2シフトレジスタの各段に初期値をセットし、第2シフトレジスタの各段にクロックを与えて、その各段の内容を順次次段にシフトさせることにより第2符号系列を生成し、当該第2符号系列をクロックに従って第2シフトレジスタの最終段から順次出力する第2符号系列生成器と、前記第2シフトレジスタの各段にセットされる初期値と、前記第1符号系列と前記第2符号系列とのオフセット量に対応して予め設定された行列要素から成る行列との行列演算を行い、その行列演算結果を前記第1シフトレジスタの各段の初期値としてセットする演算手段とを備えた
ことを特徴とする符号系列生成器。First exclusive OR of the first shift register and the output of the final stage of the first shift register and the output of any stage is taken, and the exclusive OR is fed back to the first stage of the first shift register And an initial value is set to each stage of the first shift register, a clock is applied to each stage of the first shift register, and the contents of each stage are sequentially shifted to the next stage. A first code sequence generator that generates one code sequence and sequentially outputs the first code sequence from the last stage of the first shift register according to a clock;
A second exclusive-OR that takes the exclusive OR of the second shift register and the output of the final stage of the second shift register and the output of an arbitrary stage and feeds back the exclusive OR to the first stage of the second shift register And an initial value is set to each stage of the second shift register, a clock is applied to each stage of the second shift register, and the contents of each stage are sequentially shifted to the next stage. A second code sequence that generates two code sequences and sequentially outputs the second code sequence from the last stage of the second shift register according to a clock; an initial value set in each stage of the second shift register; Matrix calculation is performed on a matrix composed of matrix elements set in advance corresponding to the offset amount between the first code sequence and the second code sequence, and the matrix calculation result is stored at the initial stage of each stage of the first shift register. As value Code sequence generator characterized by comprising calculating means for Tsu bets.
前記演算手段は前記第1シフトレジスタの各段にそれぞれ対応する複数の演算器を備え、当該各演算器はそれぞれ前記第1シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を行う
ことを特徴とする符号系列生成器。The code sequence generator according to claim 1, wherein
The computing means includes a plurality of computing units corresponding to the respective stages of the first shift register, and the computing units correspond to the matrix elements of the matrix and the initial values corresponding to the respective stages of the first shift register. A code sequence generator characterized by performing a matrix operation.
前記演算手段は、前記第1シフトレジスタの各段に対応する前記行列の行列要素と前記初期値との行列演算を各段毎に順次行う演算器と、前記演算器が順次算出する前記第1シフトレジスタの各段毎の行列演算結果を、前記第1シフトレジスタの各段の初期値として当該各段毎に切り替えてセットする切替手段とを備えた
ことを特徴とする符号系列生成器。The code sequence generator according to claim 1, wherein
The computing means sequentially performs a matrix operation of the matrix elements corresponding to the respective stages of the first shift register and the initial value for each stage, and the arithmetic unit sequentially calculates the first. A code sequence generator, comprising: switching means for switching and setting a matrix operation result for each stage of the shift register for each stage as an initial value of each stage of the first shift register.
前記行列を設定するための設定手段を備え、前記演算手段は当該設定手段により設定された任意の行列の対応する行列要素と前記初期値との行列演算を行う
ことを特徴とする符号系列生成器。The code sequence generator according to any one of claims 1 to 3 ,
A code sequence generator comprising: setting means for setting the matrix, wherein the calculation means performs a matrix calculation of a matrix element corresponding to an arbitrary matrix set by the setting means and the initial value .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32527798A JP3965805B2 (en) | 1998-11-16 | 1998-11-16 | Code sequence generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32527798A JP3965805B2 (en) | 1998-11-16 | 1998-11-16 | Code sequence generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000151367A JP2000151367A (en) | 2000-05-30 |
JP3965805B2 true JP3965805B2 (en) | 2007-08-29 |
Family
ID=18175025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32527798A Expired - Fee Related JP3965805B2 (en) | 1998-11-16 | 1998-11-16 | Code sequence generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3965805B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3499460B2 (en) | 1999-02-25 | 2004-02-23 | 松下電器産業株式会社 | Spreading code generating circuit and spreading code generating method |
JP2002084257A (en) | 2000-07-05 | 2002-03-22 | Sanyo Electric Co Ltd | Orthogonal code generating device, scramble code generating device, and mobile wireless terminal using them |
-
1998
- 1998-11-16 JP JP32527798A patent/JP3965805B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000151367A (en) | 2000-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3773263B2 (en) | Circuit device including permutation unit and method for processing a set of items | |
JP3022439B2 (en) | Pseudo random number generation method and apparatus | |
KR101402392B1 (en) | Bit sequence generator | |
JPH11340799A (en) | Circuit and method for generating m sequence and circuit for generating pn sequence | |
US5596516A (en) | Code sequence generator | |
KR19990029425A (en) | Pien code generator and mobile wireless communication system | |
JPH11265276A (en) | Phase shift coefficient calculation system for m sequence | |
JP3965805B2 (en) | Code sequence generator | |
KR0175416B1 (en) | Device and method for generating pseudorandom noise sequence | |
KR100871221B1 (en) | Pseudorandom binary sequence generation method and apparatusin a communication system using linear feedback shift register | |
KR100327856B1 (en) | Circuit and method for arbitrarily shifting M series | |
KR19990000778A (en) | Pseudo-noise code generation device and method | |
JPH10117128A (en) | Controller for phase of pseudo noise series code | |
JP3618554B2 (en) | Code generation method and code generation apparatus | |
CN106603085A (en) | Method and device for generating BCH code generator polynomial, encoder, controller, and electronic device | |
KR100308887B1 (en) | Layered orthogonal code generator and generating method | |
JPH114144A (en) | Device for generating code group | |
SU614435A1 (en) | Counting device | |
JP2002342072A (en) | Random data generator, data randomizer, random data generation method and program | |
JP3425163B2 (en) | Random number generator | |
JP2000047853A (en) | Code sequence generator | |
JP2000278099A (en) | M-sequencies generating circuit and pn code generating circuit | |
SU1425628A1 (en) | Function generator | |
JPH07162337A (en) | Pseudo noise code generating circuit and code division multiple access communication system | |
SU1010622A1 (en) | Generator of pseudo-random numbers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070123 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070307 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070508 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070521 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100608 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110608 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110608 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120608 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120608 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130608 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |