JP2006345128A - 検出装置 - Google Patents

検出装置 Download PDF

Info

Publication number
JP2006345128A
JP2006345128A JP2005167737A JP2005167737A JP2006345128A JP 2006345128 A JP2006345128 A JP 2006345128A JP 2005167737 A JP2005167737 A JP 2005167737A JP 2005167737 A JP2005167737 A JP 2005167737A JP 2006345128 A JP2006345128 A JP 2006345128A
Authority
JP
Japan
Prior art keywords
unit
correlation function
signal
integrated
start time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005167737A
Other languages
English (en)
Inventor
Masatoshi Oshima
正資 大島
Nobuhiro Suzuki
信弘 鈴木
Atsushi Okamura
敦 岡村
Toshiyuki Hirai
俊之 平井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005167737A priority Critical patent/JP2006345128A/ja
Publication of JP2006345128A publication Critical patent/JP2006345128A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

【課題】GPS信号等の直接スペクトラム拡散方式の信号(拡散信号)を受信し、逆拡散により信号を取得する受信装置において、拡散符号(単位信号)の開始時点のタイミングが不明の場合には、受信した信号からこのタイミングを検出する。このため受信信号と自身で発生した拡散符号との相関をとるが、受信した信号のS/N比が小さい場合には、変調信号のビット長よりも長い時間にわたる相関をとる必要があるため、変調信号の値がわからないと相関をとれず、タイミングを検出できない。
【解決手段】変調信号の値の仮定を二値符号列記憶部151に記憶し、その仮定に基づいて集積相関関数算出部152が信号の相関をとる。その結果に基づいて、仮検出部161が開始時点の候補を検出する。検出結果に基づいて、再集積相関関数算出部162が更に長時間の相関をとり、それに基づいて、本検出部171が、開始時点を検出する。
【選択図】 図2

Description

