(57)【特許請求の範囲】
【請求項１】
所定の複素系列から構成される複素信号を受信して、周波数オフセット量を推定し局部発振周波数を調整しながらスロットタイミングを検出する方法であって：
デジタルマッチドフィルタにおいて、前記複素系列内の全チップの出力を加算する全チップ加算段階；
前記加算出力の絶対値を取り、所定の複数個数のスロット分だけ平均化した平均値を得る段階；
前記平均値の中から、最大値を選択してその値と位置を保存する段階；
前記最大値を第１のしきい値と比較する段階；
前記最大値が第１のしきい値より大きいとき、前記最大値からスロットタイミングを検出して、当該検出方法を終了する段階；
前記最大値が第１のしきい値より大きくないとき、さらに前記最大値を第２のしきい値と比較する段階；
前記最大値が第２のしきい値より大きいとき、デジタルマッチドフィルタにおいて、前記複素系列内の全チップの1/N(Nは自然数)のチップの出力を加算する1/N加算段階；
前記1/N加算段階で得た出力に基づき周波数オフセット量を推定する段階；
推定した周波数オフセット量に基づき局部発振周波数を調整して、前記全チップ加算段階に戻る段階；
前記最大値が第２のしきい値より大きくないとき、デジタルマッチドフィルタにおいて、前記複素系列内の全チップの1/2j （j は自然数）のチップの出力を加算する1/2j加算段階；
適切なスロットタイミングが得られるまで、j を増加して前記1/2j加算段階を繰り返す段階；
前記1/2j加算段階で得た出力に基づき、前記複素系列の特性に応じてスロットタイミングを検出する段階；および
検出したスロットタイミングに基づいて周波数オフセット量を推定するため、前記1/N加算段階に戻る段階；
から構成される方法。
【請求項２】
所定の複素系列から構成される複素信号を受信して、周波数オフセット量を推定し局部発振周波数を調整しながらセルサーチを行う方法であって：
デジタルマッチドフィルタにおいて、前記複素系列内の全チップの出力を加算する全チップ加算段階；
前記加算出力の絶対値を取り、所定の複数個数のスロット分だけ平均化した平均値を得る段階；
前記平均値の中から、最大値を選択してその値と位置を保存する段階；
前記最大値を第１のしきい値と比較する段階；
前記最大値が第１のしきい値より大きいとき、前記最大値からスロットタイミングを検出して、当該セルサーチのうちスロットタイミング検出行程を終了する段階；
前記最大値が第１のしきい値より大きくないとき、さらに前記最大値を第２のしきい値と比較する段階；
前記最大値が第２のしきい値より大きいとき、デジタルマッチドフィルタにおいて、前記複素系列内の全チップの1/N(Nは自然数)のチップの出力を加算する1/N加算段階；
前記1/N加算段階で得た出力に基づき周波数オフセット量を推定する段階；
推定した周波数オフセット量に基づき局部発振周波数を調整して、前記全チップ加算段階に戻る段階；
前記最大値が第２のしきい値より大きくないとき、デジタルマッチドフィルタにおいて、前記複素系列内の全チップの1/2j （j は自然数）のチップの出力を加算する1/2j加算段階；
適切なスロットタイミングが得られるまで、j を増加して前記1/2j加算段階を繰り返す段階；
前記1/2j加算段階で得た出力に基づき、前記複素系列の特性に応じてスロットタイミングを検出する段階；
検出したスロットタイミングに基づいて周波数オフセット量を推定するため、前記1/N加算段階に戻る段階；
前記のスロットタイミング検出行程を終了する段階の後、スクランブルコードグループ番号を検出しかつフレーム同期検出を行う段階および前記の検出されたグループ番号のグループ内のスクランブルコードを検出する段階；ならびに
前記の検出されたスクランブルコードに基づき周波数オフセットを推定し、調整する段階；
から構成される方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば直接拡散符号分割多元接続（ＤＳＣＤＭＡ）方式による通信システム等において使用されるスペクトル拡散信号受信方法に関し、より詳細にはそのような受信方法において用いられる周波数オフセット調整を取り入れたスロットタイミング検出方法およびセルサーチ方法に関する。
【０００２】
【発明の背景】
スペクトル拡散（Spread Spectrum）通信は、拡散符号を用いて情報信号のスペクトルを広帯域に拡散して伝送する通信であり、拡散の方法により直接拡散、周波数ホッピング、時間拡散等に大別される。このうち直接拡散は、送信したい情報信号に拡散符号を乗算することによりスペクトル拡散を行う方式である。スペクトル直接拡散通信は、耐妨害性、耐干渉性、低傍受率、耐マルチフェージング性、多元接続性等の種々の特長を有する。これらの性質は移動体通信にとって大変好ましい性質である。移動局と基地局との接続方式として、スペクトル拡散に使用される拡散符号によって移動局または基地局を識別する方式が採られており、この接続方式は符号分割多元接続（CDMA: Code Division Multiple Access）方式と呼ばれる。
【０００３】
図１に本発明を応用できるスペクトル拡散受信装置を非常に簡略化したブロック図を示す。アンテナ２より受信した符号拡散無線周波信号をＲＦ部４およびＩＦ部６により増幅処理して中間周波数に落としさらにベースバンドに落とした信号を、逆拡散器８で逆拡散する。逆拡散して得た信号をレーキ復調器１０でレーキ復調することにより受信データを得る。
【０００４】
本発明に従ったセルサーチ方法を実行するセルサーチ装置１６は、逆拡散器８内にあるデジタルマッチドフィルタと、周波数オフセット推定／セルサーチ部１４内にあるデジタルシグナルプロセッサとから成るものである。
【０００５】
図２を参照しながら、拡散符号について、説明する。第３世代移動通信システムが現在開発中であるが、その仕様の一例が３ＧＰＰ組織により公開され、それによると同期チャネル（SCH）の構造は、図２に示すようになっている。
【０００６】
移動機は、第１段階として、基地局（Base Station）から送信された同期チャネル（SCH）信号を確実に受信し、プライマリーサーチコード（PSC, Primary Search Code）Cpを検出して、スロットタイミングを検出しなければならない。次に第２段階として、セカンダリーサーチコード（SSC, Secondary Search Code）Csを受信し、フレームタイミングおよびスクランブルコードグループ番号を検出する。最後に第３段階として、コモンパイロットチャネル（CPICH, Common Pilot CHannel）を受信して、スクランブルコード番号を検出する。図２において、Cp, Csの係数aは、１とみなしても差し支えない。
【０００７】
第１段階において、プライマリーサーチコードを検出するために通常マッチドフィルタが必要である。マッチドフィルタの出力の絶対値を用いて、スロットタイミングを検出することができる。３ＧＰＰでは、プライマリーサーチコードとして、階層的な、いわゆる一般化階層ゴーレイコード（Golay code）を用いることによって、加算器の数を減らし、マッチドフィルタを単純化することができる。
【０００８】
プライマリーサーチコードを発生させるために、１６チップから成るサブ系列 a およびゴーレイ相補系列である変調系列 g を以下のように定義する。
【０００９】
【数１】
サブ系列 a = < x1, x2, x3, …, x16 >
= <1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1 >
【００１０】
【数２】
変調系列 g = < g1, g2, g3, …, g16 >
= <1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1 >
プライマリサーチコードCpは、次のように定義される。
【００１１】
【数３】
0004459410.tif 000002
ここでXは複素乗算を意味する。このような16 X 16 =２５６チップのプライマリーサーチコードを受信機の逆拡散器８において検出するための２重マッチドフィルタの一例を図３に示す。
【００１２】
図３の前置マッチドフィルタ３２において、受信した複素信号（Ｉ＋ｊＱ）に対し乗算素子３３で係数 x16すなわち１を乗算したものを複素加算器３４に送りながら、同時にそれを最初の遅延器３５（Ｉ，Ｑ両方を遅延させる複素遅延素子）によって時間D（１チップ分の遅延）だけ遅延させてから、乗算素子で x15すなわちー１を乗算したものを加算器３４に送る。１チップの長さは、１／（３．８４ＭＨｚ）秒である。遅延器３５の各々は直列接続またはカスケイド接続され、前段の遅延器からの遅延信号を後段の遅延器が受信するようになっている。従って、遅延器からの遅延出力は、図示のように右隣すなわち後段の遅延器によってさらに時間Dだけ遅延され、乗算処理され、あるいはさらに後段の遅延器に送られる。最後の１５番目の遅延器から出力される信号は合計15D（１５チップ分）だけ遅延されることになり、x1すなわち１を乗算されて複素加算器３４に送られる。複素加算器３４において加算された全体の出力信号０１は、上記数式１に対応するので、サブ系列 (1+j) X a に対応するピークを持っている。
【００１３】
次に前置マッチドフィルタ３２からの出力０１に対して、上記と同様な処理が後段のマッチドフィルタ４４内で行われる。ただし、各遅延ブロック１〜１５内にある各遅延器３９による遅延量は16D（１６チップ分の複素遅延素子）であり、乗算する係数は数式２の変調系列 gである。最初の演算素子g16に関する部分は、遅延素子が無いけれども、本明細書では遅延が零の遅延ブロック０と定義する。遅延ブロック０〜１５の各々は直列接続またはカスケイド接続され、前段の遅延ブロックの遅延素子３９からの遅延信号を後段の遅延ブロックが受信するようになっている。各遅延素子３９の遅延動作は、タイミングコントローラ４８によって制御される。タイミングコントローラ４８はチップレートクロックを受信して、これに同期して動作する。各遅延素子３９からの出力は、図示のようにg系列の各演算素子３７により演算され、複素演算器３８へと送られる。複素演算器３８は、全遅延ブロック（０〜１５）からの全部で16 X 16 =２５６チップ分の入力を加算する。複素演算器３８からの出力は、数式３に対応するので、Cpに対応したピークを持つ相関出力となる。この相関出力信号を用いてスロットタイミングを検出することができる。Cpに対応するピークは、２５６チップ全てを受信した時点で得られるから、図２の符号２４で示す位置に現れる。従って、Cpに対応するピークを得た時点から、２５６チップ分だけ早い時点がプライマリサーチコードの開始時点、すなわちスロットタイミングとなる。
【００１４】
【発明が解決しようとする課題】
基地局側から送信される信号のキャリア周波数とCDMA移動局側の局部発信周波数との間に差が生じると、いわゆるキャリア周波数オフセットが起こり、従来のデジタルマッチドフィルタにおいてプライマリ同期コードの相関出力が理論値とはかけ離れたものになり、スロットタイミングがうまく取れなくなる。すると、移動局が、自分がいるセルが使っているスクランブルコードを検出する作業であるセルサーチをうまく行えないという問題点がある。
【００１５】
この問題点を解決するための従来例として、特開平１０？１６４６５８号に開示された方法がある。それは自分のロングスクランブルコードを検出できないときに、自分のキャリア周波数をある範囲でシフトしてもう１回サーチをし、この周波数シフトとセルサーチを繰り返すものである。周波数シフトはプラス方向とマイナス方向の両方向行う。この方法は時間が大変かかるので、広い周波数オフセットによる問題点を満足に解決するものではなかった。
【００１６】
そこで本発明は、より広い周波数オフセット差に自在に対応できるスロットタイミング検出方法およびセルサーチ方法を提供することを目的としており、とくに周波数オフセット量を推定することにより局部発振周波数を調整しながらスロットタイミング検出をしさらにセルサーチをする方法を提供することを目的とする。
【００１７】
【実施例】
図４を参照しながら、本発明に従った周波数オフセット量推定／スロットタイミング検出方法の実行に用い得るマッチドフィルタおよびマルチモード加算器の動作を説明する。図４のマッチドフィルタ５４は、図３のマッチドフィルタ４４と同様に、前置マッチドフィルタ３２からの出力に対して、遅延処理と複素演算処理とを行う。 g系列の各演算素子３７からの演算出力が、マルチモード複素加算器５８へと送られる。加算器５８は、全ての演算素子３７からの２５６チップ分の演算出力（g16〜g1）を加算することもできるし、これらのうちの一部の演算素子からの演算出力だけを加算することもできる。どの演算素子からの出力を加算するかは、外部制御器６０からの制御信号によって制御することができる。図１の周波数オフセット推定／セルサーチ部１４の中に、図４のデジタルシグナルプロセッサ（ＤＳＰ）５２および外部制御器６０が含まれる。
【００１８】
キャリア周波数オフセットが十分小さい場合には、２５６チップ分全てを加算した出力でもCpに対応した十分なピークを持つ相関出力が得られ、スロットタイミングを検出することができる。キャリア周波数オフセットが大きくなると、各チップにおける位相ずれが累積していくので、結果としてのピークが弱くなり相関を取れなくなる。そこで、２５６チップ分全てを加算せずに、半分の１２８チップ分だけを加算する。外部制御器６０によって、後半の遅延ブロック８〜１５をスリープさせ、前半の遅延ブロック０〜７のみを動作させ、マルチモード加算器５８は、前半の８個の演算素子からの演算出力（g16〜g9）のみを加算する。こうして得られた、加算器５８からの加算出力は、数式３のうちの後半部分 (1+j) X < ag9, ag10, ag11, ag12, ag13, ag14, ag15, ag16 >に対応するピークを有する。この半分の１２８チップ分の出力は、周波数オフセットが大きいときは、２５６チップ分全てを加算したものよりも明瞭なピークを有するので、この結果を用いて暫定的なスロットタイミングを得ることができる。このピークを得た時点より１２７チップ分だけ早い時点がスロットタイミングとなる。
【００１９】
ここでは前半の遅延ブロックのみを動作させたが、逆に前半の遅延ブロックをスリープさせて後半の遅延ブロックからの１２８チップ分の出力のみを加算することもできる。また、１２８チップ分ではなく、６４（g16〜g13），３２（g16〜g15），１６チップ（g16）分、つまり２５６／２j (j = 1, 2, 3, 4)だけを使用することももちろん可能である。
【００２０】
これらの数チップ分を使用し相関出力を得、この相関出力の絶対値（電力）を複数スロット分サンプリングし、平均処理して最大値 ABSj を検出し、スロットタイミングを得ることができる。２５６チップの加算で最大値 ABS0がしきい値 TH1を越えない場合に、１２８チップだけを加算してみる。１２８チップの加算で、その最大値 ABS1がしきい値 TH1／２を越える場合には、最大値 ABS1の位置より暫定的なスロットタイミングを検出することができる。周波数オフセットが大きく、最大値 ABS1がしきい値 TH1／２を越えない場合には、次に６４チップだけを加算してみる。周波数オフセットがさらに大きい場合には、６４チップ加算でもその最大値 ABS2がしきい値 TH1／４を越えないこともある。その場合には、３２チップだけを加算してみる。３２チップによる最大値 ABS3がしきい値 TH1／３を越えないときは、１６チップだけの加算をして最大値ABS4 を得る。その最大値ABS4 がしきい値 TH1／４を越えるかどうかを判定する。上記最大値 ABSj がしきい値 TH1／２j を初めて越えたときに、その最大値 ABSj の位置 Imaxj を用いて暫定的なスロットタイミングを検出することができる。より具体的なスロットタイミング検出方法は、後に詳述する。
【００２１】
図６および図７を参照しながら、本発明に従ったスロットタイミング検出段階を説明する。図６に示すように、CDMA移動機内で実行されるセルサーチは、基本的に３段階から構成される。第１段階では、マッチドフィルタ５４を２５６チップモードに設定してプライマリサーチコード（PSC）を受信し、スロットタイミングを検出する。もし周波数オフセットがあると判断した場合には、本発明に従いマッチドフィルタ５４を１６チップモードに変更して周波数オフセット量を推定する。周波数オフセット量が推定されたら、それを用いて局部発振周波数を調整しオフセット量を最小にして再度スロットタイミングを検出する。このようにして、正しいスロットタイミングを検出することができる。本発明の実施例に従った第１段階の実行方法は、後に詳しく述べる。
【００２２】
第２段階は、従来方法に従い、セカンダリサーチコード（SSC）を受信して、スクランブルコードのグループ番号と、フレーム同期とを検出する段階である。１フレームには通常１５スロットが入っている。基地局から全地域へと合計６４個のグループが送信されている。
【００２３】
第３段階は、６４グループのうち第２段階で検出したグループ番号に対応する１つのグループから実際のスクランブルコードを検出する。通常、上記３段階終了後、確認のために再度３段階を実行する。確認ができたら、次にコモンパイロットチャネル（CPICH）を受信し、それを用いて周波数オフセットを検出して、局部発振周波数を最終的に調整する。これで、セルサーチは終了し、後続の通信を開始する。
【００２４】
本発明の実施例に従った第１段階実行方法
開始段階  図７を参照しながら、本発明の実施例について説明する。第１段階を開始したら、先ず２つのパラメータ i, j を i = 0,  j = 1 に設定する。ここで iは、サンプリング時間をずらして第１段階を繰り返し実行する際の繰り返し回数パラメータである。 jは、正しいスロットタイミングを検出できるまで、２５６チップモードから順次少ないチップモード（２５６／２j チップモード）へと変更していく際のチップモードパラメータである。
【００２５】
A. 全チップモードによるスロットタイミング検出段階  マッチドフィルタ５４を全チップモード、すなわち２５６チップモードに設定する。プライマリコード全体（２５６チップ）をマッチングする。複数スロット分、例えば１５スロット分受信し、マッチドフィルタ５４の出力の絶対値を１５スロットに亘り各チップ毎に平均する。各チップの平均値のうち最大値１個を選び出す。その最大値を例えば ABS０として、その最大値 ABS0と位置 Imaxを保存する。最大値 ABS0を所定の第１しきい値 TH1と比較する（ABS0>TH1 ? ）。第１のしきい値 TH1は、ノイズレベルより十分大きい値が望ましい。もし最大値 ABS0が第１しきい値 TH1を越えていれば、信号が十分強く、正しいスロットタイミングが検出されると考えられる。そこで、その最大値 ABS0を用いてスロットタイミングの位置 Iest slot timing = (Imax - 255) mod2560を求め、第１段階を終了して、第２段階へと進む。
【００２６】
B. １６チップモードによる周波数オフセット量推定段階  一方、最大値 ABS0がしきい値 TH1を越えていなければ、最大値 ABS0を用いて正しいスロットタイミングが得られるほど信号が強くないと判断される。従って、周波数オフセット量Δf が大きい可能性があるので、Δf を零に近づける努力をする。最大値 ABS0を所定の第２のしきい値と比較する（ABS0>TH2 ?）。第２のしきい値 TH2は、ノイズレベルよりある程度大きい値が望ましい。もし最大値 ABS0が第２しきい値 TH2を越えていれば、信号がある程度強く、ABS0から得たスロットタイミングを用いて周波数オフセット量を推定できると考えられるので、「B. １６チップモードによる周波数オフセット量推定段階」へと進む。
【００２７】
最大値 ABS0を用いてスロットタイミングの位置 Iest slot timing = (Imax - 255) mod2560を求め、これを前提として周波数オフセットを推定する。マッチドフィルタ５４を１６チップモードに設定して、周波数オフセット量Δf を推定する。本発明に従ったΔf の推定方法については、後に詳述する。Δf が零に近づくように局部発振器１２の周波数を調整して、「A. 全チップモードによるスロットタイミング検出段階」に戻る。そして新しい局部発振周波数に基づき、全チップモードで正しいスロットタイミングを検出して、第２段階へと進む。
【００２８】
C. マルチモードによるスロットタイミング検出段階  最大値 ABS0を所定の第２のしきい値と比較したとき（ABS0>TH2 ?）、もし最大値 ABS0が第２しきい値 TH2を越えていなければ、信号が弱すぎて、ABS0から得たスロットタイミングが不十分であってこれに基づいては周波数オフセット量を正しく推定できないと考えられるので、「C. マルチモードによるスロットタイミング検出段階」へと進む。
【００２９】
C-1  マッチドフィルタ５４を２５６／２j チップモードに設定する。最初は j = 1 であるので、１２８チップモードに設定することになる。プライマリコードのうち２５６／２j チップ、すなわち１２８チップをマッチングする。前半の１２８チップでも後半の１２８チップのいずれでも良いが、ここでは前半の１２８チップを加算するものとする。複数スロット分、例えば１５スロット分受信し、マッチドフィルタ５４の出力の絶対値を１５スロットに亘り各チップ毎に平均する。各チップの平均値のうち最大値１個を選び出す。その最大値を例えば ABSj として、その最大値 ABSj と位置 Imaxjを保存する。最大値 ABSj をしきい値 TH1/2j と比較する（ABSj >TH1/2j ? ）。
【００３０】
C-2  もし最大値 ABSj がしきい値 TH1/2j を越えていれば、２５６／２j チップモードで得た信号がある程度強く、ABSj から得たスロットタイミングを用いて周波数オフセット量を推定できると考えられるので、「B. １６チップモードによる周波数オフセット量推定段階」へと進むことになる。「B. １６チップモードによる周波数オフセット量推定段階」へ進む前に、ABSj を用いてスロットタイミングの位置を求めておく。スロットタイミングの位置は Iest slot timing = (Imaxj - 127) mod2560となる。スロットタイミンぐを求めた後に「B. １６チップモードによる周波数オフセット量推定段階」に入り、ABSj で求めたスロットタイミングに基づいて周波数オフセット量を推定する。
【００３１】
C-3  もし最大値 ABSj がしきい値 TH1/2j を越えていなければ、２５６／２jチップモードで得た信号が弱すぎて、ABSj から得たスロットタイミングが不十分であってこれに基づいては周波数オフセット量を正しく推定できないと考えられる。そこでチップモードパラメータ jを j = j + 1 として、上記C-1 段階へ戻り、再度最大値ABSj とその位置 Imaxj を求める。依然として最大値 ABSj がしきい値 TH1/2j を越えていなければ、チップモードパラメータ jを増加して、この動作を繰り返し、j = 4 になるまで、すなわち１６チップモードになるまで繰り返す。その途中で、もし最大値 ABSj がしきい値 TH1/2j を越えれば、その２５６／２j チップモードで得た信号がある程度強く、ABSj から得たスロットタイミングを用いて周波数オフセット量を推定できると考えられるので、「B. １６チップモードによる周波数オフセット量推定段階」へと進めることになる。
【００３２】
D.
１６チップモードになっても依然として最大値 ABSj がしきい値 TH1/2j を越えていなければ、サンプリングタイミング tを t = t + Δt にずらしてみる。ここでΔt = tc X 1/Ns であり、tc は１チップの時間的長さ、Ns は１チップ内のオーバーサンプリング数であり例えば２とか４である。もし、Ns = 2 ならば、サンプリングタイミングを１チップ分の半分だけずらすことになる。繰り返し回数パラメータ i を i = i + 1 に増加し、チップモードパラメータ jを j = 1に設定して、最初の「A. 全チップモードによるスロットタイミング検出段階」に戻り、全行程を再度実行する。サンプリングタイミングをずらすことにより、より良い信号が得られることが期待される。それでもなお信号が弱く正しいスロットタイミングが得られない場合には、サンプリングタイミングをさらにずらして、再び「A. 全チップモードによるスロットタイミング検出段階」に戻り、全行程をまた実行する。このサンプリングタイミングのずらしは、Ns 回だけ（i = Ns）繰り返す。Ns 回だけ繰り返しても依然として信号が弱いときは、移動機がCDMAサービス圏外にいると判定して、第２段階へは進まずセルサーチを終了する。
【００３３】
スロットタイミング検出方法
図４を参照しながら、本発明の周波数オフセット調整を取り入れたスロットタイミング検出方法およびセルサーチ方法において用いることができるスロットタイミングのより具体的な検出方法を各チップモードについて説明する。
【００３４】
１６チップだけ加算する場合
▲１▼  外部制御器６０により、遅延ブロック１〜遅延ブロック１５をスリープさせる。演算素子g16からの出力のみを直接または加算器５８を通してデジタルシグナルプロセッサ（DSP）５２に入力する。あるいは前置マッチドフィルタ３２からの出力を直接にデジタルシグナルプロセッサ５２に入力しても良い。数式３のうちの各項は aが共通で単にg系列による符号が違うだけであるから、この１６チップ分の出力は +/- aに相当する１６個のピークを有する。DSPで、各スロット内においてこれら１６個のピークをサンプリングして、絶対値を得る。こうして得た１スロット分（図２のスロット＃０）の出力の絶対値（電力に相当）ABSMF0(I=0~2559)をデジタルシグナルプロセッサ内に保存する。得られた各ピークを tp1, tp2, tp3, …, tp16で表したものを図５に示す。
▲２▼  次のスロット（図２のスロット＃１）の出力の絶対値（電力に相当）ABSMF1(I=0~2559)を、デジタルシグナルプロセッサ内で保存してあるスロット出力絶対値に、対応する各チップ毎に加算する。この加算をＮー１回（スロット＃１〜＃１４）ΣABSMFk=1~14(I=0~2559)やって平均を取ったものをAVABS(I=0~2559)とする。
▲３▼  ▲２▼の平均値には１または複数のピークが現れる。２５６０チップに相当する２５６０個の電力平均値AVABS(I=0~2559)の大小を比較する。最大値１個AVABS(Imax)とその位置Imax（何チップ目かということ）を選び出し保存する。
▲４▼  理論的に１６個の有意のピークが現れるはずであり、スロットタイミングを求めるためにその１６個のうち最初のピーク（図２の２６）を求めたい。先ず、最大値AVABS(Imax)を選ぶ。最大値から前後１６チップごとだけ離れた位置((Imax + J X 16)mod2560)における各平均値を前後１５個づつCANABS(J) = AVABS((Imax + J X 16)mod2560), J=-15, -14, …, -1, 0, 1, …, 14, 15,（合計３１個）を選び出して、それらの値と位置を保存する。
▲５▼  最大値AVABS(Imax)から上記３１個の値をそれぞれ減算ΔABS(J) = AVABS(Imax) - CANABS(J),  J= -15 …, 15 する。
▲６▼  上記の差ΔABS(J)が所定のしきい値Δより小さい値（ΔABS(J)＜Δ＞を選び出し、その差の値と位置を保存する。差が小さいと言うことは、高いピークを意味する。
▲７▼  保存した差の値の中から保存位置 Jのうち最小値を選び出す。それをJslot timingとする。これが各ピークのうち最も時間的に早いもの（図２の２６）に相当する。
▲８▼  推定スロットタイミング Iest slot timingを計算する。Iest slot timing = (Imax + 16 X Jslot timing - 15) mod2560。この計算値を推定したスロットタイミングとする。スロットタイミングは、最初のピーク２６よりも１５チップ分だけ時間的に早いので（図２参照）、上記式において１５を減算している。
▲９▼  本当のピークの前後１チップの場所の相関出力にも高いピークが現れるので、推定スロットタイミング Iest slot timingの前後１チップの位置も候補として保存しておく。
【００３５】
２５６チップ全部を加算する場合
原則的に１６チップの場合の▲１▼〜▲３▼、▲８▼、▲９▼と同じである。但し、外部制御器６０により、どの遅延ブロックもスリープさせない。各スロットにおいてピークは１個しか現れない。１５スロットの平均値を取って最大のピーク１個の値と位置 Imaxを保存する。スロットタイミングの位置 Iest slot timing = (Imax - 255) mod2560となる。
【００３６】
１２８チップの場合
A. 前半の１２８チップにマッチングするとき。
原則的に１６チップの場合の▲１▼〜▲３▼、▲８▼、▲９▼と同じである。但し、外部制御器６０により、遅延ブロック８〜遅延ブロック１５をスリープさせる。各スロットにおいてピークは１個しか現れない。１５スロットの平均値を取って最大のピーク１個の値と位置 Imaxを保存する。スロットタイミングの位置 Iest slot timing = (Imax - 127) mod2560となる。
B. 後半の１２８チップにマッチングするとき。
原則的に１６チップの場合の▲１▼〜▲３▼、▲８▼、▲９▼と同じである。但し、外部制御器６０により、遅延ブロック０〜遅延ブロック７をスリープさせる。各スロットにおいてピークは１個しか現れない。１５スロットの平均値を取って最大のピーク１個の値と位置 Imaxを保存する。スロットタイミングの位置 Iest slot timing = (Imax - 255) mod2560となる。
【００３７】
６４チップの場合
A．最初の６４チップにマッチングするとき。
▲１▼  １スロット分（スロット＃０）の出力の絶対値（電力に相当）ABSMF0(I=0~2559)をデジタルシグナルプロセッサ内に保存する。
▲２▼  次のスロット＃１の出力の絶対値（電力に相当）ABSMF1(I=0~2559)を前記スロットに加算する。この加算をＮー１回（スロット＃１〜＃１４）ABSMFk=1~14(I=0~2559)やって平均を取たものを AVABS(I=0~2559)とする。
▲３▼  ▲２▼の平均値には１または複数のピークが現れる。２５６０チップに相当する２５６０個の電力平均値AVABS(I=0~2559)の大小を比較する。最大値１個AVABS(Imax)とその位置Imax（何チップ目か）を選び出し保存する。
▲４▼  変調系列 gのうち最初の６４チップ（１〜６４チップ目）と、３番目の６４チップ（１２９〜１９２チップ目）とにおいてたまたま同じ形の変調（1, 1, 1, -1）があるので、６４チップ目と１９２チップ目にピークが２つ現れる。これら２個のピークのうち最初の方のピークを求めたい。先ず、最大値 AVABS(Imax)を選び、最大値から前後１２８チップごとだけ離れた位置((Imax + J X 128)mod2560))の各平均値を前後１個づつ CANABS(J)=AVABS((Imax + J X 128)mod2560), J=-1, 0, 1,（合計３個）を選び出し、これらの値と位置を保存する。
▲５▼  最大値AVABS(Imax)から上記３個の値をそれぞれ減算ΔABS(J) = AVABS(Imax) - CANABS(J),  J= -1, 0, 1 する。
▲６▼  上記の差ΔABS(J)が所定のしきい値Δより小さい値（ΔABS(J)＜Δ＞を選び出し、その差の値と位置を保存する。差が小さいと言うことは、高いピークを意味する。
▲７▼  保存した差の値の中から保存位置 Jのうち最小値を選び出す。それをJslot timingとする。これが各ピークのうち最も時間的に早いものに相当する。
▲８▼  推定スロットタイミング Iest slot timingを計算する。Iest slot timing = (Imax + 128 X Jslot timing - 63) mod2560。この計算値を推定したスロットタイミングとする。スロットタイミングは、最初のピークよりも６３チップ分だけ時間的に早いので（図２参照）、上記式において６３を減算している。
▲９▼  本当のピークの前後１チップの場所の相関出力にも高いピークが現れるので、推定スロットタイミング Iest slot timingの前後１チップの位置も候補として保存しておく。
【００３８】
B. 任意の連続した６４チップ分にマッチングするとき
PSCの中で任意の位置における連続した６４チップ分の信号が他の位置における連続した６４チップ分の信号と全く同じまたは反転している場合に、それを考慮してスロットタイミングを得ることができる。
【００３９】
３２チップの場合
A. 最初の３２チップにマッチングするとき、
▲１▼  １スロット分（スロット＃０）の出力の絶対値（電力に相当）ABSMF0(I=0~2559)をデジタルシグナルプロセッサ内に保存する。
▲２▼  次のスロット＃１の出力の絶対値（電力に相当）ABSMF1(I=0~2559)を前記スロットに加算する。この加算をＮー１回（スロット＃１〜＃１４）ABSMFk=1~14(I=0~2559)やって平均を取ったものを AVABS(I=0~2559)とする。
▲３▼  ▲２▼の平均値には１または複数のピークが現れる。２５６０チップに相当する２５６０個の電力平均値 AVABS(I=0~2559)の大小を比較する。最大値１個AVABS(Imax)とその位置Imax（何チップ目か）を選び出して保存する。
▲４▼  数式２に示す変調 g の特性から、３２チップ目、８０チップ目、１２８チップ目、１６０チップ目、１７６チップ目、２５６チップ目にそれぞれピークが現れる。これら６個のピークのうち最初のピークを求めたい。最大値 AVABS(Imax)を選び、最大値から前後１６チップごとだけ離れた位置((Imax + J X 16)mod2560))の各平均値を前後１4個づつ CANABS(J) = AVABS((Imax + J X 16)mod2560), J=-14, 0, 14,（合計２９個）を選び出して、値と位置を保存する。
▲５▼  最大値AVABS(Imax)から上記２９個の値をそれぞれ 減算ΔABS(J) = AVABS(Imax) - CANABS(J),  J= -14, 0, 14 する。
▲６▼  上記の差ΔABS(J)が所定のしきい値Δより小さい値（ΔABS(J)＜Δ＞を選び出し、その差の値と位置を保存する。差が小さいと言うことは、高いピークを意味する。
▲７▼  保存した差の値の中から保存位置 Jのうち最小値を選び出す。それをJslot timingとする。これが各ピークのうち最も時間的に早いものに相当する。
▲８▼  推定スロットタイミング Iest slot timingを計算する。Iest slot timing = (Imax + 16 X Jslot timing - 31) mod2560。この計算値を推定したスロットタイミングとする。スロットタイミングは、最初のピークよりも３１チップ分だけ時間的に早いので、上記式において３１を減算している。
▲９▼  本当のピークの前後１チップの場所の相関出力にも高いピークが現れるので、推定スロットタイミング Iest slot timingの前後１チップの位置も候補として保存しておく。
【００４０】
B. 任意の連続した３２チップ分にマッチングするとき
PSCの中で任意の位置における連続した３２チップ分の信号が他の位置における連続した３２チップ分の信号と全く同じまたは反転している場合に、それを考慮してスロットタイミングを得ることができる。
【００４１】
本発明に従えば、１６の任意の整数倍にマッチングすることができる。マッチングするチップ数を減らしていき、１６チップでもまだピークを見つけることができない場合には、サンプリングタイミングを１／Ｍ（自然数）チップ分ずらして、上記の手順（２５６→１６チップ）を繰り返すことができる。しきい値Δは、ピークと雑音とを区別するために十分な値をとるべきであり、平均雑音の強度から決定することができ、信号・雑音の平均より少し大きいぐらいが適当であろう。本実施例によれば周波数オフセットが +/- 56kHzの範囲まで、スロットタイミングを取ることができる。
【００４２】
周波数オフセット量推定方法
次に、本発明の周波数オフセット量推定／スロットタイミング検出方法において用いることができる周波数オフセット量推定方法を具体的に説明する。２５６チップ分または２５６／２j チップ分を使用し相関出力を得、この相関出力の絶対値（電力）を複数スロット分サンプリングし、平均処理して最大値を検出し、暫定的なスロットタイミングを得る。暫定的なスロットタイミングが得られた後に、１６分チップのみを使用することにより以下のように周波数オフセット値を求めることができる。
【００４３】
外部制御器６０により、遅延ブロック１〜遅延ブロック１５をスリープさせる。演算素子g16からの出力のみを直接または加算器５８を通してデジタルシグナルプロセッサ（DSP）５２に入力する。あるいは前置マッチドフィルタ３２からの出力を直接にデジタルシグナルプロセッサ５２に入力しても良い。数式３のうちの各項は aが共通で単にg系列による符号が違うだけであるから、この１６チップ分の出力は +/- aに相当する１６個のピークを有する。DSPで、各スロット内においてこれら１６個のピークをサンプリングする。サンプリングした各ピークに対してDSP内で g系列を乗算して g系列による変調を除く。こうして得られた各ピークを y1, y2, y3, …, y16で表す。系列 ynに対して次に以下に述べるような差動検波をする。周波数オフセットΔfがある場合に y2は y1に較べて位相が２πΔf X 16tcだけ遅れているから、y1 = aの場合に、y2 = a X exp（j2πf X 16tc)となる。
【００４４】
【数４】
y1* X y2,  y2* X y3,  y3* X y4,  ……y15* X y16
の各複素共役乗算を求めると、以下のようになる。
【００４５】
【数５】
a* X a X exp（j2πf X 16tc),
a* X exp（-j2πf X 16tc) X a X exp（j2πf X 16tc X 2)
……………..
すなわち、全ての項が以下のように共通になる。
【００４６】
【数６】
｜a｜2 X exp（j2πf X 16tc)
従って、これらの１５個の平均を取ることによりノイズの少ない精度の良い結果が得られる。aはまた、I + jQとも表せるので、デジタルシグナルプロセッサ内でI, Qを得て位相差θ= arctan Q/Iを計算することができる。こうして求めたθから、オフセット周波数Δf = θ／ 2π x 16tc を推定することができる。
【００４７】
１６チップだけでなく、３２チップ、６４チップ、１２８チップでも周波数オフセット量の推定が可能である。
【図面の簡単な説明】
【図１】本発明を応用できるスペクトル拡散受信装置を簡略化したブロック図で示した図である。
【図２】第３世代移動通信システムに用いる同期チャネルの構造を示した図である。
【図３】本発明を応用できるデジタルマッチドフィルタのブロック図である。
【図４】本発明の一実施例に従い、マッチドフィルタ、マルチモード加算器およびデジタルシグナルプロセッサからなる周波数オフセット量推定／セルサーチ装置のブロック図である。
【図５】  本発明の一実施例に従ったスロットタイミング検出方法における１６個のピークを示す図である。
【図６】  CDMA移動機内で実行される３段階からなるセルサーチを示すフローチャートである。
【図７】  図６に示す第１段階の行程についての本発明の１実施例を示すフローチャートである。
【符号の説明】
１６    周波数オフセット量推定／セルサーチ装置
１４    周波数オフセット量推定／セルサーチ部
５４    デジタルマッチドフィルタ
４８    タイミングコントローラ
３７    複素演算素子
３９    複素遅延素子
５８    マルチモード加算器
５２    デジタルシグナルプロセッサ
６０    外部制御器
【図１】
0004459410.tif 000003
【図２】
0004459410.tif 000004
【図３】
0004459410.tif 000005
【図４】
0004459410.tif 000006
【図５】
0004459410.tif 000007
【図６】
0004459410.tif 000008
【図７】
0004459410.tif 000009