(57)【特許請求の範囲】
【請求項１】
符号分割多重アクセス方式で用いられる拡散用コードのコード発生器において、
クロック信号をカウントして出力するカウンタ回路と、
予め設定されたマスクビットにより前記カウンタ回路の各出力ビットをマスキングするマスク回路と、
このマスク回路の出力ビットに対して排他的論理和を演算して出力コードとして出力する排他的論理和回路とを備え、
前記マスクビットが、発生させる拡散用コードの拡散率及びコード番号に基づき、２を底とする前記拡散率の対数を求め、前記コード番号を前記対数に相当する桁の２進数で表し、全てのビットが”０”に設定された前記マスクビットに対し、２進数表示の最上位ビットから最下位ビットの値を前記マスクビットの最下位ビットから前記マスクビットの最上位ビットに向かって順次置換して設定されたことを特徴とするコード発生器。
【請求項２】
前記カウンタ回路の出力ビット数が、
２を底とする前記拡散率の対数以上のビット数であることを特徴とする
請求項１記載のコード発生器。
【請求項３】
前記マスク回路の入出力ビット数が、
２を底とする前記拡散率の対数以上のビット数であることを特徴とする
請求項１記載のコード発生器。
【請求項４】
前記排他的論理和回路の入力ビット数が、
２を底とする前記拡散率の対数以上のビット数であることを特徴とする
請求項１記載のコード発生器。
【請求項５】
前記カウンタ回路を共通にして前記マスク回路及び前記排他的論理和回路を並列に複数設けたことを特徴とする
請求項１記載のコード発生器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access：広帯域・符号分割多重アクセス方式）等の符号分割多重アクセス方式で用いられる拡散用コードであるＯＶＳＦ（Orthogonal Variable Spreasing Factor：以下、単にＯＶＳＦコードと呼ぶ。）コードのコード発生器に関し、特に簡単な回路構成でＯＶＳＦコードを発生させることが可能なコード発生器に関する。
【０００２】
【従来の技術】
従来のＷ−ＣＤＭＡ等で用いられる拡散用コードであるＯＶＳＦコードは拡散率を”ＳＦ”、コード番号を”Ｎ”を指定することにより求められる。図４はこのようなＯＶＳＦコードの定義を示す説明図である。
【０００３】
すなわち、拡散率を”ＳＦ”、コード番号を”Ｎ”とした場合のＯＶＳＦコード”Ｃｃｈ（ＳＦ，Ｎ）”は図４に示すように定義されている。
【０００４】
例えば、図５は拡散率が”ＳＦ＝１，２，４”の場合のＯＶＳＦコードを示す説明図、図６は拡散率が”ＳＦ＝８”の場合のＯＶＳＦコードを示す説明図である。
【０００５】
すなわち、例えば、拡散率が”ＳＦ＝４”でコード番号が”Ｎ＝３”の場合のＯＶＳＦコードは図５中”ＣＤ０１”に示すように”１，−１，−１，１”と言うコードになり、拡散率が”ＳＦ＝８”でコード番号が”Ｎ＝７”の場合のＯＶＳＦコードは図６中”ＣＤ１１”に示すように”１，−１，−１，１，−１，１，１，−１”と言うコードになる。
【０００６】
このようなＯＶＳＦコードを発生させる従来のコード発生器では予めソフトウェア等で生成したＯＶＳＦコードをメモリ等の記憶手段に格納しておき、適宜当該記憶手段を参照することによってＯＶＳＦコードを発生させていた。
【０００７】
【発明が解決しようとする課題】
しかし、予めソフトウェア等で生成したＯＶＳＦコードをメモリ等の記憶手段に格納しておく構成では回路規模が大きくなってしまうといった問題点があった。
【０００８】
例えば、拡散率が”ＳＦ＝２５６”のＯＶＳＦコードを発生させる場合には１種類のコードに対して２５６長の記憶領域が必要になり、図４のＯＶＳＦコードの定義から拡散率が”ＳＦ＝２５６”の場合には”Ｎ＝０〜２５５”個のコードが発生することになり、記憶領域が大きくなってしまう。言い換えれば、回路規模が大きくなってしまう。
【０００９】
また、ＯＶＳＦコードは線形帰還シフトレジスタ（ＬＦＳＲ：Linear Feedback Shift Register）では容易に生成できないと言った問題点があった。
【００１０】
すなわち、図７は線形帰還シフトレジスタの一例を示す構成ブロック図であり、図７において１，２及び３はレジスタ回路、４及び５は予め設定された値を乗算して出力する乗算回路、６及び７は排他的論理和回路（以下、単にＥＯＲ回路と呼ぶ。）である。
【００１１】
レジスタ回路１の出力はレジスタ回路２の入力端子及び乗算回路４の入力端子にそれぞれ接続され、レジスタ回路２の出力はレジスタ回路３の入力端子及び乗算回路５の入力端子にそれぞれ接続される。
【００１２】
レジスタ回路３の出力は”Ｄout ”として出力されると共にＥＯＲ回路７の一方の入力端子に接続され、ＥＯＲ回路７の他方の入力端子には乗算器５の出力が接続される。
【００１３】
ＥＯＲ回路７の出力はＥＯＲ回路６の一方の入力端子に接続され、ＥＯＲ回路６の他方の入力端子には乗算器４の出力が接続される。そして、ＥＯＲ回路６の出力”Ｄ０”がフィードバック値としてレジスタ回路１の入力端子に接続される。
【００１４】
ここで、図７に示す線形帰還シフトレジスタの動作を図８、図９、図１０及び図１１を用いて説明する。図８〜図１１は乗算回路４及び５の設定値に応じて発生するコードを示す説明図である。
【００１５】
また、ハードウェアの構成上、ＯＶＳＦコードの”｛１，−１｝”の値は扱いにくいため、”１”を”０”、”−１”を”１”、”乗算”を”排他的論理和演算”とそれぞれ対応させる。
【００１６】
すなわち、乗算及び排他的論理和演算の演算子をそれぞれ”＊”及び”＾”とすれば、”１＊１＝１”が”０＾０＝０”に、”（−１）＊（−１）＝１”が”１＾１＝０”に、”１＊（−１）＝−１”が”０＾１＝１”に、”（−１）＊１＝−１”が”１＾０＝１”にそれぞれ対応し互いに等価な関係になる。
【００１７】
先ず、図８において、初期値としてレジスタ回路１，２及び３に”０”，”０”及び”１”を設定し、乗算回路４の係数を”ｈ１＝０”、乗算回路５の係数を”ｈ２＝０”とした場合を考える。
【００１８】
この場合、”Ｄ０”は
0004126584.tif 000002
となる。
【００１９】
そして、クロックに従ってデータが”ｎ＝０，１，２，・・・”とレジスタ回路１〜３をシフトして行くことにより、”１，０，０，・・・”なる繰り返し周期が”３”のコードが発生する。
【００２０】
同様に図９において、初期値としてレジスタ回路１，２及び３に”０”，”０”及び”１”を設定し、乗算回路４の係数を”ｈ１＝１”、乗算回路５の係数を”ｈ２＝１”とした場合を考える。
【００２１】
この場合、”Ｄ０”は
0004126584.tif 000003
となる。
【００２２】
そして、クロックに従ってデータが”ｎ＝０，１，２，・・・”とレジスタ回路１〜３をシフトして行くことにより、”１，０，０，１・・・”なる繰り返し周期が”４”のコードが発生する。
【００２３】
同様に図１０において、初期値としてレジスタ回路１，２及び３に”０”，”０”及び”１”を設定し、乗算回路４の係数を”ｈ１＝１”、乗算回路５の係数を”ｈ２＝０”とした場合を考える。
【００２４】
この場合、”Ｄ０”は
0004126584.tif 000004
となる。
【００２５】
そして、クロックに従ってデータが”ｎ＝０，１，２，・・・”とレジスタ回路１〜３をシフトして行くことにより、”１，０，０，１，１，１，０，・・・”なる繰り返し周期が”７”のコードが発生する。
【００２６】
最後に図１１において、初期値としてレジスタ回路１，２及び３に”０”，”０”及び”１”を設定し、乗算回路４の係数を”ｈ１＝０”、乗算回路５の係数を”ｈ２＝１”とした場合を考える。
【００２７】
この場合、”Ｄ０”は
0004126584.tif 000005
となる。
【００２８】
そして、クロックに従ってデータが”ｎ＝０，１，２，・・・”とレジスタ回路１〜３をシフトして行くことにより、”１，０，０，１，０，１，１，・・・”なる繰り返し周期が”７”のコードが発生する。
【００２９】
すなわち、ＯＶＳＦコードでは図５及び図６に示すように繰返し周期が拡散率”ＳＦ”であり、”ＳＦ／２”以上”０”の続くコードが存在するのに対し、図７に示す線形帰還シフトレジスタではコードの繰り返し周期が変動し、繰り返し周期の半分以上”０”の続くコードを生成するのが困難である。
【００３０】
このため、線形帰還シフトレジスタではＯＶＳＦコードを容易に生成できないと言った問題点があった。
従って本発明が解決しようとする課題は、簡単な回路構成でＯＶＳＦコードを発生させることが可能なコード発生器を実現することにある。
【００３１】
【課題を解決するための手段】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
符号分割多重アクセス方式で用いられる拡散用コードのコード発生器において、クロック信号をカウントして出力するカウンタ回路と、予め設定されたマスクビットにより前記カウンタ回路の各出力ビットをマスキングするマスク回路と、このマスク回路の出力ビットに対して排他的論理和を演算して出力コードとして出力する排他的論理和回路とを備え、前記マスクビットが、発生させる拡散用コードの拡散率及びコード番号に基づき、２を底とする前記拡散率の対数を求め、前記コード番号を前記対数に相当する桁の２進数で表し、全てのビットが”０”に設定された前記マスクビットに対し、２進数表示の最上位ビットから最下位ビットの値を前記マスクビットの最下位ビットから前記マスクビットの最上位ビットに向かって順次置換して設定されたことにより、簡単な回路構成でマスクビットに対応した拡散用コードを発生させることが可能になる。
【００３３】
請求項２記載の発明は、
請求項１記載の発明であるコード発生器において、
前記カウンタ回路の出力ビット数が、２を底とする前記拡散率の対数以上のビット数であることにより、簡単な回路構成でＯＶＳＦコードを発生させることが可能になる。
【００３４】
請求項３記載の発明は、
請求項１記載の発明であるコード発生器において、
前記マスク回路の入出力ビット数が、２を底とする前記拡散率の対数以上のビット数であることにより、簡単な回路構成でＯＶＳＦコードを発生させることが可能になる。
【００３５】
請求項４記載の発明は、
請求項１記載の発明であるコード発生器において、
前記排他的論理和回路の入力ビット数が、２を底とする前記拡散率の対数以上のビット数であることにより、簡単な回路構成でＯＶＳＦコードを発生させることが可能になる。
【００３６】
請求項５記載の発明は、
請求項１記載の発明であるコード発生器において、
前記カウンタ回路を共通にして前記マスク回路及び前記排他的論理和回路を並列に複数設けたことにより、複数種類のＯＶＳＦコードを同時に生成することも可能になる。また、同時に拡散率”ＳＦ”の異なるＯＶＳＦコードを生成することも可能になる。
【００３７】
【発明の実施の形態】
以下本発明を図面を用いて詳細に説明する。図１は本発明に係るコード発生器の一実施例を示す構成ブロック図である。
【００３８】
図１において８は８ビットのカウンタ回路、９は予め設定されたマスクビットによりカウンタ回路８の出力ビットをマスキングするマスク回路、１０は８つの入力端子を有する排他的論理和回路、１００はクロック信号、１０１は出力コードである。
【００３９】
クロック信号１００はカウンタ回路８のクロック入力端子に接続され、カウンタ回路８の８ビットの各出力端子はマスク回路９の８個の入力端子にそれぞれ接続される。
【００４０】
また、マスク回路９の８個の出力である”Ｄ７out ”、”Ｄ６out ”、”Ｄ５out ”、”Ｄ４out ”、”Ｄ３out ”、”Ｄ２out ”、”Ｄ１out ”及び”Ｄ０out ”は排他的論理和回路１０の８つの入力端子にそれぞれ接続される。
【００４１】
ここで、図１に示す実施例の動作を図２及び図３を用いて説明する。図２はＣｃｈ（４，１）、すなわち、拡散率が”ＳＦ＝４”でコード番号が”Ｎ＝１”のＯＶＳＦコードを発生する場合のタイミング図、図３はＣｃｈ（８，７）、すなわち、拡散率が”ＳＦ＝８”でコード番号が”Ｎ＝７”のＯＶＳＦコードを発生する場合のタイミング図である。
【００４２】
カウンタ回路８の８ビットの出力”Ｑ”をそれぞれＭＳＢ（Most Significant Bit：最上位ビット）から”Ｑ＝｛Ｑ７，Ｑ６，Ｑ５，Ｑ４，Ｑ３，Ｑ２，Ｑ１，Ｑ０｝”とし、マスク回路９に設定されているマスクビット”Ｄ”をそれぞれＭＳＢから”Ｄ＝｛Ｄ７，Ｄ６，Ｄ５，Ｄ４，Ｄ３，Ｄ２，Ｄ１，Ｄ０｝”とした場合、論理積演算及び排他的論理和演算の演算子をそれぞれ”＆”及び”＾”とすれば、出力コード１０１”Ｃｏｄｅ”は、
0004126584.tif 000006
となる。
【００４３】
このような、回路構成でＣｃｈ（ＳＦ，Ｎ）のＯＶＳＦコードを発生させる場合には以下の規則でマスクビットを設定する。
【００４４】
２を底とする拡散率”ＳＦ”の対数を”ｍ”とし、
ｍ＝ｌｏｇ２（ＳＦ）      （６）
で求められた”ｍ”を桁数”ｍ”とし、
Ｎ２＝｛Ｎｍ−１，Ｎｍ−２，…，Ｎ１，Ｎ０｝      （７）
に示すようにコード番号”Ｎ”を”ｍ”桁の２進数で表す。
【００４５】
そして、全てのビットが”０”に設定されたマスクビットに対し、式（７）に示す２進数表示の最上位ビットから最下位ビットの値をマスクビットの最下位ビットからマスクビットの最上位ビットに向かって順次置換して行く。
【００４６】
このため、もし、桁数”ｍ”がマスクビットのビット数に満たない場合には、２進数表示のビットが置換されなかったマスクビットは”０”のままとなる。
【００４７】
すなわち、マスクビット”Ｄ”は、
Ｄ＝｛０，０，・・・Ｎ０，Ｎ１，・・・Ｎｍ−２，Ｎｍ−１｝      （８）
となる。
【００４８】
例えば、”Ｃｃｈ（２５６，１００）”のＯＶＳＦコードを発生させる場合にには、式（６）及び式（７）から、”ｍ＝８”，”Ｎ２＝｛０１１００１００｝”となり、マスクビット”Ｄ（２５６，１００）＝｛０，０，１，０，０，１，１，０｝”となる。
【００４９】
例えば、”Ｃｃｈ（８，７）”のＯＶＳＦコードを発生させる場合にには、式（６）及び式（７）から、”ｍ＝３”，”Ｎ２＝｛１１１｝”となり、マスクビット”Ｄ（８，７）＝｛０，０，０，０，０，１，１，１｝”となる。
【００５０】
例えば、”Ｃｃｈ（４，１）”のＯＶＳＦコードを発生させる場合にには、式（６）及び式（７）から、”ｍ＝２”，”Ｎ２＝｛０１｝”となり、マスクビット”Ｄ（４，１）＝｛０，０，０，０，０，０，１，０｝”となる。
【００５１】
例えば、マスク回路９にマスクビット”Ｄ（４，１）＝｛０，０，０，０，０，０，１，０｝”を設定した場合、図２に示すようにカウンタ回路８の”Ｑ１”ビット以外は全てマスキングされることになるので、カウンタ回路８の”Ｑ１”ビットの出力がそのまま出力コード１０１となる。
【００５２】
このため、図２に示す出力コード１０１は図５に示すように”Ｃｃｈ（４，１）＝｛０，０，１，１｝”となる。但し、前述のように図５中の”１”を”０”、図５中の”−１”を”１”とそれぞれ対応させる。
【００５３】
例えば、マスク回路９にマスクビット”Ｄ（８，７）＝｛０，０，０，０，０，１，１，１｝”を設定した場合、図３に示すようにカウンタ回路８の”Ｑ１”，”Ｑ２”及び”Ｑ３”ビット以外はマスキングされることになるので、カウンタ回路８の”Ｑ１”、”Ｑ２”及び”Ｑ３”ビットの出力の排他的論理和が出力コード１０１となる。
【００５４】
このため、図３に示す出力コード１０１は図６に示すように”Ｃｃｈ（８，７）＝｛０，１，１，０，１，０，０，１｝”となる。但し、前述のように図６中の”１”を”０”、図６中の”−１”を”１”とそれぞれ対応させる。
【００５５】
この結果、カウンタ回路８の出力をマスク回路９に予め設定したマスクビットでマスキングして排他的論理和を求めることにより、簡単な回路構成でマスクビットに対応した拡散用コードを発生させることが可能になる。
【００５６】
特に、２を底とする拡散率”ＳＦ”の対数”ｍ”を求めコード番号”Ｎ”を”ｍ”桁の２進数で表し、全てのビットが”０”に設定されたマスクビットに対し、２進数表示の最上位ビットから最下位ビットの値をマスクビットの最下位ビットからマスクビットの最上位ビットに向かって順次置換してマスクビットを生成することにより、簡単な回路構成でＯＶＳＦコードを発生させることが可能になる。
【００５７】
なお、図１に示す実施例ではカウンタ回路８等が８ビットで構成されているので桁数”ｍ”の上限が”８”、言い換えれば、拡散率が”ＳＦ＝２５６”以上のＯＶＳＦコードを生成することは出来ないものの、カウンタ回路８等のビット数を増やすことにより、拡散率が”ＳＦ＝２５６”以上のＯＶＳＦコードも生成することが可能になる。
【００５８】
言い換えれば、必要とする拡散率”ＳＦ”に対し、カウンタ回路８，マスク回路９及び排他的論理和回路１０のビット数が２を底とする拡散率”ＳＦ”の対数”ｍ”以上のビット数で構成されていれば良いことになる。
【００５９】
また、カウンタ回路８を共通にしてマスク回路及び排他的論理和回路の部分を並列に複数設けることにより、複数種類のＯＶＳＦコードを同時に生成することも可能になる。また、同時に拡散率”ＳＦ”の異なるＯＶＳＦコードを生成することも可能になる。
【００６０】
また、マスクビットの設定方法を変えることによってｃｄｍａ２０００で用いられる拡散コードである”Wahlsh Code”を発生させることも可能である。
【００６１】
また、図１の説明に際してはマスク回路９を例示しているが、設定されたビット（マスクビット）の値をカウンタ回路８の出力ビットに対して乗算する乗算回路等であっても構わない。
【００６２】
【発明の効果】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１の発明によれば、カウンタ回路の出力をマスク回路に予め設定した発生させる拡散用コードの拡散率及びコード番号に基づき、２を底とする前記拡散率の対数を求め、前記コード番号を前記対数に相当する桁の２進数で表し、全てのビットが”０”に設定された前記マスクビットに対し、２進数表示の最上位ビットから最下位ビットの値を前記マスクビットの最下位ビットから前記マスクビットの最上位ビットに向かって順次置換して設定したマスクビットでマスキングして排他的論理和を求めることにより、簡単な回路構成でマスクビットに対応した拡散用コードを発生させることが可能になる。
【００６３】
また、請求項２，３及び請求項４の発明によれば、２を底とする拡散率”ＳＦ”の対数”ｍ”を求めコード番号”Ｎ”を”ｍ”桁の２進数で表し、全てのビットが”０”に設定されたマスクビットに対し、２進数表示の最上位ビットから最下位ビットの値をマスクビットの最下位ビットからマスクビットの最上位ビットに向かって順次置換してマスクビットを生成することにより、簡単な回路構成でＯＶＳＦコードを発生させることが可能になる。
【００６４】
また、請求項６の発明によれば、カウンタ回路を共通にしてマスク回路及び排他的論理和回路の部分を並列に複数設けることにより、複数種類のＯＶＳＦコードを同時に生成することも可能になる。また、同時に拡散率”ＳＦ”の異なるＯＶＳＦコードを生成することも可能になる。
【図面の簡単な説明】
【図１】本発明に係るコード発生器の一実施例を示す構成ブロック図である。
【図２】拡散率が”ＳＦ＝４”でコード番号が”Ｎ＝１”のＯＶＳＦコードを発生する場合のタイミング図である。
【図３】拡散率が”ＳＦ＝８”でコード番号が”Ｎ＝７”のＯＶＳＦコードを発生する場合のタイミング図である。
【図４】ＯＶＳＦコードの定義を示す説明図である。
【図５】拡散率が”ＳＦ＝１，２，４”の場合のＯＶＳＦコードを示す説明図である。
【図６】拡散率が”ＳＦ＝８”の場合のＯＶＳＦコードを示す説明図である。
【図７】線形帰還シフトレジスタの一例を示す構成ブロック図である。
【図８】乗算回路の設定値に応じて発生するコードを示す説明図である。
【図９】乗算回路の設定値に応じて発生するコードを示す説明図である。
【図１０】乗算回路の設定値に応じて発生するコードを示す説明図である。
【図１１】乗算回路の設定値に応じて発生するコードを示す説明図である。
【符号の説明】
１，２，３  レジスタ回路
４，５  乗算回路
６，７，１０  排他的論理和回路
８  カウンタ回路
９  マスク回路
１００  クロック信号
１０１  出力コード
【図１】
0004126584.tif 000007
【図２】
0004126584.tif 000008
【図３】
0004126584.tif 000009
【図４】
0004126584.tif 000010
【図５】
0004126584.tif 000011
【図６】
0004126584.tif 000012
【図７】
0004126584.tif 000013
【図８】
0004126584.tif 000014
【図９】
0004126584.tif 000015
【図１０】
0004126584.tif 000016
【図１１】
0004126584.tif 000017