本発明は、直接スペクトラム拡散方式の通信に関する。
直接スペクトラム拡散方式では、送信側で拡散符号を用いて信号をスペクトラム拡散する。受信側では、この信号を受信し、送信側と同じ拡散符号を用いて、送信側と同期するタイミングで逆拡散することで、信号を読み出している。
GPS(Global Positioning System:全地球測位システム)において、GPS衛星から送信される信号は、C/Aコード(Coarse/Aqcuisition Code)と呼ばれる拡散符号を用いて直接スペクトラム拡散した信号である。
GPS衛星ごとにC/Aコードが決まっているので、受信側は、受信したいGPS衛星のC/Aコードを用いて受信信号を逆拡散することで、所望のGPS衛星からの信号を受信する。
GPSにおいては、信号の遅延時間を利用してGPS衛星とGPS測位装置との間の距離を測定し、複数のGPS衛星からの距離に基づいて、GPS測位装置の位置を割り出す。
初期状態においては、GPS衛星とGPS測位装置との間の距離が不明であるため、遅延時間も不明である。したがって、受信側で、逆拡散のタイミングを同期させることができない。
一般に、直接スペクトラム拡散には、擬似乱数符号を拡散符号として用いる。GPS信号の拡散に用いられているC/Aコードは、ゴールド系列と呼ばれる擬似乱数符号である。
擬似乱数符号を用いて直接スペクトラム拡散した信号は、逆拡散のタイミングが同期していれば受信側で信号を検出できるが、タイミングがずれると、信号が検出できないという特性を持つ。
したがって、逆拡散のタイミングを少しずつずらして、信号が検出できるタイミングを探すことで、逆拡散のタイミングを同期させる。
すなわち、同期のタイミングを変数として、受信信号と、自身で発生させた拡散符号との相関値を求め(相互相関関数CCF:Cross Correlation Function、以下単に「相関関数」という。)、相関値の絶対値が最大になるタイミングを求めれば、タイミングを同期させることができる。
室内等、電波が微弱な場所にGPS測位装置がある場合、S/N比(Signal/Noise Ratio:信号雑音比)が小さく、信号が雑音に埋もれてしまっているので、逆拡散のタイミングが同期できた場合であっても、必ずしも相関値の絶対値が最大になるとは限らない点が課題となる。
この課題を解決する手段として、従来、長時間にわたる相関をとることが行われている。
直接スペクトラム拡散された信号は、基本的に拡散符号の繰り返しであるから、拡散符号の複数の周期にわたって相関をとれば、信号は相乗し、雑音は打ち消し合うので、S/N比が向上し、信号の検出が可能になるからである。
しかし、直接スペクトラム拡散された信号は、単純に拡散符号の繰り返しではない。
例えば、二値符号化された信号を直接スペクトラム拡散した場合、元の信号の「0」に拡散符号の繰り返しが対応し、元の信号の「1」に拡散符号の極性を逆転させたものの繰り返しが対応する。
例えば、GPS信号においては、C/Aコードの一周期は1ミリ秒である。C/Aコード20周期で一単位となり、これが航法データ1ビットに対応する。したがって、20ミリ秒ごとに、C/Aコードの極性が反転している可能性がある。
元の信号の値が変化する境界を超えて相関をとると、拡散符号の極性が逆なので、信号が打ち消し合ってしまう。その結果、信号の検出が困難になる点が課題となる。
この課題を解決する手段として、例えば、特許文献1に記載の技術がある。
特許文献1に記載の技術によれば、良好な受信状態にある本部サーバがGPS信号を受信し、航法データを得る。
GPS測位装置では、電波が微弱で、逆拡散のタイミングを同期させることが困難な場合、本部サーバから航法データを受信する。
GPS測位装置は、本部サーバから受信した航法データを用いて、受信したGPS信号の極性を反転させた上で、相関をとる。
これにより、元の信号の値が変化する境界を超えて長時間にわたる相関をとっても、信号が打ち消し合うことなく、逆拡散の同期タイミングを検出することが可能になる。
特開2001−349935号公報
このように、特許文献1に記載の技術では、GPS測位装置の受信状態が悪い場合に、本部サーバが代わりに航法データを受信し、その航法データを用いてGPS測位装置が逆拡散の同期タイミングを検出する。
したがって、あらかじめそのような本部サーバを設置しておく必要があり、設置コストがかかる点が課題となる。
また、GPS測位装置と本部サーバとが通信する必要があるので、GPS測位装置がそのための通信機能を有する必要が生じる。これにより、GPS測位装置の製造コストが高くなり、また、GPS測位装置自体が重くなるので、携帯性が悪くなる。また、なんらかの障害によって本部サーバと通信できない場合には、逆拡散の同期タイミングを検出できなくなってしまう。
本発明は、例えば、上記のような課題を解決し、電波の状態が悪くS/N比が小さい場合であっても、直接スペクトラム拡散された信号から逆拡散の同期タイミングを効率よく検出することを目的とする。
本発明に係る検出装置は、
所定の単位信号の1回以上の繰り返しを第一の反復信号とし、上記第一の反復信号の極性を反転したものを第二の反復信号とし、上記第一および第二の反復信号を任意の順序で連ねたものを拡散信号とし、
上記拡散信号を取得し、
取得した上記拡散信号と上記単位信号の相関を取ることによって、上記拡散信号に含まれる上記単位信号の開始時点を検出する検出装置において、
上記拡散信号を取得する拡散信号取得部と、
上記単位信号を記憶する単位信号記憶部と、
上記拡散信号取得部が取得した拡散信号と、上記単位信号記憶部が記憶した単位信号との相関をとって、積算相関関数とする積算相関関数算出部と、
所定の長さの二値符号列を複数記憶する二値符号列記憶部と、
上記二値符号列記憶部が記憶した二値符号列に基づいて、上記積算相関関数の値の極性を補正し、補正した値を積算し、集積相関関数とする集積相関関数算出部と、
上記集積相関関数算出部が算出した集積相関関数に基づいて、上記単位信号の繰り返しの開始時点の候補を検出し、開始時点候補とする仮検出部と、
上記仮検出部が検出した開始時点候補について、上記集積相関関数算出部が算出した集積相関関数の値を積算し、再集積相関関数とする再集積相関関数算出部と、
上記再集積相関関数算出部が算出した再集積相関関数に基づいて、上記単位信号の開始時点を検出する本検出部と、
を有することを特徴とする。
本発明によれば、反復信号の極性反転を考慮して、複数の可能性について相関をとり、集積相関関数とする。求めた集積相関関数に基づいて単位信号の開始時点の候補を絞り込むので、反復信号の極性反転についてあらかじめ知る必要がないとの効果を奏する。
また、絞り込んだ候補のなかから、更に長時間にわたる相関をとり、再集積相関関数とする。再集積相関関数に基づいて単位信号の開始時点を検出するので、反復信号の極性反転について調べなければならない可能性の候補が比較的少なくて済み、計算量が抑えられるとの効果を奏する。
実施の形態1.
実施の形態1を、図1〜図7を用いて説明する。
図1は、GPS測位装置100(検出装置の一例)のシステム構成の一例を示す図である。
図1は、この実施の形態におけるGPS測位装置のハードウェア構成の一例を示す図である。
図1において、GPS測位装置100は、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM(Read Only Memory)913、RAM(Random Access Memory)914、CRT(Cathode Ray Tube)表示装置901、磁気ディスク装置920と接続されている。
RAM914は、揮発性メモリの一例である。ROM913、磁気ディスク装置920は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
CRT表示装置901は、出力部の一例である。
磁気ディスク装置920には、オペレーティングシステム(OS)921、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923は、CPU911、OS921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明するものが、「〜ファイル」として記憶されている。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、RAM914もしくは磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
以下に述べる実施の形態を実施するプログラムは、また、RAM914もしくは磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体による記録装置を用いて記憶されても構わない。
図2は、GPS測位装置100の機能ブロックの構成の一例を示すブロック図である。
GPS測位装置100は、拡散信号取得部110、拡散信号記憶部113、単位信号生成部121、単位信号記憶部122、周波数差補正記憶部131、積算相関関数算出部140、二値符号列記憶部151、集積相関関数算出部152、仮検出部161、再集積相関関数算出部162、本検出部171、測位部181を有する。
図3は、GPS信号(拡散信号の一例)の構成を示す図である。横軸は時刻を示す。
GPS信号は、搬送波周波数L1(1575.42MHz(メガヘルツ))の信号を、二値位相変調した信号である。
変調の基本となるのが、C/Aコード201(単位信号の一例)と呼ばれる信号である。C/Aコードの継続時間(周期)は1ミリ秒であり、その間に1,023ビットを有する(1.023Mbps(メガビットパーセカンド))。
C/Aコードの20回の繰り返し220が一つの単位(反復信号の一例)となる。
これが、航法データ1ビット251に対応し、信号220またはその極性反転である信号240(変調されたGPS信号でいえば、位相が180°異なる)によって、航法データを表す。したがって、航法データ1ビットは20ミリ秒である。
拡散信号取得部110は、受信部111、アナログデジタル変換部112を有する。
図4は、拡散信号取得部110が取得する拡散信号の一例を示す図である。横軸は取得時刻を示す。なお、実際には、拡散信号は雑音を含んでいるが、ここでは省略している。
受信部111は、GPS信号を受信し、周波数変換する。
すなわち、アンテナが信号を受信する。バンドパスフィルタが搬送波周波数L1(1575.42MHz)の前後約2MHzの帯域以外の信号を除去する。搬送波周波数L1と同じ周波数の正弦波を乗じて、ローパスフィルタで高調波成分を除去することで、拡散信号を取り出す。
このとき、位相が90度異なる2つの正弦波を用いて、2つの信号(実部301、虚部302)を取り出す。この2つの信号は位相が90度異なるので、以下、これを実部及び虚部の絶対値として持つ複素数として捉え、位相と振幅の情報を持つ1つの信号として扱う。また、信号がある閾値を超えたかどうかにより信号検出する構成でも構わない。この場合,取り出した信号は実数となる。以下の説明において、取り出した信号は複素数であるとしている。
受信した信号の搬送波周波数と、これに乗じた正弦波の周波数が一致していれば、拡散信号の位相は一定である。
しかし、GPS衛星とGPS測位装置100との相対速度に起因して、受信した信号の搬送波周波数は、GPS衛星が送信した周波数(1575.42MHz)と一致しない。
また、受信部111が有する発振器の発振周波数にも誤差があるので、受信した信号に乗じる正弦波も、1575.42MHzとは異なる周波数を有する。
この周波数の差の影響で、受信部111が変換した信号の位相303が、図4に示すように変化する。すなわち、変換した信号の位相は、上記周波数の差を周波数として回転する。
受信部111は、このことを考慮し、あとで周波数の差を補正できるよう、位相と振幅の情報を持つ信号を出力する。
アナログデジタル変換部112は、受信部111が出力した信号を所定のサンプリング周波数でサンプリングし、デジタル信号に変換する。
受信部111が出力する信号の実部301及び虚部302をそれぞれ変換し、実部・虚部のペアによって表される複素数を出力する。
C/Aコードは、一周期が1023ビットで構成されている。C/Aコードの一周期は1ミリ秒であるから、1.023MHz以上の周波数でサンプリングを行う必要がある。
拡散信号記憶部113は、アナログデジタル変換部112が変換したデジタルデータ(複素数:実部301、虚部302)を記憶する。例えば、220ミリ秒(C/Aコード220周期、航法データ11ビットに相当)分のデータを記憶する。
単位信号生成部121は、受信したGPS衛星の番号から、そのGPS衛星が用いているC/Aコード(単位信号の一例)を生成する(1または−1の二値)。このとき、拡散信号記憶部113が記憶したデジタルデータのサンプリング周波数と同期するよう、データ数を調整する。例えば、サンプリング周波数が2.046MHzであれば、C/Aコードの1ビットに対してデータを2つ生成する。
単位信号記憶部122は、単位信号生成部121が生成したC/Aコードを記憶する。
なお、単位信号生成部121がC/Aコードを生成するのではなく、あらかじめ生成したC/Aコードを単位信号記憶部122が記憶しておく構成としてもよい。
周波数差補正記憶部131は、上述した周波数の差に基づく拡散信号の位相を補正するためのデータを記憶する。
具体的には、絶対値が1、位相がθの複素単位ベクトルexp(jθ)(=cosθ+jsinθ。jは虚数単位(√−1)。)を記憶する。例えば、−π≦θ<πの範囲で、π/1024ラジアン刻みに2046個のデータを記憶する。
なお、記憶領域を節約するため、0≦θ≦π/2の範囲のsinθを記憶し、exp(jθ)を計算で求めることとしてもよい。
積算相関関数算出部140は、単位相関関数算出部141、相関関数積算部142を有する。
単位相関関数算出部141は、拡散信号記憶部113が記憶した拡散信号と、単位信号記憶部122が記憶したC/Aコードとの相関関数を算出し、単位相関関数UCCFとする。相関をとる区間はC/Aコード一周期(1ミリ秒)分である。
なお、C/Aコードは、周波数差による補正をする必要があり、周波数差は未知であるから、単位相関関数UCCFは相関区間の開始時点τ及び周波数差fの関数となる。すなわち、
Figure 2006345128
ただし、UCCF(τ,f)は単位相関関数(複素数)、τは相関区間の開始時点(サンプリングデータの数を単位とする整数。τ=0〜219N−1)、fは周波数差、NはC/Aコード一周期あたりのサンプリングデータ数(自然数。C/Aコード一周期は1ミリ秒なので、サンプリング周波数は1000N)、s(x)は拡散信号記憶部113が記憶したx+1番目のサンプリングデータ(複素数)、Cca(x)は単位信号記憶部122が記憶したx+1番目のC/Aコード、eは自然対数の底、jは虚数単位、πは円周率である。また、単位相関関数UCCFはFFT(Fast Fourier Transform:高速フーリエ変換)により計算しても構わない。その場合、計算量が削減されるという効果を持つ。
ここで、exp(−j2πfn/1000N)は、拡散信号の位相補正である。
すなわち、周波数差がfあると、サンプリングデータ1つあたり拡散信号の位相は2πf/1000N(ラジアン)進む。n番目のサンプリングデータであれば、位相のずれは2πfn/1000Nである。したがって、exp(−j2πfn/1000N)を乗じることにより、位相を−j2πfn/1000Nずらし、位相のずれを補正する。
相関をとる区間のなかで位相が2πずれると、区間の前半の相関と、区間の後半の相関とが打ち消しあってしまい、有意なデータを得ることができない。したがって、区間内での位相の誤差はπ以下である必要がある。
この場合であれば、相関をとる区間は1ミリ秒なので、fは1kHz刻みで変化させる必要がある。これは最低限の値であり、もっと細かい刻み幅としてもよいことはもちろんである。その分計算量は増えるが、検出感度が高くなり、好ましい。
なお、拡散信号の初期位相は不明であるが、周波数差fが実際の周波数差と等しければ、位相差は一定に保たれる。したがって、初期位相と等しい位相を持つ相関値が算出されることになる。
図5は、単位相関関数算出部141が算出する単位相関関数UCCFの一例を示す図である。
拡散信号300は、拡散信号取得部110が取得し、拡散信号記憶部113が記憶している。横軸は取得時刻である。なお、拡散信号300は、実部しか図示していないが、図示していない虚部を有する複素数である。
C/Aコード401は、単位信号記憶部122が記憶している。横軸は、開始時点τからの経過時間である。
周波数差補正値411は、周波数差補正記憶部131が記憶している補正データを読み出して、単位相関関数算出部141が、周波数差fに基づく補正値を求めたものである。横軸は開始時点τからの経過時間である。なお、周波数差補正値411は、実部しか図示していないが、図示していない虚部を有する複素数である。
単位相関関数UCCF500は、単位相関関数算出部141が算出する。単位相関関数UCCF500は、実部及び虚部を有する複素数であるが、ここでは、理解を容易にするため、その複素数の絶対値504及び位相503を図示している。横軸は、相関区間の開始時点τを示す。
単位相関関数UCCF500は、開始時点τ及び周波数差fを変数とする関数である。図5では、周波数差fをある値に固定し、開始時点τを変化させた場合の単位相関関数UCCF500を図示している。
周波数差fが実際の周波数差と一致する場合、単位相関関数UCCF500は、図5に示すようなピークを有する。このピークは、相関区間の開始時点τと実際のC/Aコードの開始時点とが一致するところに現れる。しかし、周波数差fが実際の周波数差と一致しない場合には、このようなピークは出てこない。
なお、実際には、拡散信号が雑音を含んでいるため、単位相関関数UCCFはこのようにきれいな形とはならず、ピークが雑音594に埋もれている。
単位相関関数算出部141は、単位信号記憶部122が記憶したC/Aコード401を読み出す。
次に、周波数差fを所定の範囲内で変化させ、fに対応する周波数差補正値411を、周波数差補正記憶部131からC/Aコードの継続時間分(=1ミリ秒)読み出し、C/Aコード401に乗じる。
こうして得た信号(図示せず)を、その開始時点τを変化させ、拡散信号記憶部113が記憶した拡散信号300に乗じ、その結果を積算することで、単位相関関数UCCFを得る。
相関関数積算部142は、単位相関関数算出部141が算出した単位相関関数UCCFを積算することにより、C/Aコード20周期(20ミリ秒)分の区間についての相関をとる。この20周期という区間は、航法データ1ビット分に相当する区間である。
航法データの境界がどこだかわからないので、20ミリ秒分の相関をとると、航法データの境界を途中に含む可能性が高い。しかし、開始時点をずらしていけば、ちょうど航法データの境界にかからない区間を見つけることができる。
これ以上長い区間にわたって相関をとると、必ず航法データの境界を含むこととなってしまう。
しかし、これよりも短い区間(例えば、14ミリ秒、17ミリ秒など)について相関を取る場合には、航法データの境界を含まない区間が必ずあるので、これよりも短い区間について相関をとることとしてもよい。その場合、相関をとるデータの数が減るので、開始時点を検出できるS/N比の最小値は大きくなるが、相関をとる区間が航法データの境界とぴったり一致しなくても、航法データの変化による相殺効果のないデータを得ることができて、好ましい場合もある。
したがって、電波の状態に合わせて、相関をとる区間の長さを可変できる構成としてもよい。
相関関数積算部142が算出する積算相関関数SCCFは、以下の式で表される。
Figure 2006345128
ただし、SCCF(τ,f)は積算相関関数(複素数)、τは相関区間の開始時点(サンプリングデータの数を単位とする整数。τ=0〜200N−1)、fは周波数差、NはC/Aコード一周期あたりのサンプリングデータ数(自然数)、s(x)は拡散信号記憶部113が記憶したx+1番目のサンプリングデータ(複素数)、Cca(x)は単位信号記憶部122が記憶したx+1番目のC/Aコード、eは自然対数の底、jは虚数単位、πは円周率である。
ここで、nをn+kN(n,kは整数。n=0〜N−1。k=0〜19。NはC/Aコード一周期あたりのサンプリングデータ数)で置き換えると、Cca(n+kN)=Cca(n)であるから、
Figure 2006345128
したがって、C/Aコード20周期分の相関関数(積算相関関数)SCCFは、C/Aコード1周期分の単位相関関数UCCFを位相補正しつつ20個合計すればよい。
このように、C/Aコード1周期分の単位相関関数UCCFを求めておくことで、C/Aコード数周期にわたる相関関数(積算相関関数)SCCFは、単位相関関数UCCFを位相補正しつつ合計するだけで求めることができ、計算量が少なくてすむので、好ましい。
しかし、このような計算方法ではなく、数2を直接計算してもよい。
積算相関関数SCCFにおいては、相関をとる区間の長さが単位相関関数UCCFの20倍の20ミリ秒になっている。したがって、周波数差fの刻み幅は、50Hz以下にする必要がある。
単位相関関数UCCFを50Hz刻みで求めてもよい。そうすれば、より検出感度が高くなり、好ましい。
しかし、単位相関関数UCCFは1kHz刻みで求めて、積算相関関数SCCFの算出には、周波数差fが最も近い単位相関関数UCCFの値を用い、積算するときの補正値exp(−j2πf・k/1000)だけを50Hz刻みとしても、十分に有意な積算相関関数SCCFを算出することができる。
そうすれば、単位相関関数UCCFの計算量が少なくてすむので、相関関数を計算する負荷が減り、好ましい。
図6は、相関関数積算部142が算出する積算相関関数SCCFの一例を示す図である。
単位相関関数UCCF500は、単位相関関数算出部141が算出する。横軸は、相関区間の開始時点である。なお、単位相関関数UCCF500は、相関区間の開始時点と周波数差fとを変数とする関数であるが、図6ではfをある値に固定し、開始時点を変化させた場合の単位相関関数UCCF500を図示している。
積算相関関数SCCF520は、相関関数積算部142が算出する。横軸は、積算相関区間の開始時点である。
航法データ250は、GPS信号200に情報として含まれているものである。横軸は、時刻である。航法データ250が変化すると、航法データの境界253でGPS信号200の位相が180°ずれるので、単位相関関数UCCF500の位相も180°ずれる。
相関関数積算部142は、単位相関関数算出部141が算出した単位相関関数UCCF500(絶対値504、位相503)を、数3にしたがって積算して、積算相関関数SCCF520(絶対値524、位相523)を算出する。
このとき、単位相関関数UCCFは、周波数差fの影響で位相503が異なるため、周波数差fに基づく補正をした上で、積算する。
また、単位相関関数UCCF500は、航法データの値によっても位相が180°ずれる。
積算相関関数SCCFの算出において、航法データの変化は考慮していない。したがって、航法データが変化する境界をまたぐ区間について算出した積算相関関数SCCFは、信号が相殺してしまう。
これに対し、航法データの変化する境界をまたがない区間について算出した積算相関関数SCCFは、信号が相乗し、絶対値のピークが高くなる。
一方、雑音594は、互いに相乗する場合もあれば互いに相殺する場合もある。したがって、積算により雑音レベルは少し上がるものの、信号のピークを検出しやすくなる。
電波の状態が良ければ、20ミリ秒分の相関で、C/Aコードの開始時点を検出することが可能である。
しかし、電波の状態が悪い場合には、更に長い区間の相関をとることにより、更に信号のピークを検出しやすくする必要がある。
20ミリ秒よりも長い区間の相関をとる場合、上述したように、その区間内には必ず航法データの境界が含まれる。この境界で航法データが変化している場合、変化の前後にわたって相関をとると、信号が相殺してしまうことになるので、逆に感度が下がってしまう。
そこで、この実施の形態では、航法データの値を仮定し、仮定に基づいて相関を求める。
二値符号列記憶部151は、二値符号列を記憶する。
二値符号列記憶部151が記憶している二値符号列は、航法データの仮定に用いるものである。したがって、相関をとる区間の長さに相当する航法データのビット数と等しい長さの二値符号列である。
例えば、100ミリ秒分の相関をとる場合には、100ミリ秒は航法データの5ビットに相当するため、5ビット長の二値符号列を記憶する。
5ビット長の二値符号列は、全部で2の5乗=32通りある。航法データは不明であるため、32通りすべての可能性がある。
しかし、32通りすべての場合について計算する必要はない。
仮定した航法データに対して、実際の航法データのすべてのビットが反転している場合には、信号全体の極性が反転しているだけなので、信号同士が打ち消しあうことなく、相関関数による検出が可能である。
したがって、16通りの場合について相関を求めればよく、二値符号列記憶部151は、16通りの二値符号列を記憶する。
例えば、5ビットの二値符号列のうち、最上位の1ビットは0に固定し、他の4ビットを変化させた16通りの二値符号列を記憶する。
あるいは、符号間距離が2以上の二値符号列だけを記憶することとしてもよい。
仮定した航法データと、実際の航法データとが1ビットだけ違っている場合、その1ビットに相当する分の信号は、極性が反転した状態で積算されるので、その分、信号が相殺され、感度が悪くなる。
例えば、航法データ6ビット(120ミリ秒)分の相関をとり、仮定した6ビットの航法データと、実際の航法データとが1ビットだけ違っている場合、1ビット分相殺されるので、4ビット分のデータを積算したのと同じ効果しか得られない。
しかし、例えば、(0,0,0,0,0,0)、(0,0,0,1,1,1)、(0,0,1,0,0,1)、(0,0,1,1,1,0)の4種類のデータを仮定したとすると、6ビットの二値符号列はすべて、このうちのどれかと一致するか、1ビット違いか、ビット反転か、ビット反転と1ビット違いかのいずれかである。
したがって、この4通りの場合を計算すれば、4ビット分のデータについて、すべての場合を計算したのと同じ効果が得られる。4ビット分のデータについてすべての場合(ビット反転を除く)を仮定して計算するには8通り計算する必要があるので、仮定の数が半分で済む。
集積相関関数算出部152は、二値符号列記憶部151が記憶した二値符号列が航法データであると仮定して、更に長時間の相関をとる。例えば、100ミリ秒(航法データ5ビット)分の区間について、相関をとる。
図7は、集積相関関数算出部152が算出する集積相関関数ICCFの一例を示す図である。
集積相関関数ICCF540は、仮定α、相関区間の開始時点τ、周波数差fの3つを変数とする関数である。図7における桝目1つが、ある(α,τ,f)の組に対応する集積相関関数ICCFの1つの値を示している。
集積相関関数算出部152は、第一集積部153と第二集積部154を有する。第一集積部153は、相関区間の開始時点τが所定の範囲(例えば、τ=0〜20N−1)にある集積相関関数ICCFを求める。第二集積部154は、相関区間の開始時点τが別の範囲(例えば、τ=100N〜120N−1)にある集積相関関数ICCFを求める。
この例において、第一集積部153が求める集積相関関数と、第二集積部154が求める集積相関関数との間には、相関区間の開始時点τが100N離れた関係がある。これは、航法データ1ビット(20ミリ秒)分のC/Aコード(反復信号)の継続時間(20N)の5倍に相当する。この間隔は、航法データ1ビットの継続時間の整数倍であればよい。そうすれば、一方で航法データの境界が見つかれば、他方のそれに対応する位置に航法データの境界があることになるからである。
また、この間隔は、集積相関関数ICCFが相関をとる区間の長さ(航法データ5ビット分=100ミリ秒)と等しい。この間隔が、集積相関関数ICCFが相関をとる区間の長さより短いと、のちに再集積する際に、同じデータを二度積算することになってしまうからである。したがって、それより長い間隔を空けることしても構わない。
二値符号列から読み出した二値符号列αのxビット目(xは整数。x=0〜4)が「0」の場合、psα(x)=1、「1」の場合、psα(x)=−1とする。集積相関関数ICCFは、以下の式により求められる。
Figure 2006345128
ただし、ICCFα(τ,fd)は仮定α(二値符号列)に基づく集積相関関数(複素数)、τは相関区間の開始時点(サンプリングデータの数を単位とする整数。τ=0〜20N−1、100N〜120N−1)、fは周波数差、NはC/Aコード一周期あたりのサンプリングデータ数(自然数)、s(x)は拡散信号記憶部113が記憶したx+1番目のサンプリングデータ(複素数)、Cca(x)は単位信号記憶部122が記憶したx+1番目のC/Aコード、eは自然対数の底、jは虚数単位、πは円周率、[x]はガウス記号でxを超えない最大の整数を表す。
ここで、nをn+(k+20i)N(n,k,iは整数。n=0〜N−1。k=0〜19。i=0〜4。NはC/Aコード一周期あたりのサンプリングデータ数)で置き換えると、[(n+(k+20i)N)/20N]=iであるから、
Figure 2006345128
周波数差fの刻み幅は、相関をとる区間が積算相関関数SCCFの5倍(100ミリ秒)になったので、10Hz以下にする。
集積相関関数算出部152は、積算相関関数算出部140が算出した積算相関関数SCCFを、数5にしたがって積算する。
このとき、積算相関関数SCCFは、周波数差fの影響で位相523が異なるため、周波数差fに基づく補正をした上で、積算する。
また、航法データに基づく位相のずれを補正するため、仮定αに基づく補正をした上で、積算する。
したがって、周波数差fおよび仮定αが合っていれば、積算相関関数SCCFのピークが相乗し、ピークが検出しやすくなる。
電波強度が十分であれば、100ミリ秒分の相関で、C/Aコードの開始時点を検出できる。しかし、電波の状態が悪い場合には、更に長い区間についての相関が必要になる。
集積相関関数算出部152が相関をとる区間の長さをもっと長くしてもよい。
しかし、その場合、その区間に含まれる航法データのビット数が多くなるので、仮定しなければならない場合の数が増えて、計算量が多くなる。
例えば、倍の200ミリ秒について相関をとることとすると、その区間に含まれる航法データは、10ビットである。ビット反転を除いたすべての場合について計算する場合、仮定の数は2の9乗=512通りになる。
そこで、この実施の形態では、集積相関関数算出部152が相関をとる区間を長くする代わりに、複数の開始時点の候補を仮に検出する。
仮検出部161は、集積相関関数算出部152が算出した集積相関関数ICCFに基づいて、C/Aコードの開始時点の候補(開始時点候補)を検出する。
ここでは、開始時点候補を、仮定α、開始時点τ、周波数fの組として、C(α、τ、f)と表現することにする。
すなわち、集積相関関数ICCFの値の絶対値を求め、所定の閾値と比較する。
集積相関関数ICCFの値の絶対値が所定の閾値を超える(α,τ,f)が1つしかない場合には、これが開始時点である。本検出部171は、この(α,τ,f)を、C/Aコードの開始時点として検出する。
しかし、集積相関関数ICCFの値の絶対値が所定の閾値を超えるものが複数ある場合には、電波の状態が悪いため、信号が雑音に埋もれてしまっている。
そこで、仮検出部161は、所定の閾値を超える複数の(α,τ,f)を開始時点候補として検出する。
また、集積相関関数ICCFの値の絶対値が所定の閾値を超えるものがない場合も、やはり、電波の状態が悪いため、信号が雑音に埋もれてしまっている。
そこで、仮検出部161は、閾値を下げて、下げた閾値を超える複数の(α,τ,f)を開始時点候補として検出する。
なお、最初から低い閾値を設定しておいてもよい。
あるいは、所定の数の開始時点候補を検出するまで、閾値を徐々に下げていってもよい。
あるいは、集積相関関数ICCFの値の絶対値が大きい順に並べ替えて、そのなかで上位のものを開始時点候補としてもよい。
図7では、集積相関関数ICCF540のうち、仮検出部161が検出したものを、桝目を塗ることで表現している。
再集積相関関数算出部162は、仮検出部161が検出した開始時点候補について、更に長い区間の相関をとる。例えば、200ミリ秒(航法データ10ビット)分の区間について相関をとる。もちろん、この区間はもっと長くてもよい。
再集積区間の前半の100ミリ秒における航法データの仮定をα、後半の100ミリ秒における航法データの仮定をβとすると、再集積相関関数RCCFは、以下の式により求められる。
Figure 2006345128
ただし、RCCFα,β(τ,fd)は仮定α及びβに基づく再集積相関関数(複素数)、τは相関区間の開始時点(サンプリングデータの数を単位とする整数。τ=0〜20N−1)、fは周波数差、NはC/Aコード一周期あたりのサンプリングデータ数(自然数)、eは自然対数の底、jは虚数単位。
周波数差fの刻み幅は、5Hz以下である。
また、仮定したデータが航法データのビット反転である場合、集積相関関数ICCFの極性が逆になるため、集積相関関数ICCFαと集積相関関数ICCFβとの和を求めると、信号が打ち消しあってしまう可能性がある。そこで、集積相関関数ICCFαと集積相関関数ICCFβとの差も求める必要がある。
したがって、再集積相関関数RCCFの値は、1組の(α,β,τ,fd)につき、2つある。あるいは、集積相関関数ICCFαと集積相関関数ICCFβの和と差のうち、どちらか絶対値の大きいほうを使うものとしてもよい。
あるいは、位相差を考慮する必要をなくすため、集積相関関数ICCFαと集積相関関数ICCFβの絶対値を積算することで、再集積相関関数としてもよい。すなわち、
Figure 2006345128
ただし、RCCF’α,β(τ,fd)は仮定α及びβに基づく再集積相関関数(実数)、τは相関区間の開始時点(サンプリングデータの数を単位とする整数。τ=0〜20N−1)、fは周波数差、NはC/Aコード一周期あたりのサンプリングデータ数(自然数)。
仮検出部161が検出した開始時点候補のなかから1つを選択する。
選択した開始時点候補C(α、τ、f)について、再集積相関関数RCCFα,β(τ,f)を算出する(ただし、τ=0〜20N−1の場合。τ=100N〜120N−1の場合は、再集積相関関数RCCFβ,α(τ−100N,f)を算出する)。
再集積相関関数RCCFの変数のうち、α、τ、fは開始時点候補Cにより定まっているが、βは変数である。したがって、16通り計算する必要がある。
また、fの精度を2倍にあげるため、2通り計算する必要がある。
和と差の両方を計算するため、2通り計算する必要がある。
したがって、再集積相関関数RCCFは、1つの開始時点候補につき、16×2×2=64通りの値を計算する。
例えば、図7に示す開始時点候補601において、仮定がα、開始時点がτ、周波数差がfだとすると、再集積相関関数RCCFα,β(τ,f)を算出する。すなわち、図7において矢印で示した集積相関関数ICCFのそれぞれと積算することにより、再集積相関関数RCCF560を求める。
以上を繰り返し、すべての開始時点候補についての再集積相関関数RCCF560を算出する。
本検出部171は、再集積相関関数算出部162が算出した再集積相関関数RCCFに基づいて、C/Aコードの開始時点を検出する。
すなわち、再集積相関関数算出部162が算出した再集積相関関数RCCFの値の絶対値を求め、もっとも絶対値が大きいものを検出する。この再集積相関関数RCCFの(α,β,τ,f)から、検出すべきC/Aコードの開始時点τが検出できる。
もちろん、周波数差fも検出できる。
測位部181は、本検出部171が検出したC/Aコードの開始時点に基づいて、GPS衛星とGPS測位装置100との距離(擬似距離)を求め、GPS測位装置100の位置を算出する。
このように、この実施の形態によれば、C/Aコードの開始時点の検出に必要な計算量が削減できるという効果を奏する。
具体的な計算量がどれくらいかを検証する。
ここで、C/Aコード一周期あたりのサンプリングデータ数Nは2046(サンプリング周波数2.046MHz)、周波数差fは±10kHzの範囲内であるとする。
また、集積相関関数ICCFの相関を求める区間は航法データ5ビット分(100ミリ秒)、再集積相関関数RCCFの相関を求める区間は集積相関関数ICCF2つ分(200ミリ秒)とする。
単位相関関数算出部141が単位相関関数UCCFを1つ求めるには、数1において、s(τ+n)Cca(n)exp(−j2πf・n/1000N)をN個(n=0〜N−1)求め、これを合計する。
まず、単位相関関数算出部141は、f・nをインデックスとして、周波数差補正記憶部131が記憶したテーブルを参照し、周波数差補正値A=exp(−j2πf・n/1000N)を求める。この計算量をIとする。
次に、単位相関関数算出部141は、nをインデックスとして、単位信号記憶部122が記憶したテーブルを参照し、Cca(n)を求める。これに上記で求めた周波数差補正値Aを乗じて、補正済C/AコードB=A・Cca(n)を求める。この計算量をIとする。
ここで、Cca(n)の値は1または−1なので、Cca(n)の値によって、B=AまたはB=−Aとなる。
すなわち、単位相関関数算出部141は、Cca(n)が−1か否かを判断し、−1であると判断した場合には、−Aを求め、Bとする。−1でない(=1)と判断した場合には、AをそのままBとする。
そして、単位相関関数算出部141は、τ+nをインデックスとして、拡散信号記憶部113が記憶したデーブルを参照し、s(τ+n)を求める。これに上記で求めた補正済C/AコードBを乗じて、C=s(τ+n)・Bを求める。この計算量をIとする。
ここで、s(τ+n)およびBはともに複素数なので、複素数の乗算をする。ただし、n=0の場合は、Bは1または−1の実数なので、複素数の乗算は必要ない。したがって、n=0の場合だけは計算量が異なるので、この計算量をI’とする。
単位相関関数算出部141は、CをN個計算して合計してUCCFを求める。
n=0の場合のCを計算するのに必要な計算量は、I+I+I’である。
それ以外のN−1個のCを計算するのに必要な計算量は、I+I+Iである。
したがって、すべてのCを計算するのに必要な計算量の合計は、N(I+I)+(N−1)I+I’である。
CをN個合計するには、N−1回の加算が必要である。1回の加算に必要な計算量をIとすると、合計に必要な計算量は、(N−1)Iである。
したがって、単位相関関数UCCFを1つ求めるのに必要な計算量は、N(I+I)+(N−1)(I+I)+I’である。
ここで、Iは、整数の乗算(f・n)に必要な計算量である。
は、条件判断と複素数の符号反転に必要な計算量である。
は、整数の加算(τ+n)と複素数の乗算に必要な計算量である。
’は、複素数の符号反転に必要な計算量である。
は、複素数の加算に必要な計算量である。
一般に、複素数の乗算・加算は、実数あるいは整数の乗算・加算に比べて計算量が多い。したがって、I=I+I+I+Iとすると、I>>I+I+I’であると仮定してよいので、単位相関関数UCCFを1つ求めるのに必要な計算量は、(N−1)I+(I+I+I’)≒(N−1)Iである。
この例では、N=2046なので、2045Iとなる。
単位相関関数UCCFは、τ及びfを変数としている。
したがって、単位相関関数UCCFは全部で、τの数×fの数、計算する必要がある。
τは0〜219N−1の整数なので、219×2,046=448,074通りである。
は、±10kHzの範囲内で1kHz刻みなので、20通りである。
したがって、単位相関関数UCCFの総数は448,074×20=約896万であり、すべての単位相関関数UCCFを計算するときの計算量は、2,045I×896万=約183億Iとなる。
相関関数積算部142が積算相関関数SCCFを1つ求めるには、数3において、UCCF(τ+kN,f)exp(−j2πf・k/1000)を20個(k=0〜19)求め、これを合計する。
まず、相関関数積算部142は、f・kをインデックスとして、単位信号記憶部122が記憶したテーブルを参照し、周波数差補正値A=exp(−j2πf・k/1000)を求める。この計算量はIである。
次に、相関関数積算部142は、τ+kNおよびfをインデックスとして、単位相関関数算出部141が算出した単位相関関数UCCFを一時的に記憶したテーブルを参照し、単位相関関数UCCF(τ+kN,f)を求める。これに上記で求めた周波数差補正値Aを乗じて、UCCF(τ+kN,f)・Aを求める。A、UCCFはともに複素数なので、この計算量はIとほぼ等しい。ただし、k=0の場合は、A=1なので、複素数の乗算は不用であり、計算量はI’とほぼ等しい。
相関関数積算部142は、これを20個合計して単位相関関数UCCFを求める。1回の加算に必要な計算量はIである。
したがって、積算相関関数SCCFを1つ求めるのに必要な計算量は、20I+19(I+I)+I’≒19Iである。
積算相関関数SCCFは、τ及びfを変数としている。
したがって、積算相関関数SCCFは全部で、τの数×fの数、計算する必要がある。
τは0〜200N−1の整数なので、200×2,046=409,200通りである。
は、±10kHzの範囲内で50Hz刻みなので、400通りである。
したがって、積算相関関数SCCFの総数は409,200×400=約1.6億であり、すべての積算相関関数SCCFを計算するときの計算量は、19I×1.6億=約31億Iとなる。
集積相関関数算出部152が集積相関関数ICCFを1つ求めるには、数5において、psα(i)SCCF(τ+20iN,f)exp(−j2πf・i/50)を5個(i=0〜4)求め、これを合計する。
まず、集積相関関数算出部152は、f・iをインデックスとして、周波数差補正記憶部131が記憶したテーブルを参照し、周波数差補正値A=exp(−j2πf・i/50)を求める。この計算量はIである。
次に、集積相関関数算出部152は、τ+20iN及びfをインデックスとして、相関関数積算部142が算出した積算相関関数SCCFを一時的に記憶したテーブルを参照し、積算相関関数SCCF(τ+20iN,f)を求める。これに上記で求めたAを乗じて、D=SCCF(τ+20iN,f)・Aを求める。A、SCCFはともに複素数なので、この計算量はIとほぼ等しい。ただし、i=0の場合は、A=1なので、複素数の乗算は不用であり、計算量はI’とほぼ等しい。
そして、集積相関関数算出部152は、iとαをインデックスとして、二値符号列記憶部151が記憶したテーブルを参照し、psα(i)を求める。これに上記で求めたDを乗じて、psα(i)・Dを求める。Dは複素数であるが、psα(i)の値は1または−1なので、この計算量はIである。
集積相関関数算出部152は、これを5個合計して集積相関関数ICCFを求める。
したがって、集積相関関数ICCFを1つ求めるのに必要な計算量は、5I+4I+I’+5I+4I=4(I+I+I+I)+(I+I+I’)≒4Iである。
なお、αだけが異なる集積相関関数ICCFを求めるには、既に集積相関関数ICCFを求めるときに計算したDを再利用できる。その場合には、計算量は、5I+4Iになる。
集積相関関数ICCFは、α、τ、fを変数としている。
したがって、集積相関関数ICCFは全部で、αの数×τの数×fの数、計算する必要がある。
αは、ビット反転を除いたすべての5ビットの二値符号列を仮定するとして、16通りである。
τは0〜20N−1または100N〜120N−1の整数なので、40×2,046=81,840通りである。
は、±10kHzの範囲内で10Hz刻みなので、2000通りである。
したがって、集積相関関数ICCFの総数は、16×81,840×2000=約26億であり、計算量は、4I×26億=約104億Iとなる。
再集積相関関数算出部162が再集積相関関数RCCFを1つ求めるには、数6を計算する。
まず、再集積相関関数算出部162は、fをインデックスとして、周波数差補正記憶部131が記憶したテーブルを参照し、周波数差補正値A=exp(−j2πf/10)を求める。この計算量はIである。
次に、再集積相関関数算出部162は、β、τ+100N及びfをインデックスとして、集積相関関数算出部152が算出した集積相関関数ICCFを一時的に記憶したテーブルを参照し、集積相関関数ICCFβ(τ+100N,f)を求める。これに上記で求めたAを乗じて、E=ICCFβ(τ+100N,f)・Aを求める。A、ICCFはともに複素数なので、この計算量はIとほぼ等しい。
そして、再集積相関関数算出部162は、α、τ及びfをインデックスとして、集積相関関数算出部152が算出した集積相関関数ICCFを一時的に記憶したテーブルを参照し、集積相関関数ICCFα(τ,f)を求める。これに上記で求めたEを加算して、再集積相関関数RCCFを求める。複素数の加算なので、この計算量はIである。
したがって、再集積相関関数RCCFを1つ求めるのに必要な計算量は、I+I+I≒Iである。
再集積相関関数RCCFを1つ求めるのに必要な計算量は、Iである。
再集積相関関数RCCFは、開始時点候補1つあたり64通り計算する。
仮検出部161が検出する開始時点候補の数をM個とすると、再集積相関関数RCCFの数は64Mであるから、計算量は、64M×Iとなる。
電波の状態が比較的良ければ、開始時点候補の数Mは少なくなる。しかし、ここでは電波の状態がかなり悪い場合を想定して計算する。
例えば、仮検出部161が検出する開始時点候補が集積相関関数ICCF全体の約0.1%だとすると、Mは26億×0.1%=260万である。その場合、計算量は約1.7億Iとなる。
したがって、以上の計算をすべてした場合の計算量は、183億I+31億I+105億I+1.7億I=約320億Iとなる。
ちなみに、仮検出、再集積、本検出の手順を取らず、同じ200ミリ秒の区間について集積相関関数ICCFを求め、これに基づいて本検出する構成とした場合の計算量は、以下のとおりとなる。
集積相関関数ICCFを1つ求めるのに必要な計算量は、約9Iである。
集積相関関数ICCFは、α、τ、fを変数としている。
αは、ビット反転を除いたすべての10ビットの二値符号列を仮定するとして、512通りである。
τは0〜20N−1の整数なので、20×2,046=40,920通りである。
は、±10kHzの範囲内で5Hz刻みなので、4000通りである。
したがって、集積相関関数ICCFの総数は、512×40,920×4000=約840億であり、計算量は、9I×840億=7500億Iとなる。
すなわち、全体の計算量は、約7700億Iとなる。
したがって、この実施の形態によれば、全体の計算量が約23分の1になるという効果を奏する。
この例では、航法データ5ビット(100ミリ秒)分の区間について集積相関関数ICCFを求め、集積相関関数ICCF2つ(200ミリ秒)分の区間について再集積相関関数RCCFを求めたが、相関を求める区間をもっと長くすれば、更に大きな削減効果が得られる。
例えば、航法データ6ビット(120ミリ秒)分の区間について集積相関関数ICCFを求め、集積相関関数ICCF2つ(240ミリ秒)分の区間について再集積相関関数RCCFを求める場合には、総計算量は約580億Iであるが、240ミリ秒を1つの区間として集積相関関数ICCFを求めた場合の総計算量は約4.5兆Iなので、総計算量は約80分の1になる。
あるいは、航法データ5ビット(100ミリ秒)分の区間について集積相関関数ICCFを求め、集積相関関数ICCF3つ(300ミリ秒)分の区間について再集積相関関数RCCFを求める場合には、総計算量は約710億Iであるが、300ミリ秒を1つの区間として集積相関関数ICCFを求めた場合の総計算量は約56兆Iなので、総計算量は約800分の1になる。
実施の形態2.
実施の形態2を、図1〜図8を用いて説明する。
この実施の形態におけるGPS測位装置100(検出装置の一例)のハードウェア構成、機能ブロック構成は、実施の形態1で説明したものと同一であるので、ここでは説明を省略する。
また、各ブロックの動作のうち、再集積相関関数算出部162以外のブロックの動作も、実施の形態1で説明したものと同一であるので、ここでは説明を省略する。
再集積相関関数算出部162は、仮検出部161が検出した開始時点候補のなかに、互いに対応するものがあるか否かを判断し、対応するものがあると判断したものについて、再集積相関関数RCCFを算出する。
C/Aコードの継続時間は1ミリ秒であるから、C/Aコードの開始時点は1ミリ秒ごとにあり、航法データによる相殺を考慮しても、20ミリ秒(航法データの1ビットに相当)ごとに検出できるピークがあるはずである。
仮検出部161が検出に用いる閾値が十分低ければ、たとえ信号が雑音に埋もれていても、このピークが必ず開始時点候補のなかに含まれる。
しかし、閾値が低いと、雑音も検出してしまう確率が高くなる。その結果、開始時点候補が多くなり、実施の形態1の方式による計算量の削減効果が低くなってしまう。
そこで、この実施の形態では、開始時点候補を絞り込むことで、計算量の削減効果を高める。
図8は、再集積相関関数算出部162の動作の概念を説明するための説明図である。
図8に示す集積相関関数ICCF540は、図7において説明したものと同一であるので、ここでは説明を省略する。
図8において、仮検出部161が検出した開始時点候補は、桝目の内部を塗ることで表現してある。
再集積相関関数算出部162は、τ=0〜20N−1の範囲で検出した開始時点候補C(α,τ,fd1)と、τ=100N〜120N−1の範囲で検出した開始時点候補C(β,τ,fd2)とについて、τ−τ=100Nかつfd1=fd2となる(C,C)の組を探す。
図8では、このように対応する開始時点候補の組を矢印で結ぶことによって表現している。
再集積相関関数算出部162は、このようにして検出した開始時点候補の組(C,C)のなかから1つを選択し、それについての再集積相関関数RCCFα,β(τ,f)を算出する。
再集積相関関数RCCFの変数、α、β、τ(=τ)、f(=fd1=fd2)は、開始時点候補の組(C,C)により定まっている。
の精度を上げるために2通り、集積相関関数ICCFの和と差の2通りを算出するので、1つの開始時点候補の組(C,C)について、再集積相関関数RCCFは、4通りの値を計算する。
これを繰り返し、すべての開始時点候補の組について、再集積相関関数RCCF560を算出する。
この方式による場合、C/Aコードの開始時点を、必ず仮検出部161が開始時点候補として検出する必要があるため、仮検出部161の検出閾値を低めに設定する必要がある。
したがって、仮検出部161が検出する開始時点候補は、実施の形態1と比較して多くなる。
しかし、再集積相関関数算出部162は、開始時点候補が組になる場合についてのみ、再集積相関関数RCCFを算出するので、実際に計算する再集積相関関数RCCFの計算量は、実施の形態1と比較して少なくなることが期待できる。
したがって、この実施の形態によれば、C/Aコードの開始時点の検出に必要な計算量を、更に削減できるという効果を奏する。
この例において、対応する開始時点候補の組(C,C)を探す条件は、τ−τ=100Nかつfd1=fd2としている。
しかし、再集積相関関数RCCFが相関をとる区間が長い場合には、以下の理由により、この条件を緩める必要がある。
理由の1つは、周波数差fの影響である。周波数差fは、位相だけでなく、全体の周期にも影響するからである。
例えば、周波数差fが4kHzである場合、もとのGPS信号の搬送波周波数L1=1575.42MHzであるから、周期の誤差は4kHz/1575.42MHz=約2.5ppm存在する。したがって、1秒につき、信号の周期が2.5マイクロ秒ずれる。サンプリングデータの数に換算すると、2.5N/1000個分である(Nは、C/Aコード一周期(1ミリ秒)あたりのサンプリングデータの数)。
N=2046、対応する開始時点候補の開始時点の差が100ミリ秒の場合なら、ずれはサンプリングデータ0.5個分である。
一般に、以下の式が成り立つ。
Figure 2006345128
ただし、Δτはサンプリングデータ数に換算した周期のずれ、NはC/Aコード一周期(1ミリ秒)あたりのサンプリングデータの数、ΔTは比較する開始時点候補の開始時点の差(秒)、fは周波数差、fL1はGPS信号の搬送波周波数(1575.42MHz)である。
したがって、再集積相関関数算出部162は、τとτとの差がこの誤差を考慮に入れた範囲内であれば、2つの開始時点候補を対応するものと判断する構成とする。例えば、τ−τ<100N+Δτ、|Δτ|<Δτ(Δτはサンプリングデータ数に換算した周期のずれ。ΔτはΔτの最大値)である場合に、対応するものと判断する。
あるいは、数8に基づいて周期のずれを計算し、対応するτ,τを求めてもよい。
また、時間が経過することにより、GPS衛星とGPS測位装置100との相対的な位置関係や相対速度が変化する。
その結果、周波数差fのうち、ドップラー効果に起因する成分が変化するため、fd1とfd2は一致しない可能性がある。
しかし、経過時間が短ければ周波数差fの変化もごくわずかである。
したがって、再集積相関関数算出部162は、fd1とfd2との差が所定の範囲内であれば、2つの開始時点候補を対応するものと判断する構成とする。例えば、fd1−fd2=Δf、|Δf|<Δfdm(Δfは周波数差の変化、ΔfdmはΔfの最大値)である場合に、対応するものと判断する。
具体的な計算量がどれくらいかを検証する。
ここで、C/Aコード一周期あたりのサンプリングデータ数Nは2046(サンプリング周波数2.046MHz)、周波数差fは±10kHzの範囲内であるとする。
また、集積相関関数ICCFの相関を求める区間は航法データ5ビット分(100ミリ秒)、再集積相関関数RCCFの相関を求める区間は集積相関関数ICCF2つ分(200ミリ秒)とする。
単位相関関数UCCF、積算相関関数SCCF、集積相関関数ICCFを求めるための計算量は、実施の形態1の場合と等しい。
再集積相関関数RCCFを1つ求めるのに必要な計算量は、Iである。
再集積相関関数RCCFは、開始時点候補の組1つあたり4通り計算する。
開始時点候補の組の数をP個とすると、再集積相関関数RCCFの数は4Pであるから、計算量は、4P×Iとなる。
確実に開始時点候補の組を検出するために、仮検出部161の閾値を下げ、仮検出部161は開始時点候補として集積相関関数ICCF全体の約0.5%を検出するものとすると、組になる開始時点候補は、(0.5%×16)=0.6%である。したがって、Pは13億×0.6%=780万であるから、計算量は、約3200万Iとなる。
したがって、再集積相関関数RCCFを求めるのに必要な計算量は、実施の形態1と比べて、約5分の1になる。
このように、この実施の形態によれば、C/Aコードの開始時点の検出に必要な計算量が、更に削減できるとの効果を奏する。
相関を求める区間が更に長い場合には、更に大きな削減効果を得られる。
例えば、航法データ6ビット分の集積相関関数ICCFと、集積相関関数ICCF2つ分の再集積相関関数RCCFとを求める場合、総計算量は約570億Iになる。
また、航法データ5ビット分の集積相関関数ICCFと、集積相関関数ICCF3つ分の再集積相関関数RCCFとを求める場合、仮検出部161の検出率Mを約1%とすると、開始時点候補の3つ組ができる確率は約0.3%なので、総計算量は約470億Iになる。
実施の形態3.
実施の形態3を、図1〜図7を用いて説明する。
この実施の形態におけるGPS測位装置100(検出装置の一例)のハードウェア構成、機能ブロック構成は、実施の形態1で説明したものと同一であるので、ここでは説明を省略する。
また、各ブロックの動作も、実施の形態1で説明したものと共通するものについては、説明を省略する。
この実施の形態では、C/Aコードの開始時点の検出に必要な計算量を、更に削減する方法について説明する。
実施の形態2においては、仮検出部161が検出した開始時点候補が組になるものを求め、その開始時点候補について再集積相関関数RCCFを算出している。
したがって、開始時点候補が組になる可能性のないものについては、集積相関関数ICCFを計算する必要がない。
そこで、この実施の形態では、先に、仮検出部161が開始時点候補を検出し、その開始時点候補と組になる可能性のあるものについて、集積相関関数ICCFを計算し、組になるかを判断する。
例えば、集積相関関数算出部152では、第一集積部153が開始時点τ=0〜20N−1の範囲内で集積相関関数ICCFを算出する。
そのための準備として、積算相関関数算出部140は、開始時点τ=0〜100N−1の範囲内で積算相関関数SCCFを算出する。
そのため、単位相関関数算出部141は、開始時点τ=0〜119N−1の範囲内で単位相関関数UCCFを算出しておけばよい。しかし、τ=119N〜219N−1の範囲の単位相関関数UCCFもあとで使うので、先に計算しておいてもよい。
次に、仮検出部161は、集積相関関数算出部152が算出した集積相関関数ICCFに基づいて、開始時点候補を検出する。検出の方法については、実施の形態1で説明したので、ここでは説明を省略する。
そして、集積相関関数算出部152では、第二集積部154が開始時点τ=100N〜120N−1の範囲内で、仮検出部161が検出した開始時点候補に対応する可能性のあるものについて、集積相関関数ICCFを算出する。
積算相関関数算出部140は、そのために必要な集積相関関数SCCFを算出する。
その後、再集積相関関数算出部162が再集積相関関数RCCFを求める。このとき、仮検出部161が検出した開始時点候補すべてについて、再集積相関関数RCCFを求めてもよい。あるいは、第二集積部154が算出した集積相関関数ICCFについて、仮検出部161が検出を行い、開始時点候補として検出した場合に、再集積相関関数RCCFを算出してもよい。
本検出部171は、再集積相関関数算出部162が算出した再集積相関関数RCCFに基づいて、C/Aコードの開始時点を検出する。
このように、最初の区間について開始時点候補を検出し、次の区間については、開始時点候補に対応する可能性のあるものだけ、集積相関関数ICCFを算出するので、その分計算量を削減できる。
この実施の形態によれば、C/Aコードの開始時点の検出に必要な計算量を、更に大幅に削減することができるとの効果を奏する。
具体的な計算量がどれくらいかを検証する。
ここで、C/Aコード一周期あたりのサンプリングデータ数Nは2046(サンプリング周波数2.046MHz)、周波数差fは±10kHzの範囲内であるとする。
また、集積相関関数ICCFの相関を求める区間は航法データ5ビット分(100ミリ秒)、再集積相関関数RCCFの相関を求める区間は集積相関関数ICCF2つ分(200ミリ秒)とする。
まず、仮検出前の計算量を求める。
単位相関関数UCCFを1つ求めるのに必要な計算量は、約2,045Iである。
τが0〜119N−1の整数で243,474通り、fが20通りなので、単位相関関数UCCFの総数は約490万、計算量は約100億Iとなる。
積算相関関数SCCFを1つ求めるのに必要な計算量は、約19Iである。
τは0〜100N−1の整数で204,600通り、fが400通りなので、積算相関関数SCCFの総数は約8200万、計算量は約16億Iとなる。
集積相関関数ICCFを1つ求めるのに必要な計算量は、約4Iである。
αが16通り、τが0〜20N−1の整数で40,920通り、fが2000通りなので、集積相関関数ICCFの総数は約13億、計算量は約52億Iとなる。
したがって、仮検出前の計算量は、100億I+16億I+52億I=約168億Iとなる。
次に、仮検出後の計算量を求める。
単位相関関数UCCFは、仮検出前に計算していなかった残りを全部計算するとしても、τが119N〜219N−1の整数で204,600通り、fが20通りなので、単位相関関数UCCFの総数は約410万、計算量は約83億Iとなる。
積算相関関数SCCFは、開始時点候補1つにつき5つ計算する。
集積相関関数ICCFは、開始時点候補1つにつき16通り計算する。集積相関関数ICCFの変数のうち、開始時点τと周波数差fが定まっているからである。
再集積相関関数RCCFを1つ求めるのに必要な計算量は、Iである。
再集積相関関数RCCFは、開始時点候補1つにつき16×4=64通り計算する。
したがって、開始時点候補1つあたりの計算量は、19I×5+4I×16+I×64=223Iである。
仮検出部161が検出する開始時点候補の数をM個とすると、仮検出後の計算量は(223M+83億)Iである。
例えば、仮検出部161が検出する開始時点候補が集積相関関数ICCF全体の約0.5%だとすると、Mは13億×0.5%=650万であるから、計算量は約97億Iとなる。
したがって、総計算量は、168億I+97億I=約265億Iとなる。
このように、この実施の形態によれば、C/Aコードの開始時点の検出に必要な計算量を、更に大幅に削減することができるとの効果を奏する。
相関を求める区間が更に長い場合には、更に大きな削減効果が得られる。
例えば、航法データ6ビット分の集積相関関数ICCFと、集積相関関数ICCF2つ分の再集積相関関数RCCFとを求める場合、総計算量は約460億Iとなる。
なお、再集積相関関数RCCFからC/Aコードの開始時点が検出できない場合に、更に次の区間についての集積相関関数ICCFを算出して、再集積相関関数RCCFに積算する構成としてもよい。
例えば、再集積相関関数RCCFに基づいて、仮検出部161が再び開始時点候補を検出することにより、開始時点候補を絞り込む。
本検出部171は、仮検出部161が検出した開始時点候補が1つに絞られた場合には、その開始時点候補をC/Aコードの開始時点として検出する。
開始時点候補が複数検出された場合には、更に次の1区間(この例では航法データ5ビット分=100ミリ秒)について、単位相関関数UCCF、積算相関関数SCCF、集積相関関数ICCFを求めて、再集積相関関数算出部162が、再集積相関関数RCCFに積算する。
これを繰り返して、徐々に相関を求める区間を長くして、C/Aコードの開始時点を検出する。
これにより、信号の受信状態にあわせて、相関を求める区間を変えることができるので、信号が微弱であっても、C/Aコードの開始時点を検出できる。しかも、そのために必要な計算量は、あまり増えないという効果を奏する。
例えば、航法データ5ビット分の集積相関関数ICCFをもとにして再集積相関関数RCCFを求める場合、集積相関関数ICCF2区間までの計算量は、仮検出率を0.5%とすると、約265億Iである。
求めた再集積相関関数RCCFの総数は約4.2億であるから、そこから更に0.5%を仮検出すると、開始時点候補の数は、約210万に減る。
次の1区間を再集積相関関数RCCFに積算するための計算量は約88億Iであるから、総計算量は約353億Iとなる。
実施の形態4.
実施の形態4を、図1〜図7を用いて説明する。
この実施の形態におけるGPS測位装置100(検出装置の一例)のハードウェア構成、機能ブロック構成は、実施の形態1で説明したものと同一であるので、ここでは説明を省略する。
また、各ブロックの動作も、実施の形態1で説明したものと共通するものについては、説明を省略する。
この実施の形態では、航法データによる位相のずれの影響を排除するため、二乗積算相関関数DCCFを用いて、長区間の相関を求める。
二乗積算相関関数DCCFは、例えば、200ミリ秒の区間について、以下の式により算出する。
Figure 2006345128
ただし、DCCF(τ,f)は二乗積算相関関数(複素数)、τは相関区間の開始時点(サンプリングデータの数を単位とする整数。τ=0〜N−1)、fは周波数差、UCCFは単位相関関数算出部141が算出した単位相関関数、NはC/Aコード一周期あたりのサンプリングデータ数(自然数)、eは自然対数の底、jは虚数単位である。
周波数差fの刻み幅は、5Hz以下である。
二乗積算相関関数DCCFは、単位相関関数UCCFの値を二乗して積算する点で、積算相関関数SCCFと異なっている。
図6に示したように、航法データの値が変化すると、単位相関関数UCCFの位相が180°ずれる。これをそのまま積算すると、航法データが変化する前後の単位相関関数UCCFが相殺してしまい、感度が落ちる。
二乗積算相関関数DCCFは、単位相関関数UCCFを二乗して積算する。このため、単位相関関数UCCFの位相が180°ずれている場合には、位相のずれが倍の360°になり、もとに戻る。
したがって、これをそのまま積算しても、航法データの影響を受けず、単位相関関数UCCFのピークを相乗することができる。
なお、二乗積算相関関数DCCFを求めるに際して、これをいくつかの区間に分割して積算し、その積算結果を更に積算する方法によれば、分割した区間における周波数差fの刻み幅を大きくとることができるので、計算量は更に減る。
図示していない二乗積算相関関数算出部は、単位相関関数算出部141が算出した単位相関関数UCCFを、数9にしたがって、二乗して積算する。
このとき、単位相関関数UCCFは、周波数差fの影響で位相が異なるため、周波数差fに基づく補正をした上で、積算する。
二乗積算相関関数算出部が算出した二乗積算相関関数DCCFに基づいて、本検出部171が、C/Aコードの開始時点を検出してもよい。
その場合には、航法データの境界は検出できないので、必要であれば、他の方法を併用することにより、航法データの境界を検出する。
しかし、二乗積算相関関数DCCFでは、雑音も二乗して積算されているので、位相が180°異なる雑音は相乗する。したがって、実施の形態1などで再集積相関関数RCCFにより同じ200ミリ秒の区間についての相関を用いた検出と比べると、検出感度が落ちる可能性がある。
そこで、二乗積算相関関数DCCFに基づいて、仮検出部161が開始時点候補を検出する。
次に、仮検出部161が検出した開始時点候補について、積算相関関数SCCF、集積相関関数ICCFなどを求める。実施の形態1〜実施の形態3で説明した方法により、C/Aコードの開始時点を検出する。
したがって、この実施の形態によれば、C/Aコードの開始時点の検出に必要な計算量を更に削減できるという効果を奏する。
具体的な計算量がどれくらいかを検証する。
ここで、C/Aコード一周期あたりのサンプリングデータ数Nは2046(サンプリング周波数2.046MHz)、周波数差fは±10kHzの範囲内であるとする。
また、集積相関関数ICCFの相関を求める区間は航法データ5ビット分(100ミリ秒)、再集積相関関数RCCFの相関を求める区間は集積相関関数ICCF2つ分(200ミリ秒)とする。二乗積算相関関数DCCFの相関を求める区間はこの全区間と等しい200ミリ秒(C/Aコード200周期)である。
まず、二乗積算相関関数DCCFによる検出段階の計算量を求める。
単位相関関数UCCFを求めるのに必要な計算量は、実施の形態1で試算したのと同じなので、約183億Iである。
二乗積算相関関数算出部は、数9を計算して、二乗積算相関関数DCCFを求める。
まず、二乗積算相関関数算出部は、二乗積算相関関数DCCFを求める前段階として、単位相関関数UCCFを二乗する。
すなわち、二乗積算相関関数算出部は、τ+kN及びfをインデックスとして、単位相関関数算出部141が算出した単位相関関数UCCFを一時的に記憶したテーブルを参照し、単位相関関数UCCF(τ+kN,f)を求め、これを二乗して、一時的なテーブルに記憶する。UCCFは複素数なので、1つあたりの必要な計算量はIとほぼ等しい。
単位相関関数UCCFの総数は約896万であるから、計算量は約896万Iである。
二乗積算相関関数算出部は、f・2kをインデックスとして、周波数差補正記憶部131が記憶したテーブルを参照し、exp(−2πf・2k/1000)を求める。これに上記で算出した単位相関関数UCCFの二乗を乗じる。これは複素数の乗算なので、1つあたりの必要な計算量はIとほぼ等しい。ただし、k=0の場合は、I’とほぼ等しい。
二乗積算相関関数算出部は、これを200個計算し、合計する。これは複素数の加算なので、1回の加算につき必要な計算量はIである。
したがって、二乗積算相関関数DCCFを1つ求めるのに必要な計算量は、199(I+I)+I’≒199Iである。
二乗積算相関関数DCCFは、τ及びfを変数としている。
したがって、二乗積算相関関数は全部で、τの数×fの数、計算する必要がある。
τは0〜N−1の整数なので、2,046通りである。
は、±10kHzの範囲内で5Hz刻みなので、4000通りである。
したがって、二乗積算相関関数DCCFの総数は2,046×4000=約820万であり、計算量は199I×820万=約16億Iとなる。
したがって、二乗積算相関関数DCCFによる検出段階の計算量は、183億I+896万I+16億I=約200億Iとなる。
次に、二乗積算相関関数DCCFに基づく仮検出後の計算量を求める。
積算相関関数SCCFは、開始時点候補1つにつき20×10=200通り計算する。
集積相関関数ICCFは、開始時点候補1つにつき20×16×2=640通り計算する。
再集積相関関数RCCFは、開始時点候補1つにつき20×64=1280通り計算する。
したがって、開始時点候補1つあたりの計算量は、19I×200+4I×640+I×1280=7640Iとなる。
仮検出部161が検出する開始時点候補の数をMとすると、仮検出後の計算量は、7640I×Mである。
仮検出率を0.5%とすると、二乗積算相関関数DCCFの総数は約820万なので、M=約4.1万となる。仮検出後の計算量は、約3.1億Iとなる。
したがって、全体の計算量は、200億I+3.1億I=約203億Iとなる。
このように、この実施の形態によれば、C/Aコードの開始時点の検出に必要な計算量を更に削減できるという効果を奏する。
実施の形態5.
実施の形態5を、図1、図9〜図11を用いて説明する。
この実施の形態におけるGPS測位装置100(検出装置の一例)のハードウェア構成は、実施の形態1において図1を用いて説明したものと同一であるので、ここでは説明を省略する。
図9は、この実施の形態におけるGPS測位装置100の機能ブロックの構成の一例を示すブロック図である。
GPS測位装置100は、GPSアンテナ619、受信部611、アナログデジタル(A/D)変換部612(拡散信号取得部の一例)、データ記憶部613、データ読出し部649、スペクトル拡散コード発生部622(単位信号記憶部の一例)、相関処理部641(積算相関関数算出部の一例)、位相変調系列発生部651(二値符号列記憶部の一例)、積分処理部652(集積相関関数算出部の一例)、仮検出部661、データ保持部669、再検出部671(本検出部の一例)、測位計算部681、位置表示部682を有する。
この実施の形態では、受信信号を所定の区間に分割し、分割した区間内において航法データ変調系列の総当り探索とC/Aコードの周波数シフト探索を行い、相関処理及びコヒーレント積分処理を行う。
ここで、コヒーレント積分とは、GPS信号系列(C/Aコード)を任意の位置で航法データの長さで分断し、各分断したC/Aコードを加算し、この加算結果を自己が検出した航法データあるいは本部サーバから受け取った航法データに基づいて極性を合わせて加算することで積み上げることをいう。
コヒーレント積分の積分結果を低い閾値で仮検出し、仮検出した信号をデータ保持部に記憶させる。分割した他の区間内についても同様の処理を行い、仮検出結果を記憶させる。
データ保持部が記憶した信号は不要信号も含むことになるが、区間間の信号の相関をとる、あるいは区間間の信号を再度積分することで不要信号を抑圧し(取り除き)、GPS信号を検出することができる。
ここでは、コヒーレント積分を行う航法データビット数を10(=200ミリ秒)として、その受信信号列を2つの区間に分割する場合を考える。それぞれの区間は航法データ5ビット分の信号となる。
GPS測位装置100では、まず、GPSアンテナ619がGPS信号を受信し、受信部611が増幅や周波数の変換等の処理を行った後、A/D変換部612がA/D変換を行ってデジタルデータに変換する。A/D変換されたデータはデータ記憶部613が記録する。
データ記憶部613は、航法データビット境界の探索のため、相関演算処理をC/Aコード1周期分毎にシフトさせて20ミリ秒まで行うことを考慮し、220ミリ秒の信号を保存する。
データ記憶部613は、この信号を0〜120ミリ秒と100〜220ミリ秒までの区間に分割して保存する。また、それぞれの区間のデータを、更に1ミリ秒の時間長のブロックに分割して保存する。
データ読出し部649は、データ記憶部613が記憶したデータを、分割した区間毎に読み出す。まずこの受信信号の0〜120ミリ秒までを読み出し、相関処理部641に送る。
スペクトル拡散コード発生部622は、信号を受信したいGPS衛星の番号に応じたC/Aコードを発生し、そのコードに対して1チップ内をサンプリング周波数に応じて補間して、記憶する。記憶したコードは、相関処理部641に送る。
相関処理部641は、データ読出し部649が送ったデータとスペクトル拡散コード発生部622が送ったコードとの相関関数CCF(k、τ、n)(単位相関関数の一例)を以下のように計算する。
Figure 2006345128
ここで、s(k、n)はデータ読出し部649が送ったデータを表す。kは受信信号を1ミリ秒毎に分割したk番目の信号ブロックを示し、nはその信号ブロックにおけるn番目のデータを示す。Cca(n)はGPS測位装置100の内部でスペクトル拡散コード発生部622が生成したC/Aコード、fはA/D変換部のサンプリング周波数、Δfは周波数ステップ、NはC/Aコード1周期(=1ミリ秒)内に含まれるサンプル数(=f/1000)であり、τは1ミリ秒間の遅延時間インデックス、nは周波数インデックスである。また、*は複素共役を意味する。ここで、遅延時間インデックスτは1〜Nまでの整数である。
図10は、任意のkにおける相関関数CCF(k、τ、n)の時間−周波数プロットを示す。
次に、相関処理部641は、航法データ1ビット分に相当する相関関数20個ずつの総和S_CCF(積算相関関数の一例)を計算する。
ところが、航法データビット境界が未知であり、位相変調を行い足し算するだけでは、ビット境界のずれによる積分損失が発生する可能性がある。したがって、航法データビット境界、すなわち相関関数の足し算を開始する位置をシフトさせながら、CCFの20個ずつの総和を次のように計算する。
Figure 2006345128
ここで、nbbは航法データビット境界を探索するインデックスであり、C/Aコード20周期分までシフトさせれば、その中には境界が必ず含まれることになるので、nbbは0〜19までの整数である。
相関処理部641は、このようにして計算した相関関数の総和S_CCFを積分処理部652に送る。
位相変調系列発生部651は、航法データ5ビット分に相当する位相変調系列を総当りで発生させ、記憶する。反転したビット系列による積分結果の絶対値は同じであるから発生させる位相変調系列のパターンは2の4乗通りになる。以下に航法データ5ビット分の位相変調系列Psを示す。
Figure 2006345128
ここで、0は0位相変調、1はπ位相変調を示す。
以下、Psの各要素をps(n、i)と表現する。ここで、n及びiは、それぞれPsの行番号と列番号であり、またそれぞれ、位相変調系列の総当りインデックスと航法データビットのインデックスを表している。
位相変調系列発生部651は、以上のようにして発生させた位相変調系列を積分処理部652に送る。
積分処理部652は、相関処理部641が送った相関関数の総和S_CCF(k、τ、n)と位相変調系列発生部651が送った位相変調系列とを用いて、ブロック間のコヒーレント積分を行うことにより感度向上を図る。
すなわち、そのS_CCFに対して位相変調を行い、足し算することで、複数の航法データビットに及ぶコヒーレント積分を実行する。
積分処理部652は、相関処理部641が送った相関関数の20個ずつの和S_CCFに対して、位相変調系列発生部651が送ったps(n、i)による位相変調を行った後、足し算を以下のように実行する。
Figure 2006345128
ここで、nは位相変調系列の総当りインデックスである。
図11は、相関関数の積算動作の概略を示す説明図である。
積分処理部652が、このようにして相関関数のコヒーレント積分を行ったI_CCF(集積相関関数の一例)は、位相変調系列のインデックス、遅延時間インデックス、周波数インデックス、航法データビット境界インデックスの4つのパラメータを持つ関数である。
積分処理部652は、これら全てのインデックスを変化させて計算したI_CCFの値を仮検出部661に送る。
仮検出部661は、積分処理部652が送った相関関数I_CCFの絶対値の中で、低めに設定した閾値を超えた相関値を検出する。
仮検出部661は、検出した相関値ICP_t1とその時の各インデックス、遅延時間τ_t1、周波数インデックスn_t1、位相変調系列n_t1、ビット境界インデックスnbb_t1をデータ保持部669に送る。
相関値検出の閾値は、信号の分割数に応じて設定する。
例えば、受信信号列をN個のブロックに分割した場合、最大ピークより20log√NdB(デシベル)低いレベルを閾値とする。これは、分割後の信号振幅は分割前の振幅Vsの1/Nになり、ノイズ振幅は分割前の1/√Nになるので、分割後のSN比は、分割前と比較して20log√NdBだけ劣化するからである。ここでは、二つのブロックに分けることを考えているので、最大ピークより3dB低いレベルを閾値とする。
データ保持部669は、仮検出部661が送った信号の相関値と遅延時間、周波数、位相変調系列の総当り、ビット境界のインデックスを受信信号区間毎に保存する。
次に、データ読出し部649は、データ記憶部613から100ミリ秒〜220ミリ秒までの受信信号を読み出し、上記と同様の相関処理、積分処理、仮検出処理を行う。データ保持部669は、仮検出部661が検出した相関値ICP_t2、遅延時間インデックスτ_t2、周波数インデックスn_t2、位相変調系列n_t2、ビット境界インデックスnbb_t2を受信信号区間毎に保存する。
次に、再検出部671が再検出を行う。
データ保持部669は、受信信号区間毎に閾値を超えた相関値を保存している。
ここで、GPS衛星のドップラー周波数が比較的小さい場合、全積分区間においてGPS信号の遅延時間と周波数インデックスと航法データビット境界は変化しないと考えられる。
そこで、再検出部671は、データ保持部669が保存している相関値の区間間の相関をとる。
すなわち、遅延時間τ_t、周波数インデックスn_tが一致するτ_t1=τ_t2かつn_t1=n_t2となる信号を選択することで、GPS信号を検出することができる。ノイズ信号は、区間毎に各インデックスが相異であることが期待されるからである。
遅延時間、周波数インデックスが同じ信号が複数検出された場合には、そのなかで、ビット境界インデックスnbb_tも一致する信号を選択する。
再検出部671は、検出した信号の遅延時間、位相変調系列を測位計算部681に送る。
次に、測位計算部681、位置表示部682について説明する。
測位計算部681は、再検出部671が送った遅延時間、位相変調系列を用いて測位計算を行い、GPS測位装置100の位置座標を特定し、位置表示部682に送る。
位置表示部682は、測位計算部681が送った位置情報を表示する。
以上のように、この実施の形態によれば、受信信号の区間毎に仮検出部661が低閾値でGPS信号を検出し、検出された信号の区間間の相関をとることにより、区間に分割しないで積分を行った場合よりも、低演算量でGPS信号を検出することができる。その理由について以下で説明する。
航法データ10ビット分(=200ミリ秒)の信号を分割しないで相関演算処理、コヒーレント積分処理を行った場合の位相変調系列の総当り数は2の9乗=512通りである。
また、GPS信号のドップラー周波数シフトの範囲はGPS測位装置100が静止状態において±10kHzであり、必要な周波数探索ステップは積分時間の逆数以下の値が必要になることを考えると、周波数インデックス総数は20kHz×200ミリ秒=4000になる。
したがって、少なくとも512×4000=約200万通りの探索が必要になる。
一方、5ビット毎の二つの信号に分割して処理を行った場合、一つの区間において2の4乗×2000=32000通りの探索になるので、10ビットの全区間の探索では32000×2=64000通りの探索で済むことになる。
したがって、前者と比較すると探索回数が32分の1に低減されたことになる。
なおこの実施の形態では、位相変調系列発生部651が位相変調系列を発生しているが、外部サーバから送られた航法データビット系列を記憶しておき、これに基づいて積分処理部652が積分処理を行ってもよい。
以上説明したGPS測位装置は、受信信号を所定の区間に分割し、分割したそれぞれの区間において相関処理とコヒーレント積分処理を行いその積分結果を低閾値で仮検出し、区間毎に仮検出した信号の相関をとることで再検出を行うことを特徴としている。
これにより、GPS測位装置の内部で航法データビット系列を推定処理する高感度方式において、受信信号の区間を分割しないでコヒーレント積分を行った場合と比較し、低演算量で同程度の感度を得ることができる。
したがって、GPS信号の受信電力が低い室内等であっても外部から航法データを取得することなく、高感度にGPS測位を実現することができる。
実施の形態6.
実施の形態6を、図1、図12を用いて説明する。
この実施の形態におけるGPS測位装置100(検出装置の一例)のハードウェア構成は、実施の形態1において図1を用いて説明したものと同一であるので、ここでは説明を省略する。
実施の形態5では、仮検出した信号の区間間の相関を取ることで、不要信号を抑圧し、GPS信号を検出している。しかし、遅延時間、周波数、航法データビット境界インデックスが一致する信号が複数検出された場合、GPS信号を特定することはできない。
そこで、この実施の形態では、仮検出した区間間の信号を再度積分し、積分結果の絶対値が大きくなる信号を選ぶことでGPS信号を検出する方式について説明する。
図12は、この実施の形態におけるGPS測位装置100の機能ブロックの構成の一例を示すブロック図である。
図12に示す機能ブロックのうち、実施の形態5において図9を用いて説明したものと同一の名称を有するものについては、実施の形態5において説明したものと共通である。
この実施の形態におけるGPS測位装置100は、再積分部662(再集積相関関数算出部の一例)を有している点が実施の形態5と異なっている。
以下、詳しく説明する。
受信部611、A/D変換部612、データ記憶部613、データ読出し部649、スペクトル拡散コード発生部622、位相変調系列発生部651、相関処理部641、積分処理部652、仮検出部661、データ保持部669、再検出部671の動作は、実施の形態5と同様なので、ここでは説明を省略する。
再積分部662は、再検出部671が送った遅延時間、周波数、航法データビット境界インデックスが一致する区間間の信号を再度積分する。すなわち、相関値ICP_t1と相関値ICP_t2を加算する。
再積分部662は、ICP_t1とICP_t2を加算する際、区間間の信号の位相差を補償する。これにより、GPS信号は区間間で積分され、ノイズ信号はGPS信号と同程度には積分されないことが期待される。
再検出部671は、再積分部662が積分した結果の絶対値が最も大きくなる信号をGPS信号として検出する。
再検出部671は、以上のようにして検出したGPS信号の各インデックスと相関値を測位計算部681に送る。
測位計算部681、位置表示部682の動作は、実施の形態5と同じなので、ここでは説明を省略する。
以上のように、この実施の形態によれば、再検出した区間毎の信号において、遅延時間、周波数、航法データビット境界が一致する信号が複数検出された場合、再積分部662が再度区間間の信号の積分を行うことで、不要信号を抑圧し、GPS信号を検出することができる。
以上説明したGPS測位装置は、受信信号を所定の区間に分割し、分割したそれぞれの区間において相関処理とコヒーレント積分処理を行いその積分結果を低閾値で仮検出し、区間毎に仮検出した信号の相関をとることで再検出を行った後に、同じ遅延時間、周波数インデックスを持つ信号が複数あった場合に前記信号を再度積分し、その絶対値が最も大きい信号を検出することを特徴としている。
実施の形態7.
実施の形態7を図1、図13を用いて説明する。
この実施の形態におけるGPS測位装置100(検出装置の一例)のハードウェア構成は、実施の形態1において図1を用いて説明したものと同一であるので、ここでは説明を省略する。
実施の形態5及び実施の形態6では、ある閾値を設け、仮検出部661は、ICCFの絶対値がその閾値を超えた信号を検出する。
しかし、設定した閾値が低すぎると多数の信号が検出され、データ保持部669が保存する信号数の増大を招くので、多量のメモリが必要になる。
そこで、この実施の形態では、区間毎に仮検出する信号数の上限をあらかじめ設けておき、所定の信号数に達するまで、積分結果の最大値から順に検出する。
図13は、この実施の形態におけるGPS測位装置の機能ブロックの構成の一例を示すブロック図である。
この実施の形態のGPS測位装置100は、実施の形態5の仮検出部661の代わりに、判定部663を有する点が異なっている。
判定部663は、データ保持部669が保存したデータと積分処理部652が送ったデータとを比較し、データ保持部669に保存するか否かを判定する。
以下、詳しく説明する。
受信部611、A/D変換部612、データ記憶部613、データ読出し部649、スペクトル拡散コード発生部622、位相変調系列発生部651、相関処理部641、積分処理部652の動作は、実施の形態5と同様なので、ここでは説明を省略する。
判定部663は、あらかじめ仮検出を行う信号数の最大値を記憶している。
ここでは、所定の信号数を10と仮定した場合について考える。
判定部663は、まず、積分処理部652が送った1〜10番目の信号の相関値と遅延時間、周波数、航法ビット境界、位相変調系列総当りインデックスをデータ保持部669に送る。
データ保持部669は、判定部663が送った信号を、相関値の絶対値が大きい順に並び替える。
判定部663は、次に、積分処理部652が送った11番目の信号の相関値の絶対値と、データ保持部669が保存した信号のうち、絶対値の最も小さい信号の絶対値とを比較する。
11番目の信号の絶対値の方が大きい場合、判定部663は、データ保持部669に11番目の信号を送る。
データ保持部669は、絶対値の最も小さい信号を削除し、その代わりに、判定部663が送った11番目の信号を保存する。そして、再び絶対値の大きい順に並び替える。
以後12番目以降の信号に対しても同様の操作を繰り返すことで、全てのインデックスが取りうる範囲の中で、相関値の大きい順に10個の信号をデータ保持部669が保存することになる。
再検出部671、測位計算部681、位置表示部682の動作は、実施の形態5と同様なので、ここでは説明を省略する。
以上のように、この実施の形態によれば、仮検出を行う信号数をあらかじめ決めておくので、メモリの増大を招くことなく、低演算量で高感度にGPS信号を検出することができる。
以上説明したGPS測位装置は、コヒーレント積分処理結果を低閾値で検出する代わりに、所定の信号数を満たすまで相関値の絶対値の大きい順に検出を行うことを特徴としている。
実施の形態8.
実施の形態8を、図1、図14を用いて説明する。
この実施の形態におけるGPS測位装置100(検出装置の一例)のハードウェア構成は、実施の形態1において図1を用いて説明したものと同一であるので、ここでは説明を省略する。
図14は、この実施の形態におけるGPS測位装置の機能ブロックの構成の一例を示すブロック図である。
この実施の形態では、実施の形態6において説明した構成と、実施の形態7において説明した構成とを結合させた構成について説明する。
したがって、この実施の形態のGPS測位装置100は、実施の形態6の仮検出部661の代わりに、判定部663を有する点が異なっている。
以下、動作を説明する。
受信部611、A/D変換部612、データ記憶部613、データ読出し部649、スペクトル拡散コード発生部622、位相変調系列発生部651、相関処理部641、積分処理部652の動作は、実施の形態6と同様なので、ここでは説明を省略する。
また、判定部663の動作は、実施の形態7と同様なので、ここでは説明を省略する。
更に、再検出部671、再積分部662、測位計算部681、位置表示部682の動作は、実施の形態6と同様なので、ここでは説明を省略する。
以上のように、この実施の形態によれば、仮検出を行う信号数をあらかじめ決めておくので、メモリの増大を招くことなく、低演算量で高感度にGPS信号を検出することができる。
以上説明したGPS測位装置は、コヒーレント積分処理結果を低閾値で検出する代わりに、所定の信号数を満たすまで相関値の絶対値の大きい順に検出を行うことを特徴としている。
実施の形態9.
実施の形態9を図1、図15を用いて説明する。
この実施の形態におけるGPS測位装置100(検出装置の一例)のハードウェア構成は、実施の形態1において図1を用いて説明したものと同一であるので、ここでは説明を省略する。
図15は、この実施の形態におけるGPS測位装置の機能ブロックの構成の一例を示すブロック図である。
実施の形態5〜実施の形態8では、分割された受信信号の最初の区間と後半の区間において同様に相関処理とコヒーレント積分処理を行い、その後、区間間の信号の相関あるいは積分を行うことによりGPS信号を検出する。
この実施の形態では、まず、最初の区間において相関処理とコヒーレント積分処理を行い、仮検出をする。そこで検出された信号の遅延時間、周波数、航法データビット境界インデックスを用いて、そのインデックスの値あるいはその周辺の値において後半の区間の積分処理を行うことにより、後半の区間での計算量を削減する構成について、説明する。
この実施の形態におけるGPS測位装置100は、インデックス抽出部668を有する。
インデックス抽出部668は、データ保持部669が保存したデータの遅延時間インデックス、周波数インデックス、位相変調系列境界インデックスを抽出し、相関処理部641に送る。
以下、詳しく動作を説明する。
ここでは、実施の形態5と同様に、全積分区間が航法データ10ビット(=200ミリ秒)であり、それを5ビットの区間に分割した場合について説明する。
受信した信号の最初の区間0〜120ミリ秒について、相関処理、積分処理、仮検出処理、データ保持の動作を実施の形態5と同様に処理し、データ保持部669は、相関値と各インデックスを保存する。
次に、データ読出し部649は、受信信号の後半の区間100〜220ミリ秒までの信号をデータ記憶部613から読み出し、相関処理部641に送る。
インデックス抽出部668は、データ保持部669が保存した0〜120ミリ秒の区間において仮検出された信号の遅延時間インデックス、周波数インデックス、航法データビット境界インデックスを抽出し、相関処理部641及び積分処理部652に送る。
相関処理部641は、相関処理を行い、インデックス抽出部668が送った遅延時間インデックスτ_t1と周波数インデックスnf_t1の値あるいはその周辺の値においてI_CCFを計算するために必要な相関関数の総和S_CCFの値を算出する。
積分処理部652は、相関処理部641が送った相関関数の総和S_CCFに基づいて、I_CCFを算出する。このとき、インデックス抽出部668が送った航法データビット境界インデックスと、位相変調系列発生部651が送った位相変調系列とを用いてコヒーレント積分処理を行い、積分結果をデータ保持部669に送る。
再積分部662、測位計算部681、位置表示部682の動作は、実施の形態6と同じなので、ここでは説明を省略する。
この実施の形態において、後半区間の相関処理、積分処理は、仮検出部661が検出したもの対応するものだけについて行い、それ以外は計算しない。したがって、計算量が削減できる。
以上のように、この実施の形態では、受信信号の最初の区間におけるコヒーレント積分結果を低閾値で検出した後、検出された信号の遅延時間、周波数、航法データビット境界インデックスを抽出するインデックス抽出部を設け、次の区間からは、その抽出された各インデックスの値のみあるいはその周辺の値を用いて相関処理を行うことで、後半の区間における積分の演算量を低減することができる。
以上説明したGPS測位装置は、分割した最初の区間の仮検出結果の遅延時間、周波数インデックスを用いて、次の区間からの相関処理とコヒーレント積分処理を行い、区間間の信号を再度積分することを特徴としている。
実施の形態10.
実施の形態10を図1、図16を用いて説明する。
この実施の形態におけるGPS測位装置100(検出装置の一例)のハードウェア構成は、実施の形態1において図1を用いて説明したものと同一であるので、ここでは説明を省略する。
図16は、この実施の形態におけるGPS測位装置の機能ブロックの構成の一例を示すブロック図である。
この実施の形態では、実施の形態9において説明した構成と、実施の形態7において説明した構成とを結合させた構成について説明する。
したがって、この実施の形態のGPS測位装置100は、実施の形態9の仮検出部661の代わりに、判定部663を有する点が異なっている。
以下、動作を説明する。
受信部611、A/D変換部612、データ記憶部613、データ読出し部649、スペクトル拡散コード発生部622、位相変調系列発生部651、相関処理部641、積分処理部652の動作は、実施の形態9と同様なので、ここでは説明を省略する。
また、判定部663の動作は、実施の形態7と同様なので、ここでは説明を省略する。 更に、データ保持部669、インデックス抽出部668、再積分部662、測位計算部681、位置表示部682の動作は、実施の形態9と同様なので、ここでは説明を省略する。
以上のように、この実施の形態によれば、仮検出を行う信号数をあらかじめ決めておくので、メモリの増大を招くことなく、低演算量で高感度にGPS信号を検出することができる。
以上説明したGPS測位装置は、分割した最初の区間の仮検出結果の遅延時間、周波数インデックスを用いて、次の区間からの相関処理とコヒーレント積分処理を行い、区間間の信号を再度積分することを特徴としている。
このように、以上説明した検出装置は、衛星からのGPS信号を受信して装置の位置を測位するGPS測位装置およびGPS測位方法に応用できる。
従来の高感度GPS測位装置およびGPS測位方法において、衛星からのGPS信号は、見晴らしの良い環境に受信アンテナを設置した本部サーバと、当該本部サーバと有線または無線の通信媒体を介して接続されたGPS端末によって受信される。
本部サーバはGPS信号からGPS航法データ、衛星のドップラー周波数情報を算出する。
一方、GPS端末はGPS信号の受信電界が良好であれば自らGPS信号から航法データを抽出し、受信電界が良好でなければ本部サーバから必要な航法データを受け取る。
そして、GPS測位装置は、GPS信号系列(C/Aコード)を任意の位置で航法データの長さで分断し、各分断したC/Aコードを加算し、この加算結果を自己が検出した航法データあるいは本部サーバから受け取った航法データに基づいて極性を合わせて加算することで積み上げる(以下、この演算操作をコヒーレント積分と呼ぶ)。
さらに、GPS端末はこの加算結果とGPS端末自身が有する全衛星のC/Aコードとの間で相関計算を行い、相関値が最大になる点を加算開始位置として求め、C/Aコードを加算することにより疑似距離を算出する。この擬似距離と前記抽出した航法データとによって位置計算を行う。
このように、従来の高感度GPS測位装置では、受信電界が弱い場合には外部から航法データを取得してコヒーレント積分を行う。これにより、弱いGPS信号しか受信できない室内のような環境でも測位が可能になる。
従来の高感度GPS測位装置では、高感度を実現するために、航法データビット系列を別途無線データリンク等を通じて外部のインフラ側から受信する必要がある。このため、無線データリンクが確実に受信できる範囲でしか高感度測位が実現できないという問題があった。
また、航法データや衛星ドップラー周波数等のアシストデータ取得のためのインフラ構築、またはインフラサービス利用に、別途コストがかかるという問題も生じる。さらには、GPS測位装置に、無線データリンク受信機やアンテナを別途装着する必要があり、測位装置が大型かつ重くなって携帯に不便となる、装置コストが高くなる、消費電力増大による電池交換頻度が高まる等の課題があった。
このような課題を解決する方法として、GPS測位装置の内部において航法データを仮定し、その仮定による位相変調系列を総当りで生成し、従来法に準じるようにコヒーレント積分を行うことで、アシストデータを必要とせず高感度化を図る方法が考えられる。
ところが、GPS測位装置におけるGPS信号の受信感度を高感度化するためには、長時間のコヒーレント積分が必要であり、このような方式では積分時間が長くなるに従い演算量が指数関数的に増大する。その理由として以下の2つが挙げられる。
(A)積分時間の増加に従い、生成する位相変調系列のパターンは2のべき乗で増加する。
航法データによる位相変調はBPSK変調(Binary Phase Shift Keying)であるので、変調系列は0あるいはπで形成されている。従って積分する航法データビット数をIとすると生成すべき変調系列の総数は、2のI乗となる。
(B)また受信信号は、衛星の運動に伴うドップラー周波数やローカル発振器の周波数オフセットによる周波数シフトを受ける。この周波数シフトを補償するために、GPS測位装置の内部で生成したC/Aコードを周波数シフトさせてコヒーレント積分を実行する必要があるが、その周波数探索ステップは、積分時間の逆数以下の値が必要なため、積分時間に比例して周波数の探索数が増加する。
長時間積分に必要な全探索回数は、(A)と(B)における探索回数の積になる。従って、積分時間が大きくなるにつれて演算量が指数関数的に増大する。
ここで説明した各実施の形態によれば、このような課題を解決し、GPS測位装置の内部で航法データビット系列を推定処理する高感度方式において、受信信号の区間を分割しないでコヒーレント積分を行った場合と比較し、低演算量で同程度の感度を得ることができる。
したがって、GPS信号の受信電力が低い室内等であっても外部から航法データを取得することなく、高感度にGPS測位を実現することができる。
GPS測位装置100のハードウェア構成の一例を示す図。 GPS測位装置100の機能ブロックの構成の一例を示すブロック図。 GPS信号の構成を示す図。 拡散信号取得部110が取得する拡散信号の一例を示す図。 単位相関関数算出部141が算出する単位相関関数UCCFの一例を示す図。 相関関数積算部142が算出する積算相関関数SCCFの一例を示す図。 集積相関関数算出部152が算出する集積相関関数ICCFの一例を示す図。 再集積相関関数算出部162の動作の概念を説明するための説明図。 実施の形態5におけるGPS測位装置100の機能ブロックの構成の一例を示すブロック図。 任意のkにおける相関関数CCF(k、τ、nf)の時間−周波数プロットを示す図。 相関関数の積算動作の概略を示す説明図。 実施の形態6におけるGPS測位装置100の機能ブロックの構成の一例を示すブロック図。 実施の形態7におけるGPS測位装置100の機能ブロックの構成の一例を示すブロック図。 実施の形態8におけるGPS測位装置100の機能ブロックの構成の一例を示すブロック図。 実施の形態9におけるGPS測位装置100の機能ブロックの構成の一例を示すブロック図。 実施の形態10におけるGPS測位装置100の機能ブロックの構成の一例を示すブロック図。
符号の説明
100 GPS測位装置、110 拡散信号取得部、111 受信部、112 アナログデジタル変換部、113 拡散信号記憶部、121 単位信号生成部、122 単位信号記憶部、131 周波数差補正記憶部、140 積算相関関数算出部、141 単位相関関数算出部、142 相関関数積算部、151 二値符号列記憶部、152 集積相関関数算出部、153 第一集積部、154 第二集積部、161 仮検出部、162 再集積相関関数算出部、171 本検出部、181 測位部、200 GPS信号、201 C/Aコード、250 航法データ、300 拡散信号、301 実部、302 虚部、303 位相、401 C/Aコード、411 周波数差補正値、500 単位相関関数UCCF、503 位相、504 絶対値、520 積算相関関数SCCF、523 位相、524 絶対値、540 集積相関関数ICCF、560 再集積相関関数RCCF、594 雑音、611 受信部、612 A/D変換部、613 データ記憶部、619 アンテナ、622 スペクトル拡散コード発生部、641 相関処理部、649 データ読出し部、651 位相変調系列発生部、652 積分処理部、661 仮検出部、662 再積分部、663 判定部、668 インデックス抽出部、669 データ保持部、671 再検出部、681 測位計算部、682 位置表示部、901 CRT表示装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群。

