(57)【要約】次数が４の線形帰還シフトレジスタの各フリップフロップに与えられる１５個のシフトコードパターンを４分割して得られる４個の連続した位相のシフトコードパターンをコードメモリ（１１）に記憶させる。また、発生させるＰＮ符号（ＰＮ）の位相を４つずらすためのマスクコードパターンを、コードマスクメモリ（１２）に記憶させる。そして、コードメモリ（１１）から出力したシフトコードパターンと、コードマスクメモリ（１２）から出力したマスクコードパターンとを用いて、位相シフト回路（１３）で論理演算を行い、符号長が１５のＰＮ符号（ＰＮ）を任意の位相から発生させるようにする。
2004034581.tif 000002
【特許請求の範囲】
【請求項１】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算回路とを有することを特徴とするＰＮ符号発生器。
【請求項２】
上記コードメモリは、上記連続した一部の位相のうちの１つの位相におけるシフトコードパターンに続けて、１ビット以上のコードを記憶することを特徴とする請求項１に記載のＰＮ符号発生器。
【請求項３】
上記コードメモリは、上記連続した一部の位相におけるシフトコードパターンを構成する複数のビットのうち、連続する２つ以上のビットを同一のアドレスに記憶することを特徴とする請求項２に記載のＰＮ符号発生器。
【請求項４】
上記コードメモリを複数有し、
上記論理積演算回路は、上記複数のコードメモリに記憶されたビットにより構成されるシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成することを特徴とする請求項２に記載のＰＮ符号発生器。
【請求項５】
上記コードマスクメモリは、上記記憶したマスクコードパターンの位相に続く少なくとも１つの位相におけるマスクコードパターンも記憶することを特徴とする請求項２に記載のＰＮ符号発生器。
【請求項６】
上記コードメモリの同一のアドレスに記憶されているビットを全て入力し、上記入力したビットの入れ替えを行って上記シフトコードパターンを取り出す分配器をさらに有し、
上記論理積演算回路は、上記分配器により取り出されたシフトコードパターンと、上記マスクコードメモリから出力されたマスクコードパターンとの同位のビット同士の論理積をとることを特徴とする請求項２に記載のＰＮ符号発生器。
【請求項７】
上記コードメモリの同一のアドレスに記憶されているビットを全て入力し、上記入力したビットをシフトさせて上記シフトコードパターンを取り出すシフタをさらに有し、
上記論理積演算回路は、上記シフタにより取り出されたシフトコードパターンと、上記マスクコードメモリから出力されたマスクコードパターンとの同位のビット同士の論理積をとることを特徴とする請求項２に記載のＰＮ符号発生器。
【請求項８】
上記論理積演算回路と上記排他的論理和演算回路とにより構成される複数の位相シフト回路と、
上記複数の位相シフト回路と、上記コードメモリとの間に設けられる複数のシフタとを有し、
上記複数のシフタは、上記コードメモリの同一のアドレスに記憶されているビットを全て入力し、上記入力したコードを１ビットずつ異なったシフト量でシフトさせて、１つずつ位相がずれた複数のシフトコードパターンを取り出し、
上記複数の位相シフト回路は、上記複数のシフタにより取り出された１つずつ位相がずれた複数のシフトコードパターンと、コードマスクメモリに記憶された同一の位相におけるマスクコードパターンとを用いて、複数のＰＮ符号を発生させることを特徴とする請求項２に記載のＰＮ符号発生器。
【請求項９】
上記コードメモリは、上記線形帰還シフトレジスタの次数に相当する数のビットを同一のアドレスに記憶することを特徴とする請求項３に記載のＰＮ符号発生器。
【請求項１０】
上記コードメモリは、上記線形帰還シフトレジスタの次数に相当する数よりも多い数のビットを同一のアドレスに記憶し、且つ各アドレスに記憶される最上位のビット及び最下位のビットのうちの少なくとも何れか一方のビットを含む連続した２つ以上のビットを、隣り合うアドレスで重複して記憶することを特徴とする請求項３に記載のＰＮ符号発生器。
【請求項１１】
上記論理積演算回路と上記排他的論理和演算回路とにより構成される複数の位相シフト回路を有し、
上記複数の位相シフト回路は、上記コードマスクメモリに記憶された連続する位相におけるマスクコードパターンと、上記コードメモリに記憶されたシフトコードパターンとを用いて、複数のＰＮ符号を発生させることを特徴とする請求項５に記載のＰＮ符号発生器。
【請求項１２】
２つのＰＮ符号発生器と、上記２つのＰＮ符号発生器により発生した２つのＰＮ符合の排他的論理和をとる排他的論理和演算回路とを有するＧＯＬＤ符号発生器であって、
上記ＰＮ符号発生器は、
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる第２の排他的論理和演算回路とを有することを特徴とするＧＯＬＤ符号発生器。
【請求項１３】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを生成する第１及び第２の論理積演算回路と、
上記第１及び第２の論理積演算回路により生成された新たな２つのコードパターンそれぞれの排他的論理和をとって、２つのＰＮ符号を発生させる第１及び第２の排他的論理和演算回路と、
上記第１及び第２の排他的論理和演算回路により発生した２つのＰＮ符合の排他的論理和をとる第３の排他的論理和演算回路と、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとを、時分割で上記第１及び第２の論理積演算回路に出力させるように制御する制御回路とを有することを特徴とするＧＯＬＤ符号発生器。
【請求項１４】
ＰＮ符号を発生させるＰＮ符号発生器と、上記ＰＮ符号発生器から発生したＰＮ符合と受信データとの排他的論理和をとって、上記受信データを逆拡散する排他的論理和演算回路とを有するＰＮ符号逆拡散器であって、
上記ＰＮ符号発生器は、
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとってＰＮ符号を発生させる第２の排他的論理和演算回路とを有することを特徴とするＰＮ符号逆拡散器。
【請求項１５】
上記排他的論理和演算回路を複数有し、
さらに、上記ＰＮ符号発生器から発生したＰＮ符合を、上記複数の排他的論理和演算回路に時分割で分配する分配器を有することを特徴とする請求項１４に記載のＰＮ符号逆拡散器。
【請求項１６】
上記排他的論理和回路で逆拡散された受信データを時分割で分配する分配器をさらに有することを特徴とする請求項１４に記載のＰＮ符号逆拡散器。
【請求項１７】
受信データを一時的に記憶するバッファと、複数のＰＮ符号を同時に発生させるＰＮ符号発生器と、上記ＰＮ符号により発生した複数のＰＮ符号と、上記発生したＰＮ符号と同数のビットの受信データとを逆拡散するマッチトフィルタとを有するＰＮ符号逆拡散器であって、
上記ＰＮ符号発生器は、
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンと、上記マスクコードパターンの位相に続く少なくとも１つの位相におけるマスクコードパターンとを記憶するコードマスクメモリと、
上記コードマスクメモリに記憶された連続する位相におけるマスクコードパターンと、上記コードメモリに記憶されたシフトコードパターンとを用いて、複数のＰＮ符号を発生させる複数の位相シフト回路とを有し、
さらに上記位相シフト回路は、上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算回路とにより構成されることを特徴とするＰＮ符号逆拡散器。
【請求項１８】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて、ＰＮ符号を発生させるＰＮ符号発生方法であって、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算ステップとを有することを特徴とするＰＮ符号発生方法。
【請求項１９】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶する２つのコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶する２つのコードマスクメモリとを用いて２つのＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生した２つのＰＮ符合の排他的論理和をとってＧＯＬＤ符号を発生させる排他的論理和演算ステップとを有するＧＯＬＤ符号発生方法であって、
上記ＰＮ符号発生ステップは、
上記２つのコードメモリに記憶されたシフトコードパターンと、上記２つのコードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる第２の排他的論理和演算ステップとを有することを特徴とするＧＯＬＤ符号発生方法。
【請求項２０】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて２つのＰＮ符号を発生させるＰＮ符合発生ステップと、
上記ＰＮ符号発生ステップにより発生した２つのＰＮ符合の排他的論理和をとってＧＯＬＤ符号を発生させる排他的論理和演算ステップとを有するＧＯＬＤ符号発生方法であって、
上記ＰＮ符号発生ステップは、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを時分割で生成する論理積演算ステップと、
上記論理積演算ステップにより時分割で生成された新たな２つのコードパターンそれぞれの排他的論理和をとって、２つのＰＮ符号を時分割で発生させる第２の排他的論理和演算ステップとを有することを特徴とするＧＯＬＤ符号発生方法。
【請求項２１】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いてＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生したＰＮ符合と、受信データとの排他的論理和をとって、上記受信データを逆拡散する排他的論理和演算ステップとを有するＰＮ符号逆拡散方法であって、
上記ＰＮ符号発生ステップは、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとってＰＮ符号を発生させる第２の排他的論理和演算ステップとを有することを特徴とするＰＮ符号逆拡散方法。
【請求項２２】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて、ＰＮ符号を発生させるに際して、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算ステップとコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２３】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶する２つのコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶する２つのコードマスクメモリとを用いて２つのＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生した２つのＰＮ符合の排他的論理和をとってＧＯＬＤ符号を発生させる排他的論理和演算ステップとコンピュータに実行させるに際して、
上記ＰＮ符号発生ステップでは、
上記２つのコードメモリに記憶されたシフトコードパターンと、上記２つのコードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる第２の排他的論理和演算ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２４】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて２つのＰＮ符号を発生させるＰＮ符合発生ステップと、
上記ＰＮ符号発生ステップにより発生した２つのＰＮ符合の排他的論理和をとってＧＯＬＤ符号を発生させる排他的論理和演算ステップとをコンピュータに実行させるに際して、
上記ＰＮ符号発生ステップでは、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを時分割で生成する論理積演算ステップと、
上記論理積演算ステップにより時分割で生成された新たな２つのコードパターンそれぞれの排他的論理和をとって、２つのＰＮ符号を時分割で発生させる第２の排他的論理和演算ステップとコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２５】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いてＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生したＰＮ符合と、受信データとの排他的論理和をとって、上記受信データを逆拡散する排他的論理和演算ステップとをコンピュータに実行させるに際して、
上記ＰＮ符号発生ステップでは、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとってＰＮ符号を発生させる第２の排他的論理和演算ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２６】
任意の位相のＰＮ符号を発生させる符合発生器において、
上記ＰＮ符号の一部の位相に対応するシフトコードパターンを記憶するコードメモリと、
上記ＰＮ符号の一部の移相量の移相シフトに対応するマスクコードパターンを記憶するコードマスクメモリと、
発生させるＰＮ符合の位相から、上記コードメモリに記憶された一部の位相に対応するシフトコードパターンの中から必要なシフトコードパターンを選択するとともに、上記コードマスクメモリに記憶された一部の位相に対応する任意の移相量のマスクコードパターンの中から必要なマスクコードパターンを選択し、選択されたシフトコードパターンと選択されたマスクコードパターンの組合せにより任意の位相のＰＮ符号を発生させる演算回路と
を有することを特徴とするＰＮ符号発生器。
【発明の詳細な説明】
【技術分野】  本発明は、ＰＮ符号発生器、ＧＯＬＤ符号発生器、ＰＮ符号逆拡散器、ＰＮ符号発生方法、ＧＯＬＤ符号発生方法、ＰＮ符号逆拡散方法、及びコンピュータプログラムに関し、特にＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ；符号分割多元接続）方式の通信で使用する符号を発生させるために用いて好適なものである。
【背景技術】  ＣＤＭＡ方式を利用した無線通信では、送信側と受信側とで同じ拡散符号を用いて信号を処理する。これにより、送信側で同じ周波数帯を使用して複数のチャネルの信号を同時に送信することができるようにするとともに、受信側で上記複数のチャネルの中から所望のチャネルの信号のみを抽出することができるようにしている。
ところで、上記ＣＤＭＡ方式の無線通信システムで使用される上記拡散符号としては、ＰＮ符号（Ｐｓｅｕｄｏ  Ｒａｎｄｏｍ  Ｃｏｄｅ；擬似ランダム符号）、またはＧＯＬＤ符号がある。ここで、ＧＯＬＤ符号とは、２つのＰＮ符号の排他的論理和をとって得られる符号系列である。なお、以下では、上記排他的論理和をＸＯＲと称する。
図２３は、上記ＰＮ符号を発生させる従来のＰＮ符号発生器の構成を示した図である。なお、図２３では、ＣＤＭＡ方式で基地局などの送信機と通信を行う受信機にＰＮ符号発生器を適用した場合について示している。
図２３において、従来のＰＮ符号発生器２２０は、直列に接続されたフリップフロップ２２１ａ〜２２１ｄと、ＸＯＲ回路２２２と、メモリ２２３とにより構成される。なお、上記において、フリップフロップ２２１ａ〜２２１ｄと、ＸＯＲ回路２２２とにより線形帰還シフトレジスタ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）が構成される。また、このような構成のＰＮ符号発生器２２０は、Ｍ系列（Ｍａｘｉｍｕｍ−Ｌｅｎｇｔｈ  Ｓｅｑｕｅｎｃｅ；最長符号系列）のＰＮ符号発生器である。
従来のＰＮ符号発生器２２０の動作について説明する。
まず、初期状態として、各フリップフロップ２２１ａ〜２２１ｄにはメモリ２２３に記憶されているコードパターンが設定される。そして、タイマ２２４から出力されるクロック信号ＣＳに従って、各フリップフロップ２２１ａ〜２２１ｃのコードを右隣のフリップフロップ２２１ｂ〜２２１ｄにシフトする。このとき、フリップフロップ２２１ｄから出力されるコードにより、ＰＮ符号ＰＮが構成される。また、フリップフロップ２２１ｃから出力されるコードと、フリップフロップ２２１ｄから出力されるコードとのＸＯＲが、ＸＯＲ回路２２２でとられ、その結果がフリップフロップ２２１ａに出力される。
図２４は、フリップフロップ２２１ａ〜２２１ｄの状態遷移を示した図である。なお、図２４の状態遷移図において、ＦＦ０〜ＦＦ３は、各位相においてフリップフロップ２２１ａ〜２２１ｄに与えられるコードである。また、出力コードとは、各位相においてフリップフロップ２２１ｄから出力されるコードであり、このコードによりＰＮ符号ＰＮが構成される。
図２４に示すように、フリップフロップ２２１ａ〜２２１ｄのコードパターンは、１番目の位相におけるＦＦ０〜ＦＦ２が０、ＦＦ３が１というコードパターンから、１５番目の位相におけるＦＦ０とＦＦ１が０、ＦＦ２とＦＦ３が１というコードパターンまで順次遷移する。そして、１６番目の位相で上記１番目の位相の状態に戻り、上記１６番目の位相からは、上記第１の位相からの状態遷移と同じ状態遷移を繰り返す。すなわち、図２３に示したＰＮ符号発生器２２０では、図２４の出力コードで示されている「１０００１００１１０１０１１１」というＰＮ符号ＰＮを繰り返し生成し、巡回ＰＮ符号を発生させるようにしている。
ところで、上記ＣＤＭＡ方式を利用した無線通信では、送信側で送信データを拡散したときに用いたＰＮ符号と同一の時間波形をもつＰＮ符号を発生させて受信データを逆拡散する必要がある。そこで、携帯電話などの上記ＣＤＭＡ方式を利用した受信機では、一般に、基地局などの送信機で使用したＰＮ符号がどの位相から始まっているのかを検出し、上記検出した位相からＰＮ符号ＰＮを発生させるようにしている。
そして、従来のＰＮ符号発生器２２０においては、以下のような方法で上記検出した位相からＰＮ符号を発生させるようにしている。
すなわち、初期状態として予め決められているコードパターンをフリップフロップ２２１ａ〜２２１ｄに設定した後、上記検出した位相におけるコードパターンになるまでフリップフロップ２２１ａ〜２２１ｄを動作させてからＰＮ符号ＰＮを発生させるようにしている。
上記検出した位相におけるコードパターンを設定する際の上記受信機における動作を、図２３を参照しながら説明する。
まず、同期検出回路２２５は、受信部２２６で受信したＣＤＭＡ信号ＣＤに含まれている同期検出用のチャネルの信号から、ＣＤＭＡ信号ＣＤが拡散されたときに使用したＰＮ符号の先頭の位相を検出し、比較器２２７に出力する。そして、比較器２２７は、同期検出回路２２５で検出したＰＮ符号ＰＮの先頭の位相と、タイマ２２４の計数値とを比較し、両者が一致したときに、初期値ロード信号ＬＳをＰＮ符号発生器２２０に出力する。
初期値ロード信号ＬＳを入力したＰＮ符号発生器２２０は、初期値ロード信号ＬＳに対応するコードパターン（例えば図２４の１番目の位相におけるコードパターン）を、メモリ２２３から読み出すなどしてフリップフロップ２２１ａ〜２２１ｄに設定する。そして、ＰＮ符号発生器２２０は、上述したようにしてフリップフロップ２２１ａ〜２２１ｄに与えられているコードをシフトさせる動作を開始する。
このように、従来のＰＮ符号発生器２２０では、上記予め決められているコードパターンをフリップフロップ２２１ａ〜２２１ｄに設定した後、フリップフロップ２２１ａ〜２２１ｄが保持しているコードをシフトさせて、上記検出した位相におけるコードパターンを設定するようにしていた。
例えば、図２４に示した１２番目の位相におけるコードパターンを設定することが指定された場合には、１番目の位相におけるコードパターンを設定した後、フリップフロップ２２１ａ〜２２１ｄのコードを１１回シフトさせる必要がある
図２４では、上記線形シフトレジスタの次数（フリップフロップの数）が４の場合を示したが、上記線形帰還シフトレジスタの次数をＮとすると、各フリップフロツプは、２Ｎ−１個のコードパターンを繰り返し保持する。そして、各フリップフロップがとる２Ｎ−１個のコードパターンは、それぞれ異なった状態であり、同じ状態は存在しない。したがって、上記検出した位相におけるコードパターンを設定するためには、初期の位相と上記検出した位相との差に応じた回数分フリップフロップ２２１ａ〜２２１ｄに与えられているコードをシフトしなければならない。
一般に、上記線形シフトレジスタの次数Ｎは大きいので（例えば２０）、上述したようにして上記検出した位相におけるコードパターンを得ようとすると、フリップフロップに与えられているコードをシフトさせる回数が非常に多くなる。
このように、上記線形帰還シフトレジスタを用いてＰＮ符号を発生させると、上記検出した位相におけるコードパターンを設定するまでの時間が莫大になってしまう。すなわち、従来のＰＮ符号発生器２２０では、任意の位相のＰＮ符号ＰＮを発生させるのに時間がかかってしまう。
図２５は、このような問題点を解決するための従来のＰＮ符号発生器の構成を示した図である。なお、図２５において、図２３に示したものと同一の部分については同一の符号を付している。
図２５において、ＰＮ符号発生器２４０は、図２３に示したＰＮ符号発生装置２２０のフリップフロップ２２１ｄから出力される各位相におけるコード（図２４に示した出力コード）、すなわちＰＮ符号ＰＮを予めメモリ２４１に記憶させておく構成である。ここで、上記各位相におけるコードは、メモリ２４１の連続したアドレスに順番に記憶する。
具体的な動作を説明すると、まず、同期検出回路２４２は、受信部２２６で受信したＣＤＭＡ信号ＣＤに含まれている同期検出用のチャネルの信号から、ＣＤＭＡ信号ＣＤを拡散したときに基地局で使用したＰＮ符号の先頭の位相を検出し、ＰＮ符号発生器２４０で発生すべきＰＮ符号ＰＮの先頭の位相を割り出す。そして、同期検出回路２４２は、上記割り出した位相のＰＮ符号ＰＮを発生させるタイミングを表す時間（コード先頭時間）ＣＴを算出し、比較器２４３に出力する。
比較器２４３は、同期検出回路２４２からコード先頭時間ＣＴを入力すると、タイマ２４２で計数されている時間を読み出し、コード先頭時間ＣＴと、タイマ２４２で計数されている時間との時間差を求める。次に、比較器２４３は、上記算出した時間差に応じたメモリ２４１のアドレスを表すアドレス信号ＡＳをメモリ２４１に出力する。これにより、上記アドレス信号ＡＳで指定されたアドレスに記憶されているコード（すなわち、同期検出回路２４２で検出された位相におけるＰＮ符号ＰＮ）がメモリ２４１から出力される。そして、比較器２４３は、上記換算したアドレスをインクリメントし、上記インクリメントしたアドレスを表すアドレス信号ＡＳをメモリ２４に出力する。これにより、上記換算したアドレスに記憶されているコードを先頭とするＰＮ符号ＰＮがメモリ２４１から出力される。
このように、線形帰還シフトレジスタから出力されるＰＮ符号ＰＮの全てを予めメモリ２４１に記憶させておけば、ＰＮ符号ＰＮを任意の位相から即時に発生させることができるが、メモリ２４１に記憶させるビット数が多くなってしまう。上記線形帰還シフトレジスタの次数をＮとすると、メモリ２４１に記憶させるビット数は、２Ｎ−１になる。したがって、符号長（＝２Ｎ−１）が長いＰＮ符号ＰＮを発生させる場合には、メモリ２４１に記憶させるビット数が多くなってしまうという問題点がある。
本発明は上述の問題点に鑑みてなされたもので、メモリに記憶させるビット数を可及的に少なくしてＰＮ符号を任意の位相から即時に発生させられるようにすることを目的とする。
【発明の開示】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンをコードメモリに記憶するとともに、発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンをコードマスクメモリに記憶する。そして、上記シフトコードパターンと上記マスクコードパターンとを用いて論理演算を行って、任意の位相のＰＮ符号を発生させる。
かかる構成では、全てのＰＮ符号を記憶させなくても、任意の位相のＰＮ符号が即時に発生できるようになる。
【図面の簡単な説明】  図１は、次数４の線形帰還シフトレジスタのシフトコードパターンに対応するマスクコードパターン群を示した図である。
図２は、本発明の第１の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
図３Ａ、図３Ｂは、本発明の第１の実施の形態を示し、コードメモリに記憶されている内容を示した概念図である。
図４は、本発明の第１の実施の形態を示し、コードマスクメモリに記憶されている内容を示した概念図である。
図５は、本発明の第１の実施の形態を示し、次数が４の線形帰還シフトレジスタから発生するＰＮ符号を、ＰＮ符号発生器により生成する原理を説明する概念図である。
図６は、本発明の第１の実施の形態を示し、位相シフト回路の概略構成を示した図である。
図７は、本発明の第２の実施の形態を示し、コードメモリとコードマスクメモリのビット配置を示した図である。
図８は、本発明の第２の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
図９は、本発明の第１の変形例を示し、コードメモリのビット配置を示した図である。
図１０は、本発明の第２の変形例を示し、コードメモリのビット配置を示した図である。
図１１は、本発明の第３の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
図１２は、本発明の第３の実施の形態を示し、コードメモリに記憶されているコードパターンから所望のシフトコードパターンを取り出す際の動作を説明する図である。
図１３は、本発明の第４の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
図１４Ａ、図１４Ｂは、本発明の第４の実施の形態を示し、コードメモリに記憶されているコードパターンから所望のシフトコードパターンを取り出す際の動作を説明する図である。
図１５は、本発明の第５の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
図１６は、本発明の第５の実施の形態を示し、コードマスクメモリの記憶内容を説明する図である。
図１７は、本発明の第６の実施の形態を示し、ＧＯＬＤ符号発生器の概略構成を示した図である。
図１８は、本発明の第７の実施の形態を示し、ＧＯＬＤ符号発生器の概略構成を示した図である。
図１９は、本発明の第８の実施の形態を示し、無線通信装置の概略構成を示した図である。
図２０は、本発明の第８の実施の形態を示し、ＲＡＫＥ合成器の構成を示した図である。
図２１は、本発明の第９の実施の形態を示し、無線通信装置の概略構成を示した図である。
図２２は、本発明の第１０の実施の形態を示し、ＰＮ符号逆拡散器の概略構成を示した図である。
図２３は、従来の技術を示し、ＰＮ符号発生器の構成を示した図である。
図２４は、従来の技術を示し、フリップフロップの状態遷移を示した図である。
図２５は、従来の技術を示し、ＰＮ符号発生器の構成を示した図である。
【発明を実施するための最良の形態】  後述するように、本発明の各実施の形態では、線形帰還シフトレジスタの各フリップフロップに与えられるコードパターンと、マスクコードのコードパターンとを論理演算して、ＰＮ符号を発生させる。そこで、本発明の実施の形態について説明する前に、上記論理演算の方法ついて具体例を挙げながら説明する。なお、以下では、上記線形帰還シフトレジスタの各フリップフロップに与えられるコードパターンをシフトコードパターンと称し、上記マスクコードのコードパターンをマスクコードパターンと称する。また、上記マスクコードについては、特開平１０−１９０５２４号公報に記載されている。
図１は、図２４に示した次数４の線形帰還シフトレジスタのシフトコードパターンに対応するマスクコードパターンを示した図である。
上記論理演算として、まず、図２４に示した１番目の位相におけるシフトコードパターンの各ビットと、図１に示した１番目の位相におけるマスクコードパターンの各ビットとの論理積をとる。具体的に説明すると、１番目の位相におけるシフトコードパターンの最下位のビットＦＦ０の状態値０と、１番目の位相におけるマスクコードパターンの最下位のビットＦＦ０の状態値０との論理積をとり、０を算出する。このような演算を同位のビット同士で行う。こうして得られた４ビットのコードパターン（０００１）のＸＯＲをとると、図２４に示した１番目の位相における出力コード（ＰＮ符号）１が得られる。なお、以下では、上記論理積をＡＮＤと称する。
同様に、図２４に示した１番目の位相におけるシフトコードパターンと、ｍ番目の位相におけるマスクコードパターンとを用いて上述した演算を行えばｍ番目の位相における出力コード（ＰＮ符号）が得られる。
これを一般化すると、図２４に示したｎ番目の位相におけるシフトコードパターンと、ｍ番目の位相におけるマスクコードパターンとを用いて上述した演算を行えば、図２４に示した（ｎ＋ｍ−１）番目の位相における出力コード（ＰＮ符号）が得られる。後述する各実施の形態では、このような性質を有するマスクコードパターンを用いて、ＰＮ符号を発生させるようにしている。
以下、本発明の第１〜第１０の実施の形態によるＰＮ符号発生器、ＧＯＬＤ符号発生器、ＰＮ符号逆拡散器、ＰＮ符号発生方法、ＧＯＬＤ符号発生方法、ＰＮ符号逆拡散方法、及びコンピュータプログラムを、図面を参照しながら説明する。
（第１の実施の形態）
まず、本発明の第１の実施の形態について説明する。なお、本実施の形態のＰＮ符号発生器は、次数４の線形帰還シフトレジスタにより構成されるＭ系列（Ｍａｘｉｍｕｍ−Ｌｅｎｇｔｈ  Ｓｅｑｕｅｎｃｅ；最長符号系列）のＰＮ符号発生器により発生するＰＮ符合と同じＰＮ符号を論理演算により発生させるものとして説明を行う。
図５は、本発明の第１の実施の形態を示し、次数が４の線形帰還シフトレジスタから発生するＰＮ符号を、本実施の形態のＰＮ符号発生器により生成する原理を説明する概念図である。
図５に示すように、本実施の形態のＰＮ符号発生器では、次数が４の線形帰還シフトレジスタから発生する符号長が１５のＰＮ符号のうち（図２４に示した出力コード）、１番目〜４番目の位相におけるＰＮ符号群５０ａについては、１番目〜４番目の位相におけるシフトコードパターン（図３Ａに示すコードパターン３０ａ〜３０ｄ）と、発生させるＰＮ符合の位相を０位相ずらすマスクコードパターン（図４に示すマスクコードパターン４０ａ）とを用いて上述した論理演算を行って発生させる。
そして、５番目〜８番目の位相におけるＰＮ符号群５０ｂについては、１番目〜４番目の位相におけるシフトコードパターン（図３Ａに示すシフトコードパターン３０ａ〜３０ｄ）と、発生させるＰＮ符合の位相を４位相ずらすマスクコードパターン（図４に示すマスクコードパターン４０ｂ）とを用いて上述した論理演算を行って発生させる。
また、９番目〜１２番目の位相におけるＰＮ符号群５０ｃについては、１番目〜４番目の位相におけるシフトコードパターン（図３Ａに示すシフトコードパターン３０ａ〜３０ｄ）と、発生させるＰＮ符合の位相を８位相ずらすマスクコードパターン（図４に示すマスクコードパターン４０ｃ）とを用いて上述した論理演算を行って発生させる。
さらに、１３番目〜１５番目の位相におけるＰＮ符号群５０ｄについては、１番目〜３番目の位相におけるシフトコードパターン（図３Ａに示すシフトコードパターン３０ａ〜３０ｄ）と、発生させるＰＮ符合の位相を１２位相ずらすマスクコードパターン（図４に示すマスクコードパターン４０ｄ）とを用いて上述した論理演算を行って発生させる。
このように、本実施の形態のＰＮ符号発生器では、図２４に示した１５個のシフトコードパターンを４分割して得られる１〜４番目の位相におけるシフトコードパターンと、発生させるＰＮ符号の位相を０位相、４位相、８位相、及び１２位相ずらすためのマスクコードパターンとを用いて、次数が４の線形帰還シフトレジスタから発生する符号長が１５のＰＮ符号を全て発生させるようにしている。すなわち、本実施の形態では、図３Ａに示したシフトコードパターン３０ａ〜３０ｄの内容と、図４に示したマスクコードパターン４０ａ〜４０ｄのみを記憶し、図２４に示したシフトコードパターンと、図１に示したマスクコードパターンを全て記憶しなくても、次数が４の線形帰還シフトレジスタから発生する符号長が１５のＰＮ符号を全て発生できるようにしている。以下、本実施の形態のＰＮ符号発生器の具体的な構成について説明する。
図２は、本発明の第１の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
図２において、ＰＮ符号発生器１０は、コードメモリ１１と、コードマスクメモリ１２と、位相シフト回路１３とを有している。
コードメモリ１１とコードマスクメモリ１２は、ＲＡＭなどの記憶媒体である。
コードメモリ１１に記憶される内容について説明する。
図３Ａ及び図３Ｂは、本発明の第１の実施の形態を示し、コードメモリ１１に記憶される内容を示した概念図である。
図３Ａに示すように、コードメモリ１１には、例えば、図２４に示した１５個のシフトコードパターンを４分割して得られる連続した位相のシフトコードパターンのうち、１番目〜４番目の位相におけるシフトコードパターン３０ａ〜３０ｄの内容が記憶される。
ただし、本実施の形態では、上記１番目〜４番目の位相におけるシフトコードパターンをそのままコードメモリ１１に記憶させない。具体的に説明すると、図３Ｂに示すように、１番目の位相におけるシフトコードパターンの最下位のビット（ＦＦ０におけるビット）に続けて３ビットのコードをコードメモリ１１に記憶させるようにして、１番目〜４番目の位相におけるシフトコードパターンを得るようにしている。
すなわち、コードパターン３１の最上位（右端）のビットから４番目のビットまでを指定すると、図３Ａに示した１番目の位相におけるシフトコードパターンが得られる。そして、コードパターン３１の２番目のビットから５番目のビットまでを指定すると、２番目の位相におけるシフトコードパターンが得られる。同様に、コードパターン３１の３番目のビットから６番目のビットまでを指定すると３番目の位相におけるシフトコードパターンが、４番目のビットから最下位（左端）のビットまでを指定すると４番目の位相におけるシフトコードパターンがそれぞれ得られる。
次に、コードマスクメモリ１２に記憶される内容について説明する。
図４は、コードマスクメモリ１２に記憶される内容を示した概念図である。
図４に示すように、コードマスクメモリ１２には、図１に示したマスクコード１０の各位相におけるマスクコードパターンのうち、１番目、５番目、９番目、１３番目の位相におけるマスクコードパターンが記憶される。すなわち、上述したように、コードマスクメモリ１２には、発生させるＰＮ符号を０位相、４位相、８位相、及び１２位相ずらすためのマスクコードパターンがコードマスクメモリ１２に記憶される。
次に、コードマスク１１に記憶したシフトコードパターンと、コードマスクメモリ１２に記憶したマスクコードパターンとを出力する際の動作について説明する。なお、以下において、同期検出回路２４２及び受信部２２６は、図２５に示したものと同じものである。
同期検出回路２４２は、受信部２２６で受信したＣＤＭＡ信号ＣＤに含まれている同期検出用のチャネルの信号から、ＣＤＭＡ信号ＣＤを拡散したときに基地局で使用したＰＮ符号の先頭の位相を検出し、ＰＮ符号発生器１０で発生すべき先頭のＰＮ符号ＰＮの先頭の位相を割り出す。そして、同期検出回路２４２は、上記割り出した位相のＰＮ符号ＰＮを発生させるタイミングを表す時間（コード先頭時間）ＣＴを算出し、比較器１４に出力する。
比較器１４は、同期検出回路２４２からコード先頭時間ＣＴを入力すると、タイマ１５で計数されている時間を読み出し、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差を求める。次に、比較器１４は、上記算出した時間差に応じたアドレスを表すアドレス信号ＡＳをコードメモリ１１とコードマスクメモリ１２に出力する。具体的に説明すると、例えば、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差が０の場合は、図２４に示した第１の位相におけるＰＮ符号を発生させるように、コードメモリ１１とコードマスクメモリ１２のアドレスを指定する。また、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差が１の場合は、図２４に示した第２の位相におけるＰＮ符号を発生させるように、コードメモリ１１とコードマスクメモリ１２のアドレスを指定する。以降同様に、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差が２〜１４の場合は、それぞれ図２４に示した第３の位相〜第１５の位相におけるＰＮ符号ＰＮを発生させるように、コードメモリ１１とコードマスクメモリ１２のアドレスを指定する。このように、本実施の形態のＰＮ符号発生装置１０では、コードメモリ１１とコードマスクメモリ１２のアドレスを指定して、シフトコードパターンとマスクコードパターンを読み出し、上記読み出したシフトコードパターンとマスクコードパターンを用いて、上述した図５の説明の方法を行って、任意の位相を先頭とするＰＮ符号ＰＮを発生させるようにしている。
そして、アドレス信号ＡＳにより表されるアドレスは、例えば、４ビットのアドレスである。そして、４ビットのアドレスのうちの下位２ビットをコードメモリ１１に割り当てるとともに、上位２ビットをコードマスクメモリ１２に割り当てる。すなわち、上記アドレス信号ＡＳにより表されるアドレスのうちの下位２ビットのアドレスについてはコードメモリ１１に出力され、上位２ビットのアドレスについてはコードマスクメモリ１２に出力される。
以下、シフトコードパターン３０ａ〜３０ｄと、マスクコードパターン４０ａ〜４０ｄを、アドレス信号ＡＳにより指定する方法について具体例を挙げながら説明する。
例えば、図３Ａに示したシフトコードパターン３０ａを下位２ビットのアドレス「００」に、シフトコードパターン３０ｂを下位２ビットのアドレス「０１」に、シフトコードパターン３０ｃを下位２ビットのアドレス「１０」に、シフトコードパターン３０ｄを下位２ビットのアドレス「１１」にそれぞれ割り当てる。また、図４に示したマスクコードパターン４０ａを上位２ビットのアドレス「００」に、マスクコードパターン４０ｂを上位２ビットのアドレス「０１」に、マスクコードパターン４０ｃを上位２ビットのアドレス「１０」に、マスクコードパターン４０ｄを上位２ビットのアドレス「１１」にそれぞれ割り当てる。
上述したように、本実施の形態のＰＮ符号発生装置１０は、コードメモリ１１とコードマスクメモリ１２のアドレスを指定することにより、任意の位相のＰＮ符号ＰＮを発生させることができるが、以下では、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差が０の場合（すなわち、第１の位相からＰＮ符号を発生させる場合）におけるコードメモリ１１とコードマスクメモリ１２の読み出し動作について説明する。
まず、上記時間差が０であり、図２４に示した１番目の位相を先頭の位相としてＰＮ符号ＰＮを発生させることが指定されている場合、比較器１４は、１番目の位相におけるシフトコードパターン３０ａの記憶領域を表す２ビットのアドレス「００」を下位とし、１番目の位相におけるマスクコードパターン４０ａ（発生させるＰＮ符号を０位相ずらすためのマスクコードパターン）の記憶領域を表す２ビットのアドレス「００」を上位とするアドレス「００００」を示すアドレス信号ＡＳを生成する。これにより、１番目の位相におけるシフトコードパターン３０ａと、１番目の位相におけるマスクコードパターン４０ａとが出力され、１番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。こうして、上記時間差に応じた位相のＰＮ符号ＰＮが発生する。そして、上記時間差に応じた位相に続く位相のＰＮ符号については、アドレス「００００」を順次インクリメントしてコードメモリ１１とコードマスクメモリ１２のアドレスを指定し、指定したアドレスに記憶されているシフトコードパターン３０ａ〜３０ｄとマスクコードパターン４０ａ〜４０ｄを、以下のようにして読み出し、巡回ＰＮ符号を発生させる。
まず、比較器１４は、上記アドレス「００００」をインクリメントしてアドレス「０００１」を指定して、２番目の位相におけるシフトコードパターン３０ｂと、１番目の位相におけるマスクコードパターン４０ａとを指定するアドレス信号ＡＳを生成する。これにより、２番目の位相におけるシフトコードパターン３０ｂと、１番目の位相におけるマスクコードパターン４０ａとが出力され、２番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。
次に、比較器１４は、上記アドレス「０００１」をインクリメントしてアドレス「００１０」を指定して、３番目の位相におけるシフトコードパターン３０ｃと、１番目の位相におけるマスクコードパターン４０ａとを指定するアドレス信号ＡＳを生成する。これにより、３番目の位相におけるシフトコードパターン３０ｃと、１番目の位相におけるマスクコードパターン４０ａとが出力され、３番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。
次に、比較器１４は、上記アドレス「００１０」をインクリメントしてアドレス「００１１」を指定して、４番目の位相におけるシフトコードパターン３０ｄと、１番目の位相におけるマスクコードパターン４０ａとを指定するアドレス信号ＡＳを生成する。これにより、４番目の位相におけるシフトコードパターン３０ｄと、１番目の位相におけるマスクコードパターン４０ａとが出力され、４番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。
次に、比較器１４は、上記アドレス「００１１」をインクリメントしてアドレス「０１００」を指定して、１番目の位相におけるシフトコードパターン３０ａと、５番目の位相におけるマスクコードパターン４０ｂとを指定するアドレス信号ＡＳを生成する。これにより、１番目の位相におけるシフトコードパターン３０ａと、５番目の位相におけるマスクコードパターン４０ｂとが出力され、５番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。
６番目以降の位相におけるＰＮ符号ＰＮについても同様にして、アドレス信号ＡＳにより所望のシフトコードパターンとマスクコードパターンとを出力して、１番目〜１５番目の位相におけるＰＮ符号ＰＮを全て算出するようにする。
このように、本実施の形態では、コードメモリ１１に記憶されているシフトコードパターン３０ａ〜３０ｄと、コードマスクメモリ１２に記憶されているマスクコードパターン４０ａ〜４０ｄとを、４ビットのアドレスをインクリメントすることにより指定するようにしている。すなわち、本実施の形態では、アドレスをインクリメントするだけで、コードメモリ１１に記憶されているシフトコードパターン３０ａ〜３０ｄと、コードマスクメモリ１２に記憶されているマスクコードパターン４０ａ〜４０ｄとを指定することができるようにして、回路規模を縮小させるようにしている。
図６は、本発明の第１の実施の形態を示し、位相シフト回路１３の概略構成を示した図である。
図６に示すように、位相シフト回路１３は、並列に接続された４つのＡＮＤ回路５１〜５４と、ＸＯＲ回路５５とを有する。
ＡＮＤ回路５１〜５４は、コードメモリ１１から入力したシフトコードパターンと、コードマスクメモリ１２から入力したマスクコードの同位のビットのＡＮＤをとってＸＯＲ回路５５に出力する。
ＸＯＲ回路５５は、ＡＮＤ回路５１〜５４から出力された４ビットのコードのＸＯＲをとってＰＮ符号ＰＮを発生させる。
次に、図２４に示した５番目の位相におけるＰＮ符号（出力コード）ＰＮを発生させる場合を例に挙げてＰＮ符号発生器１０の動作を説明する。
まず、コードメモリ１１に記憶されている１番目の位相におけるシフトコードパターンを読み出すとともに、コードマスクメモリ１２に記憶されている５番目の位相におけるマスクコードパターンを読み出すためのアドレス信号ＡＳが比較器１４からコードメモリ１１とコードマスクメモリ１２に出力される。
これにより、コードメモリ１１からは、１番目の位相におけるシフトコードパターンの各ビットのコードが、ＡＮＤ回路５１〜５４に出力される。具体的には、ＡＮＤ回路５１〜５３には０が出力され、ＡＮＤ回路５４には１が出力される。
一方、コードマスクメモリ１２からは、５番目の位相におけるマスクコードパターンの各ビットのコードがＡＮＤ回路５１〜５４に出力される。具体的には、ＡＮＤ回路５１、５２には０が出力され、ＡＮＤ回路５３、５４には１が出力される。
ＡＮＤ回路５１〜５４は、入力した２つのコードのＡＮＤをとり、ＸＯＲ回路５５に出力する。具体的には、ＡＮＤ回路５１は０を、ＡＮＤ回路５２は０を、ＡＮＤ回路５３は０を、ＡＮＤ回路５４は１を、それぞれＸＯＲ回路５５に出力する。
ＸＯＲ回路５５は、ＡＮＤ回路５４から入力した各ビットのＸＯＲをとって、４ビットのコードを１ビットのコードにする。これにより、図２３に示した第５の位相におけるＰＮ符号ＰＮ（出力コード＝１）が算出される。
上述したように、図２４に示した（ｎ＋ｍ−１）番目の位相におけるＰＮ符号ＰＮを得るには、ｎ番目の位相におけるシフトコードパターンと、ｍ番目の位相におけるマスクコードパターンとを用いて上述した演算を行えばよい。したがって、図２４に示した他の位相におけるＰＮ符号ＰＮを発生させる場合についても同様に、コードメモリ１１のｎ番目の位相におけるシフトコードパターンと、コードマスクメモリ１２のｍ番目の位相におけるコードパターンとを用いて、位相シフト回路１３で上述した処理を行えば、（ｎ＋ｍ−１）番目の位相におけるＰＮ符号ＰＮを発生させることができる。このような演算を行うことにより、次数４の線形帰還シフトレジスタにより構成されるＭ系列のＰＮ符号発生器で得られる任意の位相のＰＮ符号ＰＮを、論理演算により即時に得ることができる。
ところで、上述したように、本実施の形態では、図２４に示したシフトコードパターンのうち、１番目〜４番目の位相におけるシフトコードパターンをコードメモリ１１に記憶させるとともに、図１に示したマスクコードパターンのうち、１番目、５番目、９番目、１３番目の位相におけるマスクコードパターンをコードマスクメモリ１２に記憶させ、これら記憶したコードパターンを用いて、次数が４の線形帰還シフトレジスタで得られるＰＮ符号ＰＮを任意の位相から発生させる場合を一例として説明したが、これを一般化して記述すると以下のようになる。
まず、コードメモリ１１には、次数がＮの線形帰還シフトレジスタの各フリップフロップに与えられるＬ個のシフトコードパターンをＭ分割して得られる［Ｌ／Ｍ］個の連続した位相のシフトコードパターンを記憶させる（Ｍは２以上の整数）。なお、上記Ｌは符号長であり、（２Ｎ−１）で表される。また、上記［Ｌ／Ｍ］は、小数点以下を切り上げた整数である。上述した例では、分割数Ｍを４とし、１番目から［Ｌ／Ｍ＝４］番目の位相における［Ｌ／Ｍ＝４］個のシフトコードパターンを記憶させている。
また、コードマスクメモリ１２には、発生させるＰＮ符号ＰＮの位相を［Ｑ×Ｌ／Ｍ］ずらすためのマスクコードパターンを記憶させる（Ｑは０以上（Ｍ−１）以下の整数）。すなわち、［Ｑ×Ｌ／Ｍ＋１］番目の位相におけるマスクコードパターンを記憶させる。
そして、例えば、［２＋２×Ｌ／Ｍ］番目の位相のＰＮ符号を発生させる場合、コードメモリ１１からは、２番目のビットから（２＋Ｎ）番目のビットまでのシフトコードパターンを読み出す（すなわち２番目の位相におけるシフトコードパターンを読み出す）。また、コードメモリ１２からは、発生させるＰＮ符号ＰＮの位相を［２×Ｌ／Ｍ］ずらすためのマスクコードパターンを読み出す（すなわち、［２×Ｌ／Ｍ＋１］番目の位相におけるマスクコードパターンを読み出す）。そして、コードメモリ１１とコードマスクメモリ１２から読み出したコードパターンを用いて、位相シフト回路１３で上述した論理演算を行う。
このようにすれば、コードメモリ１１のビット数は、［（Ｌ／Ｍ）＋Ｎ−１］になり（図３Ｂを参照）、また、マスクコード１２のビット数は、［Ｍ×Ｎ］になる（図４を参照）。したがって、メモリ全体のビット数は、以下の（１式）のようになる。
ビット数＝（Ｌ／Ｍ）＋Ｎ−１＋Ｍ×Ｎ・・・（１式）
例えば、次数Ｎが１８の線形帰還シフトレジスタにより発生するＰＮ符合の符号長Ｌ（＝２Ｎ−１）は、２６２１４３になり、従来のようにＰＮ符号を全てメモリ２４１に記憶した場合、メモリ２４１のビット数は２６２１４３になる。これに対し、コードメモリ１１のビット数と、コードマスクメモリ１２のビット数の合計は、分割数Ｍを１２８とすると、上記（１式）にＮ＝１８、Ｌ＝２６２１４３、Ｍ＝１２８を代入して、４３６９になり、従来の１．６７％になる。したがって、ＰＮ符号ＰＮを任意の位相から即時に発生させるためにＰＮ符号発生器のメモリに記憶するビット数を従来よりも大幅に少なくすることができる。これにより、ＰＮ符号発生器のメモリの回路規模を従来よりも大幅に縮小させることができる。
なお、本実施の形態ではＰＮ符号発生器１０を、ＣＤＭＡ方式で通信する受信機に適用した場合を例に挙げて説明したが、ＰＮ符号発生器１０を送信機に適用してもよいということは言うまでもない。
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。
本実施の形態では、図７に示すように、コードメモリ１１に記憶させるシフトコードパターンと、コードマスクメモリ１２に記憶させるマスクコードパターンとをＮビットずつ同じアドレスに記憶させるようにして、コードパターンの読み出し回数を減らすことができるようにしている。上述したように、Ｎは線形帰還シフトレジスタの次数である。
図８は、本発明の第２の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。なお、図８において、上述した第１の実施の形態のＰＮ符号発生器１０と同一の部分については、図１〜図６に付した符号と同一の符号を付して詳細な説明を省略する。
図８において、ＰＮ符号発生器７０は、コードメモリ７１と、コードマスクメモリ７２と、位相シフト回路１３と、分配器７４とを有する。
上述したようにコードメモリ７１は、コードパターンをＮビットずつ同じアドレスに記憶している。また、コードマスクメモリ７２は、マスクコードパターンをＮビットずつ同じアドレスに記憶している。すなわち、コードマスクメモリ７２は、同じ位相のマスクコードパターンを同じアドレスに記憶している。
分配器７４は、比較器１４から出力されるアドレス信号ＡＳに基づいて、コードメモリ７１から出力されたコードを入れ替えて、アドレス信号ＡＳで示されているシフトコードパターンを構成し、位相シフト回路１３に出力する機能を有する。
例えば、図７において、コードメモリ７１に格納されるコードパターンのうち、最初のアドレスＡｄｄ１の２ビット目からＮビット目と、次のアドレスＡｄｄ２の１ビット目のコードにより構成されるコードパターン（２番目の位相におけるシフトコードパターン）が、アドレス信号ＡＳにより指定されている場合（図７の網がけ部）、アドレスＡｄｄ１のＮビットのコードと、アドレスＡｄｄ２のＮビットのコードが、コードメモリ７１から分配器７４に出力される。
そして、分配器７４は、アドレス信号ＡＳに基づいて、コードメモリ１１から入力した２Ｎビットのコードから、上記２番目の位相におけるシフトコードパターンを取り出し、位相シフト回路１３に出力する。
このように、コードパターン３１をＮビットずつ同じアドレスに記憶しているコードメモリ１１から出力されたコードの中から所望のシフトコードパターンを取り出して位相シフト回路１３に与えるようにすれば、１回または２回の読み出しで全ての位相のシフトコードパターンを読み出すことができる。
一方、コードマスクメモリ７２については、Ｎビットずつ同じアドレスに記憶させるようにすれば、例えば図４に示したマスクコードパターンごとに同じアドレスに記憶させることができるので、所望のマスクコードパターンが１回の読み出し動作で位相シフト回路１３に出力される。
なお、本実施の形態のように、コードメモリ７１とコードマスクメモリ７２に記憶されるコードパターンをＮビットずつ同じアドレスに記憶させるようにすれば、読み出し回数を可及的に減らすことができ好ましいが、読み出し回数を２Ｎ回未満に減らすことができれば、コードメモリ７１及びコードマスクメモリ７２の同じアドレスに記憶させるビット数はＮビットに限定されない。
また、シフトコードパターンを構成するコードが複数のアドレスに跨らないように、上記コードをコードメモリ１１に記憶させるようにしていれば、分配器７４を設ける必要はない。
（第１の変形例）
次に、上述した第２の実施の形態の第１の変形例について説明する。
上述した第２の実施の形態では、コードメモリ７１に記憶させるコードパターンをＮビットごとに同じアドレスに記憶させるようにした。このようにすると、所望のシフトコードパターンが２つのアドレスに跨っている場合、２回の読み出しが必要になる。そこで、本例では、コードメモリ７１を２つに分割し、上記分割した各コードメモリのアドレスを個別に制御するようにしている。
具体的に説明すると、例えば、図９に示すように、Ｎビットごとに同じアドレスに記憶されているコードパターンが、先頭のビットからＰ（Ｐ≧Ｎ−１）番目のビットまでのコードパターンと、（Ｐ＋１）番目のビットから２Ｐ番目のビットまでのコードパターンとに分割されるように、コードメモリ７１を２つのコードメモリ７１ａ、７１ｂに分割する。そして、分割した各コードメモリ７１ａ、７１ｂのアドレスを個別に指定して２つのコードメモリ７１ａ、７１ｂから必要なコードを読み出す。
このようにすれば、任意のビットを先頭とするシフトコードパターンについては（例えば図９の網がけ部）、１回の読み出し動作で読み出すことができ、より少ない読み出し回数でシフトコードパターンをコードメモリ７１ａ、７１ｂから読み出すことができる。
（第２の変形例）
次に、上述した第２の実施の形態の第２の変形例について説明する。
上述した第２の実施の形態では、図７の網がけ部のように所望のシフトコードパターンが２つのアドレスに跨っている場合、２回の読み出しが必要になる。そこで、本例では、各アドレスに記憶される最上位のビットまたは最下位のビットの少なくとも何れか一方を含むコードを隣り合うアドレスで重複させてコードパターンを記憶させるようにしている。
図１０を参照しながら具体的に説明すると、最初のアドレスＡｄｄ１には、コードパターンの最上位のビットから（２Ｎ−１）番目のビットまでのコードを記憶する。次のアドレスＡｄｄ２には、コードパターンの（Ｎ＋１）番目のビットから（３Ｎ−１）番目のビットまでのコードを記憶する。３番目のアドレスＡｄｄ３には、コードパターンの（２Ｎ＋１）番目のビットから、（４Ｎ−１）番目のビットまでのコードを記憶する。同様に、Ｑ番目のアドレスＡｄｄＱには、コードパターンの（（Ｑ−１）Ｎ＋１）番目のビットから（（Ｑ＋１）Ｎ−１）番目のビットまでのコードを記憶する。
このようにしてコードパターンをコードメモリに記憶させるようにすれば、１回の読み出しで全ての位相のシフトコードパターンを読み出すことができる（図１０の網がけ部を参照）。
ただし、１回の読み出しで全ての位相のコードパターンを読み出すことができれば、コードメモリのビット配置は図１０に示したものに限定されない。
（第３の実施の形態）
次に、本発明の第３の実施の形態について説明する。
図１１は、本発明の第３の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。なお、図１１において、上述した第１及び第２の実施の形態のＰＮ符号発生器１０と同一の部分については、図１〜図１０に付した符号と同一の符号を付して詳細な説明を省略する。
図１１において、ＰＮ符号発生器１００は、コードメモリ１０１と、コードマスクメモリ７２と、位相シフト回路１３と、シフタ１０２とを有している。
図１２は、コードメモリ１０１に記憶されているコードパターンから所望のシフトコードパターンを取り出す際の動作を説明する図である。
図１２に示すように、コードメモリ１０１は、（Ｎ＋ｉ）ビットのコードを同一のアドレスＡｄｄ１に記憶している。ここで、Ｎは線形帰還シフトレジスタの次数、ｉは自然数である。
シフタ１０２は、比較器１４から出力されるアドレス信号ＡＳに基づいて、コードメモリ１０１から出力された（Ｎ＋ｉ）ビットのコードをシフトして、位相シフト回路１３に出力する機能を有する。
例えば、図１２において、コードメモリ１０１に記憶されているコードパターンのうち、３ビット目から（Ｎ＋２）ビット目までのコードにより構成されるシフトコードパターン（３番目の位相におけるシフトコードパターン）を取り出すことがアドレス信号ＡＳにより指定されている場合（図１２の網がけ部）、コードメモリ１０１のアドレスＡｄｄ１に格納されている（Ｎ＋ｉ）ビットのコードが、シフタ１０２に出力される。
そして、シフタ１０２は、アドレス信号ＡＳに基づいて、コードメモリ１０１から入力した（Ｎ＋ｉ）ビットのコードを２ビットシフトさせて、３ビット目から（Ｎ＋２）ビット目までのコードを取り出し、位相シフト回路１３に出力する。
このように、シフタ１０２を用いて、コードメモリ１０１から出力された（Ｎ＋ｉ）ビットのコード中から連続したＮビットのコードパターンを取り出して位相シフト回路１３に出力するようにすれば、コードメモリ１０１の１つのアドレスＡｄｄ１にＮビット以上のコードを記憶させることができる。
（第４の実施の形態）
次に、本発明の第４の実施の形態について説明する。
図１３は、本発明の第４の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。なお、図１３において、上述した第１〜第３の実施の形態のＰＮ符号発生器と同一の部分については、図１〜図１２に付した符号と同一の符号を付して詳細な説明を省略する。
図１３において、ＰＮ符号発生器１２０は、コードメモリ１０１と、コードマスクメモリ７２と、シフタ１０２ａ〜１０２ｒと、位相シフト回路１３ａ〜１３ｒとを有している。図１３に示すように、本実施の形態のＰＮ符号発生器１２０は、図１１に示した第３の実施の形態のＰＮ符号発生器１００におけるシフタ１０２と位相シフト回路１３とをそれぞれ複数個設けて、連続した複数個の位相のＰＮ符号ＰＮａ〜ＰＮｒを同時に発生させるようにしている。図１４Ａ及び図１４Ｂを参照しながら具体的な動作を説明する。
図１４Ａ及び図１４Ｂは、コードメモリ１０１に記憶されているコードパターンから所望のシフトコードパターンを取り出す際の動作を説明する図である。
図１４Ａに示すように、コードメモリ１０１に記憶されているコードパターンのうち、２ビット目から（Ｎ＋１）ビット目までのコードにより構成されるシフトコードパターン（２番目の位相におけるシフトコードパターン）を取り出すことが、比較器１４から出力されるアドレス信号ＡＳ１により指定されている場合、シフタ１０２ａは、コードメモリ１０１から出力された（Ｎ＋ｉ）ビットのコードパターンを１ビットシフトさせる。これにより、２番目のビットから（Ｎ＋１）番目のビットまでのコードパターン（２番目の位相におけるシフトコードパターン）が取り出され、位相シフト回路１３ａに出力される。
そして、シフタ１０２ｂは、比較器１４から出力されるアドレス信号ＡＳ１で指定されている位相の次の位相におけるシフトコードパターンを取り出す。例えば、２番目の位相におけるシフトコードパターンを取り出すことが、アドレス信号ＡＳ１により指定されている場合、図１４Ｂに示すように、シフタ１０２ｂは、コードメモリ１０１から出力された（Ｎ＋ｉ）ビットのコードパターンを２ビットシフトさせて３番目のビットから（Ｎ＋２）番目のビットまでのコード（３番目の位相におけるコードパターン）を取り出し、位相シフト回路１３ｂに出力する。
同様に、シフタ１０２ｒは、比較器１４から出力されるアドレス信号ＡＳ１で指定されている位相を進めた位相におけるシフトコードパターンを抽出して位相シフト回路１３ｒに出力する。
位相シフト回路１３ａ〜１３ｒは、シフタ１０２ａ〜１０２ｒから出力されたシフトコードパターンと、コードマスクメモリ７２から出力されたマスクコードパターンとを用いて、第１の実施の形態で説明した論理演算を行う。これにより、連続した複数個の位相のＰＮ符号ＰＮａ〜ＰＮｒが同時に発生する。
このように本実施の形態では、１つずつ位相がずれたシフトコードパターンをシフタ９２ａ〜９２ｒから位相シフト回路１３ａ〜１３ｒに出力するようにしたので、連続した複数個の位相のＰＮ符号ＰＮａ〜ＰＮｒを同時に発生させることができる。これにより、ＰＮ符号ＰＮをより迅速に発生させることができる。
なお、上記では、連続した複数位相のＰＮ符号ＰＮａ〜ＰＮｒを同時に発生させる例を示したが、シフタ９２ａ〜９２ｒのシフト量を、コードメモリ１０１の１アドレスから読み出したコードパターンをシフト可能な範囲で任意の値に設定することにより、任意の複数位相のＰＮ符号を同時に発生させるようにしてもよい。
（第５の実施の形態）
次に、本発明の第５の実施の形態について説明する。
図１５は、本発明の第５の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。なお、図１５において、上述した第１〜第４の実施の形態のＰＮ符号発生器１０と同一の部分については、図１〜図１４に付した符号と同一の符号を付して詳細な説明を省略する。
図１５において、ＰＮ符号発生器１４０は、コードメモリ１４１と、コードマスクメモリ１４２と、位相シフト回路１３ａ〜１３ｇとを有している。
コードメモリ１４１は、上述した第１〜第４の実施の形態で説明したコードメモリ１１、７１、１０１の何れかである。
コードマスクメモリ１４２には、発生させるＰＮ符号ＰＮの位相を［Ｑ×Ｌ／Ｍ］ずらすためのマスクコードパターンと、その前後の数位相ずらすためのマスクコードパターンとが記憶される。上述したように、Ｑは０以上（Ｍ−１）以下の整数である。
例えば、図１６に示すように、上記発生させるＰＮ符合の位相を［Ｑ×Ｌ／Ｍ］位相（０位相、Ｌ／Ｍ位相、２×Ｌ／Ｍ位相、３×Ｌ／Ｍ位相、・・・（Ｍ−１）×Ｌ／Ｍ位相）ずらすためのマスクコードパターンと、その前後の±３位相ずらすためのマスクコードパターンをコードマスクメモリ１４２に記憶させる。
そして、例えば、比較器１４から出力されるアドレス信号ＡＳに基づいて、上記発生させるＰＮ符号ＰＮの位相をＬ／Ｍ位相ずらすマスクコードを出力することが指定された場合、コードマスクメモリ１４２からは、上記発生させるＰＮ符合の位相をＬ／Ｍ位相ずらすマスクコードパターンの他に、上記発生させるＰＮ符合の位相を（Ｌ／Ｍ−３）位相、（Ｌ／Ｍ−２）位相、（Ｌ／Ｍ−１）位相、（Ｌ／Ｍ＋１）位相、（Ｌ／Ｍ＋２）、及び（Ｌ／Ｍ＋３）位相ずらすマスクコードパターンも位相シフト回路１３ａ〜１３ｇに出力される。このとき、例えば、（Ｌ／Ｍ−３）位相ずらすマスクコードパターンは、位相シフト回路１３ａに、（Ｌ／Ｍ−２）位相ずらすマスクコードパターンは、位相シフト回路１３ｂに、（Ｌ／Ｍ−１）位相ずらすマスクコードパターンは、位相シフト回路１３ｃに、Ｌ／Ｍ位相ずらすマスクコードパターンは、位相シフト回路１３ｄに、（Ｌ／Ｍ＋１）位相ずらすマスクコードは、位相シフト回路１３ｅに、（Ｌ／Ｍ＋２）位相ずらすマスクコードパターンは、位相シフト回路１３ｆに、（Ｌ／Ｍ＋３）位相ずらすマスクコードパターンは、位相シフト回路１３ｇにそれぞれ出力されるようにする。
位相シフト回路１３ａ〜１３ｇは、コードメモリ１４１から出力されたシフトコードパターンと、コードマスクメモリ１４２から出力されたマスクコードパターンとを用いて、第１の実施の形態で説明した論理演算を行う。これにより、連続した７個の位相のＰＮ符号ＰＮａ〜ＰＮｇが発生する。
このように本実施の形態では、上記発生させるＰＮ符合の位相を［Ｑ×Ｌ／Ｍ］ずらすためのマスクコードパターンの他に、その前後の数位相ずらすためのマスクコードパターンをコードマスクメモリ１４２に記憶しておき、上記発生させるＰＮ符合の位相を［Ｑ×Ｌ／Ｍ］ずらすためのマスクコードパターンが指定されたときには、その前後の数位相ずらすためのマスクコードパターンも位相シフト回路１３ａ〜１３ｇに出力するようにしたので、連続した７（複数）個の位相のＰＮ符号ＰＮａ〜ＰＮｇを同時に発生させることができる。これにより、ＰＮ符号ＰＮをより迅速に発生させることができる。
なお、上記では、連続した複数位相のＰＮ符号ＰＮａ〜ＰＮｇを同時に発生させる例を示したが、コードマスクメモリ１４２に［Ｑ×Ｌ／Ｍ］に加えて、任意の位相（［Ｑ×Ｌ／Ｍ］＋Ｉ（Ｉは正数））をシフトさせるマスクコードパターンを設定することにより、任意の複数位相のＰＮ符号を同時に発生させるようにしてもよい。
（第６の実施の形態）
次に、本発明の第６の実施の形態について説明する。
図１７は、本発明の第６の実施の形態を示し、ＧＯＬＤ符号発生器の概略構成を示した図である。なお、図１７において、上述した第１の実施の形態と同一の部分については、図２に付した符号と同一の符号を付して詳細な説明を省略する。
図１７において、ＧＯＬＤ符号発生器１６０は、コードメモリ１１ａ、１１ｂと、コードマスクメモリ１２ａ、１２ｂと、位相シフト回路１３ａ、１３ｂとを有する２つのＰＮ符号発生器１０ａ、１０ｂと、ＸＯＲ回路１６１とを有している。
図１７に示すように、本実施の形態では、上記第１の実施の形態のＰＮ符号発生器１０を２つ設け、これらで発生されたＰＮ符号ＰＮａ、ＰＮｂのＸＯＲをＸＯＲ回路１６１でとってＧＯＬＤ符号ＧＤを発生させるようにしている。
すなわち、ＰＮ符号発生器１０ａは、比較器１４ａからのアドレス信号ＡＳａに基づいて、上述したようにしてＰＮ符号ＰＮａを発生させてＸＯＲ回路１６１に出力する。一方、ＰＮ符号発生器１０ｂは、比較器１４ｂからのアドレス信号ＡＳｂに基づいて、上述したようにしてＰＮ符号ＰＮｂを発生させてＸＯＲ回路１６１に出力する。
そして、ＸＯＲ回路１６１は、ＰＮ符号発生器１０ａから入力したＰＮ符号ＰＮａと、ＰＮ符号発生器１０ｂから入力したＰＮ符号１０ｂとのＸＯＲをとってＧＯＬＤ符号ＧＤを発生させる。なお、２つのＰＮ符号発生器１０ａ、１０ｂは、同じ構成のものであっても、異なる構成のものであってもよい。例えば、２つのＰＮ符号発生器１０ａ、１０ｂが、異なる次数の線形帰還シフトレジスタから発生するＰＮ符号ＰＮを算出する構成であってもよい。
このように、本実施の形態では、メモリの回路規模を縮小させながら任意の位相のＰＮ符号ＰＮａ、ＰＮｂを発生させる２つのＰＮ符号発生器１０ａ、１０ｂを２つの比較器１４ａ、１４ｂにより個別に制御し、各ＰＮ符号発生器１０ａ、１０ｂで発生させたＰＮ符合ＰＮａ、ＰＮｂのＸＯＲをとってＧＯＬＤ符号ＧＤを発生させるようにしたので、メモリに記憶させるビット数を可及的に少なくして任意の位相のＧＯＬＤ符号ＧＤを即時に発生させることができる。
なお、本実施の形態では、第１の実施の形態のＰＮ符号発生器１０を用いてＧＯＬＤ符号を発生させる場合を一例として挙げたが、本実施の形態のＧＯＬＤ符号発生器１６０に適用されるＰＮ符号発生器は、ＰＮ符号発生器１０に限定されず、第２〜第５の実施の形態のＰＮ符号発生器７０、１００、１２０、１４０を適用して、ＧＯＬＤ符号器１６０を構成するようにしてもよい。
（第７の実施の形態）
次に、本発明の第７の実施の形態について説明する。
図１８は、本発明の第７の実施の形態を示し、ＧＯＬＤ符号発生器の概略構成を示した図である。なお、図１８において、上述した第６の実施の形態と同一の部分については、図１７に付した符号と同一の符号を付して詳細な説明を省略する。
図１８において、ＧＯＬＤ符号発生器１７０は、マルチプレクサ回路（ＭＵＸ回路）１７１と、コードメモリ１１と、コードマスクメモリ１２と、デマルチプレクサ回路（ＤＥＭＵＸ回路）１７２と、位相シフト回路１３ａ、１３ｂと、ＸＯＲ回路１６１とを有している。
本実施の形態のＧＯＬＤ符号発生器１７０は、２つの生成多項式が同一の２つのＰＮ符号発生器から発生されるＰＮ符号ＰＮａ、ＰＮｂのＸＯＲをとって、ＧＯＬＤ符号ＧＤを発生させるものである。
ＭＵＸ回路１７１は、比較器１４ａ、１４ｂからのアドレス信号ＡＳａ、ＡＳｂを時分割でコードメモリ１１とコードマスクメモリ１２に出力する。具体的に説明すると、例えば、比較器１４ａからのアドレス信号ＡＳａと、比較器１４ｂからのアドレス信号ＡＳｂとを交互にコードメモリ１１とコードマスクメモリ１２に出力する。
ＤＥＭＵＸ回路１７２は、ＭＵＸ回路１７１からのアドレス信号ＡＳに従って、コードメモリ１１から出力されたシフトコードパターンと、コードマスクメモリ１２から出力されたマスクコードパターンを、２つの位相シフト回路１３ａ、１３ｂの何れか一方に出力する。なお、ＤＥＭＵＸ回路１７２は、コードメモリ１１とコードマスクメモリ１２から入力したコードパターンが、比較器１４ａ、１４ｂのどちらのアドレス信号ＡＳａ、ＡＳｂに基づくものであるのかを、例えば上記コードパターンの入力のタイミングなどに基づいて判別する。そして、ＤＥＭＵＸ回路１７２は、比較器１４ａからのアドレス信号ＡＳａに基づいて入力したシフトコードパターンとマスクコードパターンについては位相シフト回路１３ａに出力し、比較器１４ｂからのアドレス信号ＡＳｂに基づいて入力したシフトコードパターンとマスクコードパターンについては位相シフト回路１３ｂに出力する。
位相シフト回路１３ａ、１３ｂは、ＤＥＭＵＸ回路１７２から出力されたシフトコードパターンとマスクコードパターンとを用いて上述したようにしてＰＮ符号ＰＮａ、ＰＮｂを発生させる。
ＸＯＲ回路１６１は、位相シフト回路１３ａ、１３ｂから出力されたＰＮ符号ＰＮａ、ＰＮｂのＸＯＲをとってＧＯＬＤ符号ＧＤを発生させる。
このように、本実施の形態では、生成多項式が同じ２つのＰＮ符号発生器から発生するＰＮ符号を用いてＧＯＬＤ符号を生成する際に、図１７に示したＰＮ符号発生器１０ａ、１０ｂのコードメモリ１１ａ、１１ｂを共有させるとともに、コードマスクメモリ１２ａ、１２ｂを共有させるようにしたので、ＧＯＬＤ符号ＧＤを発生させる際に使用するメモリの数を、図１７に示した第６の実施の形態のＧＯＬＤ符号発生器１６０の半分にすることができる。すなわち、本実施の形態のＧＯＬＤ符号発生器１７０では、メモリに記憶させるビット数をより少なくして任意の位相のＧＯＬＤ符号を即時に発生させることができる。
なお、本実施の形態では、第１の実施の形態のＰＮ符号発生器１０におけるコードメモリ１１とコードマスクメモリ１２を用いた場合を一例として挙げたが、本実施の形態のＧＯＬＤ符号発生器１７０に適用されるコードメモリとコードマスクメモリは、コードメモリ１１とコードマスクメモリ１２に限定されず、第２〜第５の実施の形態におけるコードメモリ７１、１０１、１４１とコードマスクメモリ７２、１４２を適用して、ＧＯＬＤ符号発生器を構成するようにしてもよい。
（第８の実施の形態）
次に、本発明の第８の実施の形態について説明する。
図１９は、本発明の第８の実施の形態を示し、無線通信装置の概略構成を示した図である。なお、図１９において、上述した第１〜第７の実施の形態と同一の部分については、図１〜図１８に付した符号と同一の符号を付して詳細な説明を省略する。
図１９において、無線通信装置１８０は、受信部１８１と、同期検出回路１８２と、タイマ１５と、比較器１４と、ＰＮ符号発生器１０と、分配器１８３と、逆拡散器１８４と、ＲＡＫＥ合成器１８５とを有している。なお、本実施の形態では、無線通信装置１８０が、基地局とＣＤＭＡ方式で通信を行う移動通信端末装置である場合を例に挙げて説明する。
受信部１８１は、例えばアンテナ、Ａ／Ｄ変換器などから構成され、基地局から送信されたアナログのＣＤＭＡ信号ＣＤを受信し、上記受信したＣＤＭＡ信号ＣＤからデジタルのＣＤＭＡ信号を生成する機能を有する。
ところで、一般に、上記基地局から送信されるＣＤＭＡ信号ＣＤは、建物などの様々な障害物で反射しながら伝搬するため、複数のパスを経由して受信部１８１で受信されるが、本実施の形態では、３つのパスを経由した信号がＣＤＭＡ信号ＣＤに含まれているとして説明を行う。
同期検出回路１８２は、受信部１８１で生成されたデジタルのＣＤＭＡ信号（受信データ）に含まれている同期検出用のチャネルの信号から、上記基地局で使用したＰＮ符号の先頭の位相を検出し、ＰＮ符号発生器１０で発生すべきＰＮ符号の先頭の位相を割り出す。そして、同期検出回路１８２は、上記割り出した位相のＰＮ符号を発生させるタイミングを表す時間（コード先頭時間）ＣＴを算出し、比較器１４に出力する。このとき同期検出回路１８２は、上記３つパスの信号それぞれに対してコード先頭時間ＣＴを算出する。
比較器１４は、同期検出回路１８２から入力した上記３つのパスを経由した信号それぞれに対するコード先頭時間ＣＴと、タイマ１５で計数される時間との時間差を算出する。そして、比較器１４は、上記算出した時間差に応じたアドレス信号ＡＳを、上述したようにして生成し、コードメモリ１１とコードマスクメモリ１２に出力する。これにより、同期検出回路１８２で割り出された位相のＰＮ符号を発生させるためのコードメモリ１１のアドレスと、コードマスクメモリ１２のアドレスとが、上記３つのパスを経由した信号それぞれに対して指定される。
そして、比較器１４は、タイマ１５の計数に従って、同期検出回路１２で割り出された位相の次の位相のＰＮ符号を発生させるためのコードメモリ１１のアドレスと、コードマスクメモリ１２のアドレスとを指定するアドレス信号ＡＳを生成し、コードメモリ１１とコードマスクメモリ１２に出力する。このとき、比較器１４は、上記３つのパスを経由した信号それぞれに対するＰＮ符号を同時に発生させるべく、３つのパスを経由した信号それぞれに対するアドレス信号ＡＳを時分割でコードメモリ１１とコードマスクメモリ１２に出力する。
位相シフト回路１３は、コードメモリ１１及びコードマスクメモリ１２から出力されたコードパターンを用いて上述したようにＰＮ符号ＰＮを発生させる。また、コードメモリ１１及びコードマスクメモリ１２からは、３つのパスを経由した信号それぞれに対するコードパターンが時分割で出力されるので、位相シフト回路１５は、上記３つのパスを経由した信号それぞれに対するＰＮ符号ＰＮを時分割で発生させることになる。
分配器１８３は、位相シフト回路１３により発生された３つのパスの信号それぞれに対するＰＮ符号ＰＮを、３つのＸＯＲ回路１８４ａ〜１８４ｃからなる逆拡散器１８４に出力する。具体的に説明すると、分配器１８３は、上記３つのパスを経由した信号のうち、第１のパスを経由した信号に対するＰＮ符号ＰＮをＸＯＲ回路１８４ａに出力する。また、第２のパスを経由した信号に対するＰＮ符号ＰＮをＸＯＲ回路１８４ｂに出力する。さらに、第３のパスを経由した信号に対するＰＮ符号ＰＮをＸＯＲ回路１８４ｃに出力する。
ＸＯＲ回路１８４ａは、分配器１８３から入力した上記第１のパスの信号に対するＰＮ符号ＰＮと上記デジタルのＣＤＭＡ信号（受信データ）とのＸＯＲをとり、ＲＡＫＥ合成器１８５に出力する。ＸＯＲ回路１８４ｂ、１８４ｃについても同様に、それぞれ第２及び第３のパスを経由した信号に対するＰＮ符号ＰＮと、上記デジタルのＣＤＭＡ信号（受信データ）とを用いて上述したＸＯＲ回路１８４ａと同じ処理を行い、ＲＡＫＥ合成器１８５に出力する。このようにして上記デジタルのＣＤＭＡ信号（受信データ）とＰＮ符号ＰＮとのＸＯＲがとられると、上記デジタルのＣＤＭＡ信号（受信データ）が逆拡散される。
以上のように、ＰＮ符号発生器１０と、分配器１８３と、逆拡散器１８４により、ＰＮ符号逆拡散器が構成される。
ＲＡＫＥ合成器１８５は、ＸＯＲ回路１８４ａ〜１８４ｃにより逆拡散された上記受信データをＲＡＫＥ合成して複合データＤを生成する。この複合データＤにより画像や音声などが構成される。
図２０は、ＲＡＫＥ合成器１８５の構成を示した図である。
図２０において、ＲＡＫＥ合成器１８５は、加算器１９１ａ〜１９１ｃと、フリップフロップ１９２ａ〜１９２ｃと、遅延調整器１９３ａ〜１９３ｃと、第２の加算器１９４とを有している。
図２０に示すように、ＲＡＫＥ合成器１８５では、まず、ＸＯＲ回路１８４ａにより逆拡散された上記受信データに対し、加算器１９１ａとフリップフロップ１９２ａとを用いて処理し遅延調整器１９３ａに出力する。
ＸＯＲ回路１８４ｂ、１８４ｃにより逆拡散された上記受信データについても同様に、加算器１９１ｂ、１９１ｃとフリップフロップ１９２ｂ、１９２ｃとを用いて処理し、遅延調整器１９３ｂ、１９３ｃに出力する。
遅延調整器１９３ａ〜１９３ｃは、フリップフロップ１９２ａ〜１９２ｃから出力された受信データに生じている遅延を調整し、フリップフロップ１９２ａ〜１９２ｃから出力された各受信データの位相を揃えて第２の加算器１９４に出力する。
第２の加算器１９４は、遅延調整器１９３ａ〜１９３ｃから出力された受信データを加算して複合データＤを生成する。
以上のように、本実施の形態では、コードメモリ１１とコードマスクメモリ１２を時分割で制御し、３つのパスを経由して受信した受信データそれぞれに対するＰＮ符号ＰＮを時分割で発生させ、上記発生させたＰＮ符号ＰＮを、分配器１８３を用いてＸＯＲ回路１８４ａ〜１８４ｃに分配し、ＸＯＲ回路１８４ａ〜１８４ｃで上記受信データを逆拡散するようにしたので、上述した第１の実施の形態の効果に加えて、３つのパスを経由して受信した上記受信データを逆拡散するために使用する３つのＰＮ符号ＰＮを１つのＰＮ符号発生器１０で発生させることができるという効果を有する。
なお、本実施の形態では、ＰＮ符号発生器として、第１の実施の形態のＰＮ符号発生器１０を用いるようにしたが、第２〜第５の実施の形態のＰＮ符号発生器７０、１００、１２０、１４０を用いてもよい。また、ＰＮ符号発生器の代わりに第６及び第７の実施の形態で説明したＧＯＬＤ符号発生器１６０、１７０を用いてもよい。
また、本実施の形態では、３つのパスを経由して受信した受信データについて説明したが、パスの数は３つに限定されず、いくつであってもよい。この場合、逆拡散器１８４に設けるＸＯＲ回路の数をパスの数に対応させて設ける必要がある。
（第９の実施の形態）
次に、本発明の第９の実施の形態について説明する。
図２１は、本発明の第９の実施の形態を示し、無線通信装置の概略構成を示した図である。なお、図２１において、上述した第８の実施の形態と同一の部分については、図１９、図２０に付した符号と同一の符号を付して詳細な説明を省略する。
図２１において、無線通信装置（ＰＮ符号逆拡散器）２００は、受信部１８１と、同期検出回路１８２と、タイマ１５と、比較器１４と、ＰＮ符号発生器１０と、ＸＯＲ回路２０１と、分配器２０２と、ＲＡＫＥ合成器１８５とを有している。
上述した第８の実施の形態では、パスの数に応じた複数のＸＯＲ回路１８４ａ〜１８４ｃを設けて上記受信データを逆拡散するようにしたが、図２１に示すように、本実施の形態では、１つのＸＯＲ回路２０１で上記受信データを逆拡散するようにしている。
ＸＯＲ回路２０１は、位相シフト回路１３から時分割されて出力された３つのパスに対応するＰＮ符号ＰＮと、受信部１８１で生成されたデジタルのＣＤＭＡ信号（受信データ）とのＸＯＲをとって、上記デジタルのＣＤＭＡ信号（受信データ）を逆拡散し、分配器２０２に出力する。
分配器２０２は、タイマを有し、上記タイマの計数値を監視しながら、ＸＯＲ回路２０１で逆拡散された受信データを入力する。そして、分配器２０２は、例えば、上記受信データを入力したときのタイマの計数値に基づいて、上記入力した受信データを、ＲＡＫＥ合成器１８５のどの加算器１９１ａ〜１９１ｃに出力するかを決定する（図１９を参照）。そして、分配器２０２は、上記決定した加算器１９１ａ〜１９１ｃに上記入力した受信データを出力する。
以上のように、ＰＮ符号発生器１０と、ＸＯＲ回路２０１と、分配器２０２により、ＰＮ符号逆拡散器が構成される。
ＲＡＫＥ合成器１８５は、分配器２０２から入力した上記受信データを上述したようにしてＲＡＫＥ合成し、複合データＤを生成する。
以上のように、本実施の形態では、位相シフト回路１３から時分割されて出力された３つのパスに対応するＰＮ符号ＰＮと、上記受信データとのＸＯＲをとって、上記受信データを逆拡散し、上記受信データを逆拡散したタイミングにより、上記逆拡散した受信データがどのパスに対応するものなのかを決定するようにしたので、上述した第８の実施の形態の効果に加え、複数のパスを経由して受信した受信データを１つのＸＯＲ回路２０１で逆拡散することができるという効果を有する。
なお、本実施の形態では、ＰＮ符号発生器として、第１の実施の形態のＰＮ符号発生器１０を用いるようにしたが、第２〜第５の実施の形態のＰＮ符号発生器７０、１００、１２０、１４０を用いてもよい。また、ＰＮ符号発生器の代わりに第６及び第７の実施の形態で説明したＧＯＬＤ符号発生器１６０、１７０を用いてもよい。
また、本実施の形態では、３つのパスを経由して受信した受信データについて説明したが、パスの数は３つに限定されず、いくつであってもよい。
（第１０の実施の形態）
次に、本発明の第１０の実施の形態について説明する。
図２２は、本発明の第１０の実施の形態を示し、ＰＮ符号逆拡散器の概略構成を示した図である。なお、図２２において、上述した第４及び第８の実施の形態と同一の部分については、図１３、図１９に付した符号と同一の符号を付して詳細な説明を省略する。
図２２において、ＰＮ符号逆拡散器２１０は、受信データバッファ２１１と、上述した第４の実施の形態のＰＮ符号発生器１２０と、マッチトフィルタ２１２とを有している。
受信データバッファ２１１は、受信部１８１で生成されたデジタルのＣＤＭＡ信号（受信データ）を一時的に記憶するためのバッファである。
ＰＮ符号発生器１２０は、上述したようにして、連続した複数の位相のＰＮ符号を同時に発生させる機能を有する。
マッチトフィルタ２１２は、ＰＮ符号発生器１２０から同時に発生する連続した複数の位相のＰＮ符号ＰＮａ〜ＰＮｒを入力するとともに、上記発生したＰＮ符号ＰＮａ〜ＰＮｒと同数のビットの上記受信データを受信データバッファ２１１から入力し、上記受信データを逆拡散する機能を有する。これにより、逆拡散された受信データＲＤが生成される。
このように、本実施の形態では、上記受信データを逆拡散するときにマッチトフィルタ２１２で使用する複数の位相のＰＮ符号をＰＮ符号発生器１２０で同時に発生させるようにしたので、上記受信データを高速で逆拡散することができる。
なお、本実施の形態では、ＰＮ符号発生器として第４の実施の形態で説明したＰＮ符号発生器１２０を用いた場合について説明したが、連続する複数の位相のＰＮ符号を同時に発生するＰＮ符号発生器であれば、本実施の形態に適用されるＰＮ符号発生器は、第４の実施の形態のものに限定されず、例えば第５の実施の形態で説明したＰＮ符号発生器１４０であってもよい。
（本発明の他の実施の形態）
本発明の第１〜第１０の実施の形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体、又はかかるプログラムを伝送する伝送媒体も本発明の実施の形態として適用することができる。また、上記プログラムを記録したコンピュータ読み取り可能な記録媒体などのプログラムプロダクトも本発明の実施の形態として適用することができる。上記のプログラム、コンピュータ読み取り可能な記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
【産業上の利用可能性】  以上説明したように、本発明によれば、線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンをコードメモリに記憶するとともに、発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンをコードマスクメモリに記憶し、上記記憶したシフトコードパターンと、マスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成し、上記生成した新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させるようにしたので、ＰＮ符号を任意の位相から即時に発生させるためにＰＮ符号発生器のメモリに記憶させるビット数を可及的に少なくすることができる。これにより、ＰＮ符号発生器のメモリの回路規模を大幅に縮小させることができる。
【図１】
2004034581.tif 000003
【図２】
2004034581.tif 000004
2004034581.tif 000005
【図４】
2004034581.tif 000006
【図５】
2004034581.tif 000007
【図６】
2004034581.tif 000008
【図７】
2004034581.tif 000009
【図８】
2004034581.tif 000010
【図９】
2004034581.tif 000011
【図１０】
2004034581.tif 000012
【図１１】
2004034581.tif 000013
【図１２】
2004034581.tif 000014
【図１３】
2004034581.tif 000015
2004034581.tif 000016
【図１５】
2004034581.tif 000017
【図１６】
2004034581.tif 000018
【図１７】
2004034581.tif 000019
【図１８】
2004034581.tif 000020
【図１９】
2004034581.tif 000021
【図２０】
2004034581.tif 000022
【図２１】
2004034581.tif 000023
【図２２】
2004034581.tif 000024
【図２３】
2004034581.tif 000025
【図２４】
2004034581.tif 000026
【図２５】
2004034581.tif 000027
【手続補正書】
【提出日】平成17年3月4日(2005.3.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算回路とを有することを特徴とするＰＮ符号発生器。
【請求項２】
２つのＰＮ符号発生器と、上記２つのＰＮ符号発生器により発生した２つのＰＮ符合の排他的論理和をとる排他的論理和演算回路とを有するＧＯＬＤ符号発生器であって、
上記ＰＮ符号発生器は、
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる第２の排他的論理和演算回路とを有することを特徴とするＧＯＬＤ符号発生器。
【請求項３】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを生成する第１及び第２の論理積演算回路と、
上記第１及び第２の論理積演算回路により生成された新たな２つのコードパターンそれぞれの排他的論理和をとって、２つのＰＮ符号を発生させる第１及び第２の排他的論理和演算回路と、
上記第１及び第２の排他的論理和演算回路により発生した２つのＰＮ符合の排他的論理和をとる第３の排他的論理和演算回路と、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとを、時分割で上記第１及び第２の論理積演算回路に出力させるように制御する制御回路とを有することを特徴とするＧＯＬＤ符号発生器。
【請求項４】
ＰＮ符号を発生させるＰＮ符号発生器と、上記ＰＮ符号発生器から発生したＰＮ符合と受信データとの排他的論理和をとって、上記受信データを逆拡散する排他的論理和演算回路とを有するＰＮ符号逆拡散器であって、
上記ＰＮ符号発生器は、
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとってＰＮ符号を発生させる第２の排他的論理和演算回路とを有することを特徴とするＰＮ符号逆拡散器。
【請求項５】
受信データを一時的に記憶するバッファと、複数のＰＮ符号を同時に発生させるＰＮ符号発生器と、上記ＰＮ符号により発生した複数のＰＮ符号と、上記発生したＰＮ符号と同数のビットの受信データとを逆拡散するマッチトフィルタとを有するＰＮ符号逆拡散器であって、
上記ＰＮ符号発生器は、
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンと、上記マスクコードパターンの位相に続く少なくとも１つの位相におけるマスクコードパターンとを記憶するコードマスクメモリと、
上記コードマスクメモリに記憶された連続する位相におけるマスクコードパターンと、上記コードメモリに記憶されたシフトコードパターンとを用いて、複数のＰＮ符号を発生させる複数の位相シフト回路とを有し、
さらに上記位相シフト回路は、上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算回路とにより構成されることを特徴とするＰＮ符号逆拡散器。
【請求項６】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて、ＰＮ符号を発生させるＰＮ符号発生方法であって、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算ステップとを有することを特徴とするＰＮ符号発生方法。
【請求項７】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶する２つのコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶する２つのコードマスクメモリとを用いて２つのＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生した２つのＰＮ符合の排他的論理和をとってＧＯＬＤ符号を発生させる排他的論理和演算ステップとを有するＧＯＬＤ符号発生方法であって、
上記ＰＮ符号発生ステップは、
上記２つのコードメモリに記憶されたシフトコードパターンと、上記２つのコードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる第２の排他的論理和演算ステップとを有することを特徴とするＧＯＬＤ符号発生方法。
【請求項８】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いてＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生したＰＮ符合と、受信データとの排他的論理和をとって、上記受信データを逆拡散する排他的論理和演算ステップとを有するＰＮ符号逆拡散方法であって、
上記ＰＮ符号発生ステップは、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとってＰＮ符号を発生させる第２の排他的論理和演算ステップとを有することを特徴とするＰＮ符号逆拡散方法。
【請求項９】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて、ＰＮ符号を発生させるに際して、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算ステップとコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１０】
任意の位相のＰＮ符号を発生させる符合発生器において、
上記ＰＮ符号の一部の位相に対応するシフトコードパターンを記憶するコードメモリと、
上記ＰＮ符号の一部の移相量の移相シフトに対応するマスクコードパターンを記憶するコードマスクメモリと、
発生させるＰＮ符合の位相から、上記コードメモリに記憶された一部の位相に対応するシフトコードパターンの中から必要なシフトコードパターンを選択するとともに、上記コードマスクメモリに記憶された一部の位相に対応する任意の移相量のマスクコードパターンの中から必要なマスクコードパターンを選択し、選択されたシフトコードパターンと選択されたマスクコードパターンの組合せにより任意の位相のＰＮ符号を発生させる演算回路とを有することを特徴とするＰＮ符号発生器。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＮ符号発生器、ＧＯＬＤ符号発生器、ＰＮ符号逆拡散器、ＰＮ符号発生方法、ＧＯＬＤ符号発生方法、ＰＮ符号逆拡散方法、及びコンピュータプログラムに関し、特にＣＤＭＡ（Code Division Multiple Access；符号分割多元接続）方式の通信で使用する符号を発生させるために用いて好適なものである。
【背景技術】
【０００２】
ＣＤＭＡ方式を利用した無線通信では、送信側と受信側とで同じ拡散符号を用いて信号を処理する。これにより、送信側で同じ周波数帯を使用して複数のチャネルの信号を同時に送信することができるようにするとともに、受信側で上記複数のチャネルの中から所望のチャネルの信号のみを抽出することができるようにしている。
【０００３】
ところで、上記ＣＤＭＡ方式の無線通信システムで使用される上記拡散符号としては、ＰＮ符号（Pseudo Random Code；擬似ランダム符号）、またはＧＯＬＤ符号がある。ここで、ＧＯＬＤ符号とは、２つのＰＮ符号の排他的論理和をとって得られる符号系列である。なお、以下では、上記排他的論理和をＸＯＲと称する。
【０００４】
図２３は、上記ＰＮ符号を発生させる従来のＰＮ符号発生器の構成を示した図である。なお、図２３では、ＣＤＭＡ方式で基地局などの送信機と通信を行う受信機にＰＮ符号発生器を適用した場合について示している。
図２３において、従来のＰＮ符号発生器２２０は、直列に接続されたフリップフロップ２２１ａ〜２２１ｄと、ＸＯＲ回路２２２と、メモリ２２３とにより構成される。なお、上記において、フリップフロップ２２１ａ〜２２１ｄと、ＸＯＲ回路２２２とにより線形帰還シフトレジスタ（Linear Feedback Shift Register）が構成される。また、このような構成のＰＮ符号発生器２２０は、Ｍ系列（Maximum-Length Sequence；最長符号系列）のＰＮ符号発生器である。
【０００５】
従来のＰＮ符号発生器２２０の動作について説明する。
まず、初期状態として、各フリップフロップ２２１ａ〜２２１ｄにはメモリ２２３に記憶されているコードパターンが設定される。そして、タイマ２２４から出力されるクロック信号ＣＳに従って、各フリップフロップ２２１ａ〜２２１ｃのコードを右隣のフリップフロップ２２１ｂ〜２２１ｄにシフトする。このとき、フリップフロップ２２１ｄから出力されるコードにより、ＰＮ符号ＰＮが構成される。また、フリップフロップ２２１ｃから出力されるコードと、フリップフロップ２２１ｄから出力されるコードとのＸＯＲが、ＸＯＲ回路２２２でとられ、その結果がフリップフロップ２２１ａに出力される。
【０００６】
図２４は、フリップフロップ２２１ａ〜２２１ｄの状態遷移を示した図である。なお、図２４の状態遷移図において、ＦＦ０〜ＦＦ３は、各位相においてフリップフロップ２２１ａ〜２２１ｄに与えられるコードである。また、出力コードとは、各位相においてフリップフロップ２２１ｄから出力されるコードであり、このコードによりＰＮ符号ＰＮが構成される。
図２４に示すように、フリップフロップ２２１ａ〜２２１ｄのコードパターンは、１番目の位相におけるＦＦ０〜ＦＦ２が０、ＦＦ３が１というコードパターンから、１５番目の位相におけるＦＦ０とＦＦ１が０、ＦＦ２とＦＦ３が１というコードパターンまで順次遷移する。そして、１６番目の位相で上記１番目の位相の状態に戻り、上記１６番目の位相からは、上記第１の位相からの状態遷移と同じ状態遷移を繰り返す。すなわち、図２３に示したＰＮ符号発生器２２０では、図２４の出力コードで示されている「１０００１００１１０１０１１１」というＰＮ符号ＰＮを繰り返し生成し、巡回ＰＮ符号を発生させるようにしている。
【０００７】
ところで、上記ＣＤＭＡ方式を利用した無線通信では、送信側で送信データを拡散したときに用いたＰＮ符号と同一の時間波形をもつＰＮ符号を発生させて受信データを逆拡散する必要がある。そこで、携帯電話などの上記ＣＤＭＡ方式を利用した受信機では、一般に、基地局などの送信機で使用したＰＮ符号がどの位相から始まっているのかを検出し、上記検出した位相からＰＮ符号ＰＮを発生させるようにしている。
【０００８】
そして、従来のＰＮ符号発生器２２０においては、以下のような方法で上記検出した位相からＰＮ符号を発生させるようにしている。
すなわち、初期状態として予め決められているコードパターンをフリップフロップ２２１ａ〜２２１ｄに設定した後、上記検出した位相におけるコードパターンになるまでフリップフロップ２２１ａ〜２２１ｄを動作させてからＰＮ符号ＰＮを発生させるようにしている。
【０００９】
上記検出した位相におけるコードパターンを設定する際の上記受信機における動作を、図２３を参照しながら説明する。
まず、同期検出回路２２５は、受信部２２６で受信したＣＤＭＡ信号ＣＤに含まれている同期検出用のチャネルの信号から、ＣＤＭＡ信号ＣＤが拡散されたときに使用したＰＮ符号の先頭の位相を検出し、比較器２２７に出力する。そして、比較器２２７は、同期検出回路２２５で検出したＰＮ符号ＰＮの先頭の位相と、タイマ２２４の計数値とを比較し、両者が一致したときに、初期値ロード信号ＬＳをＰＮ符号発生器２２０に出力する。
【００１０】
初期値ロード信号ＬＳを入力したＰＮ符号発生器２２０は、初期値ロード信号ＬＳに対応するコードパターン（例えば図２４の１番目の位相におけるコードパターン）を、メモリ２２３から読み出すなどしてフリップフロップ２２１ａ〜２２１ｄに設定する。そして、ＰＮ符号発生器２２０は、上述したようにしてフリップフロップ２２１ａ〜２２１ｄに与えられているコードをシフトさせる動作を開始する。
【００１１】
このように、従来のＰＮ符号発生器２２０では、上記予め決められているコードパターンをフリップフロップ２２１ａ〜２２１ｄに設定した後、フリップフロップ２２１ａ〜２２１ｄが保持しているコードをシフトさせて、上記検出した位相におけるコードパターンを設定するようにしていた。
【００１２】
例えば、図２４に示した１２番目の位相におけるコードパターンを設定することが指定された場合には、１番目の位相におけるコードパターンを設定した後、フリップフロップ２２１ａ〜２２１ｄのコードを１１回シフトさせる必要がある。
【００１３】
図２４では、上記線形シフトレジスタの次数（フリップフロップの数）が４の場合を示したが、上記線形帰還シフトレジスタの次数をＮとすると、各フリップフロップは、２N−１個のコードパターンを繰り返し保持する。そして、各フリップフロップがとる２N−１個のコードパターンは、それぞれ異なった状態であり、同じ状態は存在しない。したがって、上記検出した位相におけるコードパターンを設定するためには、初期の位相と上記検出した位相との差に応じた回数分フリップフロップ２２１ａ〜２２１ｄに与えられているコードをシフトしなければならない。
【００１４】
一般に、上記線形シフトレジスタの次数Ｎは大きいので（例えば２０）、上述したようにして上記検出した位相におけるコードパターンを得ようとすると、フリップフロップに与えられているコードをシフトさせる回数が非常に多くなる。
このように、上記線形帰還シフトレジスタを用いてＰＮ符号を発生させると、上記検出した位相におけるコードパターンを設定するまでの時間が莫大になってしまう。すなわち、従来のＰＮ符号発生器２２０では、任意の位相のＰＮ符号ＰＮを発生させるのに時間がかかってしまう。
【００１５】
図２５は、このような問題点を解決するための従来のＰＮ符号発生器の構成を示した図である。なお、図２５において、図２３に示したものと同一の部分については同一の符号を付している。
【００１６】
図２５において、ＰＮ符号発生器２４０は、図２３に示したＰＮ符号発生装置２２０のフリップフロップ２２１ｄから出力される各位相におけるコード（図２４に示した出力コード）、すなわちＰＮ符号ＰＮを予めメモリ２４１に記憶させておく構成である。ここで、上記各位相におけるコードは、メモリ２４１の連続したアドレスに順番に記憶する。
【００１７】
具体的な動作を説明すると、まず、同期検出回路２４２は、受信部２２６で受信したＣＤＭＡ信号ＣＤに含まれている同期検出用のチャネルの信号から、ＣＤＭＡ信号ＣＤを拡散したときに基地局で使用したＰＮ符号の先頭の位相を検出し、ＰＮ符号発生器２４０で発生すべきＰＮ符号ＰＮの先頭の位相を割り出す。そして、同期検出回路２４２は、上記割り出した位相のＰＮ符号ＰＮを発生させるタイミングを表す時間（コード先頭時間）ＣＴを算出し、比較器２４３に出力する。
【００１８】
比較器２４３は、同期検出回路２４２からコード先頭時間ＣＴを入力すると、タイマ２４２で計数されている時間を読み出し、コード先頭時間ＣＴと、タイマ２４２で計数されている時間との時間差を求める。次に、比較器２４３は、上記算出した時間差に応じたメモリ２４１のアドレスを表すアドレス信号ＡＳをメモリ２４１に出力する。これにより、上記アドレス信号ＡＳで指定されたアドレスに記憶されているコード（すなわち、同期検出回路２４２で検出された位相におけるＰＮ符号ＰＮ）がメモリ２４１から出力される。そして、比較器２４３は、上記換算したアドレスをインクリメントし、上記インクリメントしたアドレスを表すアドレス信号ＡＳをメモリ２４に出力する。これにより、上記換算したアドレスに記憶されているコードを先頭とするＰＮ符号ＰＮがメモリ２４１から出力される。
【００１９】
このように、線形帰還シフトレジスタから出力されるＰＮ符号ＰＮの全てを予めメモリ２４１に記憶させておけば、ＰＮ符号ＰＮを任意の位相から即時に発生させることができるが、メモリ２４１に記憶させるビット数が多くなってしまう。上記線形帰還シフトレジスタの次数をＮとすると、メモリ２４１に記憶させるビット数は、２N−１になる。したがって、符号長（＝２N−１）が長いＰＮ符号ＰＮを発生させる場合には、メモリ２４１に記憶させるビット数が多くなってしまうという問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明は上述の問題点に鑑みてなされたもので、メモリに記憶させるビット数を可及的に少なくしてＰＮ符号を任意の位相から即時に発生させられるようにすることを目的とする。
【課題を解決するための手段】
【００２１】
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンをコードメモリに記憶するとともに、発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンをコードマスクメモリに記憶する。そして、上記シフトコードパターンと上記マスクコードパターンとを用いて論理演算を行って、任意の位相のＰＮ符号を発生させる。
かかる構成では、全てのＰＮ符号を記憶させなくても、任意の位相のＰＮ符号が即時に発生できるようになる。
【発明の効果】
【００２２】
本発明によれば、線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンをコードメモリに記憶するとともに、発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンをコードマスクメモリに記憶し、上記記憶したシフトコードパターンと、マスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成し、上記生成した新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させるようにしたので、ＰＮ符号を任意の位相から即時に発生させるためにＰＮ符号発生器のメモリに記憶させるビット数を可及的に少なくすることができる。これにより、ＰＮ符号発生器のメモリの回路規模を大幅に縮小させることができる。
【発明を実施するための最良の形態】
【００２３】
後述するように、本発明の各実施の形態では、線形帰還シフトレジスタの各フリップフロップに与えられるコードパターンと、マスクコードのコードパターンとを論理演算して、ＰＮ符号を発生させる。そこで、本発明の実施の形態について説明する前に、上記論理演算の方法ついて具体例を挙げながら説明する。なお、以下では、上記線形帰還シフトレジスタの各フリップフロップに与えられるコードパターンをシフトコードパターンと称し、上記マスクコードのコードパターンをマスクコードパターンと称する。また、上記マスクコードについては、特開平１０−１９０５２４号公報に記載されている。
【００２４】
図１は、図２４に示した次数４の線形帰還シフトレジスタのシフトコードパターンに対応するマスクコードパターンを示した図である。
上記論理演算として、まず、図２４に示した１番目の位相におけるシフトコードパターンの各ビットと、図１に示した１番目の位相におけるマスクコードパターンの各ビットとの論理積をとる。具体的に説明すると、１番目の位相におけるシフトコードパターンの最下位のビットＦＦ０の状態値０と、１番目の位相におけるマスクコードパターンの最下位のビットＦＦ０の状態値０との論理積をとり、０を算出する。このような演算を同位のビット同士で行う。こうして得られた４ビットのコードパターン（０００１）のＸＯＲをとると、図２４に示した１番目の位相における出力コード（ＰＮ符号）１が得られる。なお、以下では、上記論理積をＡＮＤと称する。
【００２５】
同様に、図２４に示した１番目の位相におけるシフトコードパターンと、ｍ番目の位相におけるマスクコードパターンとを用いて上述した演算を行えばｍ番目の位相における出力コード（ＰＮ符号）が得られる。
これを一般化すると、図２４に示したｎ番目の位相におけるシフトコードパターンと、ｍ番目の位相におけるマスクコードパターンとを用いて上述した演算を行えば、図２４に示した（ｎ＋ｍ−１）番目の位相における出力コード（ＰＮ符号）が得られる。後述する各実施の形態では、このような性質を有するマスクコードパターンを用いて、ＰＮ符号を発生させるようにしている。
【００２６】
以下、本発明の第１〜第１０の実施の形態によるＰＮ符号発生器、ＧＯＬＤ符号発生器、ＰＮ符号逆拡散器、ＰＮ符号発生方法、ＧＯＬＤ符号発生方法、ＰＮ符号逆拡散方法、及びコンピュータプログラムを、図面を参照しながら説明する。
【００２７】
（第１の実施の形態）
まず、本発明の第１の実施の形態について説明する。なお、本実施の形態のＰＮ符号発生器は、次数４の線形帰還シフトレジスタにより構成されるＭ系列（Maximum-Length Sequence；最長符号系列）のＰＮ符号発生器により発生するＰＮ符合と同じＰＮ符号を論理演算により発生させるものとして説明を行う。
【００２８】
図５は、本発明の第１の実施の形態を示し、次数が４の線形帰還シフトレジスタから発生するＰＮ符号を、本実施の形態のＰＮ符号発生器により生成する原理を説明する概念図である。
図５に示すように、本実施の形態のＰＮ符号発生器では、次数が４の線形帰還シフトレジスタから発生する符号長が１５のＰＮ符号のうち（図２４に示した出力コード）、１番目〜４番目の位相におけるＰＮ符号群５０ａについては、１番目〜４番目の位相におけるシフトコードパターン（図３Ａに示すコードパターン３０ａ〜３０ｄ）と、発生させるＰＮ符合の位相を０位相ずらすマスクコードパターン（図４に示すマスクコードパターン４０ａ）とを用いて上述した論理演算を行って発生させる。
【００２９】
そして、５番目〜８番目の位相におけるＰＮ符号群５０ｂについては、１番目〜４番目の位相におけるシフトコードパターン（図３Ａに示すシフトコードパターン３０ａ〜３０ｄ）と、発生させるＰＮ符合の位相を４位相ずらすマスクコードパターン（図４に示すマスクコードパターン４０ｂ）とを用いて上述した論理演算を行って発生させる。
また、９番目〜１２番目の位相におけるＰＮ符号群５０ｃについては、１番目〜４番目の位相におけるシフトコードパターン（図３Ａに示すシフトコードパターン３０ａ〜３０ｄ）と、発生させるＰＮ符合の位相を８位相ずらすマスクコードパターン（図４に示すマスクコードパターン４０ｃ）とを用いて上述した論理演算を行って発生させる。
【００３０】
さらに、１３番目〜１５番目の位相におけるＰＮ符号群５０ｄについては、１番目〜３番目の位相におけるシフトコードパターン（図３Ａに示すシフトコードパターン３０ａ〜３０ｄ）と、発生させるＰＮ符合の位相を１２位相ずらすマスクコードパターン（図４に示すマスクコードパターン４０ｄ）とを用いて上述した論理演算を行って発生させる。
このように、本実施の形態のＰＮ符号発生器では、図２４に示した１５個のシフトコードパターンを４分割して得られる１〜４番目の位相におけるシフトコードパターンと、発生させるＰＮ符号の位相を０位相、４位相、８位相、及び１２位相ずらすためのマスクコードパターンとを用いて、次数が４の線形帰還シフトレジスタから発生する符号長が１５のＰＮ符号を全て発生させるようにしている。すなわち、本実施の形態では、図３Ａに示したシフトコードパターン３０ａ〜３０ｄの内容と、図４に示したマスクコードパターン４０ａ〜４０ｄのみを記憶し、図２４に示したシフトコードパターンと、図１に示したマスクコードパターンを全て記憶しなくても、次数が４の線形帰還シフトレジスタから発生する符号長が１５のＰＮ符号を全て発生できるようにしている。以下、本実施の形態のＰＮ符号発生器の具体的な構成について説明する。
【００３１】
図２は、本発明の第１の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
図２において、ＰＮ符号発生器１０は、コードメモリ１１と、コードマスクメモリ１２と、位相シフト回路１３とを有している。
コードメモリ１１とコードマスクメモリ１２は、ＲＡＭなどの記憶媒体である。
コードメモリ１１に記憶される内容について説明する。
図３Ａ及び図３Ｂは、本発明の第１の実施の形態を示し、コードメモリ１１に記憶される内容を示した概念図である。
【００３２】
図３Ａに示すように、コードメモリ１１には、例えば、図２４に示した１５個のシフトコードパターンを４分割して得られる連続した位相のシフトコードパターンのうち、１番目〜４番目の位相におけるシフトコードパターン３０ａ〜３０ｄの内容が記憶される。
ただし、本実施の形態では、上記１番目〜４番目の位相におけるシフトコードパターンをそのままコードメモリ１１に記憶させない。具体的に説明すると、図３Ｂに示すように、１番目の位相におけるシフトコードパターンの最下位のビット（ＦＦ０におけるビット）に続けて３ビットのコードをコードメモリ１１に記憶させるようにして、１番目〜４番目の位相におけるシフトコードパターンを得るようにしている。
【００３３】
すなわち、コードパターン３１の最上位（右端）のビットから４番目のビットまでを指定すると、図３Ａに示した１番目の位相におけるシフトコードパターンが得られる。そして、コードパターン３１の２番目のビットから５番目のビットまでを指定すると、２番目の位相におけるシフトコードパターンが得られる。同様に、コードパターン３１の３番目のビットから６番目のビットまでを指定すると３番目の位相におけるシフトコードパターンが、４番目のビットから最下位（左端）のビットまでを指定すると４番目の位相におけるシフトコードパターンがそれぞれ得られる。
【００３４】
次に、コードマスクメモリ１２に記憶される内容について説明する。
図４は、コードマスクメモリ１２に記憶される内容を示した概念図である。
図４に示すように、コードマスクメモリ１２には、図１に示したマスクコード１０の各位相におけるマスクコードパターンのうち、１番目、５番目、９番目、１３番目の位相におけるマスクコードパターンが記憶される。すなわち、上述したように、コードマスクメモリ１２には、発生させるＰＮ符号を０位相、４位相、８位相、及び１２位相ずらすためのマスクコードパターンがコードマスクメモリ１２に記憶される。
【００３５】
次に、コードマスク１１に記憶したシフトコードパターンと、コードマスクメモリ１２に記憶したマスクコードパターンとを出力する際の動作について説明する。なお、以下において、同期検出回路２４２及び受信部２２６は、図２５に示したものと同じものである。
同期検出回路２４２は、受信部２２６で受信したＣＤＭＡ信号ＣＤに含まれている同期検出用のチャネルの信号から、ＣＤＭＡ信号ＣＤを拡散したときに基地局で使用したＰＮ符号の先頭の位相を検出し、ＰＮ符号発生器１０で発生すべき先頭のＰＮ符号ＰＮの先頭の位相を割り出す。そして、同期検出回路２４２は、上記割り出した位相のＰＮ符号ＰＮを発生させるタイミングを表す時間（コード先頭時間）ＣＴを算出し、比較器１４に出力する。
【００３６】
比較器１４は、同期検出回路２４２からコード先頭時間ＣＴを入力すると、タイマ１５で計数されている時間を読み出し、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差を求める。次に、比較器１４は、上記算出した時間差に応じたアドレスを表すアドレス信号ＡＳをコードメモリ１１とコードマスクメモリ１２に出力する。具体的に説明すると、例えば、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差が０の場合は、図２４に示した第１の位相におけるＰＮ符号を発生させるように、コードメモリ１１とコードマスクメモリ１２のアドレスを指定する。また、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差が１の場合は、図２４に示した第２の位相におけるＰＮ符号を発生させるように、コードメモリ１１とコードマスクメモリ１２のアドレスを指定する。以降同様に、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差が２〜１４の場合は、それぞれ図２４に示した第３の位相〜第１５の位相におけるＰＮ符号ＰＮを発生させるように、コードメモリ１１とコードマスクメモリ１２のアドレスを指定する。このように、本実施の形態のＰＮ符号発生装置１０では、コードメモリ１１とコードマスクメモリ１２のアドレスを指定して、シフトコードパターンとマスクコードパターンを読み出し、上記読み出したシフトコードパターンとマスクコードパターンを用いて、上述した図５の説明の方法を行って、任意の位相を先頭とするＰＮ符号ＰＮを発生させるようにしている。
【００３７】
そして、アドレス信号ＡＳにより表されるアドレスは、例えば、４ビットのアドレスである。そして、４ビットのアドレスのうちの下位２ビットをコードメモリ１１に割り当てるとともに、上位２ビットをコードマスクメモリ１２に割り当てる。すなわち、上記アドレス信号ＡＳにより表されるアドレスのうちの下位２ビットのアドレスについてはコードメモリ１１に出力され、上位２ビットのアドレスについてはコードマスクメモリ１２に出力される。
以下、シフトコードパターン３０ａ〜３０ｄと、マスクコードパターン４０ａ〜４０ｄを、アドレス信号ＡＳにより指定する方法について具体例を挙げながら説明する。
【００３８】
例えば、図３Ａに示したシフトコードパターン３０ａを下位２ビットのアドレス「００」に、シフトコードパターン３０ｂを下位２ビットのアドレス「０１」に、シフトコードパターン３０ｃを下位２ビットのアドレス「１０」に、シフトコードパターン３０ｄを下位２ビットのアドレス「１１」にそれぞれ割り当てる。また、図４に示したマスクコードパターン４０ａを上位２ビットのアドレス「００」に、マスクコードパターン４０ｂを上位２ビットのアドレス「０１」に、マスクコードパターン４０ｃを上位２ビットのアドレス「１０」に、マスクコードパターン４０ｄを上位２ビットのアドレス「１１」にそれぞれ割り当てる。
【００３９】
上述したように、本実施の形態のＰＮ符号発生装置１０は、コードメモリ１１とコードマスクメモリ１２のアドレスを指定することにより、任意の位相のＰＮ符号ＰＮを発生させることができるが、以下では、コード先頭時間ＣＴと、タイマ１５で計数されている時間との時間差が０の場合（すなわち、第１の位相からＰＮ符号を発生させる場合）におけるコードメモリ１１とコードマスクメモリ１２の読み出し動作について説明する。
まず、上記時間差が０であり、図２４に示した１番目の位相を先頭の位相としてＰＮ符号ＰＮを発生させることが指定されている場合、比較器１４は、１番目の位相におけるシフトコードパターン３０ａの記憶領域を表す２ビットのアドレス「００」を下位とし、１番目の位相におけるマスクコードパターン４０ａ（発生させるＰＮ符号を０位相ずらすためのマスクコードパターン）の記憶領域を表す２ビットのアドレス「００」を上位とするアドレス「００００」を示すアドレス信号ＡＳを生成する。これにより、１番目の位相におけるシフトコードパターン３０ａと、１番目の位相におけるマスクコードパターン４０ａとが出力され、１番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。こうして、上記時間差に応じた位相のＰＮ符号ＰＮが発生する。そして、上記時間差に応じた位相に続く位相のＰＮ符号については、アドレス「００００」を順次インクリメントしてコードメモリ１１とコードマスクメモリ１２のアドレスを指定し、指定したアドレスに記憶されているシフトコードパターン３０ａ〜３０ｄとマスクコードパターン４０ａ〜４０ｄを、以下のようにして読み出し、巡回ＰＮ符号を発生させる。
【００４０】
まず、比較器１４は、上記アドレス「００００」をインクリメントしてアドレス「０００１」を指定して、２番目の位相におけるシフトコードパターン３０ｂと、１番目の位相におけるマスクコードパターン４０ａとを指定するアドレス信号ＡＳを生成する。これにより、２番目の位相におけるシフトコードパターン３０ｂと、１番目の位相におけるマスクコードパターン４０ａとが出力され、２番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。
【００４１】
次に、比較器１４は、上記アドレス「０００１」をインクリメントしてアドレス「００１０」を指定して、３番目の位相におけるシフトコードパターン３０ｃと、１番目の位相におけるマスクコードパターン４０ａとを指定するアドレス信号ＡＳを生成する。これにより、３番目の位相におけるシフトコードパターン３０ｃと、１番目の位相におけるマスクコードパターン４０ａとが出力され、３番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。
次に、比較器１４は、上記アドレス「００１０」をインクリメントしてアドレス「００１１」を指定して、４番目の位相におけるシフトコードパターン３０ｄと、１番目の位相におけるマスクコードパターン４０ａとを指定するアドレス信号ＡＳを生成する。これにより、４番目の位相におけるシフトコードパターン３０ｄと、１番目の位相におけるマスクコードパターン４０ａとが出力され、４番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。
【００４２】
次に、比較器１４は、上記アドレス「００１１」をインクリメントしてアドレス「０１００」を指定して、１番目の位相におけるシフトコードパターン３０ａと、５番目の位相におけるマスクコードパターン４０ｂとを指定するアドレス信号ＡＳを生成する。これにより、１番目の位相におけるシフトコードパターン３０ａと、５番目の位相におけるマスクコードパターン４０ｂとが出力され、５番目の位相におけるＰＮ符号ＰＮが上述した論理演算により算出される。
【００４３】
６番目以降の位相におけるＰＮ符号ＰＮについても同様にして、アドレス信号ＡＳにより所望のシフトコードパターンとマスクコードパターンとを出力して、１番目〜１５番目の位相におけるＰＮ符号ＰＮを全て算出するようにする。
このように、本実施の形態では、コードメモリ１１に記憶されているシフトコードパターン３０ａ〜３０ｄと、コードマスクメモリ１２に記憶されているマスクコードパターン４０ａ〜４０ｄとを、４ビットのアドレスをインクリメントすることにより指定するようにしている。すなわち、本実施の形態では、アドレスをインクリメントするだけで、コードメモリ１１に記憶されているシフトコードパターン３０ａ〜３０ｄと、コードマスクメモリ１２に記憶されているマスクコードパターン４０ａ〜４０ｄとを指定することができるようにして、回路規模を縮小させるようにしている。
【００４４】
図６は、本発明の第１の実施の形態を示し、位相シフト回路１３の概略構成を示した図である。
図６に示すように、位相シフト回路１３は、並列に接続された４つのＡＮＤ回路５１〜５４と、ＸＯＲ回路５５とを有する。
ＡＮＤ回路５１〜５４は、コードメモリ１１から入力したシフトコードパターンと、コードマスクメモリ１２から入力したマスクコードの同位のビットのＡＮＤをとってＸＯＲ回路５５に出力する。
【００４５】
ＸＯＲ回路５５は、ＡＮＤ回路５１〜５４から出力された４ビットのコードのＸＯＲをとってＰＮ符号ＰＮを発生させる。
次に、図２４に示した５番目の位相におけるＰＮ符号（出力コード）ＰＮを発生させる場合を例に挙げてＰＮ符号発生器１０の動作を説明する。
まず、コードメモリ１１に記憶されている１番目の位相におけるシフトコードパターンを読み出すとともに、コードマスクメモリ１２に記憶されている５番目の位相におけるマスクコードパターンを読み出すためのアドレス信号ＡＳが比較器１４からコードメモリ１１とコードマスクメモリ１２に出力される。
【００４６】
これにより、コードメモリ１１からは、１番目の位相におけるシフトコードパターンの各ビットのコードが、ＡＮＤ回路５１〜５４に出力される。具体的には、ＡＮＤ回路５１〜５３には０が出力され、ＡＮＤ回路５４には１が出力される。
一方、コードマスクメモリ１２からは、５番目の位相におけるマスクコードパターンの各ビットのコードがＡＮＤ回路５１〜５４に出力される。具体的には、ＡＮＤ回路５１、５２には０が出力され、ＡＮＤ回路５３、５４には１が出力される。
【００４７】
ＡＮＤ回路５１〜５４は、入力した２つのコードのＡＮＤをとり、ＸＯＲ回路５５に出力する。具体的には、ＡＮＤ回路５１は０を、ＡＮＤ回路５２は０を、ＡＮＤ回路５３は０を、ＡＮＤ回路５４は１を、それぞれＸＯＲ回路５５に出力する。
ＸＯＲ回路５５は、ＡＮＤ回路５４から入力した各ビットのＸＯＲをとって、４ビットのコードを１ビットのコードにする。これにより、図２３に示した第５の位相におけるＰＮ符号ＰＮ（出力コード＝１）が算出される。
【００４８】
上述したように、図２４に示した（ｎ＋ｍ−１）番目の位相におけるＰＮ符号ＰＮを得るには、ｎ番目の位相におけるシフトコードパターンと、ｍ番目の位相におけるマスクコードパターンとを用いて上述した演算を行えばよい。したがって、図２４に示した他の位相におけるＰＮ符号ＰＮを発生させる場合についても同様に、コードメモリ１１のｎ番目の位相におけるシフトコードパターンと、コードマスクメモリ１２のｍ番目の位相におけるコードパターンとを用いて、位相シフト回路１３で上述した処理を行えば、（ｎ＋ｍ−１）番目の位相におけるＰＮ符号ＰＮを発生させることができる。このような演算を行うことにより、次数４の線形帰還シフトレジスタにより構成されるＭ系列のＰＮ符号発生器で得られる任意の位相のＰＮ符号ＰＮを、論理演算により即時に得ることができる。
【００４９】
ところで、上述したように、本実施の形態では、図２４に示したシフトコードパターンのうち、１番目〜４番目の位相におけるシフトコードパターンをコードメモリ１１に記憶させるとともに、図１に示したマスクコードパターンのうち、１番目、５番目、９番目、１３番目の位相におけるマスクコードパターンをコードマスクメモリ１２に記憶させ、これら記憶したコードパターンを用いて、次数が４の線形帰還シフトレジスタで得られるＰＮ符号ＰＮを任意の位相から発生させる場合を一例として説明したが、これを一般化して記述すると以下のようになる。
【００５０】
まず、コードメモリ１１には、次数がＮの線形帰還シフトレジスタの各フリップフロップに与えられるＬ個のシフトコードパターンをＭ分割して得られる[Ｌ／Ｍ]個の連続した位相のシフトコードパターンを記憶させる（Ｍは２以上の整数）。なお、上記Ｌは符号長であり、（２N−１）で表される。また、上記[Ｌ／Ｍ]は、小数点以下を切り上げた整数である。上述した例では、分割数Ｍを４とし、１番目から[Ｌ／Ｍ＝４]番目の位相における[Ｌ／Ｍ＝４]個のシフトコードパターンを記憶させている。
【００５１】
また、コードマスクメモリ１２には、発生させるＰＮ符号ＰＮの位相を[Ｑ×Ｌ／Ｍ]ずらすためのマスクコードパターンを記憶させる（Ｑは０以上（Ｍ−１）以下の整数）。すなわち、[Ｑ×Ｌ／Ｍ＋１]番目の位相におけるマスクコードパターンを記憶させる。
そして、例えば、[２＋２×Ｌ／Ｍ]番目の位相のＰＮ符号を発生させる場合、コードメモリ１１からは、２番目のビットから（２＋Ｎ）番目のビットまでのシフトコードパターンを読み出す（すなわち２番目の位相におけるシフトコードパターンを読み出す）。また、コードメモリ１２からは、発生させるＰＮ符号ＰＮの位相を[２×Ｌ／Ｍ]ずらすためのマスクコードパターンを読み出す（すなわち、[２×Ｌ／Ｍ＋１]番目の位相におけるマスクコードパターンを読み出す）。そして、コードメモリ１１とコードマスクメモリ１２から読み出したコードパターンを用いて、位相シフト回路１３で上述した論理演算を行う。
【００５２】
このようにすれば、コードメモリ１１のビット数は、[（Ｌ／Ｍ）＋Ｎ−１]になり（図３Ｂを参照）、また、マスクコード１２のビット数は、[Ｍ×Ｎ]になる（図４を参照）。したがって、メモリ全体のビット数は、以下の（１式）のようになる。
ビット数＝（Ｌ／Ｍ）＋Ｎ−１＋Ｍ×Ｎ・・・（１式）
例えば、次数Ｎが１８の線形帰還シフトレジスタにより発生するＰＮ符合の符号長Ｌ（＝２N−１）は、２６２１４３になり、従来のようにＰＮ符号を全てメモリ２４１に記憶した場合、メモリ２４１のビット数は２６２１４３になる。これに対し、コードメモリ１１のビット数と、コードマスクメモリ１２のビット数の合計は、分割数Ｍを１２８とすると、上記（１式）にＮ＝１８、Ｌ＝２６２１４３、Ｍ＝１２８を代入して、４３６９になり、従来の１．６７％になる。したがって、ＰＮ符号ＰＮを任意の位相から即時に発生させるためにＰＮ符号発生器のメモリに記憶するビット数を従来よりも大幅に少なくすることができる。これにより、ＰＮ符号発生器のメモリの回路規模を従来よりも大幅に縮小させることができる。
【００５３】
なお、本実施の形態ではＰＮ符号発生器１０を、ＣＤＭＡ方式で通信する受信機に適用した場合を例に挙げて説明したが、ＰＮ符号発生器１０を送信機に適用してもよいということは言うまでもない。
【００５４】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。
本実施の形態では、図７に示すように、コードメモリ１１に記憶させるシフトコードパターンと、コードマスクメモリ１２に記憶させるマスクコードパターンとをＮビットずつ同じアドレスに記憶させるようにして、コードパターンの読み出し回数を減らすことができるようにしている。上述したように、Ｎは線形帰還シフトレジスタの次数である。
【００５５】
図８は、本発明の第２の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。なお、図８において、上述した第１の実施の形態のＰＮ符号発生器１０と同一の部分については、図１〜図６に付した符号と同一の符号を付して詳細な説明を省略する。
図８において、ＰＮ符号発生器７０は、コードメモリ７１と、コードマスクメモリ７２と、位相シフト回路１３と、分配器７４とを有する。
【００５６】
上述したようにコードメモリ７１は、コードパターンをＮビットずつ同じアドレスに記憶している。また、コードマスクメモリ７２は、マスクコードパターンをＮビットずつ同じアドレスに記憶している。すなわち、コードマスクメモリ７２は、同じ位相のマスクコードパターンを同じアドレスに記憶している。
分配器７４は、比較器１４から出力されるアドレス信号ＡＳに基づいて、コードメモリ７１から出力されたコードを入れ替えて、アドレス信号ＡＳで示されているシフトコードパターンを構成し、位相シフト回路１３に出力する機能を有する。
【００５７】
例えば、図７において、コードメモリ７１に格納されるコードパターンのうち、最初のアドレスＡｄｄ１の２ビット目からＮビット目と、次のアドレスＡｄｄ２の１ビット目のコードにより構成されるコードパターン（２番目の位相におけるシフトコードパターン）が、アドレス信号ＡＳにより指定されている場合（図７の網がけ部）、アドレスＡｄｄ１のＮビットのコードと、アドレスＡｄｄ２のＮビットのコードが、コードメモリ７１から分配器７４に出力される。
そして、分配器７４は、アドレス信号ＡＳに基づいて、コードメモリ１１から入力した２Ｎビットのコードから、上記２番目の位相におけるシフトコードパターンを取り出し、位相シフト回路１３に出力する。
【００５８】
このように、コードパターン３１をＮビットずつ同じアドレスに記憶しているコードメモリ１１から出力されたコードの中から所望のシフトコードパターンを取り出して位相シフト回路１３に与えるようにすれば、１回または２回の読み出しで全ての位相のシフトコードパターンを読み出すことができる。
一方、コードマスクメモリ７２については、Ｎビットずつ同じアドレスに記憶させるようにすれば、例えば図４に示したマスクコードパターンごとに同じアドレスに記憶させることができるので、所望のマスクコードパターンが１回の読み出し動作で位相シフト回路１３に出力される。
【００５９】
なお、本実施の形態のように、コードメモリ７１とコードマスクメモリ７２に記憶されるコードパターンをＮビットずつ同じアドレスに記憶させるようにすれば、読み出し回数を可及的に減らすことができ好ましいが、読み出し回数を２Ｎ回未満に減らすことができれば、コードメモリ７１及びコードマスクメモリ７２の同じアドレスに記憶させるビット数はＮビットに限定されない。
【００６０】
また、シフトコードパターンを構成するコードが複数のアドレスに跨らないように、上記コードをコードメモリ１１に記憶させるようにしていれば、分配器７４を設ける必要はない。
【００６１】
（第１の変形例）
次に、上述した第２の実施の形態の第１の変形例について説明する。
上述した第２の実施の形態では、コードメモリ７１に記憶させるコードパターンをＮビットごとに同じアドレスに記憶させるようにした。このようにすると、所望のシフトコードパターンが２つのアドレスに跨っている場合、２回の読み出しが必要になる。そこで、本例では、コードメモリ７１を２つに分割し、上記分割した各コードメモリのアドレスを個別に制御するようにしている。
【００６２】
具体的に説明すると、例えば、図９に示すように、Ｎビットごとに同じアドレスに記憶されているコードパターンが、先頭のビットからＰ（Ｐ≧Ｎ−１）番目のビットまでのコードパターンと、（Ｐ＋１）番目のビットから２Ｐ番目のビットまでのコードパターンとに分割されるように、コードメモリ７１を２つのコードメモリ７１ａ、７１ｂに分割する。そして、分割した各コードメモリ７１ａ、７１ｂのアドレスを個別に指定して２つのコードメモリ７１ａ、７１ｂから必要なコードを読み出す。
【００６３】
このようにすれば、任意のビットを先頭とするシフトコードパターンについては（例えば図９の網がけ部）、１回の読み出し動作で読み出すことができ、より少ない読み出し回数でシフトコードパターンをコードメモリ７１ａ、７１ｂから読み出すことができる。
【００６４】
（第２の変形例）
次に、上述した第２の実施の形態の第２の変形例について説明する。
上述した第２の実施の形態では、図７の網がけ部のように所望のシフトコードパターンが２つのアドレスに跨っている場合、２回の読み出しが必要になる。そこで、本例では、各アドレスに記憶される最上位のビットまたは最下位のビットの少なくとも何れか一方を含むコードを隣り合うアドレスで重複させてコードパターンを記憶させるようにしている。
【００６５】
図１０を参照しながら具体的に説明すると、最初のアドレスＡｄｄ１には、コードパターンの最上位のビットから（２Ｎ−１）番目のビットまでのコードを記憶する。次のアドレスＡｄｄ２には、コードパターンの（Ｎ＋１）番目のビットから（３Ｎ−１）番目のビットまでのコードを記憶する。３番目のアドレスＡｄｄ３には、コードパターンの（２Ｎ＋１）番目のビットから、（４Ｎ−１）番目のビットまでのコードを記憶する。同様に、Ｑ番目のアドレスＡｄｄＱには、コードパターンの（（Ｑ−１）Ｎ＋１）番目のビットから（（Ｑ＋１）Ｎ―１）番目のビットまでのコードを記憶する。
【００６６】
このようにしてコードパターンをコードメモリに記憶させるようにすれば、１回の読み出しで全ての位相のシフトコードパターンを読み出すことができる（図１０の網がけ部を参照）。
ただし、１回の読み出しで全ての位相のコードパターンを読み出すことができれば、コードメモリのビット配置は図１０に示したものに限定されない。
【００６７】
（第３の実施の形態）
次に、本発明の第３の実施の形態について説明する。
図１１は、本発明の第３の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。なお、図１１において、上述した第１及び第２の実施の形態のＰＮ符号発生器１０と同一の部分については、図１〜図１０に付した符号と同一の符号を付して詳細な説明を省略する。
図１１において、ＰＮ符号発生器１００は、コードメモリ１０１と、コードマスクメモリ７２と、位相シフト回路１３と、シフタ１０２とを有している。
【００６８】
図１２は、コードメモリ１０１に記憶されているコードパターンから所望のシフトコードパターンを取り出す際の動作を説明する図である。
図１２に示すように、コードメモリ１０１は、（Ｎ＋ｉ）ビットのコードを同一のアドレスＡｄｄ１に記憶している。ここで、Ｎは線形帰還シフトレジスタの次数、ｉは自然数である。
【００６９】
シフタ１０２は、比較器１４から出力されるアドレス信号ＡＳに基づいて、コードメモリ１０１から出力された（Ｎ＋ｉ）ビットのコードをシフトして、位相シフト回路１３に出力する機能を有する。
例えば、図１２において、コードメモリ１０１に記憶されているコードパターンのうち、３ビット目から（Ｎ＋２）ビット目までのコードにより構成されるシフトコードパターン（３番目の位相におけるシフトコードパターン）を取り出すことがアドレス信号ＡＳにより指定されている場合（図１２の網がけ部）、コードメモリ１０１のアドレスＡｄｄ１に格納されている（Ｎ＋ｉ）ビットのコードが、シフタ１０２に出力される。
【００７０】
そして、シフタ１０２は、アドレス信号ＡＳに基づいて、コードメモリ１０１から入力した（Ｎ＋ｉ）ビットのコードを２ビットシフトさせて、３ビット目から（Ｎ＋２）ビット目までのコードを取り出し、位相シフト回路１３に出力する。
このように、シフタ１０２を用いて、コードメモリ１０１から出力された（Ｎ＋ｉ）ビットのコード中から連続したＮビットのコードパターンを取り出して位相シフト回路１３に出力するようにすれば、コードメモリ１０１の１つのアドレスＡｄｄ１にＮビット以上のコードを記憶させることができる。
【００７１】
（第４の実施の形態）
次に、本発明の第４の実施の形態について説明する。
図１３は、本発明の第４の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。なお、図１３において、上述した第１〜第３の実施の形態のＰＮ符号発生器と同一の部分については、図１〜図１２に付した符号と同一の符号を付して詳細な説明を省略する。
【００７２】
図１３において、ＰＮ符号発生器１２０は、コードメモリ１０１と、コードマスクメモリ７２と、シフタ１０２ａ〜１０２ｒと、位相シフト回路１３ａ〜１３ｒとを有している。図１３に示すように、本実施の形態のＰＮ符号発生器１２０は、図１１に示した第３の実施の形態のＰＮ符号発生器１００におけるシフタ１０２と位相シフト回路１３とをそれぞれ複数個設けて、連続した複数個の位相のＰＮ符号ＰＮａ〜ＰＮｒを同時に発生させるようにしている。図１４Ａ及び図１４Ｂを参照しながら具体的な動作を説明する。
【００７３】
図１４Ａ及び図１４Ｂは、コードメモリ１０１に記憶されているコードパターンから所望のシフトコードパターンを取り出す際の動作を説明する図である。
図１４Ａに示すように、コードメモリ１０１に記憶されているコードパターンのうち、２ビット目から（Ｎ＋１）ビット目までのコードにより構成されるシフトコードパターン（２番目の位相におけるシフトコードパターン）を取り出すことが、比較器１４から出力されるアドレス信号ＡＳ１により指定されている場合、シフタ１０２ａは、コードメモリ１０１から出力された（Ｎ＋ｉ）ビットのコードパターンを１ビットシフトさせる。これにより、２番目のビットから（Ｎ＋１）番目のビットまでのコードパターン（２番目の位相におけるシフトコードパターン）が取り出され、位相シフト回路１３ａに出力される。
【００７４】
そして、シフタ１０２ｂは、比較器１４から出力されるアドレス信号ＡＳ１で指定されている位相の次の位相におけるシフトコードパターンを取り出す。例えば、２番目の位相におけるシフトコードパターンを取り出すことが、アドレス信号ＡＳ１により指定されている場合、図１４Ｂに示すように、シフタ１０２ｂは、コードメモリ１０１から出力された（Ｎ＋ｉ）ビットのコードパターンを２ビットシフトさせて３番目のビットから（Ｎ＋２）番目のビットまでのコード（３番目の位相におけるコードパターン）を取り出し、位相シフト回路１３ｂに出力する。
【００７５】
同様に、シフタ１０２ｒは、比較器１４から出力されるアドレス信号ＡＳ１で指定されている位相を進めた位相におけるシフトコードパターンを抽出して位相シフト回路１３ｒに出力する。
位相シフト回路１３ａ〜１３ｒは、シフタ１０２ａ〜１０２ｒから出力されたシフトコードパターンと、コードマスクメモリ７２から出力されたマスクコードパターンとを用いて、第１の実施の形態で説明した論理演算を行う。これにより、連続した複数個の位相のＰＮ符号ＰＮａ〜ＰＮｒが同時に発生する。
【００７６】
このように本実施の形態では、１つずつ位相がずれたシフトコードパターンをシフタ９２ａ〜９２ｒから位相シフト回路１３ａ〜１３ｒに出力するようにしたので、連続した複数個の位相のＰＮ符号ＰＮａ〜ＰＮｒを同時に発生させることができる。これにより、ＰＮ符号ＰＮをより迅速に発生させることができる。
なお、上記では、連続した複数位相のＰＮ符号ＰＮａ〜ＰＮｒを同時に発生させる例を示したが、シフタ９２ａ〜９２ｒのシフト量を、コードメモリ１０１の１アドレスから読み出したコードパターンをシフト可能な範囲で任意の値に設定することにより、任意の複数位相のＰＮ符号を同時に発生させるようにしてもよい。
【００７７】
（第５の実施の形態）
次に、本発明の第５の実施の形態について説明する。
図１５は、本発明の第５の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。なお、図１５において、上述した第１〜第４の実施の形態のＰＮ符号発生器１０と同一の部分については、図１〜図１４に付した符号と同一の符号を付して詳細な説明を省略する。
【００７８】
図１５において、ＰＮ符号発生器１４０は、コードメモリ１４１と、コードマスクメモリ１４２と、位相シフト回路１３ａ〜１３ｇとを有している。
コードメモリ１４１は、上述した第１〜第４の実施の形態で説明したコードメモリ１１、７１、１０１の何れかである。
コードマスクメモリ１４２には、発生させるＰＮ符号ＰＮの位相を[Ｑ×Ｌ／Ｍ]ずらすためのマスクコードパターンと、その前後の数位相ずらすためのマスクコードパターンとが記憶される。上述したように、Ｑは０以上（Ｍ−１）以下の整数である。
【００７９】
例えば、図１６に示すように、上記発生させるＰＮ符合の位相を[Ｑ×Ｌ／Ｍ]位相（０位相、Ｌ／Ｍ位相、２×Ｌ／Ｍ位相、３×Ｌ／Ｍ位相、・・・（Ｍ−１）×Ｌ／Ｍ位相）ずらすためのマスクコードパターンと、その前後の±３位相ずらすためのマスクコードパターンをコードマスクメモリ１４２に記憶させる。
そして、例えば、比較器１４から出力されるアドレス信号ＡＳに基づいて、上記発生させるＰＮ符号ＰＮの位相をＬ／Ｍ位相ずらすマスクコードを出力することが指定された場合、コードマスクメモリ１４２からは、上記発生させるＰＮ符合の位相をＬ／Ｍ位相ずらすマスクコードパターンの他に、上記発生させるＰＮ符合の位相を（Ｌ／Ｍ−３）位相、（Ｌ／Ｍ−２）位相、（Ｌ／Ｍ−１）位相、（Ｌ／Ｍ＋１）位相、（Ｌ／Ｍ＋２）、及び（Ｌ／Ｍ＋３）位相ずらすマスクコードパターンも位相シフト回路１３ａ〜１３ｇに出力される。このとき、例えば、（Ｌ／Ｍ−３）位相ずらすマスクコードパターンは、位相シフト回路１３ａに、（Ｌ／Ｍ−２）位相ずらすマスクコードパターンは、位相シフト回路１３ｂに、（Ｌ／Ｍ−１）位相ずらすマスクコードパターンは、位相シフト回路１３ｃに、Ｌ／Ｍ位相ずらすマスクコードパターンは、位相シフト回路１３ｄに、（Ｌ／Ｍ＋１）位相ずらすマスクコードは、位相シフト回路１３ｅに、（Ｌ／Ｍ＋２）位相ずらすマスクコードパターンは、位相シフト回路１３ｆに、（Ｌ／Ｍ＋３）位相ずらすマスクコードパターンは、位相シフト回路１３ｇにそれぞれ出力されるようにする。
【００８０】
位相シフト回路１３ａ〜１３ｇは、コードメモリ１４１から出力されたシフトコードパターンと、コードマスクメモリ１４２から出力されたマスクコードパターンとを用いて、第１の実施の形態で説明した論理演算を行う。これにより、連続した７個の位相のＰＮ符号ＰＮａ〜ＰＮｇが発生する。
このように本実施の形態では、上記発生させるＰＮ符合の位相を[Ｑ×Ｌ／Ｍ]ずらすためのマスクコードパターンの他に、その前後の数位相ずらすためのマスクコードパターンをコードマスクメモリ１４２に記憶しておき、上記発生させるＰＮ符合の位相を[Ｑ×Ｌ／Ｍ]ずらすためのマスクコードパターンが指定されたときには、その前後の数位相ずらすためのマスクコードパターンも位相シフト回路１３ａ〜１３ｇに出力するようにしたので、連続した７（複数）個の位相のＰＮ符号ＰＮａ〜ＰＮｇを同時に発生させることができる。これにより、ＰＮ符号ＰＮをより迅速に発生させることができる。
【００８１】
なお、上記では、連続した複数位相のＰＮ符号ＰＮａ〜ＰＮｇを同時に発生させる例を示したが、コードマスクメモリ１４２に［Ｑ×Ｌ／Ｍ］に加えて、任意の位相（［Ｑ×Ｌ／Ｍ］＋Ｉ（Ｉは正数））をシフトさせるマスクコードパターンを設定することにより、任意の複数位相のＰＮ符号を同時に発生させるようにしてもよい。
【００８２】
（第６の実施の形態）
次に、本発明の第６の実施の形態について説明する。
図１７は、本発明の第６の実施の形態を示し、ＧＯＬＤ符号発生器の概略構成を示した図である。なお、図１７において、上述した第１の実施の形態と同一の部分については、図２に付した符号と同一の符号を付して詳細な説明を省略する。
図１７において、ＧＯＬＤ符号発生器１６０は、コードメモリ１１ａ、１１ｂと、コードマスクメモリ１２ａ、１２ｂと、位相シフト回路１３ａ、１３ｂとを有する２つのＰＮ符号発生器１０ａ、１０ｂと、ＸＯＲ回路１６１とを有している。
【００８３】
図１７に示すように、本実施の形態では、上記第１の実施の形態のＰＮ符号発生器１０を２つ設け、これらで発生されたＰＮ符号ＰＮａ、ＰＮｂのＸＯＲをＸＯＲ回路１６１でとってＧＯＬＤ符号ＧＤを発生させるようにしている。
すなわち、ＰＮ符号発生器１０ａは、比較器１４ａからのアドレス信号ＡＳａに基づいて、上述したようにしてＰＮ符号ＰＮａを発生させてＸＯＲ回路１６１に出力する。一方、ＰＮ符号発生器１０ｂは、比較器１４ｂからのアドレス信号ＡＳｂに基づいて、上述したようにしてＰＮ符号ＰＮｂを発生させてＸＯＲ回路１６１に出力する。
【００８４】
そして、ＸＯＲ回路１６１は、ＰＮ符号発生器１０ａから入力したＰＮ符号ＰＮａと、ＰＮ符号発生器１０ｂから入力したＰＮ符号１０ｂとのＸＯＲをとってＧＯＬＤ符号ＧＤを発生させる。なお、２つのＰＮ符号発生器１０ａ、１０ｂは、同じ構成のものであっても、異なる構成のものであってもよい。例えば、２つのＰＮ符号発生器１０ａ、１０ｂが、異なる次数の線形帰還シフトレジスタから発生するＰＮ符号ＰＮを算出する構成であってもよい。
【００８５】
このように、本実施の形態では、メモリの回路規模を縮小させながら任意の位相のＰＮ符号ＰＮａ、ＰＮｂを発生させる２つのＰＮ符号発生器１０ａ、１０ｂを２つの比較器１４ａ、１４ｂにより個別に制御し、各ＰＮ符号発生器１０ａ、１０ｂで発生させたＰＮ符合ＰＮａ、ＰＮｂのＸＯＲをとってＧＯＬＤ符号ＧＤを発生させるようにしたので、メモリに記憶させるビット数を可及的に少なくして任意の位相のＧＯＬＤ符号ＧＤを即時に発生させることができる。
【００８６】
なお、本実施の形態では、第１の実施の形態のＰＮ符号発生器１０を用いてＧＯＬＤ符号を発生させる場合を一例として挙げたが、本実施の形態のＧＯＬＤ符号発生器１６０に適用されるＰＮ符号発生器は、ＰＮ符号発生器１０に限定されず、第２〜第５の実施の形態のＰＮ符号発生器７０、１００、１２０、１４０を適用して、ＧＯＬＤ符号器１６０を構成するようにしてもよい。
【００８７】
（第７の実施の形態）
次に、本発明の第７の実施の形態について説明する。
図１８は、本発明の第７の実施の形態を示し、ＧＯＬＤ符号発生器の概略構成を示した図である。なお、図１８において、上述した第６の実施の形態と同一の部分については、図１７に付した符号と同一の符号を付して詳細な説明を省略する。
【００８８】
図１８において、ＧＯＬＤ符号発生器１７０は、マルチプレクサ回路（ＭＵＸ回路）１７１と、コードメモリ１１と、コードマスクメモリ１２と、デマルチプレクサ回路（ＤＥＭＵＸ回路）１７２と、位相シフト回路１３ａ、１３ｂと、ＸＯＲ回路１６１とを有している。
本実施の形態のＧＯＬＤ符号発生器１７０は、２つの生成多項式が同一の２つのＰＮ符号発生器から発生されるＰＮ符号ＰＮａ、ＰＮｂのＸＯＲをとって、ＧＯＬＤ符号ＧＤを発生させるものである。
【００８９】
ＭＵＸ回路１７１は、比較器１４ａ、１４ｂからのアドレス信号ＡＳａ、ＡＳｂを時分割でコードメモリ１１とコードマスクメモリ１２に出力する。具体的に説明すると、例えば、比較器１４ａからのアドレス信号ＡＳａと、比較器１４ｂからのアドレス信号ＡＳｂとを交互にコードメモリ１１とコードマスクメモリ１２に出力する。
【００９０】
ＤＥＭＵＸ回路１７２は、ＭＵＸ回路１７１からのアドレス信号ＡＳに従って、コードメモリ１１から出力されたシフトコードパターンと、コードマスクメモリ１２から出力されたマスクコードパターンを、２つの位相シフト回路１３ａ、１３ｂの何れか一方に出力する。なお、ＤＥＭＵＸ回路１７２は、コードメモリ１１とコードマスクメモリ１２から入力したコードパターンが、比較器１４ａ、１４ｂのどちらのアドレス信号ＡＳａ、ＡＳｂに基づくものであるのかを、例えば上記コードパターンの入力のタイミングなどに基づいて判別する。そして、ＤＥＭＵＸ回路１７２は、比較器１４ａからのアドレス信号ＡＳａに基づいて入力したシフトコードパターンとマスクコードパターンについては位相シフト回路１３ａに出力し、比較器１４ｂからのアドレス信号ＡＳｂに基づいて入力したシフトコードパターンとマスクコードパターンについては位相シフト回路１３ｂに出力する。
【００９１】
位相シフト回路１３ａ、１３ｂは、ＤＥＭＵＸ回路１７２から出力されたシフトコードパターンとマスクコードパターンとを用いて上述したようにしてＰＮ符号ＰＮａ、ＰＮｂを発生させる。
ＸＯＲ回路１６１は、位相シフト回路１３ａ、１３ｂから出力されたＰＮ符号ＰＮａ、ＰＮｂのＸＯＲをとってＧＯＬＤ符号ＧＤを発生させる。
【００９２】
このように、本実施の形態では、生成多項式が同じ２つのＰＮ符号発生器から発生するＰＮ符号を用いてＧＯＬＤ符号を生成する際に、図１７に示したＰＮ符号発生器１０ａ、１０ｂのコードメモリ１１ａ、１１ｂを共有させるとともに、コードマスクメモリ１２ａ、１２ｂを共有させるようにしたので、ＧＯＬＤ符号ＧＤを発生させる際に使用するメモリの数を、図１７に示した第６の実施の形態のＧＯＬＤ符号発生器１６０の半分にすることができる。すなわち、本実施の形態のＧＯＬＤ符号発生器１７０では、メモリに記憶させるビット数をより少なくして任意の位相のＧＯＬＤ符号を即時に発生させることができる。
【００９３】
なお、本実施の形態では、第１の実施の形態のＰＮ符号発生器１０におけるコードメモリ１１とコードマスクメモリ１２を用いた場合を一例として挙げたが、本実施の形態のＧＯＬＤ符号発生器１７０に適用されるコードメモリとコードマスクメモリは、コードメモリ１１とコードマスクメモリ１２に限定されず、第２〜第５の実施の形態におけるコードメモリ７１、１０１、１４１とコードマスクメモリ７２、１４２を適用して、ＧＯＬＤ符号発生器を構成するようにしてもよい。
【００９４】
（第８の実施の形態）
次に、本発明の第８の実施の形態について説明する。
図１９は、本発明の第８の実施の形態を示し、無線通信装置の概略構成を示した図である。なお、図１９において、上述した第１〜第７の実施の形態と同一の部分については、図１〜図１８に付した符号と同一の符号を付して詳細な説明を省略する。
図１９において、無線通信装置１８０は、受信部１８１と、同期検出回路１８２と、タイマ１５と、比較器１４と、ＰＮ符号発生器１０と、分配器１８３と、逆拡散器１８４と、ＲＡＫＥ合成器１８５とを有している。なお、本実施の形態では、無線通信装置１８０が、基地局とＣＤＭＡ方式で通信を行う移動通信端末装置である場合を例に挙げて説明する。
【００９５】
受信部１８１は、例えばアンテナ、Ａ／Ｄ変換器などから構成され、基地局から送信されたアナログのＣＤＭＡ信号ＣＤを受信し、上記受信したＣＤＭＡ信号ＣＤからデジタルのＣＤＭＡ信号を生成する機能を有する。
ところで、一般に、上記基地局から送信されるＣＤＭＡ信号ＣＤは、建物などの様々な障害物で反射しながら伝搬するため、複数のパスを経由して受信部１８１で受信されるが、本実施の形態では、３つのパスを経由した信号がＣＤＭＡ信号ＣＤに含まれているとして説明を行う。
【００９６】
同期検出回路１８２は、受信部１８１で生成されたデジタルのＣＤＭＡ信号（受信データ）に含まれている同期検出用のチャネルの信号から、上記基地局で使用したＰＮ符号の先頭の位相を検出し、ＰＮ符号発生器１０で発生すべきＰＮ符号の先頭の位相を割り出す。そして、同期検出回路１８２は、上記割り出した位相のＰＮ符号を発生させるタイミングを表す時間（コード先頭時間）ＣＴを算出し、比較器１４に出力する。このとき同期検出回路１８２は、上記３つパスの信号それぞれに対してコード先頭時間ＣＴを算出する。
【００９７】
比較器１４は、同期検出回路１８２から入力した上記３つのパスを経由した信号それぞれに対するコード先頭時間ＣＴと、タイマ１５で計数される時間との時間差を算出する。そして、比較器１４は、上記算出した時間差に応じたアドレス信号ＡＳを、上述したようにして生成し、コードメモリ１１とコードマスクメモリ１２に出力する。これにより、同期検出回路１８２で割り出された位相のＰＮ符号を発生させるためのコードメモリ１１のアドレスと、コードマスクメモリ１２のアドレスとが、上記３つのパスを経由した信号それぞれに対して指定される。
【００９８】
そして、比較器１４は、タイマ１５の計数に従って、同期検出回路１２で割り出された位相の次の位相のＰＮ符号を発生させるためのコードメモリ１１のアドレスと、コードマスクメモリ１２のアドレスとを指定するアドレス信号ＡＳを生成し、コードメモリ１１とコードマスクメモリ１２に出力する。このとき、比較器１４は、上記３つのパスを経由した信号それぞれに対するＰＮ符号を同時に発生させるべく、３つのパスを経由した信号それぞれに対するアドレス信号ＡＳを時分割でコードメモリ１１とコードマスクメモリ１２に出力する。
【００９９】
位相シフト回路１３は、コードメモリ１１及びコードマスクメモリ１２から出力されたコードパターンを用いて上述したようにＰＮ符号ＰＮを発生させる。また、コードメモリ１１及びコードマスクメモリ１２からは、３つのパスを経由した信号それぞれに対するコードパターンが時分割で出力されるので、位相シフト回路１５は、上記３つのパスを経由した信号それぞれに対するＰＮ符号ＰＮを時分割で発生させることになる。
【０１００】
分配器１８３は、位相シフト回路１３により発生された３つのパスの信号それぞれに対するＰＮ符号ＰＮを、３つのＸＯＲ回路１８４ａ〜１８４ｃからなる逆拡散器１８４に出力する。具体的に説明すると、分配器１８３は、上記３つのパスを経由した信号のうち、第１のパスを経由した信号に対するＰＮ符号ＰＮをＸＯＲ回路１８４ａに出力する。また、第２のパスを経由した信号に対するＰＮ符号ＰＮをＸＯＲ回路１８４ｂに出力する。さらに、第３のパスを経由した信号に対するＰＮ符号ＰＮをＸＯＲ回路１８４ｃに出力する。
【０１０１】
ＸＯＲ回路１８４ａは、分配器１８３から入力した上記第１のパスの信号に対するＰＮ符号ＰＮと上記デジタルのＣＤＭＡ信号（受信データ）とのＸＯＲをとり、ＲＡＫＥ合成器１８５に出力する。ＸＯＲ回路１８４ｂ、１８４ｃについても同様に、それぞれ第２及び第３のパスを経由した信号に対するＰＮ符号ＰＮと、上記デジタルのＣＤＭＡ信号（受信データ）とを用いて上述したＸＯＲ回路１８４ａと同じ処理を行い、ＲＡＫＥ合成器１８５に出力する。このようにして上記デジタルのＣＤＭＡ信号（受信データ）とＰＮ符号ＰＮとのＸＯＲがとられると、上記デジタルのＣＤＭＡ信号（受信データ）が逆拡散される。
以上のように、ＰＮ符号発生器１０と、分配器１８３と、逆拡散器１８４により、ＰＮ符号逆拡散器が構成される。
【０１０２】
ＲＡＫＥ合成器１８５は、ＸＯＲ回路１８４ａ〜１８４ｃにより逆拡散された上記受信データをＲＡＫＥ合成して複合データＤを生成する。この複合データＤにより画像や音声などが構成される。
図２０は、ＲＡＫＥ合成器１８５の構成を示した図である。
図２０において、ＲＡＫＥ合成器１８５は、加算器１９１ａ〜１９１ｃと、フリップフロップ１９２ａ〜１９２ｃと、遅延調整器１９３ａ〜１９３ｃと、第２の加算器１９４とを有している。
【０１０３】
図２０に示すように、ＲＡＫＥ合成器１８５では、まず、ＸＯＲ回路１８４ａにより逆拡散された上記受信データに対し、加算器１９１ａとフリップフロップ１９２ａとを用いて処理し遅延調整器１９３ａに出力する。
ＸＯＲ回路１８４ｂ、１８４ｃにより逆拡散された上記受信データについても同様に、加算器１９１ｂ、１９１ｃとフリップフロップ１９２ｂ、１９２ｃとを用いて処理し、遅延調整器１９３ｂ、１９３ｃに出力する。
【０１０４】
遅延調整器１９３ａ〜１９３ｃは、フリップフロップ１９２ａ〜１９２ｃから出力された受信データに生じている遅延を調整し、フリップフロップ１９２ａ〜１９２ｃから出力された各受信データの位相を揃えて第２の加算器１９４に出力する。
第２の加算器１９４は、遅延調整器１９３ａ〜１９３ｃから出力された受信データを加算して複合データＤを生成する。
【０１０５】
以上のように、本実施の形態では、コードメモリ１１とコードマスクメモリ１２を時分割で制御し、３つのパスを経由して受信した受信データそれぞれに対するＰＮ符号ＰＮを時分割で発生させ、上記発生させたＰＮ符号ＰＮを、分配器１８３を用いてＸＯＲ回路１８４ａ〜１８４ｃに分配し、ＸＯＲ回路１８４ａ〜１８４ｃで上記受信データを逆拡散するようにしたので、上述した第１の実施の形態の効果に加えて、３つのパスを経由して受信した上記受信データを逆拡散するために使用する３つのＰＮ符号ＰＮを１つのＰＮ符号発生器１０で発生させることができるという効果を有する。
【０１０６】
なお、本実施の形態では、ＰＮ符号発生器として、第１の実施の形態のＰＮ符号発生器１０を用いるようにしたが、第２〜第５の実施の形態のＰＮ符号発生器７０、１００、１２０、１４０を用いてもよい。また、ＰＮ符号発生器の代わりに第６及び第７の実施の形態で説明したＧＯＬＤ符号発生器１６０、１７０を用いてもよい。
【０１０７】
また、本実施の形態では、３つのパスを経由して受信した受信データについて説明したが、パスの数は３つに限定されず、いくつであってもよい。この場合、逆拡散器１８４に設けるＸＯＲ回路の数をパスの数に対応させて設ける必要がある。
【０１０８】
（第９の実施の形態）
次に、本発明の第９の実施の形態について説明する。
図２１は、本発明の第９の実施の形態を示し、無線通信装置の概略構成を示した図である。なお、図２１において、上述した第８の実施の形態と同一の部分については、図１９、図２０に付した符号と同一の符号を付して詳細な説明を省略する。
【０１０９】
図２１において、無線通信装置（ＰＮ符号逆拡散器）２００は、受信部１８１と、同期検出回路１８２と、タイマ１５と、比較器１４と、ＰＮ符号発生器１０と、ＸＯＲ回路２０１と、分配器２０２と、ＲＡＫＥ合成器１８５とを有している。
上述した第８の実施の形態では、パスの数に応じた複数のＸＯＲ回路１８４ａ〜１８４ｃを設けて上記受信データを逆拡散するようにしたが、図２１に示すように、本実施の形態では、１つのＸＯＲ回路２０１で上記受信データを逆拡散するようにしている。
【０１１０】
ＸＯＲ回路２０１は、位相シフト回路１３から時分割されて出力された３つのパスに対応するＰＮ符号ＰＮと、受信部１８１で生成されたデジタルのＣＤＭＡ信号（受信データ）とのＸＯＲをとって、上記デジタルのＣＤＭＡ信号（受信データ）を逆拡散し、分配器２０２に出力する。
【０１１１】
分配器２０２は、タイマを有し、上記タイマの計数値を監視しながら、ＸＯＲ回路２０１で逆拡散された受信データを入力する。そして、分配器２０２は、例えば、上記受信データを入力したときのタイマの計数値に基づいて、上記入力した受信データを、ＲＡＫＥ合成器１８５のどの加算器１９１ａ〜１９１ｃに出力するかを決定する（図１９を参照）。そして、分配器２０２は、上記決定した加算器１９１ａ〜１９１ｃに上記入力した受信データを出力する。
以上のように、ＰＮ符号発生器１０と、ＸＯＲ回路２０１と、分配器２０２により、ＰＮ符号逆拡散器が構成される。
【０１１２】
ＲＡＫＥ合成器１８５は、分配器２０２から入力した上記受信データを上述したようにしてＲＡＫＥ合成し、複合データＤを生成する。
以上のように、本実施の形態では、位相シフト回路１３から時分割されて出力された３つのパスに対応するＰＮ符号ＰＮと、上記受信データとのＸＯＲをとって、上記受信データを逆拡散し、上記受信データを逆拡散したタイミングにより、上記逆拡散した受信データがどのパスに対応するものなのかを決定するようにしたので、上述した第８の実施の形態の効果に加え、複数のパスを経由して受信した受信データを１つのＸＯＲ回路２０１で逆拡散することができるという効果を有する。
【０１１３】
なお、本実施の形態では、ＰＮ符号発生器として、第１の実施の形態のＰＮ符号発生器１０を用いるようにしたが、第２〜第５の実施の形態のＰＮ符号発生器７０、１００、１２０、１４０を用いてもよい。また、ＰＮ符号発生器の代わりに第６及び第７の実施の形態で説明したＧＯＬＤ符号発生器１６０、１７０を用いてもよい。
また、本実施の形態では、３つのパスを経由して受信した受信データについて説明したが、パスの数は３つに限定されず、いくつであってもよい。
【０１１４】
（第１０の実施の形態）
次に、本発明の第１０の実施の形態について説明する。
図２２は、本発明の第１０の実施の形態を示し、ＰＮ符号逆拡散器の概略構成を示した図である。なお、図２２において、上述した第４及び第８の実施の形態と同一の部分については、図１３、図１９に付した符号と同一の符号を付して詳細な説明を省略する。
図２２において、ＰＮ符号逆拡散器２１０は、受信データバッファ２１１と、上述した第４の実施の形態のＰＮ符号発生器１２０と、マッチトフィルタ２１２とを有している。
【０１１５】
受信データバッファ２１１は、受信部１８１で生成されたデジタルのＣＤＭＡ信号（受信データ）を一時的に記憶するためのバッファである。
ＰＮ符号発生器１２０は、上述したようにして、連続した複数の位相のＰＮ符号を同時に発生させる機能を有する。
【０１１６】
マッチトフィルタ２１２は、ＰＮ符号発生器１２０から同時に発生する連続した複数の位相のＰＮ符号ＰＮａ〜ＰＮｒを入力するとともに、上記発生したＰＮ符号ＰＮａ〜ＰＮｒと同数のビットの上記受信データを受信データバッファ２１１から入力し、上記受信データを逆拡散する機能を有する。これにより、逆拡散された受信データＲＤが生成される。
【０１１７】
このように、本実施の形態では、上記受信データを逆拡散するときにマッチトフィルタ２１２で使用する複数の位相のＰＮ符号をＰＮ符号発生器１２０で同時に発生させるようにしたので、上記受信データを高速で逆拡散することができる。
【０１１８】
なお、本実施の形態では、ＰＮ符号発生器として第４の実施の形態で説明したＰＮ符号発生器１２０を用いた場合について説明したが、連続する複数の位相のＰＮ符号を同時に発生するＰＮ符号発生器であれば、本実施の形態に適用されるＰＮ符号発生器は、第４の実施の形態のものに限定されず、例えば第５の実施の形態で説明したＰＮ符号発生器１４０であってもよい。
【０１１９】
（本発明の他の実施の形態）
本発明の第１〜第１０の実施の形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体、又はかかるプログラムを伝送する伝送媒体も本発明の実施の形態として適用することができる。また、上記プログラムを記録したコンピュータ読み取り可能な記録媒体などのプログラムプロダクトも本発明の実施の形態として適用することができる。上記のプログラム、コンピュータ読み取り可能な記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
【０１２０】
（付記１）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算回路とを有することを特徴とするＰＮ符号発生器。
【０１２１】
（付記２）  上記コードメモリは、上記連続した一部の位相のうちの１つの位相におけるシフトコードパターンに続けて、１ビット以上のコードを記憶することを特徴とする付記１に記載のＰＮ符号発生器。
【０１２２】
（付記３）  上記コードメモリは、上記連続した一部の位相におけるシフトコードパターンを構成する複数のビットのうち、連続する２つ以上のビットを同一のアドレスに記憶することを特徴とする付記２に記載のＰＮ符号発生器。
【０１２３】
（付記４）  上記コードメモリを複数有し、
上記論理積演算回路は、上記複数のコードメモリに記憶されたビットにより構成されるシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成することを特徴とする付記２に記載のＰＮ符号発生器。
【０１２４】
（付記５）  上記コードマスクメモリは、上記記憶したマスクコードパターンの位相に続く少なくとも１つの位相におけるマスクコードパターンも記憶することを特徴とする付記２に記載のＰＮ符号発生器。
【０１２５】
（付記６）  上記コードメモリの同一のアドレスに記憶されているビットを全て入力し、上記入力したビットの入れ替えを行って上記シフトコードパターンを取り出す分配器をさらに有し、
上記論理積演算回路は、上記分配器により取り出されたシフトコードパターンと、上記マスクコードメモリから出力されたマスクコードパターンとの同位のビット同士の論理積をとることを特徴とする付記２に記載のＰＮ符号発生器。
【０１２６】
（付記７）  上記コードメモリの同一のアドレスに記憶されているビットを全て入力し、上記入力したビットをシフトさせて上記シフトコードパターンを取り出すシフタをさらに有し、
上記論理積演算回路は、上記シフタにより取り出されたシフトコードパターンと、上記マスクコードメモリから出力されたマスクコードパターンとの同位のビット同士の論理積をとることを特徴とする付記２に記載のＰＮ符号発生器。
【０１２７】
（付記８）  上記論理積演算回路と上記排他的論理和演算回路とにより構成される複数の位相シフト回路と、
上記複数の位相シフト回路と、上記コードメモリとの間に設けられる複数のシフタとを有し、
上記複数のシフタは、上記コードメモリの同一のアドレスに記憶されているビットを全て入力し、上記入力したコードを１ビットずつ異なったシフト量でシフトさせて、１つずつ位相がずれた複数のシフトコードパターンを取り出し、
上記複数の位相シフト回路は、上記複数のシフタにより取り出された１つずつ位相がずれた複数のシフトコードパターンと、コードマスクメモリに記憶された同一の位相におけるマスクコードパターンとを用いて、複数のＰＮ符号を発生させることを特徴とする付記２に記載のＰＮ符号発生器。
【０１２８】
（付記９）  上記コードメモリは、上記線形帰還シフトレジスタの次数に相当する数のビットを同一のアドレスに記憶することを特徴とする付記３に記載のＰＮ符号発生器。
【０１２９】
（付記１０）  上記コードメモリは、上記線形帰還シフトレジスタの次数に相当する数よりも多い数のビットを同一のアドレスに記憶し、且つ各アドレスに記憶される最上位のビット及び最下位のビットのうちの少なくとも何れか一方のビットを含む連続した２つ以上のビットを、隣り合うアドレスで重複して記憶することを特徴とする付記３に記載のＰＮ符号発生器。
【０１３０】
（付記１１）  上記論理積演算回路と上記排他的論理和演算回路とにより構成される複数の位相シフト回路を有し、
上記複数の位相シフト回路は、上記コードマスクメモリに記憶された連続する位相におけるマスクコードパターンと、上記コードメモリに記憶されたシフトコードパターンとを用いて、複数のＰＮ符号を発生させることを特徴とする付記５に記載のＰＮ符号発生器。
【０１３１】
（付記１２）  ２つのＰＮ符号発生器と、上記２つのＰＮ符号発生器により発生した２つのＰＮ符合の排他的論理和をとる排他的論理和演算回路とを有するＧＯＬＤ符号発生器であって、
上記ＰＮ符号発生器は、
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる第２の排他的論理和演算回路とを有することを特徴とするＧＯＬＤ符号発生器。
【０１３２】
（付記１３）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを生成する第１及び第２の論理積演算回路と、
上記第１及び第２の論理積演算回路により生成された新たな２つのコードパターンそれぞれの排他的論理和をとって、２つのＰＮ符号を発生させる第１及び第２の排他的論理和演算回路と、
上記第１及び第２の排他的論理和演算回路により発生した２つのＰＮ符合の排他的論理和をとる第３の排他的論理和演算回路と、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとを、時分割で上記第１及び第２の論理積演算回路に出力させるように制御する制御回路とを有することを特徴とするＧＯＬＤ符号発生器。
【０１３３】
（付記１４）  ＰＮ符号を発生させるＰＮ符号発生器と、上記ＰＮ符号発生器から発生したＰＮ符合と受信データとの排他的論理和をとって、上記受信データを逆拡散する排他的論理和演算回路とを有するＰＮ符号逆拡散器であって、
上記ＰＮ符号発生器は、
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリと、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとってＰＮ符号を発生させる第２の排他的論理和演算回路とを有することを特徴とするＰＮ符号逆拡散器。
【０１３４】
（付記１５）  上記排他的論理和演算回路を複数有し、
さらに、上記ＰＮ符号発生器から発生したＰＮ符合を、上記複数の排他的論理和演算回路に時分割で分配する分配器を有することを特徴とする付記１４に記載のＰＮ符号逆拡散器。
【０１３５】
（付記１６）  上記排他的論理和回路で逆拡散された受信データを時分割で分配する分配器をさらに有することを特徴とする付記１４に記載のＰＮ符号逆拡散器。
【０１３６】
（付記１７）  受信データを一時的に記憶するバッファと、複数のＰＮ符号を同時に発生させるＰＮ符号発生器と、上記ＰＮ符号により発生した複数のＰＮ符号と、上記発生したＰＮ符号と同数のビットの受信データとを逆拡散するマッチトフィルタとを有するＰＮ符号逆拡散器であって、
上記ＰＮ符号発生器は、
線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンと、上記マスクコードパターンの位相に続く少なくとも１つの位相におけるマスクコードパターンとを記憶するコードマスクメモリと、
上記コードマスクメモリに記憶された連続する位相におけるマスクコードパターンと、上記コードメモリに記憶されたシフトコードパターンとを用いて、複数のＰＮ符号を発生させる複数の位相シフト回路とを有し、
さらに上記位相シフト回路は、上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算回路と、
上記論理積演算回路により生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算回路とにより構成されることを特徴とするＰＮ符号逆拡散器。
【０１３７】
（付記１８）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて、ＰＮ符号を発生させるＰＮ符号発生方法であって、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算ステップとを有することを特徴とするＰＮ符号発生方法。
【０１３８】
（付記１９）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶する２つのコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶する２つのコードマスクメモリとを用いて２つのＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生した２つのＰＮ符合の排他的論理和をとってＧＯＬＤ符号を発生させる排他的論理和演算ステップとを有するＧＯＬＤ符号発生方法であって、
上記ＰＮ符号発生ステップは、
上記２つのコードメモリに記憶されたシフトコードパターンと、上記２つのコードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる第２の排他的論理和演算ステップとを有することを特徴とするＧＯＬＤ符号発生方法。
【０１３９】
（付記２０）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて２つのＰＮ符号を発生させるＰＮ符合発生ステップと、
上記ＰＮ符号発生ステップにより発生した２つのＰＮ符合の排他的論理和をとってＧＯＬＤ符号を発生させる排他的論理和演算ステップとを有するＧＯＬＤ符号発生方法であって、
上記ＰＮ符号発生ステップは、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを時分割で生成する論理積演算ステップと、
上記論理積演算ステップにより時分割で生成された新たな２つのコードパターンそれぞれの排他的論理和をとって、２つのＰＮ符号を時分割で発生させる第２の排他的論理和演算ステップとを有することを特徴とするＧＯＬＤ符号発生方法。
【０１４０】
（付記２１）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いてＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生したＰＮ符合と、受信データとの排他的論理和をとって、上記受信データを逆拡散する排他的論理和演算ステップとを有するＰＮ符号逆拡散方法であって、
上記ＰＮ符号発生ステップは、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとってＰＮ符号を発生させる第２の排他的論理和演算ステップとを有することを特徴とするＰＮ符号逆拡散方法。
【０１４１】
（付記２２）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて、ＰＮ符号を発生させるに際して、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる排他的論理和演算ステップとコンピュータに実行させることを特徴とするコンピュータプログラム。
【０１４２】
（付記２３）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶する２つのコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶する２つのコードマスクメモリとを用いて２つのＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生した２つのＰＮ符合の排他的論理和をとってＧＯＬＤ符号を発生させる排他的論理和演算ステップとコンピュータに実行させるに際して、
上記ＰＮ符号発生ステップでは、
上記２つのコードメモリに記憶されたシフトコードパターンと、上記２つのコードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとって、ＰＮ符号を発生させる第２の排他的論理和演算ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【０１４３】
（付記２４）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符合の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いて２つのＰＮ符号を発生させるＰＮ符合発生ステップと、
上記ＰＮ符号発生ステップにより発生した２つのＰＮ符合の排他的論理和をとってＧＯＬＤ符号を発生させる排他的論理和演算ステップとをコンピュータに実行させるに際して、
上記ＰＮ符号発生ステップでは、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たな２つのコードパターンを時分割で生成する論理積演算ステップと、
上記論理積演算ステップにより時分割で生成された新たな２つのコードパターンそれぞれの排他的論理和をとって、２つのＰＮ符号を時分割で発生させる第２の排他的論理和演算ステップとコンピュータに実行させることを特徴とするコンピュータプログラム。
【０１４４】
（付記２５）  線形帰還シフトレジスタを動作させたときに各フリップフロップに与えられる複数の位相におけるシフトコードパターンのうちの連続した一部の位相におけるシフトコードパターンを記憶するコードメモリと、
発生させるＰＮ符合の位相をずらすための複数のマスクコードパターンのうちの一部のマスクコードパターンであって、上記発生させるＰＮ符号の位相を、上記連続した一部の位相におけるシフトコードパターンの記憶数の倍数ずらすためのマスクコードパターンを記憶するコードマスクメモリとを用いてＰＮ符号を発生させるＰＮ符号発生ステップと、
上記ＰＮ符号発生ステップにより発生したＰＮ符合と、受信データとの排他的論理和をとって、上記受信データを逆拡散する排他的論理和演算ステップとをコンピュータに実行させるに際して、
上記ＰＮ符号発生ステップでは、
上記コードメモリに記憶されたシフトコードパターンと、上記コードマスクメモリに記憶されたマスクコードパターンとの同位のビット同士の論理積をとって、新たなコードパターンを生成する論理積演算ステップと、
上記論理積演算ステップにより生成された新たなコードパターンの排他的論理和をとってＰＮ符号を発生させる第２の排他的論理和演算ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【０１４５】
（付記２６）  任意の位相のＰＮ符号を発生させる符合発生器において、
上記ＰＮ符号の一部の位相に対応するシフトコードパターンを記憶するコードメモリと、
上記ＰＮ符号の一部の移相量の移相シフトに対応するマスクコードパターンを記憶するコードマスクメモリと、
発生させるＰＮ符合の位相から、上記コードメモリに記憶された一部の位相に対応するシフトコードパターンの中から必要なシフトコードパターンを選択するとともに、上記コードマスクメモリに記憶された一部の位相に対応する任意の移相量のマスクコードパターンの中から必要なマスクコードパターンを選択し、選択されたシフトコードパターンと選択されたマスクコードパターンの組合せにより任意の位相のＰＮ符号を発生させる演算回路とを有することを特徴とするＰＮ符号発生器。
【図面の簡単な説明】
【０１４６】
【図１】次数４の線形帰還シフトレジスタのシフトコードパターンに対応するマスクコードパターン群を示した図である。
【図２】本発明の第１の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
【図３Ａ】本発明の第１の実施の形態を示し、コードメモリに記憶されている内容を示した概念図である。
【図３Ｂ】本発明の第１の実施の形態を示し、コードメモリに記憶されている内容を示した概念図である。
【図４】本発明の第１の実施の形態を示し、コードマスクメモリに記憶されている内容を示した概念図である。
【図５】本発明の第１の実施の形態を示し、次数が４の線形帰還シフトレジスタから発生するＰＮ符号を、ＰＮ符号発生器により生成する原理を説明する概念図である。
【図６】本発明の第１の実施の形態を示し、位相シフト回路の概略構成を示した図である。
【図７】本発明の第２の実施の形態を示し、コードメモリとコードマスクメモリのビット配置を示した図である。
【図８】本発明の第２の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
【図９】本発明の第１の変形例を示し、コードメモリのビット配置を示した図である。
【図１０】本発明の第２の変形例を示し、コードメモリのビット配置を示した図である。
【図１１】本発明の第３の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
【図１２】本発明の第３の実施の形態を示し、コードメモリに記憶されているコードパターンから所望のシフトコードパターンを取り出す際の動作を説明する図である。
【図１３】本発明の第４の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
【図１４Ａ】本発明の第４の実施の形態を示し、コードメモリに記憶されているコードパターンから所望のシフトコードパターンを取り出す際の動作を説明する図である。
【図１４Ｂ】本発明の第４の実施の形態を示し、コードメモリに記憶されているコードパターンから所望のシフトコードパターンを取り出す際の動作を説明する図である。
【図１５】本発明の第５の実施の形態を示し、ＰＮ符号発生器の概略構成を示した図である。
【図１６】本発明の第５の実施の形態を示し、コードマスクメモリの記憶内容を説明する図である。
【図１７】本発明の第６の実施の形態を示し、ＧＯＬＤ符号発生器の概略構成を示した図である。
【図１８】本発明の第７の実施の形態を示し、ＧＯＬＤ符号発生器の概略構成を示した図である。
【図１９】本発明の第８の実施の形態を示し、無線通信装置の概略構成を示した図である。
【図２０】本発明の第８の実施の形態を示し、ＲＡＫＥ合成器の構成を示した図である。
【図２１】本発明の第９の実施の形態を示し、無線通信装置の概略構成を示した図である。
【図２２】本発明の第１０の実施の形態を示し、ＰＮ符号逆拡散器の概略構成を示した図である。
【図２３】従来の技術を示し、ＰＮ符号発生器の構成を示した図である。
【図２４】従来の技術を示し、フリップフロップの状態遷移を示した図である。
【図２５】従来の技術を示し、ＰＮ符号発生器の構成を示した図である。
【国際調査報告】
2004034581.tif 000028
2004034581.tif 000029
2004034581.tif 000030
2004034581.tif 000031