(57)【特許請求の範囲】
【請求項１】
符号生成器のガロア形線形フィードバック・シフトレジスタを、単位状態から既知のオフセットにある目標状態に更新する方法であって、
前記オフセットを示す二進オフセット数を生成するステップ（３０２）と、
前記二進オフセット数のビットの数を示すカウンタを生成するステップ（３０４）と、
前記単位状態によって一時的状態を初期化するステップ（３０６）と、
前記カウンタ値が０より大きい限り、前記一時的状態をそれ自体で乗算するためガロア体乗算を適用するステップ（３１０）、前記カウンタによって示される前記二進オフセット数のビットの値が１である場合前記一時的状態を前記現在の一時的状態から１状態先にシフトするステップ（３１２）、および前記カウンタ値を１減らすステップ（３１４）を反復するステップ（３０８）と、
最後に、前記カウンタが０の値に達した時、前記一時的状態を前記目標状態として設定するステップ（３１６）と、
を有し、第１状態と第２状態の間の前記ガロア体乗算が、
前記第１状態の最下位ビットに対応する要素の値が１である場合（３８２）、前記第２状態が結果状態に配置され（３８４）、そうでない場合０が前記結果状態に配置される（３８６）ステップと、
前記最下位ビットに対応する要素に続く要素から開始して、前記第２状態のフィードバック・シフトレジスタを１状態先にシフトするステップ（３８８）、および処理すべき前記第１状態要素の値が１である場合、前記結果状態と前記第２状態の間でガロア体加算を行い、前記加算の結果として得られた状態を前記結果状態として配置するステップ（３９０）を各第１状態要素に対して順に反復するステップ（３９２）と
によって行われることを特徴とする方法。
【請求項２】
符号生成器のガロア形線形フィードバック・シフトレジスタを、既知の現在の状態から既知のオフセットにある新しい状態に更新する方法であって、
前記オフセットを示す二進オフセット数を生成するステップ（３５２）と、
前記二進オフセット数中のビットの数を示すカウンタを生成するステップ（３５４）と、
単位状態によって一時的状態を初期化するステップ（３５６）と、
前記カウンタの値が０より大きい限り、前記一時的状態をそれ自体で乗算するためガロア体乗算を適用するステップ（３０６）、前記カウンタによって示される前記二進オフセット数のビットの値が１である場合前記一時的状態を前記現在の一時的状態から１状態先にシフトするステップ（３６２）、および前記カウンタ値を１だけ減らすステップ（３６４）を反復するステップ（３５８）と、
最後に、前記カウンタが０の値に達した時、前記一時的状態と前記現在の状態の間でガロア体乗算を行うステップ（３６６）と、前記乗算の結果として得られた状態を前記新しい状態として設定するステップ（３６８）と、
を有し、第１状態と第２状態の間の前記ガロア体乗算が、
前記第１状態の最下位ビットに対応する要素の値が１である場合（３８２）、前記第２状態が結果状態に配置され（３８４）、そうでない場合０が前記結果状態に配置される（３８６）ステップと、
前記最下位ビットに対応する要素に続く要素から開始して、前記第２状態のフィードバック・シフトレジスタを１状態先にシフトするステップ（３８８）、および処理すべき前記第１状態要素の値が１である場合、前記結果状態と前記第２状態の間でガロア体加算を行い、前記加算の結果として得られた状態を前記結果状態として配置するステップ（３９０）を各第１状態要素に対して順に反復するステップ（３９２）と
によって行われることを特徴とする方法。
【請求項３】
符号生成器のフィボナッチ形線形フィードバック・シフトレジスタを、既知の現在の状態から既知のオフセットにある新しい状態に更新する方法であって、
前記オフセットを示す二進オフセット数を生成するステップ（３５２）と、
前記二進オフセット数中のビットの数を示すカウンタを生成するステップ（３５４）と、
単位状態によってガロア形一時的状態を初期化するステップ（３５６）と、
前記カウンタの値が０より大きい限り、前記一時的状態をそれ自体で乗算するためガロア体乗算を適用するステップ（３６０）、前記カウンタによって示される前記二進オフセット数のビットの値が１である場合前記一時的状態を前記現在の一時的状態から１状態先にシフトするステップ（３６２）、および前記カウンタ値を１だけ減らすステップ（３６２）を反復するステップ（３５８）と、
最後に、前記カウンタが０の値に達した時、前記ガロア形一時的状態と前記フィボナッチ形現在の状態の間でガロア体乗算を行うステップ（３６６）と、前記乗算の結果として得られた状態を前記フィボナッチ形の前記新しい状態として設定するステップ（３６８）と
を特徴とする方法。
【請求項４】
前記ガロア体加算がＸＯＲ演算を適用することで実行されることを特徴とする、請求項１または２に記載の方法。
【請求項５】
前記ガロア形状態と前記フィボナッチ形状態の間の前記ガロア体乗算が、
前記ガロア形状態によって前記一時的状態を初期化するステップ（３３２）と、
前記一時的状態と前記フィボナッチ状態の間でＡＮＤ演算を行い、前記ＡＮＤ演算の結果として得られた全てのビットの間でＸＯＲ演算を行い、前記ＸＯＲ演算の結果として得られたビットを一番右の、まだ計算されていない要素として前記結果状態に配置するステップ（３３４）と、
前記結果状態中の全ての要素が計算済みである場合（３３６）、前記乗算処理を完了し（３４０）、そうでない場合前記一時的状態を次のガロア形状態にシフトし（３３８）、前記第２処理ステップ（３３４）から前記乗算を継続するステップと
によって行われることを特徴とする、請求項３に記載の方法。
【請求項６】
前記線形フィードバック・シフトレジスタによって生成される符号が、符号分割多元接続を利用する無線システムの符号であることを特徴とする、請求項１、請求項２または請求項３の何れか１項に記載の方法。
【請求項７】
無線システムにおける符号生成器であって、
符号生成器のガロア形線形フィードバック・シフトレジスタの単位状態から目標状態への既知のオフセットを示す二進オフセット数を生成する手段（２６４、２６６、２６８）と、
前記二進オフセット数のビットの数を示すカウンタを生成する手段（２６４、２６６、２６８）と、
前記単位状態によって一時的状態を初期化する手段（２６４、２６６、２６８）と、
前記カウンタ値が０より大きい限り以下の手段、前記一時的状態をそれ自体で乗算するためガロア体乗算を適用する手段（２６４、２６６、２６８）、前記カウンタによって示される前記二進オフセット数のビットの値が１である場合前記一時的状態を前記現在の一時的状態から１状態先にシフトする手段（２６４、２６６、２６８）、および前記カウンタ値を１だけ減らす手段（２６４、２６６、２６８）の動作を反復する手段（２６４、２６６、２６８）と、
最後に、前記カウンタが０の値に達した時前記一時的状態を前記目標状態として設定する手段（２６４、２６６、２６８）と、
を備え、第１状態と第２状態の間で前記ガロア体乗算を行う前記手段（２６４、２６６、２６８）が、
前記第１状態の最下位ビットに対応する要素の値が１である場合前記第２状態を結果状態に配置し、そうでない場合０を前記結果状態に配置する手段（２６４、２６６、２６８）と、
前記最下位ビットに対応する要素に続く要素から開始される各第１状態要素について以下の手段、前記第２状態のフィードバック・シフトレジスタを１状態先にシフトする手段（２６４、２６６、２６８）、および処理すべき前記第１状態要素の値が１である場合、前記結果状態と前記第２状態の間でガロア体加算を行い、前記加算の結果として得られた状態を前記結果状態に配置する手段（２６４、２６６、２６８）の動作を反復する手段（２６４、２６６、２６８）と、
を含む
ことを特徴とする符号生成器。
【請求項８】
無線システムにおける符号生成器であって、
ガロア形線形フィードバック・シフトレジスタの既知の現在の状態から新しい状態への既知のオフセットを示す二進オフセット数を生成する手段（２６４、２６６、２６８）と、
前記二進オフセット数のビットの数を示すカウンタを生成する手段（２６４、２６６、２６８）と、
単位状態によって一時的状態を初期化する手段（２６４、２６６、２６８）と、
前記カウンタ値が０より大きい限り以下の手段、前記一時的状態をそれ自体で乗算するためガロア体乗算を適用する手段（２６４、２６６、２６８）、前記カウンタによって示される前記二進オフセット数のビットの値が１である場合前記一時的状態を前記現在の一時的状態から１状態先にシフトする手段（２６４、２６６、２６８）、および前記カウンタ値を１だけ減らす手段（２６４、２６６、２６８）の動作を反復する手段（２６４、２６６、２６８）と、
前記カウンタが０の値に達した時、前記ガロア体乗算を適用することで前記一時的状態と前記現在の状態を乗算し、前記乗算の結果として得られた状態を前記新しい状態として設定する手段（２６４、２６６、２６８）と、
を備え、第１状態と第２状態の間で前記ガロア体乗算を行う前記手段（２６４、２６６、２６８）が、
前記第１状態の最下位ビットに対応する要素の値が１である場合前記第２状態を結果状態に配置し、そうでない場合０を前記結果状態に配置する手段（２６４、２６６、２６８）と、
前記最下位ビットに対応する要素に続く要素から開始される各第１状態要素について以下の手段、前記第２状態のフィードバック・シフトレジスタを１状態先にシフトする手段（２６４、２６６、２６８）、および処理すべき前記第１状態要素の値が１である場合、前記結果状態と前記第２状態の間でガロア体加算を行い、前記加算の結果として得られた状態を前記結果状態に配置する手段（２６４、２６６、２６８）の動作を反復する手段（２６４、２６６、２６８）と、
を含むことを特徴とする符号生成器。
【請求項９】
無線システムにおける符号生成器であって、
フィボナッチ形線形フィードバック・シフトレジスタの既知の現在の状態から新しい状態への既知のオフセットを示す二進オフセット数を生成する手段（２６４、２６６、２６８）と、
前記二進オフセット数のビットの数を示すカウンタを生成する手段（２６４、２６６、２６８）と、
単位状態によってガロア形一時的状態を初期化する手段（２６４、２６６、２６８）と、
前記カウンタ値が０より大きい限り以下の手段、前記一時的状態をそれ自体で乗算するためガロア体乗算を適用する手段（２６４、２６６、２６８）、前記カウンタによって示される前記二進オフセット数の値が１である場合前記一時的状態を前記現在の一時的状態から１状態先にシフトする手段（２６４、２６６、２６８）、および前記カウンタ値を１だけ減らす手段（２６４、２６６、２６８）の動作を反復する手段（２６４、２６６、２６８）と、
前記カウンタが０の値に達した時、前記ガロア体乗算を適用することで前記ガロア形一時的状態と前記フィボナッチ形現在の状態を乗算し、前記乗算の結果として得られた状態を前記フィボナッチ形の前記新しい状態として設定する手段（２６４、２６６、２６８）と
を備えることを特徴とする符号生成器。
【請求項１０】
ガロア体加算を行う前記手段（２６４、２６６、２６８）がＸＯＲ演算を使用することを特徴とする、請求項７または８に記載の符号生成器。
【請求項１１】
ガロア形状態とフィボナッチ形状態の間でガロア体乗算を行う前記手段（２６４、２６６、２６８）が、
ガロア形状態によって一時的状態を初期化する手段（２６４、２６６、２６８）と、
前記一時的状態と前記フィボナッチ形状態の間でＡＮＤ演算を行い、前記ＡＮＤ演算の結果として得られた全てのビットの間でＸＯＲ演算を行い、前記ＸＯＲ演算の結果として得られたビットを一番右の、まだ計算されていない要素として前記結果状態に配置する計算手段（２６４、２６６、２６８）と、
全ての結果状態要素が計算済みである場合前記乗算処理（３３６）を完了する手段（２６４、２６６、２６８）と、
全ての結果状態要素が計算済みでない場合、前記一時的状態を次のガロア形状態にシフトし、前記計算手段（２６４、２６６、２６８）を利用することで前記乗算処理を継続する手段（２６４、２６６、２６８）と
を備えることを特徴とする、請求項９に記載の符号生成器。
【請求項１２】
前記無線システムが、符号分割多元接続を利用する無線システムであることを特徴とする、請求項７、請求項８または請求項９の何れか１項に記載の符号生成器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号生成器の線形フィードバック・シフトレジスタを更新する方法と、その方法を使用する符号生成器に関する。「符号」という術語は、例えば、符号分割多元接続（ＣＤＭＡ）を利用する無線システムの拡散符号またはスクランブル符号といった、無線システムで使用される疑似雑音系列、または（例えば暗号化システムで使用される）別の符号を指す。
【０００２】
【従来の技術】
符号分割多元接続を利用する無線システムでは、無線資源は符号分割によって複数の異なったユーザ間で分割される。各ユーザのペイロードは、ペイロードに拡散符号を乗算することで広い周波数帯域（例えば５メガヘルツ）に拡散される。受信機は、受信された信号を使用された拡散符号で乗算することで受信したい信号を分離することができる。拡散符号の部分はチップと呼ばれ、実際それらは複数ビットである。チップ値は０と１によって表されるか、または１と−１によって実数として表される。チップ・レートは典型的には、ペイロード・レートより、非常に高速で、例えば数百倍以上もある。
【０００３】
拡散符号に加えて、スクランブル符号として知られる符号が使用される。それは必ずしも信号をさらに拡散するために使用されるのではなく、信号中の各ビットを対応するスクランブル符号ビットで乗算することで拡散信号のビットにスクランブルをかけるために使用される。スクランブル符号は極めて長いことがあり、例えば２41−１チップである。
【０００４】
使用される拡散符号は典型的には互いにできる限り直交している。拡散符号は例えばアダマール行列から得られる。アダマール行列Ｍn は、任意の行列の行が他の行列の行と正確にｎ／２の位置で異なるようなやり方で、０と１から構成されたｎ×ｎ行列（ｎは偶数の整数）である。その結果、１つの行列の行は０だけを含み、残りの行は等しい数の０と１から構成される。ｎ＝２の時、次のアダマール行列が得られる。
【０００５】
【数１】
0004510219.tif 000002
【０００６】
アダマール行列Ｍ2nは、次の関係によってアダマール行列Ｍn から生成される。
【０００７】
【数２】
0004510219.tif 000003
【０００８】
ここで行列 cＭn は行列Ｍn の補数であり、すなわち０が１で置換され、１が０で置換されている。すなわち、行列１は次の行列を提供する。
【０００９】
【数３】
0004510219.tif 000004
【００１０】
さらに、行列３は次の行列を提供する。
【００１１】
【数４】
0004510219.tif 000005
【００１２】
上記で説明されたアダマール行列の要素、すなわち０と１が１と−１で表されるならば、アダマール行列中の行は互いに直交する。望ましい場合、値を逆転する、すなわち、０を１で置換し１を０で置換することができるが、それによって行列の特性は変化しない。従って、行列１は次のような形式で示すこともできる。
【００１３】
【数５】
0004510219.tif 000006
【００１４】
各行列の行は１つの拡散符号を形成する。拡散符号の長さは望ましい拡散係数によって変化する。拡散符号は、例えば拡散符号の符号クラスと関連する符号クラス中のその序数を示すことで番号付けされる。符号クラスは次の等式によって得られる。すなわち、２の符号クラス乗は拡散符号の長さに等しい、別言すれば、符号クラスは拡散符号の長さの２を底とする対数である。すなわち、例えば行列４には、次の拡散符号（下付き数字は符号クラスを示し、かっこ内の数は序数である）が含まれる。
【００１５】
【数６】
0004510219.tif 000007
【００１６】
従来技術によれば、短い拡散符号は全て送受信機のメモリに保存される。例えばクラス８の符号の場合、これは２５６チップの２５６の異なった符号がメモリに保存されることを意味し、必要なメモリ空間は２５６×２５６ビット、すなわち加算６５５３６ビットとなる。保存された長い符号からもっと短い拡散符号を生成することができるので、低い符号クラスの拡散符号を別に保存する必要はない。
【００１７】
拡散符号は、例えば２41−１チップと、著しく長いことがある。ここで発生する技術的問題は、どうやって符号を実時間で生成するかということであるが、それは１つの同じ系列が典型的には使用され、異なった段階でその系列を使用するのは異なった送受信機だけだからである。理想的には生成される符号系列は完全な乱数であるべきだが、これは、送信機と受信機の両方が使用される符号系列を同じタイミング、すなわち位相を適用して生成しなければならないため現実的でない。
【００１８】
符号は符号生成器、例えば線形フィードバック・シフトレジスタを使用する生成器によって生成される。ＷＯ公報９６／３６１３７は、符号として使用される疑似雑音系列を提供するｍ系列（最大長系列）として知られるものを生成するために使用される線形フィードバック・シフトレジスタを説明しているが、この系列は、Ｎが線形フィードバック・シフトレジスタ中の要素の数を表す時２N −１の系列の後反復される。線形フィードバック・シフトレジスタでは初期状態は常に既知であるが、どうやって既知の初期状態から、既知のオフセットにある新しい未知の目標状態にシフトするかということから問題が生じる。上記の公報で説明された解決法では、各シフト、または少なくとも２の累乗に対応する各シフトに対応する変換行列が保存されるが、この変換行列は目標状態要素を提供するためには各初期状態要素をどのように変換する必要があるかを示す。その結果、例えば２41−１チップの拡散符号のために保存されるビットの量は４１×４１×４１ビット（２の様々な累乗の数×線形フィードバック・シフトレジスタ要素の数×線形フィードバック・シフトレジスタの長さ）、すなわち加算６８９２１ビットである。
【００１９】
米国特許第５，８３５，５２８号は既知の現在の状態から既知のオフセットにある新しい状態に更新する方法を開示している。この解決法は更新のために使用される事前に計算された状態を保存する必要がある。この解決法は前もって計算された状態を保存するためのメモリを必要とし、更新できるのはこの状態によって決定されたオフセットにある状態だけである。
【００２０】
【発明が解決しようとする課題】
本発明の目的は、線形フィードバック・シフトレジスタを更新する方法を提供することであるが、その際本方法はごく少量のメモリを利用し効率的な計算を提供する。
【００２１】
【課題を解決するための手段】
これは、符号生成器のガロア形線形フィードバック・シフトレジスタを単位状態から既知のオフセットにある目標状態に更新する方法によって達成される。本方法は、オフセットを示す二進オフセット数を生成するステップと、二進オフセット数のビットの数を示すカウンタを生成するステップと、単位状態によって一時的状態を初期化するステップと、カウンタ値が０より大きい限り、（１）一時的状態をそれ自体で乗算するためガロア体乗算を適用するステップ、（２）カウンタによって示される二進オフセット数のビットの値が１である場合一時的状態を現在の一時的状態から１状態先にシフトするステップ、および（３）カウンタ値を１減らすステップを反復するステップと、最後に、カウンタが０の値に達した時、一時的状態を目標状態として設定するステップとを含む。
【００２２】
本発明はまた、符号生成器のガロア形線形フィードバック・シフトレジスタを、既知の現在の状態から既知のオフセットにある新しい状態に更新する方法に関する。本方法は、オフセットを示す二進オフセット数を生成するステップと、二進オフセット数中のビットの数を示すカウンタを生成するステップと、単位状態によって一時的状態を初期化するステップと、カウンタ値が０より大きい限り、（１）一時的状態をそれ自体で乗算するためガロア体乗算を適用するステップ、（２）カウンタによって示される二進オフセット数のビットの値が１である場合一時的状態を現在の一時的状態から１状態先にシフトするステップ、および（３）カウンタ値を１減らすステップを反復するステップと、最後に、カウンタが０の値に達した時一時的状態と現在の状態の間でガロア体乗算を行うステップと、乗算の結果として得られた状態を新しい状態として設定するステップとを含む。
【００２３】
本発明はさらに、符号生成器のフィボナッチ形（Ｆｉｂｏｎａｃｃｉ−ｔｙｐｅ）線形フィードバック・シフトレジスタを、既知の現在の状態から既知のオフセットにある新しい状態に更新する方法に関する。この方法は、オフセットを示す二進オフセット数を生成するステップと、二進オフセット数のビットの数を示すカウンタを生成するステップと、単位状態によってガロア形一時的状態を初期化するステップと、カウンタ値が０より大きい限り、（１）一時的状態をそれ自体で乗算するためガロア体乗算を適用するステップ、（２）カウンタによって示される二進オフセット数のビットの値が１である場合一時的状態を現在の一時的状態から１状態先にシフトするステップ、および（３）カウンタ値を１減らすステップを反復するステップと、最後に、カウンタが０の値に達した時ガロア形一時的状態とフィボナッチ形現在の状態の間でガロア体乗算を行うステップと、乗算の結果として得られた状態をフィボナッチ形の新しい状態として設定するステップとを含む。
【００２４】
本発明はまたさらに、無線システムにおける符号生成器に関するが、この符号生成器は、ガロア形線形フィードバック・シフトレジスタの単位状態から目標状態への既知のオフセットを示す二進オフセット数を生成する手段と、二進オフセット数中のビットの数を示すカウンタを生成する手段と、単位状態によって一時的状態を初期化する手段と、カウンタ値が０より大きい限り以下の手段、（１）一時的状態をそれ自体で乗算するためガロア体乗算を適用する手段、（２）カウンタによって示される二進オフセット数のビットの値が１である場合一時的状態を現在の一時的状態から１状態先にシフトする手段、および（３）カウンタ値を１減らす手段の動作を反復する手段と、最後に、カウンタが０の値に達した時一時的状態を目標状態として設定する手段とを備えている。
【００２５】
本発明はまた、無線システムにおける符号生成器に関するが、この符号生成器は、符号生成器のガロア形線形フィードバック・シフトレジスタの既知の現在の状態から新しい状態への既知のオフセットを示す二進オフセット数を生成する手段と、二進オフセット数のビットの数を示すカウンタを生成する手段と、単位状態によって一時的状態を初期化する手段と、カウンタ値が０より大きい限り以下の手段、（１）一時的状態をそれ自体で乗算するためガロア体乗算を適用する手段、（２）カウンタによって示される二進オフセット数ビットの値が１である場合、一時的状態を現在の一時的状態から１状態先にシフトする手段、および（３）カウンタ値を１減らす手段の動作を反復する手段と、ガロア体乗算を適用することで一時的状態と現在の状態を乗算し、カウンタが０の値に達した時乗算の結果として得られた状態を新しい状態として設定する手段とを備えている。
【００２６】
本発明はまたさらに、無線システムにおける符号生成器に関するが、この符号生成器は、フィボナッチ形線形フィードバック・シフトレジスタの既知の現在の状態から新しい状態への既知のオフセットを示す二進オフセット数を生成する手段と、二進オフセット数のビットの数を示すカウンタを生成する手段と、単位状態によってガロア形一時的状態を初期化する手段と、カウンタ値が０より大きい限り以下の手段、（１）一時的状態をそれ自体で乗算するためガロア体乗算を適用する手段、（２）カウンタによって示される二進オフセット数のビットの値が１である場合一時的状態を現在の一時的状態から１状態先にシフトする手段、および（３）カウンタ値を１減らす手段の動作を反復する手段と、ガロア体乗算を適用することでガロア形一時的状態とフィボナッチ形現在の状態を乗算し、カウンタが０の値に達した時乗算の結果として得られた状態をフィボナッチ形の新しい状態として設定する手段とを備えている。
【００２７】
従属請求項は本発明の好適実施形態に関する。
本発明は、フィードバック・シフトレジスタを処理する効率的な計算を提供するためにガロア体の数学的特性を利用することと、異なった種類のフィードバック・シフトレジスタ間の接続を考慮することに基づいている。
以下、本発明は好適実施形態に関連し、添付の図面を参照してより詳細に説明される。
【００２８】
【発明の実施の形態】
本発明は、線形フィードバック・シフトレジスタを使用して様々な種類の符号を発生する、符号分割多元接続（ＣＤＭＡ）を利用するような移動電話システムで使用される。以下の例では、本発明はユニバーサル移動電話システム（ＵＭＴＳ）で使用されるが、本発明をそれに限定しようとするものではない。
【００２９】
図１及び図２を参照すると、ユニバーサル移動電話システムの構成が説明される。図２は本発明の説明に必要なブロックだけを含むが、当業者には一般的な移動電話システムが他の機能と構造をも含むことが明らかであるので、それらを以下さらに詳細に論じる必要はない。移動電話システムの主要部分は、コア・ネットワークＣＮ、ＵＭＴＳ地上無線アクセス・ネットワークＵＴＲＡＮ及びユーザ機器ＵＥである。ＣＮとＵＴＲＡＮの間のインタフェースはＩｕインタフェースと呼ばれ、ＵＴＲＡＮとＵＥの間のインタフェースはＵｕインタフェースと呼ばれる。
【００３０】
ＵＴＲＡＮは無線ネットワーク・サブシステムＲＮＳから構成される。ＲＮＳ間のインタフェースはＩｕｒインタフェースと呼ばれる。ＲＮＳは無線ネットワーク制御装置ＲＮＣと１つかそれ以上のノードＢから構成される。ＲＮＣとノードＢの間のインタフェースはＩｕｂインタフェースと呼ばれる。ノードＢの受信範囲、すなわちセルは図２でＣによって示される。
【００３１】
図１の表示は非常に抽象的であるので、図２ではＵＭＴＳの部分に対応するＧＭＳシステムの部分を示すことで明らかにされる。ＵＭＴＳの様々な部分の責任と機能はまだ計画中であるので、表示された配置は決して拘束的なものではなく近似的なものであることが明らかである。
図２は、インターネット１０２を経由してコンピュータ１００から移動電話システムに接続され、ユーザ機器ＵＥに接続された携帯型コンピュータ１２２へ至るパケット交換伝送を示す。ユーザ機器ＵＥは、例えば固定設置型端末、車載型端末、またはハンドヘルド携帯型端末である。無線ネットワークＵＴＲＡＮのインフラストラクチャは無線ネットワーク・サブシステムＲＮＳ、すなわち基地局サブシステムから構成されている。無線ネットワーク・サブシステムＲＮＳは、無線ネットワーク制御装置ＲＮＣ、すなわち基地局制御装置と、ＲＮＣの制御下にある少なくとも１つのノードＢ、すなわち基地局から構成されている。
【００３２】
ノードＢは、多重化装置１１４、送受信機１１６と、多重化装置１１４及び送受信機１１６の動作を制御する制御ユニット１１８を備えている。多重化装置１１４は、伝送接続Ｉｕｂで複数の送受信機１１６が使用するトラフィックと制御チャネルを配置する。
ノードＢの送受信機１１４は、ユーザ機器ＵＥへの双方向無線接続Ｕｕを提供するために使用されるアンテナ・ユニット１２０への接続を有する。双方向無線接続Ｕｕ上で伝送されるフレームの構成が詳細に決定される。
【００３３】
無線ネットワーク制御装置ＲＮＣは、グループ交換フィールド１１０と制御ユニット１１２を備えている。グループ交換フィールド１１０は音声及びデータを交換しシグナリング回路を接続するために使用される。ノードＢと無線ネットワーク制御装置ＲＮＣは基地局サブシステムを形成するが、これはさらにトランスコーダ１０８を備えている。無線ネットワーク制御装置ＲＮＣとノードＢの機能と物理的構成の分割は実際の実現によって異なる。典型的には、ノードＢは上記で説明されたような無線経路を実現する。無線ネットワーク制御装置ＲＮＣは典型的には、無線資源管理、セル間ハンドオーバ制御、電力制御、タイミングと同期、及びユーザ機器のページングを管理する。
【００３４】
トランスコーダ１０８は普通、移動交換センタ１０６のできる限り近くに設置されるが、これはそうすることでトランスコーダ１０８と無線ネットワーク制御装置ＲＮＣの間で音声をセルラ無線ネットワーク形式で伝送することができ、伝送容量の節約になるからである。トランスコーダ１０８は、公衆交換電話ネットワークとセルラ無線ネットワークの間で使用される異なったデジタル音声符号化モードを変換し、例えば６４ｋビット／秒固定ネットワーク形式から別の形式（１３ｋビット／秒といった）のセルラ無線ネットワークへ、または逆の方向に互換可能とする。必要な機器はこの文脈ではより詳細には説明されないが、音声以外のデータはトランスコーダ１０８では変換されないことが示される。制御ユニット１１２は呼制御、移動管理、統計データ収集及び信号を実行する。
【００３５】
コア・ネットワークＣＮは、ＵＴＲＡＮの一部ではない移動電話システムに属するインフラストラクチャから構成されている。図２は、コア・ネットワークＣＮに属する２つの機器、すなわち移動交換センタ１０６と、外側の世界に向って、この例ではインターネット１０２の方向への移動電話システム・インタフェースを処理するゲートウェイ移動交換センタ１０４を示す。
【００３６】
ユーザ機器は、例えば携帯型移動電話、車載型電話、無線加入者端末またはコンピュータ一体型データ伝送機器である。
図３は、無線送信機／無線受信機の対の機能を示す。無線送信機はノードＢまたはユーザ機器ＵＥに配置される。それに対応して、無線受信機はユーザ機器ＵＥまたはノードＢに配置される。
【００３７】
図３の上部は無線送信機の必須の機能を示す。物理的チャネルに配置された様々なサービスには、音声、データ、動画または静止ビデオ画像、及びシステムの制御チャネルが含まれる。図は制御チャネルとデータの処理を示す。異なったサービスは異なった情報源符号化機器を必要とする。例えば音声は音声コデックを必要とする。しかし、わかりやすくするために、情報源符号化機器は図３では表示されていない。
【００３８】
制御チャネル２１４には、チャネル推定の際受信機によって使用されるパイロット・ビットも配置されている。データ・チャネルにはユーザ・データ２００が配置されている。
次に異なったチャネルはブロック２０２Ａ及び２０２Ｂで異なったチャネル符号化の対象になる。チャネル符号化には、巡回冗長検査ＣＲＣのような様々なブロック符号が含まれる。さらに、畳み込み符号化と、パンクチャード畳み込み符号化またはターボ符号化といったその様々な変形が典型的には使用される。しかし、パイロット・ビットは、チャネルが信号中に発生する歪みを発見することを目的とするためにチャネル符号化されない。
【００３９】
異なったチャネルはチャネル符号化された後、インタリーバ２０２Ａ、２０４Ｂでインタリーブされる。インタリーブは誤り訂正を容易とすることを目的とする。インタリーブの際、異なったサービスのビットはあらかじめ決められた方法で互いに混合されるので、無線経路上の瞬間的なフェージングは必ずしも転送される情報を識別不能にすることはない。次にインタリーブされたビットはブロック２０６Ａ、２０６Ｂで拡散符号を使用して拡散される。次に得られたチップはブロック２０８でスクランブル符号によってスクランブルをかけられ変調されるが、別個の信号はブロック２０８で結合され、１つの同じ送信機によって送信される。結合は例えば時分割多重化またはＩＱ（同相直交）多重化である。
【００４０】
最後に、結合された信号は、様々な電力増幅器と、帯域幅を制限するフィルタとを備える無線周波数部分２１０に伝えられる。送信電力制御で使用される閉ループ制御は、普通このブロックに配置された送信電力制御増幅器を制御する。次にアナログ無線信号はアンテナ２１２によって無線経路Ｕｕに送信される。
図３の下部は無線受信機の本質的な機能を示す。無線受信機は典型的にはＲＡＫＥ受信機である。アナログ無線周波数信号は無線経路Ｕｕ上を越えてアンテナ２３２によって受信される。信号は、望ましい周波数帯域外の周波数を阻止するフィルタを備える無線周波数部分２３０に転送される。
【００４１】
次に信号はブロック２２８で中間周波数か、または直接ベースバンドに変換され、この形式で信号はサンプリングされ量子化される。当該の信号はマルチパス伝播信号であるので、従来技術により、受信機の実際のＲＡＫＥフィンガを備えるブロック２２８では、異なった経路を通じて伝播した信号成分を結合することが目的である。すなわち、ブロック２２８で行われる動作は異なったチャネルの分離、スクランブル符号の復号化、逆拡散及び復調を含む。
【００４２】
次に得られたチャネルはデインタリーブ手段２２６Ａ、２２６Ｂでデインタリーブされる。チャネルは各々固有のチャネル復号化ブロック２２２Ａ、２２２Ｂに向けられ、そこで送信時に使用されたブロック符号化または畳み込み符号化といったチャネル符号化が復号化される。畳み込み符号化は好適にはビタビ復号器を使用することで復号化される。次に制御チャネル及びデータチャネル２３６、２２０は各々その後の必要な処理の対象になり、例えばデータ２２０はユーザ機器ＵＥに接続されたコンピュータ１２２に転送される。システムの制御チャネルは無線受信機の制御部分２３６に伝えられる。
【００４３】
図４は拡散符号によるチャネルの拡散とチャネルの変調をより詳細に示すが、図３に示される拡散にとって必須でない処理は省略されている。図では、チャネル・ビット・ストリーム２５０Ａが左から乗算器２５４Ａに入るが、そこではビット・ストリーム２５０Ａを拡散符号２５２Ａで乗算することで拡散が実行される。得られた拡散チャネルは搬送波２５６Ａによって伝送されるため乗算器２５８Ａで乗算される。それに対応して、受信側で受信される信号は搬送波２５６Ｂによって乗算器２５８Ｂで乗算される。受信され、復調された信号を、使用される拡散符号２５２Ｂと乗算器２５４Ｂで乗算することで逆拡散が実行される。受信ビット２５０Ｂが結果として得られるが、このビットはその後図３に示されるようにデインタリーブされ復号化される。
【００４４】
従来技術によれば、拡散符号生成器２６０Ａ、２６０Ｂは、拡散符号をメモリに保存することによってか、または各シフト、または少なくとも２の累乗に対応する各シフトに対応する変換行列をメモリに保存することによって実現されるが、この変換行列は、新しい状態の要素を得るためには各初期状態要素をどのように変換しなければならないかを示すものである。拡散符号の序数、または拡散符号の符号クラスといった、制御データ２６２Ａ、２６２Ｂに基づいて、望ましい短い拡散符号２５２Ａ、２５２Ｂがメモリからフェッチされるか、またはある特定のフエーズ（ｐｈａｓｅ）以降に望ましい長い拡散符号を生成するために線形フィードバック・シフトレジスタが使用される。
【００４５】
本発明では、必要な拡散符号は制御データ２６２Ａ、２６２Ｂに基づいて生成される。制御データ２６２Ａ、２６２Ｂは、線形フィードバック・シフトレジスタの初期状態要素の値と、初期状態からの望ましい目標状態のオフセットを提供する。
図５は簡単なガロア形線形フィードバック・シフトレジスタを示すが、この原理は例えば３１または４１の要素を備えるさらに長いフィードバック・シフトレジスタにも応用されることが明らかである。図５の線形フィードバック・シフトレジスタは５つの要素２７２、２７４、２７６、２７８、２８０を備えている。これらの要素は「段」とも呼ばれる。要素は全て次のような形で相互接続される。すなわち、第１要素２７２の出力は第２要素２７４の入力に接続され、第２要素２７４の出力は加算器２８４（以下説明される）に接続され、加算器２８４の出力は第３要素２７６の入力に接続され、第３要素２７６の出力は第４要素２７８の入力に接続され、第４要素２７８の出力は第５要素２８０の入力に接続される。当該の線形フィードバック・シフトレジスタの出力２９０は実際には第１要素２７２の出力２９０である。第５要素２８０は加算器２８４へのフィードバック結合を有し、第５要素２８０はまた第１要素２７２へのフィードバック結合２８８をも有する。加算器２８４ではＸＯＲ演算が実行されるが、これは「排他的論理和」演算を意味する。ＸＯＲ演算の真理値表は次の通りである。
【００４６】
【表１】
0004510219.tif 000008
【００４７】
ＸＯＲ演算をフィードバック結合２８６と第２要素２７４の出力に適用することによって加算器２８４で得られた結果は第３要素２７６の入力として接続される。
図５に示されるフィードバック・シフトレジスタは、長さが２5 −１＝３１であるｍ系列を生成する。当該フィードバック・シフトレジスタの内容の多項式形式はａ4 ｘ4 ＋ａ3 ｘ3 ＋ａ2 ｘ2 ＋ａ1 ｘ＋ａ0 １であり、フィードバック・シフトレジスタの生成多項式はｘ5 ＋ｘ2 ＋１である。図１１は、各々異なった３１の段階、または状態での図５のフィードバック・シフトレジスタの内容を示す。時点０ではフィードバック・シフトレジスタはガロア体乗算のニュートラル要素（ｎｅｕｔｒａｌ  ｅｌｅｍｅｎｔ）、すなわち単位状態を含むが、その値は００００１である。図１１では、フィードバック・シフトレジスタ中の要素は、第１要素が番号０、第２要素が１、第３が２、第４が３、及び第５が４になるように番号付けされている。
【００４８】
時点１では、図５に関連して説明された接続規則により状態０００１０が生成される。１つの時点から次の時点に進みながら、フィードバック・シフトレジスタはそこに含まれる３１状態全てを経由して進む。時点３１でフィードバック・シフトレジスタは再び時点０と同じ状態を受信し、そのサイクルが再び開始される。説明されたフィードバック・シフトレジスタは、例えば長い拡散符号を生成するために使用される。例えば、Ｉ分岐（Ｉ  ｂｒａｎｃｈ）の２41−１のゴールド符号が、４１要素の２つのフィードバック・シフトレジスタによって生成されるが、この２つのフィードバック・シフトレジスタの生成多項式はｘ41＋ｘ3 ＋１とｘ41＋ｘ20＋１であり、その出力の間では、やはり符号チップを得るためにＸＯＲ演算が行われる。
【００４９】
図７は、符号生成器の線形フィードバック・シフトレジスタを、単位状態から既知のオフセットに位置する目標状態に更新する本発明の方法を示す。本方法の実現を示す図１１及び図１２を同時に検討しよう。
本方法の実現は最初のブロック３００で開始され、既知のオフセットが得られる。図１１の右から２番目の列は、単位状態ＵＮＩＴ  ＳＴＡＴＥからの既知のオフセットＯＦＦＳＥＴに、未知の目標状態ＴＡＲＧＥＴ  ＳＴＡＴＥがあることを示す。既知のオフセットＯＦＦＳＥＴは２１である。
【００５０】
ブロック３０２ではオフセット、すなわち図１２に示されるＯＦＦＳＥＴを示す二進オフセット数が生成されるが、その値は１０１０１である。
ブロック３０４では二進オフセット数のビットの数を示すカウンタが生成されるが、図１２に示される例ではカウンタは値５を受け取る。
ブロック３０６では、単位状態を使用して一時的状態が初期化される、すなわち、一時的状態の値が００００１に設定される。
【００５１】
次に、ブロック３０８ではカウンタ値が０より大きい限りブロック３１０、３１２、３１４の動作が反復される。別言すれば、ブロック３０８ではカウンタの値が０より大きいかが検査される。カウンタ値が０の値に達するとルーチンはブロック３１６に進むが、そうでない場合はブロック３１０に進む。
ブロック３０８では、以下さらに詳細に説明されるガロア体乗算を適用することで一時的状態がそれ自体によって乗算される。一時的状態は単位状態を使用することで初期化されているため、単位状態は第１サイクルで２の累乗に上げられており、ガロア体乗算のニュートラル要素が関連しているので、その値は変化しない。別言すれば、結果はやはり序数０を伴う単位状態である。図１２の表の第２行がこれを表している。
【００５２】
ブロック３１０では、カウンタによって示される二進オフセット数のビットの値が１である場合、一時的状態は現在の一時的状態から１状態先にシフトされる。カウンタ値は５であり、即ち二進オフセット数ＯＦＦＳＥＴでは、その数１０１０１の右から５番目のビット、即ち一番左のビット１を示す。図１２の表の第３行に従ってシフトが行われ（ＳＨＩＦＴ）、一時的状態は状態０００１０にシフトされる。
【００５３】
ブロック３１２ではカウンタ値が１だけ減らされ、カウンタ値４が得られる。
第２の反復では、内容０００１０を有する一時的状態がブロック３１０でそれ自体によって乗算され（ＳＱＵＡＲＥ）、行４に示される状態００１００が得られる。カウンタ値は４であるので、二進オフセット数ＯＦＦＳＥＴでは、その数１０１０１の右から４番目のビット、すなわちビット０を示す。図１２の表の第４行に従って、ブロック３１２ではシフトは行われない（ＮＯ  ＳＨＩＦＴ）。ブロック３１２ではカウンタ値が１だけ減らされ、カウンタ値３が得られる。
【００５４】
第３の反復では、一時的状態は再び、ガロア体乗算を使用することでそれ自体によって乗算される。すなわち、ガロア体乗算ＳＱＵＡＲＥは行４の一時的状態００１００から行６の新しい状態１００００を生じる。カウンタは、二進オフセット数１０１０１で、値１を有する第３ビットを示すので、行６の一時的状態は１状態先、すなわち行７に示される状態００１０１にシフトされる（ＳＨＩＦＴ）。カウンタは値２を受け取る。
【００５５】
第４の反復では、一時的状態は再び、ガロア体乗算を使用することでそれ自体によって乗算される。ガロア体乗算ＳＱＵＡＲＥによって乗算された行７の一時的状態は、行８に示される新しい一時的状態１０００１を生じる。カウンタは、二進オフセット数１０１０１で、値０を有する第２ビットを示すので、表の行９に従って、一時的状態はシフトされない（ＮＯ  ＳＨＩＦＴ）。カウンタは値１を受け取る。
【００５６】
第５の反復では、一時的状態は再び、ガロア体乗算を使用することでそれ自体によって乗算される。行８の一時的状態１０００１をガロア体乗算ＳＱＵＡＲＥによって乗算することで、行１０の新しい一時的状態０１１００が生じる。カウンタは、二進オフセット数１０１０１で、値１を有する第１ビットを示すので、行１０の一時的状態は１状態先、すなわち行１１の状態１１０００にシフトされる（ＳＨＩＦＴ）。カウンタは値０を受け取る。
【００５７】
カウンタが値０に達したので、反復はこれ以上行われない。従って処理は一時的状態を目標状態として設定することでブロック３１６で完了する。別言すれば、目標状態は、図１２の表の行１１に示される一時的状態１１０００である。
図７に関連して、既知の距離にある目標状態のフィードバック・シフトレジスタの状態を単位状態から生成する方法が説明された。図８に示される方法は、図７に示される方法を使用して、符号生成器の線形フィードバック・シフトレジスタを既知の現在の状態から既知のオフセットにある新しい状態に更新する。図１１の表の一番右の列は、「単位状態」、「現在の状態」及び「新しい状態」という概念間の関係を示す。単位状態ＵＮＩＴ  ＳＴＡＴＥの意味は図７の方法におけるものと同じである。現在の状態ＣＵＲＲＥＮＴ  ＳＴＡＴＥという術語は、フィードバック・シフトレジスタの現在の既知の状態を意味する。新しい状態ＮＥＷ  ＳＴＡＴＥという術語は、現在の状態から既知のオフセットＯＦＦＳＥＴにある未知の状態を指す。
【００５８】
２つの状態とそれらの序数がガロア体において既知である時、ガロア体乗算を適用することで状態を乗算することによって、序数の加算に一致する状態が得られることは周知である。本発明では、状態が以下説明される方法で単位状態に関して検査されることが必須である。
図１１の一番右の列に示される例によれば、現在の状態ＣＵＲＲＥＮＴ  ＳＴＡＴＥの序数は９である。既知のオフセットＯＦＦＳＥＴの長さは１８である。図１１で点線で書かれた矢印によって示されるように、現在の状態と新しい状態の間の既知のオフセットＯＦＦＳＥＴは、単位状態と未知の状態ＴＥＭＰ  ＳＴＡＴＥの間でシフトできる。その時未知の状態ＴＥＭＰ  ＳＴＡＴＥは単位状態から既知のオフセットＯＦＦＳＥＴにあるので、この例の未知の状態ＴＥＭＰ  ＳＴＡＴＥは序数１８を有する。現在の状態ＣＵＲＲＥＮＴ  ＳＴＡＴＥと未知の状態ＴＥＭＰ  ＳＴＡＴＥの序数の加算は９＋１８＝２７を生じる。従って、状態２７のフィードバック・シフトレジスタの要素の値を知る必要がある場合、状態９と１８の間でガロア体乗算を行わなければならない。
【００５９】
図８に示されるように、本方法はまずブロック３５０の現在の状態ＣＵＲＲＥＮＴ  ＳＴＡＴＥと、現在の状態ＣＵＲＲＥＮＴ  ＳＴＡＴＥからこれまで未知の新しい状態ＮＥＷ  ＳＴＡＴＥへの既知のオフセットＯＦＦＳＥＴを作る。
図８のブロック３５２、３５４、３５６、３５８、３６０、３６２、３６４の意味は、図７のブロック３０２、３０４、３０６、３０８、３１０、３１２、３１４と同じである。従ってこれらはこの文脈では再び説明されない。当該ブロックが使用され、単位状態ＵＮＩＴ  ＳＴＡＴＥから既知のオフセットＯＦＦＳＥＴにある上記で説明された未知の状態ＴＥＭＰ  ＳＴＡＴＥを生成する。ルーチンがブロック３６４からブロック３６６に進む時、一時的状態は図７で説明された値ＴＥＭＰ  ＳＴＡＴＥを受け取る。
【００６０】
ブロック３６６では、カウンタが値０を得た後、一時的状態ＴＥＭＰ  ＳＴＡＴＥと現在の状態ＣＵＲＲＥＮＴ  ＳＴＡＴＥがガロア体乗算を適用することで乗算される。すなわち、この例では一時的状態ＴＥＭＰ  ＳＴＡＴＥが状態１８で、現在の状態ＣＵＲＲＥＮＴ  ＳＴＡＴＥが状態９である。ブロック３６８では、乗算の結果として得られた状態が新しい状態ＮＥＷ  ＳＴＡＴＥ、すなわちこの例では状態２７として設定される。
【００６１】
図９は、ガロア体乗算を行う方法を示す。図１３は、ブロック３６６で実行された図８の方法の演算、すなわち２つの既知の状態間のガロア体乗算がどのように行われるかを示す。第１状態は状態１８で第２状態は状態９である。
第１状態と第２状態の間のガロア体乗算は次のように実行される。第１状態と第２状態がブロック３８０で得られる。ブロック３８２では、第１状態の最下位ビットに対応する要素の値が１である場合、ルーチンはブロック３８４に進み、そこでは第２状態が結果状態に配置されるが、そうでない場合、ルーチンはブロック３８６に進み、そこでは０が結果状態に配置される。図１３では、第１状態は、要素値０００１１のフィードバック・シフトレジスタを有する１８番目の状態ＴＨＥ  １８ＴＨ  ＳＴＡＴＥである。最下位ビットは一番右のビットであるので、１８番目の状態ＴＨＥ  １８ＴＨ  ＳＴＡＴＥの最下位ビットに対応する要素の値は１であり、ルーチンはブロック３８４に進み、そこで９番目の状態が結果状態に配置される。すなわち、値１１０１０を有する表の第１行である。
【００６２】
ブロック３９２は、最下位ビットに対応する要素に続く要素から始まる、第１状態要素の各々についてブロック３８８及び３９０の操作を交互に反復するために使用される。これは、図１３に示される例では、ブロック３８８、３９０の操作が４回実行されることを意味する。
ブロック３８８では、第２状態のフィードバック・シフトレジスタが１状態先、すなわち、図１３に示される例では表の第２行の、値１０００１を有する状態１０にシフトされる。
【００６３】
ブロック３９０では、処理対象の第１状態要素の値が１である場合、結果状態と第２状態がガロア体乗算を適用することで乗算される。乗算の結果として得られた状態は結果状態に配置される。図１３の例では、第１状態の右から２番目の要素の値は１である。前に述べたように、この場合出力状態と第２状態のガロア体加算が行われる。ガロア体加算は、ＸＯＲ演算を適用することで実行される。値１１０１０を有する結果状態と値１０００１を有する第２状態の間のＸＯＲ演算によって状態０１０１１が提供され、これは結果状態として配置される。
【００６４】
ステップ３９０及び３９２は図１３に示されるように３回以上繰り返されるが、右から３番目、４番目、５番目の要素は全て０の値を有するので、それらは結果状態の値に何ら影響しない。その結果、結果状態の最終値は０１０１１である。これは、２７番目の状態のフィードバック・シフトレジスタの値が実際に０１０１１であることを示す図１１から検査できる。
【００６５】
図５で説明されるガロア形線形フィードバック・シフトレジスタによって生成されるｍ系列は、図６に示されるフィボナッチ形線形フィードバック・シフトレジスタによっても生成できる。図６で使用される参照番号は図５のものと同じ意味を有するので、それらはこの文脈では繰り返されない。しかし、要素間の接続が異なっていることに注意すべきである。すなわち、第５要素２８０の出力は第４要素２７８の入力に接続され、第４要素２７８の出力は第３要素２７６の入力に接続され、第３要素２７６の出力は第２要素２７４の入力に接続され、第２要素２７４の出力は第１要素２７２の入力に接続される。フィードバック結合も異なっており、第１要素２７２からは加算器２８４へのフィードバック結合２９４が存在し、第３要素からは加算器２８４へのフィードバック結合２９４が存在し、加算器２８４の出力からは第５要素２８０へのフィードバック結合２９６が存在する。
【００６６】
生成多項式ｘ5 ＋ｘ2 ＋１について表されるガロア形とフィボナッチ形の線形フィードバック・シフトレジスタは等価である。等価とは、初期状態の序数が同じであれば、フィードバック・シフトレジスタの出力２９０は結果として同じｍ系列を提供するという意味である。状態の序数は、単位状態を初期状態、すなわちこの例では状態００００１として、当該状態と同じフィードバック・シフトレジスタの内容を提供するためにはフィードバック・シフトレジスタを何回反復しなければならないかを示す。
【００６７】
乗算される状態の一方がフィボナッチ形状態で、もう一方がガロア形状態であり、得られる結果がフィボナッチ形状態であるような形でガロア体乗算を実行することもできる。すなわち、状態の序数は特に加算される、別言すれば、結果状態の序数は乗算すべき序数の加算である。すなわち、符号生成器のガロア形線形フィードバック・シフトレジスタを既知の現在の状態から既知のオフセットにある新しい状態に更新する図８に示される方法は、符号生成器のフィボナッチ形線形フィードバック・シフトレジスタを既知の現在の状態から既知のオフセットにある新しい状態に更新する方法に変換することができる。本発明は、ガロア形フィードバック・シフトレジスタを処理することでフィボナッチ形フィードバック・シフトレジスタを更新することも可能にするという利点を提供する。
【００６８】
図１４は、図５のガロア形線形フィードバック・シフトレジスタの状態と図６のフィボナッチ形線形フィードバック・シフトレジスタの状態の両方を示す。この実施形態の本質的な特徴は、どちらのフィードバック・シフトレジスタでも、序数１を有する状態は、ガロア体乗算におけるニュートラル要素、すなわち単位状態でなければならないということである。
【００６９】
ガロア形とフィボナッチ形のフィードバック・シフトレジスタは異なった系列で、ガロア体要素を経由して進む、すなわち、フィボナッチ形では序数１０に対応する状態は１００１１であり、ガロア形では１０００１であるが、どちらの形でも状態の一番右の要素、すなわち、フィードバック・シフトレジスタの出力は同じ、すなわち１であるので、それでもやはり手順は妥当である。
【００７０】
図８に示される方法は、フィボナッチ形の既知の現在の状態と、現在の状態から既知のオフセットにある新しい状態とが得られるようなやり方でフィボナッチ形フィードバック・シフトレジスタを処理するために使用される。本方法はこの場合、図８と全く同様に実行される。すなわち、ブロック３５２、３５４、３５６、３５８、３６０、３６２及び３６４が実行される。適用される一時的状態がガロア形であることに注意のこと。最後に、カウンタが０の値に達すると、ブロック３６６でガロア形一時的状態とフィボナッチ形現在の状態の間でガロア体乗算が実行され、ブロック３６８で乗算の結果として得られた状態が、フィボナッチ形の新しい状態として設定される。
【００７１】
ガロア形状態とフィボナッチ形状態の間のガロア体乗算は図１０に示されるように実行され、図１５の例は乗算を示す。図１５の例で与えられた表中の序数が示すところによれば、ガロア形状態は１８番目のガロア形状態であって値０００１１を有し、フィボナッチ形状態は９番目のフィボナッチ形状態であって、値００１１０を有する。
【００７２】
ブロック３３２では、一時的状態はガロア形状態を適用することで初期化されるので、この例では値０００１１が一時的状態に配置される。
ブロック３３４では、一時的状態とフィボナッチ形状態の間のＡＮＤ演算が行われる。すなわち、ＡＮＤ演算の結果として受信された全てのビットの間でＸＯＲ演算が実行され、ＸＯＲ演算の結果として得られたビットが、一番右のまだ計算されていない要素として結果状態に配置される。ＡＮＤ演算とは、次の真理値表を有する「論理積」演算を指す。
【００７３】
【表２】
0004510219.tif 000009
【００７４】
この例では、図１５の表の第１行のフィボナッチ状態と第２行の一時的状態の間でＡＮＤ演算が実行されるが、演算の結果は表の第３行に示される状態０００１０である。ＡＮＤ演算の結果として得られた状態の全てのビットの間で上記で説明されたＸＯＲ演算が実行されるが、演算の結果は値１を有する１つのビットであり、それが一番右のまだ計算されていない要素として結果状態に配置される。結果状態は計算済みのビットを含んでいないので、ＸＯＲ演算によって得られたビットは結果状態の右から１番目のビットとして配置される。
【００７５】
ブロック３３６では試験が実行される。全ての結果状態要素が計算済みである場合、ルーチンはブロック３４０に進み、そこで乗算処理は終了するが、そうでない場合、ルーチンはブロック３３８に進み、そこで一時的状態が１状態先にシフトされ、第２処理ステップ、すなわちブロック３３４から乗算が継続される。
この例では第１結果状態要素だけが計算済みなので、ルーチンはブロック３３８に進み、そこで一時的状態が１状態先にシフトされる、すなわち序数１８を有するガロア形状態が序数１９を有するガロア形状態にシフトされる。次にブロック３３４の操作が実行され、その結果、結果状態の右から２番目のビットが得られる。次に、結果状態中の全てのビットが計算されるまで、すなわち、この例では結果状態について５つのビットが計算されるまで、ブロック３３６、３３８及び３３４の操作が反復される。次にルーチンはブロック３４０に進み、そこで乗算処理は終了する。こうして得られた結果は序数２７と値１０１０１を有するフィボナッチ形状態である。これは図１４の表から検査され、正しいことが確認される。
【００７６】
この例は本発明のソフトウェアによる実現を示す。拡散符号生成器はＡＳＩＣ（特定用途向け集積回路）としても実現できる。当業者には、説明された反復型ソリューション（ｉｔｅｒａｔｉｖｅ  ｓｏｌｕｔｉｏｎ）、またはアンロール型ソリューション（ｕｎｒｏｌｌｅｄ  ｓｏｌｕｔｉｏｎ）がＡＳＩＣによる実現で使用できることが明らかである。実現は独立した個別部品を使用する従来のＨＷによる実現としても実行できる。ソフトウェアだけに基づく実現も可能であるが、その場合、必要時に関連するチップの期間中に当該の拡散符号のチップの値を計算できるようにするため、十分に効率的なプロセッサが必要である。図４は、ソフトウェアによる実現で使用される部分を示す。すなわち、基本的に、符号生成器２６０Ａは、ソフトウェア２６４、ソフトウェアを実行するプロセッサ２６６、及び必要なデータを保存するメモリ２６８を備えている。部分２６４、２６６、２６８は、ガロア形線形フィードバック・シフトレジスタの単位状態から目標状態への既知のオフセットを表す二進オフセット数を生成する図７の方法で必要な手段と、二進オフセット数のビットの数を示すカウンタを生成する手段と、単位状態によって一時的状態を初期化する手段と、カウンタの値が０より大きい限り以下の手段、（１）ガロア体乗算を適用することで一時的状態をそれ自体で乗算する手段、（２）カウンタによって示される二進オフセット数のビットの値が１である場合一時的状態を１状態先にシフトする手段、および（３）カウンタ値を１減らす手段の動作を反復する手段と、最後に、カウンタが０の値に達した時一時的状態を目標状態として設定する手段とを実現するために使用される。ガロア体乗算を行う図８による手段及び図９による手段と、さらにはフィボナッチ形線形フィードバック・シフトレジスタを処理する手段が対応して実現される。
【００７７】
本発明は上記で添付の図面による例に関連して説明されたが、本発明はそれに制限されるものではなく、請求項で開示された本発明の概念の範囲内で様々に変化することが明らかである。
【図面の簡単な説明】
【図１】図１は、移動電話システムの例を示す図（その１）である。
【図２】図２は、移動電話システムの例を示す図（その２）である。
【図３】図３は、移動電話システムにおける送信機及び受信機構造の例を示す図である。
【図４】図４は、送信機及び受信機における拡散符号の処理を示す図である。
【図５】図５は、簡単なガロア形線形フィードバック・シフトレジスタの例を示す図である。
【図６】図６は、簡単なフィボナッチ形線形フィードバック・シフトレジスタの例を示す図である。
【図７】図７は、符号生成器の線形フィードバック・シフトレジスタを単位状態から目標状態に更新する方法を示す流れ図である。
【図８】図８は、符号生成器の線形フィードバック・シフトレジスタを現在の状態から新しい状態に更新する方法を示す流れ図である。
【図９】図９は、ガロア体乗算の例を示す流れ図である。
【図１０】図１０は、フィボナッチ形状態とガロア形状態の間のガロア体乗算を示す流れ図である。
【図１１】図１１は、図５のフィードバック・シフトレジスタの可能な状態を示す図である。
【図１２】図１２は、図７の方法を実現する例を示す図である。
【図１３】図１３は、図９で説明されたガロア形乗算を利用することで図８の方法を実現する例を示す図である。
【図１４】図１４は、図５のガロア形線形フィードバック・シフトレジスタと図６のフィボナッチ形線形フィードバック・シフトレジスタ両方の状態を示す図である。
【図１５】図１５は、フィボナッチ形及びガロア形の状態間のガロア形乗算の例を示す図である。
【符号の説明】
２５２Ａ、２５２Ｂ…拡散符号
２６０Ａ、２６０Ｂ…拡散符号生成器
２６２Ａ、２６２Ｂ…制御データ
２６４…ソフトウェア
２６６…ソフトウェアを実行するプロセッサ
２６８…データを保持するメモリ
【図１】
0004510219.tif 000010
【図２】
0004510219.tif 000011
【図３】
0004510219.tif 000012
【図４】
0004510219.tif 000013
【図５】
0004510219.tif 000014
【図６】
0004510219.tif 000015
【図７】
0004510219.tif 000016
【図８】
0004510219.tif 000017
【図９】
0004510219.tif 000018
【図１０】
0004510219.tif 000019
【図１１】
0004510219.tif 000020
【図１２】
0004510219.tif 000021
【図１３】
0004510219.tif 000022
【図１４】
0004510219.tif 000023
【図１５】
0004510219.tif 000024