Claims (16)

  1. 所定の単位信号の1回以上の繰り返しを第一の反復信号とし、上記第一の反復信号の極性を反転したものを第二の反復信号とし、上記第一および第二の反復信号を任意の順序で連ねたものを拡散信号とし、
    上記拡散信号を取得し、
    取得した上記拡散信号と上記単位信号の相関を取ることによって、上記拡散信号に含まれる上記単位信号の開始時点を検出する検出装置において、
    上記拡散信号を取得する拡散信号取得部と、
    上記単位信号を記憶する単位信号記憶部と、
    上記拡散信号取得部が取得した拡散信号と、上記単位信号記憶部が記憶した単位信号との相関をとって、積算相関関数とする積算相関関数算出部と、
    所定の長さの二値符号列を複数記憶する二値符号列記憶部と、
    上記二値符号列記憶部が記憶した二値符号列に基づいて、上記積算相関関数の値の極性を補正し、補正した値を積算し、集積相関関数とする集積相関関数算出部と、
    上記集積相関関数算出部が算出した集積相関関数に基づいて、上記単位信号の繰り返しの開始時点の候補を検出し、開始時点候補とする仮検出部と、
    上記仮検出部が検出した開始時点候補について、上記集積相関関数算出部が算出した集積相関関数の値を積算し、再集積相関関数とする再集積相関関数算出部と、
    上記再集積相関関数算出部が算出した再集積相関関数に基づいて、上記単位信号の開始時点を検出する本検出部と、
    を有することを特徴とする検出装置。
  2. 所定の単位信号の1回以上の繰り返しを第一の反復信号とし、上記第一の反復信号の極性を反転したものを第二の反復信号とし、上記第一および第二の反復信号を任意の順序で連ねたものを拡散信号とし、
    上記拡散信号を取得し、
    取得した上記拡散信号と上記単位信号の相関を取ることによって、上記拡散信号に含まれる上記単位信号の開始時点を検出する検出装置において、
    上記拡散信号を取得する拡散信号取得部と、
    上記単位信号を記憶する単位信号記憶部と、
    上記拡散信号取得部が取得した拡散信号と、上記単位信号記憶部が記憶した単位信号との相関をとって、積算相関関数とする積算相関関数算出部と、
    所定の長さの二値符号列を複数記憶する二値符号列記憶部と、
    上記二値符号列記憶部が記憶した二値符号列に基づいて、上記積算相関関数の値の極性を補正し、補正した値を積算し、集積相関関数とする集積相関関数算出部と、
    上記集積相関関数算出部が算出した集積相関関数に基づいて、上記単位信号の繰り返しの開始時点の候補を検出し、開始時点候補とする仮検出部と、
    上記仮検出部が検出した複数の開始時点候補が互いに対応するか否かを判断し、対応すると判断した場合に、上記開始時点候補を、上記単位信号の開始時点として検出する本検出部と、
    を有することを特徴とする検出装置。
  3. 所定の単位信号の1回以上の繰り返しを第一の反復信号とし、上記第一の反復信号の極性を反転したものを第二の反復信号とし、上記第一および第二の反復信号を任意の順序で連ねたものを拡散信号とし、
    上記拡散信号を取得し、
    取得した上記拡散信号と上記単位信号の相関を取ることによって、上記拡散信号に含まれる上記単位信号の開始時点を検出する検出装置において、
    上記拡散信号を取得する拡散信号取得部と、
    上記単位信号を記憶する単位信号記憶部と、
    上記拡散信号取得部が取得した拡散信号と、上記単位信号記憶部が記憶した単位信号との相関をとって、積算相関関数とする積算相関関数算出部と、
    所定の長さの二値符号列を複数記憶する二値符号列記憶部と、
    上記二値符号列記憶部が記憶した二値符号列に基づいて、上記積算相関関数の値の極性を補正し、補正した値を積算し、集積相関関数とする集積相関関数算出部と、
    上記集積相関関数算出部が算出した集積相関関数に基づいて、上記単位信号の繰り返しの開始時点の候補を複数検出し、それぞれ開始時点候補とする仮検出部と、
    上記仮検出部が検出した複数の開始時点候補が互いに対応するか否かを判断し、対応すると判断したものについて、上記集積相関関数算出部が算出した集積相関関数の値を積算し、再集積相関関数とする再集積相関関数算出部と、
    上記再集積相関関数算出部が算出した再集積相関関数に基づいて、上記単位信号の開始時点を検出する本検出部と、
    を有することを特徴とする検出装置。
  4. 上記積算相関関数算出部は、
    上記第一の反復信号の継続時間に相当する期間について、上記拡散信号取得部が取得した拡散信号と、上記単位信号記憶部が記憶した単位信号との相関をとって、積算相関値とし、
    上記単位信号の開始時点を変数とし、上記積算相関値を値とする関数を、積算相関関数とする
    ことを特徴とする請求項1乃至請求項3のいずれかに記載の検出装置。
  5. 上記積算相関関数算出部は、
    上記単位信号の継続時間に相当する期間について、上記拡散信号取得部が取得した拡散信号と、上記単位信号記憶部が記憶した単位信号との相関をとって、相関値とし、
    上記単位信号の開始時点を変数とし、上記相関値を値とする関数を、単位相関関数とする単位相関関数算出部と、
    上記相関関数算出部が算出した単位相関関数に基づいて、上記単位信号の開始時点の差と、上記単位信号の継続時間とが等しい単位相関関数の値を積算して、積算相関値とし、
    上記単位信号の開始時点を変数とし、上記積算相関値を値とする関数を、積算相関関数とする相関関数積算部と、
    を有することを特徴とする請求項1乃至請求項3のいずれかに記載の検出装置。
  6. 上記二値符号列記憶部は、
    所定の長さの二値符号列のうち、符号反転をしても同一とならないものを記憶する
    ことを特徴とする請求項1乃至請求項3のいずれかに記載の検出装置。
  7. 上記集積相関関数算出部は、
    上記積算相関関数算出部が算出した積算相関関数に基づいて、上記単位信号の開始時点の差と、上記第一の反復信号の継続時間とが等しい積算相関関数の値を、上記二値符号列記憶部が記憶する二値符号列の長さと等しい数取得し、
    上記二値符号列の各符号に、取得した上記積算相関関数の値を対応させ、上記二値符号列の各符号が所定の値である場合に、対応する上記積算相関関数の値の極性を反転し、
    上記値を積算して、集積相関関数とする
    ことを特徴とする請求項1乃至請求項3のいずれかに記載の検出装置。
  8. 上記集積相関関数算出部は、
    上記第一の反復信号の継続時間に相当する期間の範囲内で、上記単位信号の開始時点を変化させる上記集積相関関数を算出する第一集積部と、
    算出した上記集積相関関数の開始時点に、上記第一の反復信号の継続時間の整数倍を加えた時点を開始時点とする上記集積相関関数を算出する第二集積部と、
    を有することを特徴とする請求項1乃至請求項3のいずれかに記載の検出装置。
  9. 上記集積相関関数算出部は、
    上記第一の反復信号の継続時間に相当する期間の範囲内で、上記単位信号の開始時点を変化させる上記集積相関関数を算出する第一集積部と、
    上記第一集積部が算出した集積相関関数の開始時点に、上記第一の反復信号の継続時間の上記二値符号列の長さ倍を加えた時点を開始時点とする上記集積相関関数を算出する第二集積部と、
    を有することを特徴とする請求項7に記載の検出装置。
  10. 上記集積相関関数算出部は、
    上記第一の反復信号の継続時間に相当する期間の範囲内で、上記単位信号の開始時点を変化させる上記集積相関関数を算出する第一集積部と、
    上記仮検出部が検出した開始時点候補における開始時点に、上記第一の反復信号の継続時間の整数倍を加えた時点を開始時点とする上記集積相関関数を算出する第二集積部と、
    を有することを特徴とする請求項1乃至請求項3のいずれかに記載の検出装置。
  11. 上記集積相関関数算出部は、
    上記第一の反復信号の継続時間に相当する期間の範囲内で、上記単位信号の開始時点を変化させる上記集積相関関数を算出する第一集積部と、
    上記仮検出部が検出した開始時点候補における開始時点に、上記第一の反復信号の継続時間の上記二値符号列の長さ倍を加えた時点を開始時点とする上記集積相関関数を算出する第二集積部と、
    を有することを特徴とする請求項7に記載の検出装置。
  12. 上記仮検出部は、
    上記集積相関関数算出部が算出した集積相関関数に基づいて、上記集積相関関数の値の絶対値と、所定の閾値とを比較し、上記絶対値が上記閾値を超える場合に、上記集積相関関数の値に対応する上記単位信号の繰り返しの開始時点を、開始時点候補として検出する
    ことを特徴とする請求項1乃至請求項3のいずれかに記載の検出装置。
  13. 上記仮検出部は、
    上記集積相関関数算出部が算出した集積相関関数に基づいて、上記集積相関関数の値の絶対値が大きいものから順に、所定の個数取得し、取得した集積相関関数の値に対応する上記単位信号の繰り返しの開始時点を、開始時点候補として検出する
    ことを特徴とする請求項1乃至請求項3のいずれかに記載の検出装置。
  14. 上記再集積相関関数算出部は、
    上記集積相関関数算出部が算出した集積相関関数に基づいて、上記仮検出部が検出した開始時点候補に対応する上記集積相関関数の値を積算して、再集積相関関数とする
    ことを特徴とする請求項1または請求項3に記載の検出装置。
  15. 上記本検出部は、
    上記再集積相関関数算出部が算出した再集積相関関数に基づいて、上記再集積相関関数の値の絶対値が最も大きいものを取得し、取得した再集積相関関数の値に対応する上記単位信号の繰り返しの開始時点を検出する
    ことを特徴とする請求項1または請求項3に記載の検出装置。
  16. 上記本検出部は、
    上記仮検出部が検出した複数の開始時点候補における開始時点の差が、上記第一の反復信号の継続時間の整数倍であるか否かを判断し、整数倍である場合に、上記複数の開始時点候補が互いに対応すると判断する
    ことを特徴とする請求項2に記載の検出装置。
JP2005167737A 2005-06-08 2005-06-08 検出装置 Withdrawn JP2006345128A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005167737A JP2006345128A (ja) 2005-06-08 2005-06-08 検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005167737A JP2006345128A (ja) 2005-06-08 2005-06-08 検出装置

Publications (1)

Publication Number Publication Date
JP2006345128A true JP2006345128A (ja) 2006-12-21

Family

ID=37641763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005167737A Withdrawn JP2006345128A (ja) 2005-06-08 2005-06-08 検出装置

Country Status (1)

Country Link
JP (1) JP2006345128A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007228237A (ja) * 2006-02-23 2007-09-06 Furuno Electric Co Ltd キャリア位相追尾装置および擬似雑音コード信号追尾装置
JP2009014451A (ja) * 2007-07-03 2009-01-22 Japan Radio Co Ltd 自立型高感度衛星信号受信機
JP2009207037A (ja) * 2008-02-29 2009-09-10 Fujitsu Microelectronics Ltd スペクトラム直接拡散通信方式における受信同期装置
JP2011013206A (ja) * 2009-06-30 2011-01-20 O2 Micro Inc 衛星信号からナビゲーションビットを復調するためのシステム
US8174440B2 (en) 2008-01-18 2012-05-08 Seiko Epson Corporation Positioning method, program thereof, and positioning device
CN102844678A (zh) * 2010-04-14 2012-12-26 波音公司 用于高空航天器应用的软件全球导航卫星系统接收器
JP2015507735A (ja) * 2011-11-30 2015-03-12 日本テキサス・インスツルメンツ株式会社 スペクトラム拡散を受信するための方法および装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007228237A (ja) * 2006-02-23 2007-09-06 Furuno Electric Co Ltd キャリア位相追尾装置および擬似雑音コード信号追尾装置
JP4755920B2 (ja) * 2006-02-23 2011-08-24 古野電気株式会社 キャリア位相追尾装置および擬似雑音コード信号追尾装置
JP2009014451A (ja) * 2007-07-03 2009-01-22 Japan Radio Co Ltd 自立型高感度衛星信号受信機
US8174440B2 (en) 2008-01-18 2012-05-08 Seiko Epson Corporation Positioning method, program thereof, and positioning device
JP2009207037A (ja) * 2008-02-29 2009-09-10 Fujitsu Microelectronics Ltd スペクトラム直接拡散通信方式における受信同期装置
JP2011013206A (ja) * 2009-06-30 2011-01-20 O2 Micro Inc 衛星信号からナビゲーションビットを復調するためのシステム
CN102844678A (zh) * 2010-04-14 2012-12-26 波音公司 用于高空航天器应用的软件全球导航卫星系统接收器
JP2013527439A (ja) * 2010-04-14 2013-06-27 ザ・ボーイング・カンパニー 高高度宇宙機用途のためのソフトウェア全地球的航法衛星システム受信機
JP2015507735A (ja) * 2011-11-30 2015-03-12 日本テキサス・インスツルメンツ株式会社 スペクトラム拡散を受信するための方法および装置

Similar Documents

Publication Publication Date Title
CN107579756B (zh) 低复杂性、低功率且长距的无线电接收机
US7224721B2 (en) System for direct acquisition of received signals
US8989236B2 (en) Method and apparatus for performing frequency synchronization
JP2006345128A (ja) 検出装置
KR100937130B1 (ko) 히스토리 상관 데이터를 사용하여 신호 상관을 수행하기위한 방법 및 장치
US10715207B2 (en) System and method for demodulating code shift keying data utilizing correlations with combinational PRN codes generated for different bit positions
JP2016524710A (ja) 直接シーケンススペクトラム拡散信号のための受信機及び方法
JPH1188229A (ja) キャリア周波数オフセットを持つ信号の擬似ランダム雑音検出器
JP4828308B2 (ja) 位相変調系列再生装置
WO2003001698A1 (fr) Procede de demodulation de signaux d'etalement du spectre et appareil correspondant
KR20040016970A (ko) 다중 분석에서 신호 상관을 계산하는 방법 및 장치
JP2009532958A (ja) 情報伝送方法及びシステム
US11211971B2 (en) System and method for demodulating code shift keying data from a satellite signal utilizing a binary search
US6263011B1 (en) Receiver for spread spectrum communication system capable of shortening acquisition time
Kong et al. Two-dimensional compressed correlator for fast PN code acquisition
JP2005519311A (ja) 信号相関を実行する方法及び装置
Manandhar et al. GPS signal acquisition and tracking-An Approach towards development of Software-based GPS Receiver
JP2006270510A (ja) 受信装置および信号復調方法
JP6061773B2 (ja) 信号処理装置、信号処理方法及び信号処理プログラム
KR101050132B1 (ko) 대역 확산 부호 획득 장치 및 그 방법
JP4805930B2 (ja) 共通の復調テンプレートを使用する信号収集のための装置、方法およびコンピュータプログラム
KR20170051895A (ko) 신호를 획득하는 방법 및 이를 수행하는 전자 장치
KR100323590B1 (ko) 최대 상관값과 주변 상관값들의 상대적 차이를 이용한동기화 장치 및 그 방법
US9806760B2 (en) Acquisition method for pseudo noise code at receiver and receiver for acquiring pseudo noise code
JPH11122214A (ja) 同期捕捉装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080404

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100126