(57)【特許請求の範囲】
【請求項１】
所定の複素系列から構成される複素信号を受信してスロットタイミングを検出する方法であって：
デジタルマッチドフィルタにおいて、任意のＮ個のチップ分の出力を加算する段階；
前記加算出力の絶対値をとり、所定数のスロット分に亘って平均化した平均値を得る段階；
前記平均値の中から、最大のピークを選択してその値と位置を保存する段階；
前記の最大のピークの位置から前後に所定ピーク数だけ離れた範囲内における有意のピークを選び出す段階；
前記有意のピークのうち時間的に最初のピークを選択してその位置を保存する段階；および
前記の最初のピークの位置から、前記加算する段階において加算するチップ数に応じてスロットタイミングを検出する段階；
から構成される方法。
【請求項２】
請求項１に記載のスロットタイミングを検出する方法であって：
前記のＮが、１２８，６４，３２，１６から成るグループから選択される；
ことを特徴とする方法。
【請求項３】
請求項１に記載のスロットタイミングを検出する方法であって、前記の任意のＮ個のチップ分の出力を加算する段階の前に：
デジタルマッチドフィルタにおいて、２５６チップ分の出力を加算してピークを得る段階；
を含むことを特徴とする方法。
【請求項４】
請求項１に記載のスロットタイミングを検出する方法であって、前記のデジタルマッチドフィルタにおける２５６チップ分の出力を加算する段階を実行した結果有意のピークが得られない場合において、次にＮを１２８として全段階を実行する、ことを特徴とする方法。
【請求項５】
請求項４に記載のスロットタイミングを検出する方法であって、前記のＮを１２８として全段階を実行した結果有意のピークが得られない場合において、次にＮを６４として請求項１の全段階を実行する、ことを特徴とする方法。
【請求項６】
請求項５に記載のスロットタイミングを検出する方法であって、前記のＮを６４として全段階を実行した結果有意のピークが得られない場合において、次にＮを３２として請求項１の全段階を実行する、ことを特徴とする方法。
【請求項７】
請求項６に記載のスロットタイミングを検出する方法であって、前記のＮを３２として全段階を実行した結果有意のピークが得られない場合において、次にＮを１６として請求項１の全段階を実行する、ことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば直接拡散符号分割多元接続（ＤＳＣＤＭＡ）方式による通信システム等において使用されるスペクトル拡散信号受信方法に関し、より詳細にはそのような受信方法において用いられるスロットタイミング検出方法に関する。
【０００２】
【発明の背景】
スペクトル拡散（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は、次のように定義される。
【００１１】
【数３】
0004245788.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）分だけを使用することももちろん可能である。これらの数チップ分を使用し相関出力を得、この相関出力の絶対値（電力）を複数スロット分サンプリングし、平均処理して最大値を検出し、スロットタイミングを得ることができる。２５６チップの加算でピークがしきい値を越えない場合に、１２８チップだけを加算してみる。１２８チップの加算でもピークがしきい値を越えない場合には６４チップだけを加算してみる。こうして、順に３２チップ、１６チップの加算をしてみることにより、スロットタイミングが確実に得られる。以下に、より具体的なスロットタイミング検出方法を説明する。
１６チップだけ加算する場合
▲１▼  外部制御器６０により、遅延ブロック１〜遅延ブロック１５をスリープさせる。演算素子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の範囲まで、スロットタイミングを取ることができる。
【図面の簡単な説明】
【図１】本発明を応用できるスペクトル拡散受信装置を簡略化したブロック図で示した図である。
【図２】第３世代移動通信システムに用いる同期チャネルの構造を示した図である。
【図３】本発明を応用できるデジタルマッチドフィルタのブロック図である。
【図４】本発明の一実施例に従い、マッチドフィルタ、加算器およびデジタルシグナルプロセッサからなるスロットタイミング決定装置のブロック図である。
【図５】  本発明の一実施例に従ったスロットタイミング検出方法における１６個のピークを示す図である。
【符号の説明】
１６    スロットタイミング検出装置
１４    スロットタイミング検出部
５４    デジタルマッチドフィルタ
４８    タイミングコントローラ
３７    複素演算素子
３９    複素遅延素子
５８    マルチモード複素加算器
５２    デジタルシグナルプロセッサ
６０    外部制御器
【図１】
0004245788.tif 000003
【図２】
0004245788.tif 000004
【図３】
0004245788.tif 000005
【図４】
0004245788.tif 000006
【図５】
0004245788.tif 000007