JP2004524767A - Pseudo random sequence generation system - Google Patents

Pseudo random sequence generation system Download PDF

Info

Publication number
JP2004524767A
JP2004524767A JP2002580589A JP2002580589A JP2004524767A JP 2004524767 A JP2004524767 A JP 2004524767A JP 2002580589 A JP2002580589 A JP 2002580589A JP 2002580589 A JP2002580589 A JP 2002580589A JP 2004524767 A JP2004524767 A JP 2004524767A
Authority
JP
Japan
Prior art keywords
bit
code
binary
output
counter
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.)
Granted
Application number
JP2002580589A
Other languages
Japanese (ja)
Other versions
JP3790514B2 (en
Inventor
エル.へプラー エドワード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
InterDigital Technology Corp
Original Assignee
InterDigital Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by InterDigital Technology Corp filed Critical InterDigital Technology Corp
Priority claimed from PCT/US2002/010798 external-priority patent/WO2002082759A1/en
Publication of JP2004524767A publication Critical patent/JP2004524767A/en
Application granted granted Critical
Publication of JP3790514B2 publication Critical patent/JP3790514B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

このシステムは、所望のコードのコードツリーの枝の識別情報を含むレジスタ(20)と、連続した2進数のシーケンスを出力するカウンタ(12)とを使用して、擬似ランダムコードを生成する。カウンタ(12)からの出力とレジスタ(20)からの出力とを、ビットバイビットでAND演算し(18)、このAND演算結果をXOR演算し(22)、単一のビットを出力する。カウンタ(12)が順序付けされると、各カウントは、XORゲート(22)からの出力である異なるビットになり、その結果として、所望のコードが生成される。The system generates a pseudo-random code using a register (20) containing identification information of a branch of a code tree of a desired code and a counter (12) outputting a continuous binary sequence. The output from the counter (12) and the output from the register (20) are bit-by-bit ANDed (18), and the result of the AND operation is XORed (22) to output a single bit. As the counters (12) are ordered, each count becomes a different bit that is the output from the XOR gate (22), resulting in the generation of the desired code.

Description

【技術分野】
【0001】
本発明は、一般に、ワイヤレス通信システムに関する。本発明は、具体的には、OVSF(orthogonal variable spreading factor)コードとHadamardコードを使用して、伝送用データを拡散させるTDD(time division duplex)システムおよびFDD(frequency division duplex)システムに関し、本発明は、OVSFコードおよびHadamardコードを生成する改良されたシステムを含む。
【背景技術】
【0002】
多くの種類の通信システム、例えば、FDD通信システムやTDD通信システムは、1つ以上の疑似ランダムコードシーケンスを使用して、伝送用データを拡散させる。このようなコードは送信側と受信側の両方のシステム全体の様々な場所で使用される。一般的に使用されているコードシーケンスとしては、OVSFコードとHadamardコードがある。
【0003】
図1に、異なるチャネル間で直交性(orthogonarity)を保持するOVSFコードのコードツリーを示す。OVSFコードは、図1のコードツリーを使用して定義することができ、チャネル化コードはCch,SF,kと一意に記述される。ここで、SFはコードの拡散係数であり、kはコード番号であり、k≦SF−1である。コードツリーの各レベルにより、図1のSFの拡散係数に対応する長さSFのチャネル化コードが定義される。
【0004】
このチャネル化コードの生成方法は、次のように定義される。
【0005】
【数1】

Figure 2004524767
【0006】
各チャネル化コードワードの最右端の値は、時間的に最初に送信されるチップに対応する。使用されるOVSFコードは、拡散係数と使用するチャネル数とチャネルのタイプとに応じて変わる。
【0007】
OVSFコードを生成する1つの方法としては、上記の数学的記述を利用する方法がある。しかし、このようなマトリックスを操作することはコンピューティング上コストがかかり、パフォームするには、きわめて高速かつ高価なハードウェアを必要とする。加えて、このような目的のため、コンピューティング装置がハードウェアに固定されている場合には、他の目的に使用することができない、のが普通である。このため、システムが複雑になり、その結果、システム設計全体が不必要に複雑で高価なものとなる。
【発明の開示】
【発明が解決しようとする課題】
【0008】
したがって、OVSFコードを迅速かつ効率的に生成する好都合な手段が要請されている。また、そのような手段は、Hadamardシーケンスのような他のタイプのコードの生成にも適合化させることができるのが望ましい。
【課題を解決するための手段】
【0009】
本発明は、所望のコードのコードツリーの枝の識別情報を保持するレジスタと、その枝を順序づけるカウンタを使用してOVSFコードを迅速かつ効率的に生成する、システムおよび方法を含む。本発明のシステムは、要求に応じてコードを生成し、ほとんどハードウェア資源を必要としない。
【0010】
さらに、本発明のシステムおよび方法は、Hadamardシーケンスを生成するように適合化することができる。
【発明を実施するための最良の形態】
【0011】
現時点での好ましい実施形態について図面を参照して説明する。図において、同様の要素は同様の参照番号で示す。加えて、本発明の好ましい実施形態について、OVSFコードおよびHadamardコードの生成を参照して説明する。しかし、同じ原理は他のコードシーケンスにも適用可能であることは、当業者に顕著であるし、本発明は、本明細書で説明する例示の実施形態にのみ限定されるものではない。
【0012】
図2を説明する。図2は疑似ランダムシーケンスを生成するシステム10を示す。このシステム10は、ビット位置カウンタ12と、マルチプレクサ14と、拡散係数セレクタ16と、ビットバイビット(bit-by-bit)ANDゲート18と、インデックスセレクタ20と、XORゲート22とを備える。カウンタ12は、フリーランニング2進カウンタであって、その出力をマルチプレクサ14の第1の入力に供給している。カウンタ12は、所望のOVSFコードが生成されたとき、0で初期設定され、「フリーで(freely)」動作する。コードの生成は、データを拡散させるために必要な回数だけ繰り返される。コードの生成ごとに、カウンタがゼロに初期設定される。あるいはまた、使用しない最上位ビットを無視して、カウンタ12をフリーランさせることもできる。この代替方法については詳細に後述する。
【0013】
拡散係数セレクタ16は、出力をマルチプレクサ14の第2の入力端子に供給し、マルチプレクサ14は、カウンタ12からのビットを何ビット出力するべきかを識別する。OSVFコードを生成する場合には、マルチプレクサ14は、出力ビットが逆順に出力されるように、出力ビットの順序を逆転させる。これは、図3Aおよび図3Bのマルチプレクサ14内を破線で接続することにより行うことができる。
【0014】
再び図2を説明する。インデックスセレクタ20は、インデックス、すなわちコードツリーの「枝」の2進識別情報を出力する。例えば、図1に示すように、仮に拡散係数が4であるのが望ましく、しかも当該コードツリーの3番目の枝を生成しようとする場合には、インデックスセレクタ20は、数値2を表す、2ビットの2進数のシーケンスである10を出力する。同様に、仮に拡散係数が8であるのが望ましく、しかも当該コードツリーの4番目の枝を生成しようとする場合には、インデックスセレクタ20は、数値3を示す、3ビットの2進数のシーケンスである011を出力する。
【0015】
インデックスセレクタ20の出力とマルチプレクサ14の出力は、ビットバイビットANDゲート18によって、AND演算される。このAND演算の結果は、XORゲート22に出力されるが、このXORゲート22は、実際には、当業者に周知の複数のXORゲートを備えたXOR「ツリー」である。
【0016】
本発明に係るシステム10は、図3Aおよび図3Bに詳細に図示してあり、このシステム10は、所望の拡散係数に依存して機能上異なるように構成されている。図3Aおよび図3Bにおいては、カウンタ12からの複数ビット出力C1〜CNと、インデックスセレクタ20からの複数ビット出力I1〜IMが図示されている。図3Aを説明する。仮に拡散係数を4にしたい場合、拡散係数セレクタ16はマルチプレクサ14がカウンタ12の最初の2つのビット「位置」C1およびC2から、当該所望のビットのみをANDゲート18に出力する。カウンタ12からのビット位置C3〜CNは、本質的に「ゼロアウト(zeroed out)」、すなわち無視される。所望の各ビットがカウンタ12から逆順に取り込まれ、インデックスセレクタ20からの所望のビットと、ビットバイビット(bit-by-bit)でAND演算される。例えば、カウンタ12の第1ビット位置C1からのビットは、インデックスセレクタ20からの第2ビットI2と、AND演算される。カウンタ12の第2ビット位置C2からのビットは、インデックスセレクタ20からの第1ビットI1と、AND演算される。一度、カウンタ12の所望の全てのビット位置からのビットが、インデックスセレクタ20からの所望のビットと、ビットバイビットでAND演算されると、ANDゲート18は、演算結果をXORゲート22に出力する。XORゲート22の出力は、当該所望のビットを有するコードシーケンスとなる。カウンタ12が順序付けされたとき、コードシーケンスの各ビットが新たに生成される。
【0017】
図3Bに示す第2の例を説明する。仮に拡散係数が8であるのが望ましい場合には、マルチプレクサ14は、カウンタ12の第1ビット位置ないし第3ビット位置C1、C2、およびC3からのビットを、ANDゲート18に出力する。カウンタ12の第1ビット位置C1からのビットは、インデックスセレクタ20からの第3ビットI3と、AND演算される。同様に、カウンタ12の第2ビット位置C2からのビットは、インデックスセレクタ20からの第2ビットI2と、AND演算される。最後に、カウンタ12からの第3ビット位置C3からのビットは、インデックスセレクタ20からの第1ビットI1と、AND演算される。一度、カウンタ12の所望の全てのビット位置からのビットが、インデックスセレクタ20からの所望のビットと、ビットバイビットでAND演算されると、ANDゲート18は、その演算結果をXORゲート22に出力する。XORゲート22の出力が当該所望のコードシーケンスとなる。
【0018】
本発明に従って作成されたシステム10は、任意の長さの拡散係数を有するOVSFコードを生成するために使用することができるが、説明を簡単にするため、上述した例を、拡散係数が8である場合について説明する。この例においては、図4に示すように、3ビット拡散係数セレクタ16と、ビットを順序付けする3ビットカウンタ12と、3入力ANDゲート18と、3入力XORゲート22とが必要である。この例においては、次の表1〜表3も参照する。
【0019】
【表1】
Figure 2004524767
【0020】
【表2】
Figure 2004524767
【0021】
【表3】
Figure 2004524767
【0022】
この例においては、生成されるコードシーケンスは、拡散係数が8であり、図1にアスタリスクを付したコードツリーの7番目の枝を備えているのが望ましい。これは、図1においては、Cch8,6、すなわち1、−1、−1、1、1、−1、−1、1として識別されるものである。所望の拡散係数が8であるので、所望のビット数は、表1から、3であることが分かる。コードツリーの7番目の枝を生成するので、インデックスセレクタ出力は、表2から、1、1、0の2進数のシーケンスになることが分かる。次に、2進カウンタ12は、表3に示すように、2進カウントを0(0,0,0)から7(1,1,1)まで順序付けする。
【0023】
シーケンスCch,8,6の1番目のビットは、カウンタ12からの2進数のシーケンスである000(逆転した結果も000である)と、インデックスセレクタ20からの2進数のシーケンスである110とが、ビットバイビットでAND演算されて生成されることになる。このAND演算により得られたビットがXOR演算され、演算結果の0が出力される。2番目の入力001が逆転され、得られた100と、インデックスセレクタ20からの2進数のシーケンスである110とが、ビットバイビットでAND演算され、その結果、100が得られる。このAND演算により得られたビットがXOR演算され、得られた1が出力される。同様に、3番目の入力010が逆転され、得られた010と、インデックスセレクタ20からの2進数のシーケンスである110とが、ビットバイビットでAND演算され、得られたビットがXOR演算され、このXOR演算結果の1が出力される。4番目の入力011が逆転され、得られた110と、インデックスセレクタ20からの2進数のシーケンスである110とが、ビットバイビットでAND演算され、得られたビットがXOR演算され、このXOR演算結果の0が出力される。5番目の入力100が逆転され、得られた0001と、インデックスセレクタ20からの2進数のシーケンスである110とが、ビットバイビットでAND演算され、得られたビットがXOR演算され、このXOR演算結果の0が出力される。6番目の入力101が逆転され、得られた101と、インデックスセレクタ20からの2進数のシーケンスである110とが、ビットバイビットでAND演算され、得られたビットがXOR演算され、このXOR演算結果の1が出力される。7番目の入力110が逆転され、得られた001と、インデックスセレクタ20からの2進数のシーケンスである110とが、ビットバイビットでAND演算され、得られたビットがXOR演算され、このXOR演算結果の1が出力される。最後に、8番目の入力111が逆転され、得られた111と、インデックスセレクタ20からの2進数のシーケンスである110とが、ビットバイビットでAND演算され、得られたビットがXOR演算され、このXOR演算結果の0が出力される。
【0024】
この反復プロセスにより、シーケンス出力は0、1、1、0、0、1、1、0となる(右端のビットが時間的に最初に生成されることに留意されたい。)。その後、これらの出力値は、出力1が−1に、出力0が1にマッピングされる。したがって、拡散に使用されるシーケンスは、1、−1、−1、1、1、−1、−1、1となる。これは、図1に示すOSVFコードツリーの7番目の枝と一致する。
【0025】
図5に示す構造は所望の任意の入力数に拡張することができる、ことに留意されたい。あるいはまた、本システムは、図5に示すように「規模を拡張」することができ、規模を拡張することにより、不要なカウンタ12とインデックスセレクタ20のビットが、本質的に無視される。図5に示すように、必要なビットは4つのビットC1〜C4であるから、ビットC5〜CNは、マルチプレクサ14を通過しないようにされるか、ゼロアウトされる。加えて、所望のビットC1〜C4のみがマルチプレクサ14によって順序変更される。同様にして、ビットI1〜I4のみがANDゲートによって「処理」される。これは、対応するビットC5〜CNからの入力がないため、ANDゲートの他の部分がゼロアウトされるからである。XORゲート22からの出力が、所望のコードシーケンスのビットになる。
【0026】
図6には、Hadamardシーケンスのコードツリーが図示してある。このコードツリーのコードは、図7に示す本発明の代替実施形態により生成される。
【0027】
図7は数種類の疑似ランダムシーケンスを生成するシステム100を示す。図2に示す実施形態と同様に、システム100は、ビット位置カウンタ12と、マルチプレクサ14と、拡散係数セレクタ16と、ビットバイビットANDゲートと、インデックスセレクタ20と、XORゲート22とを備えている。しかし、この実施形態は、OVSFコードを生成する第1のモードと、Hadamardコードを生成する第2のモードとを切り換えるモードスイッチ60を備える。モード選択スイッチ60が第1の位置にあるときは、システム100は図2に示すシステム10と同一の方式で動作し、マルチプレクサ14は、ビット位置カウンタ12から出力されるビットのビット順序を逆転させる。他方、モード選択スイッチ60が第2の位置にあるときは、マルチプレクサ14は、ビット位置カウンタ12から出力されるビットを、その順序変更を行わず、直接、ビットバイビットANDゲート18にパッシングする。これを図8に示す。図8において、マルチプレクサ14内の破線は、ビットが順序変更されずにマルチプレクサ14をそのまま通過することを図示している。
【0028】
図8を参照して、Hadamardコードを生成する例を説明する。この例においては、生成されるコードシーケンスは、拡散係数が8であり、図6にアスタリスクを付したコードツリーの4番目の枝を備えているのが望ましい。このシーケンスは、図6においては、0、1、1、0、0、1、1、0と図示されている。所望の拡散係数は8であるので、所望ビット数は、表1から3であることが分かる。コードツリーの4番目の枝を生成するので、インデックスセレクタの出力は、表2に示すように、0、1、1の2進数のシーケンスとなることが分かる。次に、2進カウンタ12は、表3に示すように、2進カウント0(0,0,0)から7(1,1,1)までを順序付けする。
【0029】
AND演算とXOR演算のプロセスは、カウンタ12からのビットは逆転させない点を除けば、OVSFコードの生成について説明したのと同じプロセスである。そうすると、システム100からの出力は、0、1、1、0、1、1、0となる。これは、図6に示すHadamardコードのプレ構造の4番目の枝と正確に一致する。システム100からの出力は、オプションで、出力1を−1に、出力0を1にマッピングすることができる。
【0030】
図9は、数種類の疑似ランダムシーケンスを生成するシステム200の第2の代替形態を示す。このシステム200は、インデックスセレクタ20と、ビットバイビットANDゲート18と、XOR22とを備えている。しかし、ビット位置カウンタ12と、マルチプレクサ14と、拡散係数セレクタ16とが、数値ジェネレータ202及びセレクタ204と置換されている。数値ジェネレータ202は、予め定めたシーケンスの数値、例えば表3の数値をストアし、それらの数値を順次に出力する。したがって、数値ジェネレータ202は、表3の数値を順次に出力することができるか。あるいは表4に示すビットの「順序変更された」シーケンスを出力することができる。セレクタ204は、数値ジェネレータ202によってどのビットシーケンスを出力するかを選択することができる。OVSFコードの場合は、第1のシーケンスが出力され、Hadamardコードの場合は、第2のシーケンスが出力される。この実施形態においては、追加のメモリを使用する必要があるが、この追加のメモリの容量は、仮に疑似ランダムシーケンスのコードツリー全体をストアしたときに必要になるメモリ容量よりは小さい。加えて、本実施形態について、拡散係数が8である疑似ランダムコードについて説明したが、数値ジェネレータ202には所望の任意のシーケンスをプレストア(prestore)することができる。
【0031】
【表4】
Figure 2004524767
【0032】
以上、本発明の好ましい実施形態について説明したが、他の種々の変形態様は、特許請求の範囲を逸脱するものでないことは当業者に顕著である。
【図面の簡単な説明】
【0033】
【図1】OVSFコードの、従来技術によるコードツリーを示す図である。
【図2】本発明に係る、OFSFコードを生成するシステムを示す図である。
【図3A】拡散係数が4のときOVSFコードを生成するシステムを示す図である。
【図3B】拡散係数が8のときOVSFコードを生成するシステムを示す図である。
【図4】拡散係数が8のときOVSFコードツリーの7番目のコードの生成を示す図である。
【図5】構造の拡張性を示す図である。
【図6】Hadamardコードの、従来技術によるコードツリーを示す図である。
【図7】HadamardコードとOVSFコードの両方を生成する、本発明の代替実施形態を示す図である。
【図8】拡散係数が8のときHadamardコードの4番目のコードの生成を示す図である。
【図9】疑似ランダムコードを生成する、本発明の第2の代替実施形態を示す図である。【Technical field】
[0001]
The present invention generally relates to wireless communication systems. More specifically, the present invention relates to a time division duplex (TDD) system and a frequency division duplex (FDD) system for spreading data for transmission using an orthogonal variable spreading factor (OVSF) code and a Hadamard code. Includes an improved system for generating OVSF and Hadamard code.
[Background Art]
[0002]
Many types of communication systems, such as FDD and TDD communication systems, use one or more pseudo-random code sequences to spread the data for transmission. Such codes are used in various places throughout the system, both on the sending and receiving sides. Commonly used code sequences include OVSF codes and Hadamard codes.
[0003]
FIG. 1 shows a code tree of an OVSF code that maintains orthogonality between different channels. The OVSF code can be defined using the code tree of FIG. 1, and the channelization code is uniquely described as C ch, SF, k . Here, SF is a code spreading coefficient, k is a code number, and k ≦ SF−1. Each level of the code tree defines a channelization code of length SF corresponding to the SF of FIG.
[0004]
The method of generating this channelization code is defined as follows.
[0005]
(Equation 1)
Figure 2004524767
[0006]
The rightmost value of each channelization codeword corresponds to the first transmitted chip in time. The OVSF code used depends on the spreading factor, the number of channels used and the type of channel.
[0007]
One way to generate the OVSF code is to use the above mathematical description. However, manipulating such matrices is computationally expensive and requires extremely fast and expensive hardware to perform. In addition, for such purposes, if the computing device is fixed to hardware, it cannot usually be used for other purposes. This complicates the system and results in an unnecessarily complex and expensive overall system design.
DISCLOSURE OF THE INVENTION
[Problems to be solved by the invention]
[0008]
Therefore, there is a need for a convenient means for generating OVSF codes quickly and efficiently. Preferably, such means can also be adapted to generate other types of code, such as Hadamard sequences.
[Means for Solving the Problems]
[0009]
The present invention includes a system and method for generating OVSF code quickly and efficiently using a register that holds the identification of the code tree branch of the desired code and a counter that orders the branch. The system of the present invention generates code on demand and requires little hardware resources.
[0010]
Further, the systems and methods of the present invention can be adapted to generate Hadamard sequences.
BEST MODE FOR CARRYING OUT THE INVENTION
[0011]
The presently preferred embodiment will be described with reference to the drawings. In the figures, like elements are indicated by like reference numerals. In addition, a preferred embodiment of the present invention will be described with reference to generating OVSF and Hadamard codes. However, it will be apparent to those skilled in the art that the same principles can be applied to other code sequences, and the invention is not limited to only the example embodiments described herein.
[0012]
Referring to FIG. FIG. 2 shows a system 10 for generating a pseudo-random sequence. The system 10 includes a bit position counter 12, a multiplexer 14, a spreading factor selector 16, a bit-by-bit AND gate 18, an index selector 20, and an XOR gate 22. Counter 12 is a free-running binary counter whose output is provided to a first input of a multiplexer 14. The counter 12 is initialized to 0 and operates "freely" when the desired OVSF code is generated. Code generation is repeated as many times as necessary to spread the data. Each time code is generated, a counter is initialized to zero. Alternatively, the counter 12 can be free-run, ignoring the unused most significant bits. This alternative is described in detail below.
[0013]
The spreading factor selector 16 provides an output to a second input terminal of the multiplexer 14, which identifies how many bits from the counter 12 are to be output. When generating the OSVF code, the multiplexer 14 reverses the order of the output bits so that the output bits are output in reverse order. This can be done by connecting the dashed lines inside the multiplexer 14 of FIGS. 3A and 3B.
[0014]
FIG. 2 will be described again. The index selector 20 outputs an index, that is, binary identification information of a “branch” of the code tree. For example, as shown in FIG. 1, if it is desirable that the spreading factor is 4, and if the third branch of the code tree is to be generated, the index selector 20 generates a 2-bit value representing a numerical value 2. Is output as a binary sequence of Similarly, if it is desired that the spreading factor is 8, and if one wishes to generate the fourth branch of the code tree, the index selector 20 uses a 3-bit binary sequence indicating the value 3 A certain 011 is output.
[0015]
The output of the index selector 20 and the output of the multiplexer 14 are ANDed by the bit-by-bit AND gate 18. The result of this AND operation is output to an XOR gate 22, which is actually an XOR "tree" with multiple XOR gates known to those skilled in the art.
[0016]
The system 10 according to the present invention is illustrated in detail in FIGS. 3A and 3B, wherein the system 10 is configured to differ functionally depending on the desired spreading factor. 3A and 3B, the multi-bit outputs C 1 to C N from the counter 12 and the multi-bit outputs I 1 to I M from the index selector 20 are shown. Referring to FIG. If the spreading factor is to be 4, the spreading factor selector 16 outputs from the multiplexer 14 only the desired bits from the first two bits “positions” C 1 and C 2 of the counter 12 to the AND gate 18. Bit positions C 3 -C N from counter 12 are essentially “zeroed out”, ie ignored. Each desired bit is fetched from the counter 12 in reverse order, and is ANDed with the desired bit from the index selector 20 by bit-by-bit. For example, the bit from the first bit position C 1 of the counter 12 is ANDed with the second bit I 2 from the index selector 20. The bit from the second bit position C 2 of the counter 12 is ANDed with the first bit I 1 from the index selector 20. Once the bits from all the desired bit positions of the counter 12 are ANDed bit by bit with the desired bits from the index selector 20, the AND gate 18 outputs the operation result to the XOR gate 22. . The output of XOR gate 22 is a code sequence having the desired bits. When the counter 12 is ordered, each bit of the code sequence is newly generated.
[0017]
The second example shown in FIG. 3B will be described. If it is desired that the spreading factor be 8, multiplexer 14 outputs the bits from the first through third bit positions C 1 , C 2 , and C 3 of counter 12 to AND gate 18. . The bit from the first bit position C 1 of the counter 12 is ANDed with the third bit I 3 from the index selector 20. Similarly, the bit from the second bit position C 2 of the counter 12 is ANDed with the second bit I 2 from the index selector 20. Finally, the bit from the third bit position C 3 from the counter 12 is ANDed with the first bit I 1 from the index selector 20. Once the bits from all the desired bit positions of the counter 12 are ANDed bit by bit with the desired bits from the index selector 20, the AND gate 18 outputs the calculation result to the XOR gate 22. I do. The output of the XOR gate 22 becomes the desired code sequence.
[0018]
The system 10 made in accordance with the present invention can be used to generate OVSF codes having a spreading factor of any length, but for simplicity, the example described above assumes that the spreading factor is 8 A case will be described. In this example, as shown in FIG. 4, a 3-bit spreading coefficient selector 16, a 3-bit counter 12 for ordering bits, a 3-input AND gate 18, and a 3-input XOR gate 22 are required. In this example, the following Tables 1 to 3 are also referred to.
[0019]
[Table 1]
Figure 2004524767
[0020]
[Table 2]
Figure 2004524767
[0021]
[Table 3]
Figure 2004524767
[0022]
In this example, the generated code sequence preferably has a spreading factor of 8 and comprises the seventh branch of the code tree marked with an asterisk in FIG. This is identified in FIG. 1 as C ch8,6 , ie, 1, -1, -1, -1,1, -1, -1, -1, -1. Since the desired spreading factor is 8, it can be seen from Table 1 that the desired number of bits is 3. Since the seventh branch of the code tree is generated, it can be seen from Table 2 that the index selector output is a sequence of 1, 1, 0 binary numbers. Next, the binary counter 12 orders the binary counts from 0 (0, 0, 0) to 7 (1, 1, 1), as shown in Table 3.
[0023]
The first bit of the sequence C ch, 8,6 is composed of a binary sequence 000 from the counter 12 (the inverted result is also 000) and a binary sequence 110 from the index selector 20. , Bit-by-bit AND operation. The bit obtained by the AND operation is subjected to an XOR operation, and 0 of the operation result is output. The second input 001 is inverted, and the resulting 100 and the binary sequence 110 from the index selector 20 are ANDed bit-by-bit, resulting in 100. The bit obtained by the AND operation is subjected to an XOR operation, and the obtained 1 is output. Similarly, the third input 010 is inverted, and the obtained 010 and the binary sequence 110 from the index selector 20 are ANDed bit-by-bit, and the obtained bit is XORed, This XOR operation result 1 is output. The fourth input 011 is inverted, and the obtained 110 and the binary sequence 110 from the index selector 20 are AND-operated bit-by-bit, and the obtained bit is XOR-operated. The result 0 is output. The fifth input 100 is inverted, and the obtained 0001 and the binary sequence 110 from the index selector 20 are AND-operated bit-by-bit, and the obtained bit is XOR-operated. The result 0 is output. The sixth input 101 is inverted, and the obtained 101 and the binary sequence 110 from the index selector 20 are AND-operated bit-by-bit, and the obtained bit is XOR-operated. The result 1 is output. The seventh input 110 is inverted, and the obtained 001 and the binary sequence 110 from the index selector 20 are AND-operated bit-by-bit, and the obtained bit is XOR-operated. The result 1 is output. Finally, the eighth input 111 is inverted and the resulting 111 and the binary sequence 110 from the index selector 20 are ANDed bit-by-bit, and the resulting bit is XORed, The XOR operation result 0 is output.
[0024]
This iterative process results in a sequence output of 0, 1, 1, 0, 0, 1, 1, 0 (note that the rightmost bit is generated first in time). Thereafter, these output values are mapped such that output 1 is -1 and output 0 is 1. Therefore, the sequences used for spreading are 1, -1, -1, 1, 1, -1, -1, 1. This is consistent with the seventh branch of the OSVF code tree shown in FIG.
[0025]
Note that the structure shown in FIG. 5 can be extended to any desired number of inputs. Alternatively, the system can be "expanded", as shown in FIG. 5, by which the unnecessary counter 12 and index selector 20 bits are essentially ignored. As shown in FIG. 5, since the required bits are four bits C 1 -C 4 , bits C 5 -C N are either prevented from passing through multiplexer 14 or zeroed out. In addition, only the desired bits C 1 -C 4 are reordered by multiplexer 14. Similarly, only bits I1-I4 are "processed" by the AND gate. This is because there is no input from the corresponding bit C 5 -C N, because other parts of the AND gate is zero-out. The output from XOR gate 22 becomes the bits of the desired code sequence.
[0026]
FIG. 6 shows a code tree of a Hadamard sequence. The code in this code tree is generated by an alternative embodiment of the present invention shown in FIG.
[0027]
FIG. 7 shows a system 100 for generating several types of pseudo-random sequences. As with the embodiment shown in FIG. 2, the system 100 includes a bit position counter 12, a multiplexer 14, a spreading factor selector 16, a bit-by-bit AND gate, an index selector 20, and an XOR gate 22. . However, this embodiment includes a mode switch 60 that switches between a first mode for generating an OVSF code and a second mode for generating a Hadamard code. When mode select switch 60 is in the first position, system 100 operates in the same manner as system 10 shown in FIG. 2, and multiplexer 14 reverses the bit order of the bits output from bit position counter 12. . On the other hand, when the mode selection switch 60 is in the second position, the multiplexer 14 directly passes the bits output from the bit position counter 12 to the bit-by-bit AND gate 18 without changing the order. This is shown in FIG. In FIG. 8, the dashed lines in the multiplexer 14 indicate that the bits pass through the multiplexer 14 without reordering.
[0028]
An example of generating a Hadamard code will be described with reference to FIG. In this example, the generated code sequence preferably has a spreading factor of 8 and comprises the fourth branch of the code tree marked with an asterisk in FIG. This sequence is illustrated as 0, 1, 1, 0, 0, 1, 1, 0 in FIG. Since the desired spreading factor is 8, it can be seen from Table 1 that the desired number of bits is 3. Since the fourth branch of the code tree is generated, it can be seen that the output of the index selector is a binary sequence of 0, 1, 1 as shown in Table 2. Next, the binary counter 12 orders the binary counts from 0 (0, 0, 0) to 7 (1, 1, 1) as shown in Table 3.
[0029]
The processes of the AND operation and the XOR operation are the same as those described for the generation of the OVSF code, except that the bit from the counter 12 is not inverted. Then, the output from the system 100 will be 0, 1, 1, 0, 1, 1, 0. This exactly matches the fourth branch of the pre-structure of the Hadamard code shown in FIG. The output from system 100 can optionally map output 1 to -1 and output 0 to 1.
[0030]
FIG. 9 shows a second alternative of a system 200 for generating several types of pseudo-random sequences. The system 200 includes an index selector 20, a bit-by-bit AND gate 18, and an XOR 22. However, the bit position counter 12, the multiplexer 14, and the spreading factor selector 16 have been replaced with a value generator 202 and a selector 204. The numerical value generator 202 stores numerical values in a predetermined sequence, for example, numerical values in Table 3, and sequentially outputs those numerical values. Therefore, can the numerical value generator 202 output the numerical values in Table 3 sequentially? Alternatively, a "reordered" sequence of the bits shown in Table 4 can be output. The selector 204 can select which bit sequence is output by the numerical value generator 202. In the case of the OVSF code, the first sequence is output, and in the case of the Hadamard code, the second sequence is output. In this embodiment, an additional memory needs to be used, but the capacity of the additional memory is smaller than that required when storing the entire pseudo random sequence code tree. In addition, although a pseudo random code having a spreading factor of 8 has been described in the present embodiment, a desired arbitrary sequence can be prestored in the numerical value generator 202.
[0031]
[Table 4]
Figure 2004524767
[0032]
Although the preferred embodiment of the present invention has been described above, it is obvious to those skilled in the art that other various modifications do not depart from the scope of the claims.
[Brief description of the drawings]
[0033]
FIG. 1 shows a code tree according to the prior art of an OVSF code.
FIG. 2 is a diagram illustrating a system for generating an OFSF code according to the present invention.
FIG. 3A is a diagram illustrating a system that generates an OVSF code when a spreading factor is four;
FIG. 3B is a diagram showing a system that generates an OVSF code when a spreading factor is 8.
FIG. 4 is a diagram illustrating generation of a seventh code of an OVSF code tree when a spreading factor is 8.
FIG. 5 is a diagram showing the expandability of the structure.
FIG. 6 is a diagram showing a conventional code tree of Hadamard code.
FIG. 7 illustrates an alternative embodiment of the present invention that generates both Hadamard code and OVSF code.
FIG. 8 is a diagram illustrating generation of a fourth code of the Hadamard code when the diffusion coefficient is 8.
FIG. 9 illustrates a second alternative embodiment of the present invention for generating a pseudo-random code.

Claims (12)

OVSFコードを生成するシステムにおいて、
シーケンシャルなMビットの2進数である2進数カウント値を出力する2進カウンタと、
前記2進数カウント値のビット順を最下位ビットから最上位ビットの順に選択的に順序変更する順序変更手段と、
前記OVSFコードのMビットの2進数識別情報を出力するインデックスセレクタと、
前記2進カウンタからの第1の入力と、前記インデックスセレクタからの第2の入力と、出力とを有する論理簡約手段であって、前記出力から所望のOVSFコードを出力する論理簡約手段と
を備えたことを特徴とするシステム。
In a system for generating an OVSF code,
A binary counter that outputs a binary count value that is a sequential M-bit binary number;
Order changing means for selectively changing the bit order of the binary count value from the least significant bit to the most significant bit;
An index selector that outputs M-bit binary identification information of the OVSF code;
Logic reduction means having a first input from the binary counter, a second input from the index selector, and an output, the logic reduction means outputting a desired OVSF code from the output. A system characterized in that:
Mビットよりなる2進数コードを生成するコードジェネレータにおいて、
Mビットのカウント値であって順次に1づつインクリメントしたカウント値を並列に出力するカウンタと、
Mビットのコード識別子を並列に出力するインデックスセレクタと、
出力と、前記カウンタから出力されたカウント値である第1の入力と、前記インデックスセレクタからの出力されたコード識別子である第2の入力と、をそれぞれ有するM個の論理ゲートの並列アレイと、
前記Mビットのコード識別子によって識別される2進数コードが、2M回の反復後に、生成されるように、前記カウンタから前記Mビットのカウント値が前記論理ゲートの並列アレイに入力されるたびに、単一のコードビットを出力するように前記論理ゲートの並列アレイの出力に関連付けした論理ゲートの簡約網と
を備えたことを特徴とするコードジェネレータ。
In a code generator for generating a binary code consisting of 2 M bits,
A counter for outputting in parallel a count value of M bits which is sequentially incremented by one;
An index selector that outputs M-bit code identifiers in parallel,
A parallel array of M logic gates each having an output, a first input that is a count value output from the counter, and a second input that is a code identifier output from the index selector;
Each time the M-bit count value is input from the counter to the parallel array of logic gates, such that a binary code identified by the M-bit code identifier is generated after 2 M iterations. And a reduction network of logic gates associated with the output of the parallel array of logic gates to output a single code bit.
請求項2において、前記カウンタの出力に結合したビット順序変更手段であり、Mビットのカウント値を受け取るビット順序変更手段であって、前記Mビットのカウント値を最下位ビットから最上位ビットの順に順序付けし、最上位ビットから最下位ビットの順に順序変更するビット順序変更手段をさらに備えたことを特徴とするコードジェネレータ。3. A bit order changing means coupled to an output of said counter, said bit order changing means receiving an M-bit count value, wherein said M-bit count value is changed from a least significant bit to a most significant bit. A code generator further comprising bit order changing means for ordering and changing the order from the most significant bit to the least significant bit. 所望の疑似ランダムコードを生成するシステムにおいて、
Mビットのシリアルな2進数を複数出力する2進カウンタと、
前記所望の疑似ランダムコードのMビットのコード識別子を出力するインデックスセレクタと、
前記2進カウンタからの第1の入力と、前記インデックスセレクタからの第2の入力と、出力とをそれぞれ有する少なくともM個の論理ゲートと、
前記論理ゲートの出力をXOR演算し、これにより前記所望の疑似ランダムコードを出力するXORツリーと
を備えたことを特徴とするシステム。
In a system for generating a desired pseudo-random code,
A binary counter that outputs a plurality of M-bit serial binary numbers,
An index selector that outputs an M-bit code identifier of the desired pseudo-random code;
At least M logic gates each having a first input from the binary counter, a second input from the index selector, and an output;
An XOR tree for performing an XOR operation on an output of the logic gate, thereby outputting the desired pseudo-random code.
請求項4において、前記2進カウントのビットを最下位ビットから最上位ビットの順になるように順序変更するビット順序変更手段をさらに備えたことを特徴とするシステム。5. The system according to claim 4, further comprising bit order changing means for changing the order of the bits of the binary count from the least significant bit to the most significant bit. Mビットの2進コードをN個有する2進コードのセットに含まれる2進コードを生成するコードジェネレータであって、
Mビットの2進数を順次に1づつインクリメントして出力するカウンタと、
Mビットのコードを出力するインデックスセレクタと、
前記カウンタからの第1の入力と、前記インデックスセレクタからの第2の入力と、出力とを有する論理ゲートアレイと、
前記論理ゲートアレイの出力に関連付けした論理ゲートの簡約網であって、前記Mビットのコード識別子によって識別される2進数コードが、2M回の反復後に、生成されるように、前記カウンタから前記Mビットのカウント値が前記論理ゲートアレイに入力されるたびに、単一のコードビットを出力する論理ゲートの簡約網と
を備えたことを特徴とするコードジェネレータ。
A code generator for generating a binary code included in a set of binary codes having N M-bit binary codes,
A counter for sequentially incrementing and outputting an M-bit binary number by one;
An index selector that outputs an M-bit code;
A logic gate array having a first input from the counter, a second input from the index selector, and an output;
A reduction network of logic gates associated with an output of the logic gate array, wherein the binary code identified by the M-bit code identifier is generated from the counter such that the binary code is generated after 2 M iterations. A logic gate reduction network for outputting a single code bit each time an M-bit count value is input to the logic gate array.
請求項6において、前記カウンタの出力に結合したビット順序変更手段であり、最下位ビットから最上位ビットの順に順序付けしたビットを有するMビットの2進数を受け取るビット順序変更手段であって、最上位ビットから最下位ビットの順に前記ビットを順序変更するビット順序変更手段をさらに備えたことを特徴とするコードジェネレータ。7. The bit order changing means according to claim 6, wherein said bit order changing means is coupled to an output of said counter and receives an M-bit binary number having bits ordered from the least significant bit to the most significant bit. A code generator further comprising bit order changing means for changing the order of the bits from a bit to a least significant bit. 請求項7において、前記ビット順序変更手段に接続したスイッチであり、該スイッチが第1のポジションに位置するとき、前記ビット順序変更手段を前記カウンタの出力に接続して、前記2進数のビットの順序変更を行い、前記スイッチが第2のポジションに位置するとき、前記ビット順序変更手段を前記カウンタの出力から切断して、前記2進数のビットの順序変更を行わないようにするためのスイッチを備えたことを特徴とするコードジェネレータ。8. The switch according to claim 7, wherein the switch is connected to the bit order changing means, and when the switch is located at the first position, the bit order changing means is connected to an output of the counter to change the bit of the binary number. When the order is changed and the switch is located at the second position, the bit order changing means is disconnected from the output of the counter, and a switch for preventing the order of the binary bits from being changed. A code generator characterized by comprising: 所望の疑似ランダムコードを生成するシステムにおいて、
Mビットの2進数を備えた2進数カウント値を出力する2進数ジェネレータと、
前記所望の疑似ランダムコードのMビットの2進識別情報を出力するインデックスセレクタと、
前記カウンタからの第1の入力と、前記インデックスセレクタからの第2の入力とを有し、前記所望の疑似ランダムコードが出力される出力を有する論理簡約手段と
を備えたことを特徴とするシステム。
In a system for generating a desired pseudo-random code,
A binary number generator that outputs a binary count value with an M-bit binary number;
An index selector for outputting M-bit binary identification information of the desired pseudo-random code;
Logic reducing means having a first input from the counter and a second input from the index selector and having an output from which the desired pseudo-random code is output. .
Mビットの2進数コードのセットに含まれる2進コードを生成するコードジェネレータにおいて、
2進数の予め定めたシーケンスに含まれるMビットの2進数を出力する2進数ジェネレータと、
Mビットのコード識別子を出力するインデックスセレクタと、
出力と、前記2進数のうちの1ビットである第1の入力と、前記コード識別子のうちの1ビットである第2の入力とをそれぞれ有するM個の論理ゲートの並列アレイと、
前記M個の論理ゲートの並列アレイの出力に関連付けした論理ゲートの簡約網であって、前記Mビットのコード識別子によって識別される2進コードが、2M回の反復後に、生成されるように、2進数が前記M個の論理ゲートアレイの並列アレイに入力されるたびに、単一のコードビットを出力する論理ゲートの簡約網と
を備えたことを特徴とするコードジェネレータ。
In a code generator for generating a binary code included in a set of 2 M- bit binary codes,
A binary number generator that outputs an M-bit binary number included in a predetermined sequence of binary numbers;
An index selector that outputs an M-bit code identifier;
A parallel array of M logic gates each having an output, a first input that is one bit of the binary number, and a second input that is one bit of the code identifier;
A reduction network of logic gates associated with an output of the parallel array of M logic gates, wherein a binary code identified by the M-bit code identifier is generated after 2 M iterations. A logic gate reduction network that outputs a single code bit each time a binary number is input to the parallel array of M logic gate arrays.
請求項10に記載のコードジェネレータにおいて、前記所定のシーケンスは2進数のシーケンスであり、各2進数が前の2進数より1ビットずつ増分されることを特徴とするコードジェネレータ。11. The code generator according to claim 10, wherein the predetermined sequence is a sequence of binary numbers, each binary number being incremented by one bit from a previous binary number. 所望のOVSFコードを生成するシステムにおいて、
Mビットの2進数の予め定めたシーケンスを出力する2進数ジェネレータと、
前記所望のOVSFコードのMビットのコード識別子を出力するインデックスセレクタと、
前記2進数ジェネレータからの第1の入力と、前記インデックスセレクタからの第2の入力と、出力とをそれぞれ有する少なくともM個の論理ゲートと、
前記出力をXOR演算し、これにより前記所望のOVSFコードを出力するXORツリーと
を備えたことを特徴とするシステム。
In a system for generating a desired OVSF code,
A binary number generator for outputting a predetermined sequence of M-bit binary numbers;
An index selector that outputs an M-bit code identifier of the desired OVSF code;
At least M logic gates each having a first input from the binary number generator, a second input from the index selector, and an output;
An XOR tree for XORing the output, thereby outputting the desired OVSF code.
JP2002580589A 2001-04-06 2002-04-05 Pseudo random sequence generation system Expired - Fee Related JP3790514B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US28234901P 2001-04-06 2001-04-06
US4660101 2001-10-23
PCT/US2002/010798 WO2002082759A1 (en) 2001-04-06 2002-04-05 System for generating pseudorandom sequences

Publications (2)

Publication Number Publication Date
JP2004524767A true JP2004524767A (en) 2004-08-12
JP3790514B2 JP3790514B2 (en) 2006-06-28

Family

ID=32911574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002580589A Expired - Fee Related JP3790514B2 (en) 2001-04-06 2002-04-05 Pseudo random sequence generation system

Country Status (1)

Country Link
JP (1) JP3790514B2 (en)

Also Published As

Publication number Publication date
JP3790514B2 (en) 2006-06-28

Similar Documents

Publication Publication Date Title
AU2002258723B2 (en) System for generating pseudorandom sequences
AU2002258723A1 (en) System for generating pseudorandom sequences
US20080294710A1 (en) Extending a Repetition Period of a Random Sequence
JPH11265276A (en) Phase shift coefficient calculation system for m sequence
Fúster-Sabater Generation of cryptographic sequences by means of difference equations
Das et al. A novel multiplier-free generator for complete complementary codes
JP3790514B2 (en) Pseudo random sequence generation system
EP0878932B1 (en) Circuit and method for arbitrarily shifting M-sequence
JPH11177529A (en) Hadamard code generating circuit
CN110247754B (en) Method and device for realizing block cipher FBC
AU2005203604B2 (en) Method and system for generating pseudorandom sequences
US7729235B2 (en) Method and apparatus for OVSF code generation
KR101459044B1 (en) Apparatus and Method for Efficiently Generating OVSF Code using 2-Stage Scheme in Wireless Communication System
Das et al. New Optimal $ Z $-Complementary Code Sets from Matrices of Polynomials
KR19990075977A (en) Data scrambling circuit
Zeng et al. Sequences with good correlation property based on depth and interleaving techniques
US7839762B2 (en) Method and apparatus for vector based walsh code bit sequence generation
AU2007251903A1 (en) System for generating pseudorandom sequences
Blackburn Increasing the Rate of Output of m-Sequences
JP2000278099A (en) M-sequencies generating circuit and pn code generating circuit

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060126

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: 20060303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060331

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: 20090407

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120407

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120407

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140407

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees