測位装置及び測位方法
【課題】演算負荷を小さくして、所要メモリも小さくして、小規模で測位が行える測位装置を得る。
【解決手段】本発明の測位装置は、衛星からの測位信号を受信して擬似距離を算出する測位装置において、衛星からの測位信号を受信する受信部と、ディジタル化受信測位信号を記憶するデータ記憶メモリと、この測位信号のデータを所定長以下の対象データ長に分割して対象データ長のデータを生成するデータ分割器21と、この対象データ長のデータが表す対象値を数論変換する数論変換器22a,22bと、数論変換された対象値と衛星に対応するスペクトル拡散コードとの相関値を数論逆変換する数論逆変換器と、を設けた相関処理部7と、相関処理部が行った最大相関結果で測位信号の遅延時間を推定する遅延時間推定部と、推定された測位信号の遅延時間に基づいて測位計算を行う測位計算部と、測位計算結果で距離の表示を行う表示器と、を備えた。
【解決手段】本発明の測位装置は、衛星からの測位信号を受信して擬似距離を算出する測位装置において、衛星からの測位信号を受信する受信部と、ディジタル化受信測位信号を記憶するデータ記憶メモリと、この測位信号のデータを所定長以下の対象データ長に分割して対象データ長のデータを生成するデータ分割器21と、この対象データ長のデータが表す対象値を数論変換する数論変換器22a,22bと、数論変換された対象値と衛星に対応するスペクトル拡散コードとの相関値を数論逆変換する数論逆変換器と、を設けた相関処理部7と、相関処理部が行った最大相関結果で測位信号の遅延時間を推定する遅延時間推定部と、推定された測位信号の遅延時間に基づいて測位計算を行う測位計算部と、測位計算結果で距離の表示を行う表示器と、を備えた。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、衛星からのGPS(Global Positioning System)信号を受信して受信位置を正確に検出するGPS測位装置およびGPS測位方法に関するものである。
【背景技術】
【0002】
従来のGPS測位装置およびGPS測位方法において、GPS衛星からのGPS信号は、見晴らしの良い環境に置かれたGPS端末によって受信される。GPS端末はGPS受信信号をA/D変換し、GPS端末自身が有する全衛星のC/A(Coarse and Acquire)コードとの間で相関演算を行い、相関値が最大になる点を求め、擬似距離を算出する。この擬似距離と航法データとよばれるデータから位置計算を行う。
【0003】
GPS処理の相関演算では、時間領域で積算する方法と周波数領域で積算する方法がある。周波数領域で積算する場合の一般的な手法として、FFT(Fast Fourier Transformation:高速フーリエ変換)等による畳み込み演算が行われる。周波数領域での演算を削減する方法として、NTT(Number Theory Transformation:数論変換)を適用する手法が考えられる。FFTでは指数関数の回転子の乗算が行われるが、NTTでは、指数関数の代わりに、2のべき乗の乗算と剰余の演算が行われる。2のべき乗の乗算は、ハードウェア等ではビットシフトであり、NTTでの剰余も加減算1回の処理になる。このため、NTTを適用することができれば、FFTに比べて演算量を削減できる。
例えば、文献1はGPS信号処理に関するものではないが、複数の並列信号を同時に送受信する多重化システムにおいて、高速信号処理手段としてFFTに代わりNTT変換手法を用いる手段を示している。このような手法を用いれば、演算量を削減することができる。
【特許文献1】特開平10−215237号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで上記のNTTは、演算を行う点数によりデータのbit長を変化させる必要がある。2048点のNTTの畳み込みではデータのbit長は32bitとなり、8192点のNTTの畳み込みの場合はbit長が64bitとなる。このため、NTTによる畳み込みを行う点数が大きくなると、演算負荷が大きくなる。
GPS信号の1ミリ秒のデータは1023点であり、相関を2ミリ秒の範囲で行うものとしても2046点であるため、32bitデータ長でNTT演算を適用できる。
しかし、GPS信号を受信する際には、精度を向上させるため、オーバーサンプリング処理が行われる。4倍のオーバーサンプリングで信号が受信される場合には相関演算を行う点数が2046×4点、16倍の場合は2046×16点となり、NTTを適用する場合のデータ長が大きくなってしまうという問題が生じる。
即ち、FFTに比べての利点である演算負荷の軽減の効果が得られない、更にデータを保存するメモリ等を大きくする必要があり、測位装置が大型かつ重くなって携帯するには不便になる、という課題がある。
装置コストが高くなる、消費電力増大による電池交換頻度が高まる等の問題もある。
【0005】
この発明は上記の課題等を解決するためになされたもので、演算負荷を小さくして、所要メモリも小さくして、小規模で測位が行える測位装置を得る。
【課題を解決するための手段】
【0006】
この発明に係る測位装置は、衛星からの測位信号を受信して擬似距離を算出する測位装置において、
上記衛星からの上記測位信号を受信する受信部と、
上記受信してディジタル化された測位信号を記憶するデータ記憶メモリと、
上記記憶されたディジタル化測位信号のデータを所定長以下の対象データ長になるように分割して対象データ長のデータを生成するデータ分割器と、分割して生成された上記対象データ長のデータが表す対象値を数論変換する数論変換器と、数論変換された上記対象値と上記衛星に対応するスペクトル拡散コードとの相関値を数論逆変換する数論逆変換器と、を設けて相関処理をする相関処理部と、
上記相関処理部が行った相関処理における最大相関結果で上記測位信号の遅延時間を推定する遅延時間推定部と、
上記推定された測位信号の遅延時間に基づいて測位計算を行う測位計算部と、
上記測位計算で得られた距離の表示を行う表示器と、を備えた。
【発明の効果】
【0007】
この発明によれば、GPS測位装置およびGPS測位方法において、数論変換前にデータを分割するデータ加算・分割器と、数論逆変換後にデータを合成するデータ合成器とを設けたので、GPS信号がオーバーサンプリングされたデータであっても、数論変換による高速処理を行うことができ、装置の小規模化、軽量化が得られる効果がある。
即ち、装置のコストダウンを図ることが可能になる効果がある。
【発明を実施するための最良の形態】
【0008】
実施の形態1.
以下、この発明の実施の形態を説明する。
図1は、この発明の実施の形態1におけるGPS測位方法およびGPS測位装置の構成を説明するハードウェア構成を含む構成ブロック図である。図1において、GPS衛星を利用して測位を行う測位装置1は、GPS衛星からのGPS測位信号を受信するGPSアンテナ2と、そのGPSアンテナ2で受信したGPS測位信号の増幅等を行う受信部3と、受信部3からのアナログデータである測位信号をデジタルデータに変換するA/D変換部4と、A/D変換したディジタル化受信データ(測位信号)をいったん記録するデータ記憶部(記憶メモリ)5と、対象となる衛星のスペクトル拡散コード(C/Aコード)を生成するスペクトル拡散コード発生部6と、データ記憶部5に保持されているディジタル化されたGPS測位信号とスペクトル拡散コード発生部6で生成されたスペクトル拡散コードとの相関処理を行う相関処理部7と、相関処理部7から送られてきた相関処理の結果を保存する相関処理結果記憶部8と、相関処理結果記憶部8の中で相関結果が最大となる値を算出し、遅延時間を推定する遅延時間推定部9と、遅延時間推定部9から送られてきた遅延時間に基づいて位置を計算する測位計算部10と、この計算された位置を測位データとして記憶する測位データ記憶部12と、測位データにより現在地を表示する表示器11と、これらの構成要素を制御するCPU(Central Processing Unit:演算装置)を含む制御部13と、パラメータの設定やモードの選択やオーバーサンプリングの倍数等を指定するキーボード等の入力部14と、で構成され、内部バス15で接続されている。
【0009】
また図2は、本実施の形態における図1の相関処理部7の詳細構成を示す図である。図2において相関処理部7は、データ記憶部5から読み出したGPS受信信号を分割するデータ分割器21と、数論変換による畳み込み演算を行う数論変換演算器22aないし22cと、数論変換後のデータの乗算を行う乗算器23a、23bと、数論逆変換を行う数論逆変換演算器24a、24bと、分割して相関処理されたデータを足し合わせるデータ合成器25と、で構成される。
なお図1において、データ記憶部5と相関処理結果記憶部8と測位データ記憶部12とは、ICメモリで構成されるが、部分的に磁気ディスク装置等の外部メモリと呼ばれる記憶装置を使用してもよい。またCPUを含む制御部13は、図示しないメモリに制御プログラムを搭載して、そのプログラムにより各構成要素を内部バス15経由で制御して、動作記述で詳述するフローに従った動作を行う。
また表示器11は、例えば液晶パネル等であるが、外部の記憶装置や他の信号処理装置、演算装置等への出力を行う出力部であってもよい。即ち外部で測位結果を知る構成であってもよい。
また、データ記憶部5や相関処理結果記憶部8等の記憶部や、スペクトル拡散コード発生部6は、制御部13の制御により動作するが、説明を簡潔にするために以下では、データ記憶部5、スペクトル拡散コード発生部6等が自らデータ処理を実行する、として説明する。
【0010】
次に、全体の動作について説明する。
図3は、上記測位装置1の制御部13によって実行される装置全体の処理プログラムにより行われる概略の動作フローチャートである。このプログラムは制御部13の図示しないROM等の不揮発メモリにあらかじめ記憶されていてもよいが、プログラム自体を装置とは独立に作成し、ミニディスク、CD、DVD等の外部記憶媒体に記憶しておき、それを入力部14の一部としてのCDリーダ等により書き込み可能なメモリに読み込む、又はインターネット等の通信回線を介して、書き込み可能なメモリにダウンロードしてインストールするようにしてもよい。
測位装置1では、まず、GPSアンテナ2がGPS信号を受信し、受信部3が増幅や周波数の変換等の処理を行った後、A/D変換部4でA/D変換を行ってデジタルデータに変換する(受信ステップST1、以下ステップの記述を省略する)。A/D変換されたデータはデータ記憶部5に記録される(ST2)。
規定されたサイズのデータがデータ記憶部5に記録されると、スペクトル拡散コード発生部6は衛星毎の対象となる衛星のスペクトル拡散コードを生成し相関処理部7に送る(ST3)。
【0011】
後で詳述するように、本実施の形態においては相関処理部7が重要な要素であり、ハードウェアの規模増大を抑えている。相関処理部7がディジタル化されたGPS受信(測位)データを処理する詳細構成要素の接続関係は図2に記載した通りであるが、これらの詳細構成要素の動作を制御するのは、後で説明する図6の動作機能を持つプログラムをROMに記憶しておき、制御部13がそれを読み出して行う。遅延時間推定部9や測位計算部10の動作についても、相関処理部7と同様に、制御部13がROMに記憶したプログラムに基づいて動作制御を行う。
データ相関処理部7は、データ記憶部5からGPS受信信号を1ブロック(2ミリ秒分)読み出し、符号系列との相関処理を行い、演算結果を相関処理結果記憶部8に保存する(ST4)。
遅延時間推定部9は、上記の演算結果である相関値データを、相関処理結果記憶部8から読み出し、その中から最大値を選び、その値に対応する遅延時間τをτmaxとして測位計算部10に送る(遅延時間推定ステップST5)。
【0012】
測位計算部10は、τmaxと航法メッセージからGPS衛星と測位装置1との距離を算出する(測位計算ステップST6)。航法メッセージはGPS信号から取得してもよいし、外部から取得してもよい。
正確な位置情報は、複数の衛星との距離から算出するので、規定された数の衛星に対応する衛星と測位装置1との距離情報が得られるまで、衛星毎にST3ないしST6の処理を繰り返し(ST7)、測位データ記憶部12に衛星毎のデータを記憶する。
規定された数の衛星に対応する距離情報が得られたら、測位計算部10は測位データ記憶部12に記憶されたデータにより、各衛星との距離から、測位装置1の位置を算出する(ST8)。
測位計算部10で得られた位置情報から表示器11に現在位置を表示する(ST9)。
測位装置1は、以上の動作によりGPS衛星を利用した位置測定を行う。
【0013】
次に、重要な構成要素である相関処理部7の動作について説明する。
図2は相関処理部7の詳細構成図であり、図4〜図7は動作説明図である。即ち図4はデータ分割器21が行う、図5はデータ合成器25が行うデータの処理方法を示したものである。図4、図5では、1ミリ秒分の受信データ1023点が4倍にオーバーサンプリングされているものとし、更に2ミリ秒分のオーバーサンプリングされた受信データとして合計1023×2×4点のデータに対して相関演算を行うものとする。また、図2の数論変換(演算)器22a〜22cは2048点の数論変換処理を行い、数論逆変換(演算)器24a〜24bは2048点の数論逆変換処理を行うものとする。数論変換の各処理と、乗算処理では、2の32乗+1(4294967297)の法をとるものとする。
【0014】
図6は、相関処理部7が実行する相関処理動作を示すフローチャートであるが、例えばこの各ステップの動作を行う相関処理プログラムを図示しないメモリに記憶させて、制御部13がこの相関処理プログラムを読みとって実行する。データ分割、数論変換、乗算、数論逆変換及びデータ合成自体は、ハードウェアのレジスタ群でのシフトや加算で容易に得られる。例えば相関をとる乗算は、相関演算対象の一方のデータをハードウェア・レジスタに設定して、その設定されたデータに対して他方のデータが表す数に基づくシフト演算を行う。そして本実施の形態においては、これらのレジスタ等のハードウェアの規模増大を抑えて、しかも十分な遅延時間が推定でき、従って正確な測位計算ができる。
図6において、相関処理部7は、以下のST21〜ST26bの処理を行い、相関演算を実行する。まず、数論変換演算器22cは、スペクトル拡散コード発生部6が生成した1023点のスペクトル拡散コードのデータを0拡張して2048点にする。その後、このデータの並びを逆に並び替える。これを示したのが図7である。図7(a)のc(1)〜c(2048)は0拡張されたスペクトル拡散コードであり、これらのうちc(1)〜c(1023)がスペクトル拡散コードで、c(1024)〜c(2048)が0拡張部分である。これを図7(b)に示すように、e(1)〜e(2048)として並び替える。e(1)〜c(1025)が0となり、e(1026)=c(1023)に、e(1027)=c(1022)に、以下、・・・e(2048)がc(1)となる。この2048点のデータを数論変換する(ここまでがST21)。
【0015】
次に、データ分割器21は、図4の様に、GPS受信データのインディックスが示す4の剰余をとってGPS受信データを以下の相関処理が行えるよう、所定長以下の対象データ長に測位信号を分割する。これは具体的には、相関処理部7のハードウェア・レジスタに設定されたGPS受信データの値が、図4(a)に示されるようにd(1)〜d(8184)まである場合、図4(b)に示すようにNTT1としてd(1)、d(5)、d(9)・・・d(8181)をまとめて1つのデータブロックとし、これに0拡張を行って2048点のデータとして、データブロック1とする。同様にNTT2として、d(2)、d(6)、d(10)・・・d(8182)をデータブロック2とする。更にNTT3として、d(3)、d(7)、d(11)・・・d(8183)をデータブロック3とし、NTT4として、d(4)、d(8)、d(12)・・・d(8184)をデータブロック4として、データを分割した後に、各々0拡張を行う。そして拡張後の各2048点の対象データ長のデータが示す対象値を、数論変換演算器22a、22bに渡す(データ長分割ステップST22)。つまり、レジスタに設定された所定の桁の数値をサンプリングして別のレジスタに設定して、NTT1等を得る。また実際には、図4(a)の全ての数値をレジスタに設定してNTT1等を切り出すのではなく、データ記憶部5からGPS受信データを読み出す時に必要部分のみを読み出してNTT1等を得る。
【0016】
数論変換演算器22a、22bは、分割されたデータに対して2048点の数論変換を行う。本実施の形態の構成では、数論変換演算器22aはデータブロック1の、数論変換演算手段22bはデータブロック2の数論変換を行う(数論変換ステップST23)。
乗算器23a、23bは数論変換された各データブロックを受け取る。そして乗算器23aは数論変換されたデータブロック1の各要素と、ステップST21で数論変換されたスペクトル拡散コードの各要素とを乗算するが、その際に数論変換と同様に2の32乗+1(4294967297)の法をとる。数論変換自体は、よく知られている方法であり、レジスタのシフト操作で行われる、2のべき乗操作と剰余の演算で得られる。
同様にして、乗算器23bは、データブロック2の各要素と、スペクトル拡散コードの各要素との乗算処理を行う(ST24)。
数論逆変換演算器24a、24bは、上記の乗算処理されたデータブロックのデータに対して2048点の数論逆変換を行う。即ち数論逆変換演算器24aはデータブロック1の、数論逆変換演算器24bはデータブロック2の数論変換を行う(数論逆変換ステップST25)。
データブロック3に対しても数論変換演算器22aないし数論逆変換演算器24aにより、またデータブロック4に対しても数論変換演算器22bないし数論逆変換演算器24bにより、同様にST23〜ST25の処理を繰り返す(ST26)。
【0017】
データ合成器25は、ブロックデータ毎に相関処理されたデータを合成する。図5は、データ合成器25でのデータの合成を示したものである。数論逆変換演算器24a、24bからは、数論逆変換処理の結果として4つのデータブロックが出力される。図5(a)では、データブロック1の数論逆変換の結果をINTT1、データブロック2の数論逆変換の結果をINTT2、〜というように示す。またINTT1の各要素のデータをn(1,1)〜n(1,2048)で示し、同様にINTT2、INTT3、INTT4の各要素のデータをn(2,1)〜n(2,2048)、n(3,1)〜n(3,2048)、n(4,1)〜n(4,2048)とする。
データ合成器25は、これらのデータを以下の手順で加算して最終的な相関結果を算出する(ST26b)。
先ず図5(a)のINTT1ないしINTT4におけるデータの先頭要素を、図5(b)に示すように選択する。次いでINTT1ないしINTT4における次の要素のデータをINTT1から順に選択する。つまり各INTTのデータが4個飛ばしになるように並び替える。具体的には、n(1,1)、n(2,1)、n(3,1)、n(4,1)、n(1,2)、n(2,2)、n(3,2)、n(4,2)、・・・n(4,2048)、と並べる。これもハードウェア・レジスタへの設定であるから容易である。
【0018】
次いで上記のように並べ替えた図5(b)の要素データに対して、前から順に4つの要素データを加算してi蕃目の相関処理結果とする。つまり、上記で並べた要素データを一つづつシフトさせながら4個単位で加算し、これを各番目の相関演算処理の結果とする。具体的には、相関演算結果の1番目であるF(1)=n(1,1)+n(2,1)+n(3,1)+n(4,1)で、F(2)=n(2,1)+n(3,1)+n(4,1)+n(1,2)、・・・である。
上記したようにF(1)として4つのn要素データの加算値を求める処理方法を用いると、以下のF(2)は次式(1)で表せる。
F(2)=F(1)−n(1,1)+n(1,2) (1)
同様に、F(k+1)は、F(k)に対して以下の式(2)で求めることが出来る。
F(k+1)=F(k)−n(i,j)+n(i,j+1) (2)
ただし、j=mod(k,4)で、j+1は、k/4の整数部分である。
これは、上記の演算が4×2048回程度の加減算で求めることが出来ることを意味する。
【0019】
図8を用いて、別の視点からST21〜ST26bの処理を説明する。
GPS受信信号を4倍にオーバーサンプリングして受信したデータをd(1)〜d(8192)とする。また、スペクトル拡散コードをc(1)〜c(1023)とする。これらの相関演算を、数論変換を行わずに処理する場合を示したのが図8である。スペクトル拡散コードをGPS受信信号にあわせた4倍のデータ数にする場合、スペクトル拡散コードc(1)〜c(1023)を図の様にc(1),c(1),c(1),c(1),c(2),c(2),・・・というように同一のデータを4個毎に並べたデータにし、4096点のデータになるように0拡張することになる。
次に遅延時間τに対応する相関値F(τ)を求める場合には、次の式(3)の処理を行う。
【0020】
【数1】
【0021】
式(3)を変形すると次の式(4)になる。
【0022】
【数2】
【0023】
この式(4)が意味することは、ST22で示したようにデータを分割して数論変換後に相関演算を行い、数論逆変換して、各結果を合成すれば相関値を求めることになる。
即ち、式(3)をそのまま取扱って遅延時間を推定すると、ハードウェア規模が増大するが、本実施の形態の構成を採れば、規模増大を抑えられる。
【0024】
上記の説明では、4倍にオーバーサンプリングされたGPS信号を対象としたが、n倍にオーバーサンプリングされた信号であっても、同様に処理を行うことが出来る。
また上記では、数論変換演算器22a〜22c、乗算器23a、23b、数論逆変換演算器24a、24bを用いて処理を行ったが、図示しないクロックによる相関処理部7の演算速度が速い場合には、各要素である数論変換演算器と乗算器と数論逆変換演算器とが各1個しかない構成であっても同様に処理を行うことが出来る。この場合、ハードウェアの構成数を更に減らすことが可能である。
また逆に、数論変換演算器、乗算器、数論逆変換演算器が各4個の構成であっても同様に処理を行うことが可能であり、n倍にオーバーサンプリングされたGPS信号に対して、各要素をn個用意することにより処理を行うことも出来る。この場合にはハードウェア規模は大きくなるが、安価な素子を用いることができて演算時間を短縮し、高速に処理を行うことが出来る。
【0025】
以上のように、この実施の形態によれば、n倍にオーバーサンプリングされたデータであってもハードウェア規模を拡大せずに、数論変換を利用した相関演算処理を行うことができる。このため、FFT等を利用した相関処理に比べて、演算負荷を抑えることができるという効果が得られる。こうして相関処理部のハードウェア規模を抑えて、省電力化、装置の軽量化や製品のコストダウンなどを可能にする効果が得られる。また、GPS信号の受信から測位までの時間を短縮できる効果が得られる。
【0026】
実施の形態2.
上述の実施の形態1では、測位計算を行うために、先ずデータ分割部でデータを分割した後に、数論変換を用いた相関演算を行い、相関演算後にデータ合成部を用いてデータの合成を行っていた。しかし、最初にデータを合成(加算)した後に、数論変換を用いた相関演算処理を行い、相関値を算出することもできる。本実施の形態では、この最初にデータを合成して、要素データを区切って数論変換をして、相関演算処理を行って相関値を得る構成を説明する。
本実施の形態におけるGPS測位方法および測位装置のブロック構成自体は、実施の形態1の図1に示した構成と同様である。
図9は、本実施の形態におけるGPS測位システムおよびGPS測位装置の内部にある相関処理部7bの詳細構成を示す図である。図9において、データ記憶部5から読み出したGPS受信信号を加算処理するデータ加算・分割器26を除いて、他の要素は実施の形態1での要素と同等の要素である。
【0027】
全体の動作については、実施の形態1の動作と同じであり、図3に示した、ST1からST9までの処理を行う。
次に、図9で示した相関処理部7bの動作について、図9〜図11を用いて説明する。図10は、例えば上記測位装置1内の制御部13が処理プログラムを用いて実行する相関処理の動作を示すフローチャートである。
図10において、ST21の処理は、実施の形態1の動作と同じである。
次に、データ加算・分割器26は、図11に示す様に、GPS受信データを4倍にオーバーサンプリングした値がd(1)〜d(8184)まである場合、データを1つずつシフトさせながら4個単位で加算し、これを加算処理の結果とする(ステップST27)。例えば、1番目であるG(1)はd(1)+d(2)+d(3)+d(4)、2番目のデータG(2)はd(2)+d(3)+d(4)+d(5)、である。これらの演算を式(5)で示す。
G(k)=d(k)+d(k+1)+d(k+2)+d(k+3) (5)
【0028】
次に、データ加算・分割器26は、加算と分割の例を示す図11の様に、加算データが示すインディックスの4の剰余をとって分割する。図11の例では、図11(a)で受信データのd(1),d(2)・・・d(1023)を拡張してd(8184)まで得て,図11(b)のように4つの要素データを加算し,順次シフトして加算処理を行う。そして図11(c)のように乗算器23a,23bでそれぞれの相関乗算を行う。そして得られた結果がG(1)〜G(8184)まである場合、図11(d)でG(1)、G(5)、G(9)、・・・G(8181)をまとめて1つのデータブロックとし、これに0拡張を行って2048点のデータとして、データブロック1とする。
同様にして、データ加算・分割器26は、G(2)、G(6)、G(10)、・・・G(8182)をデータブロック2とし、G(3)、G(7)、G(11)、・・・G(8183)をデータブロック3とし、G(4)、G(8)、G(12)、・・・G(8184)をデータブロック4として、データを分割した後に各々0拡張を行う。そして各2048点のデータを、数論変換演算器22a、22bに渡す(ST28)。
図10のST23〜ST26の処理は、実施の形態1の動作と同じである。
即ち、本実施の形態においては、数論変換前にデータ加算・分割器26で加算処理を行うが、数論変換→乗算処理→逆数論変換という処理は、実施の形態1と同様に、分割されたデータブロックの中で閉じて行われる。
次に、相関処理結果記憶部8は、数論逆変換演算器24a、24bから算出されたデータを保存する。つまりデータブロック1の2048点の演算結果を、G(1),G(5),G(9)・・・G(8181)として保存する。
同様にして、相関処理結果記憶部8は、データブロック2の結果をG(2),G(6),G(10)・・・G(8182)というように数論変換前のインディックスに対応するように保存する(ST29)。
【0029】
上記の処理は、実施の形態1の式(4)で示した加算処理を最初に行う構成にしたものであり、演算結果は、実施の形態1と同じである。この様に、最初に加算処理を行うことにより、実施の形態1と同様の演算結果が得られ、構成を単純化出来る。このため、相関処理部7の構成要素を減らすことができ、省電力化、装置の軽量化や製品のコストダウンなどを可能にする効果がある。
【0030】
実施の形態3.
上述の実施の形態1では、データ分割器21でデータを分割した後に、データブロック毎に数論変換による相関処理を行っていた。2048点の数論変換では、2の32乗+1(4294967297)の法をとるため、データのビット長は32ビット必要となる。また、相関処理後のデータは2の31乗を超えないことがデータオーバーフローを起こさないための条件となる。
しかし、GPS受信信号が1ビットないし数ビット程度で、相関を行うスペクトル拡散コードも1ビットないし数ビットの場合には、相関後のデータは2の15乗以下となり、データビット長の半分が0となる。このような場合には、2つのデータを32ビット中に共存させることで、相関演算を高速化するという方法が考えられる。本実施の形態は、こうした少ない有効データを高速に取扱う構成と動作を説明する。
【0031】
例えば、GPS受信信号とスペクトル拡散コードが共に+1もしくは−1の2値であるとする。この時相関の最大値は+1023もしく−1023であり、2の10乗以下である。この場合には、図4に示したデータ分割器21で分割されたデータd(1)とd(2)から、数論変換演算器は、データH(1)=d(1)×216+d(2)を算出する。同様にして、d(3)とd(4)、d(5)とd(6)・・・に対して、以下の式(6)からH(k)を算出する。
H(k)=d(2k)×216+d(2k+1) (6)
上記の処理は、32ビットのデータの上位16bitにd(2k)を入力し、下位16bitにd(2k+1)を入力すればよく、演算は不要である。
算出したデータH(1)〜H(4096)で示されるインディックスの2の剰余をとってH(1)、H(3)、H(5)・・・H(4095)をデータブロック1とし、H(2)、H(4)、・・・H(4096)をデータブロック2とする。以後、乗算器23a,23b及び数論逆変換演算器23a,23bは、各データブロックに対して数論変換を用いた相関演算処理をする。相関処理後のデータの上位16ビットを奇数番のデータ、下位16ビットを偶数番のデータとして、データ合成器25はデータ統合の処理を行う。
データブロック1の相関処理後のデータL(2τ)は、式(7)で表される。
【0032】
【数3】
【0033】
各データの相関処理後のデータは±2の10乗以下であるため、式(7)のd(4k+1)の相関結果は下位16ビットの範囲内であり、d(4k)の相関結果は上位16ビットの範囲内となる。このため、相関処理後のデータを上位16ビットと下位16ビットに分割できる。このような処理により、数論変換による処理回数を半分にすることが出来、処理の演算回数を削減出来る。
以上のように、本実施の形態によれば、GPS受信信号とスペクトル拡散コードのデータ長が1ビットないし数ビットの場合、データを上位ビットと下位ビットに共存させることによって、相関処理の演算負荷を抑える効果がある。
こうして相関処理部のハードウェア規模を抑えることができ、省電力化、装置の軽量化や製品のコストダウンなどが可能にする効果が得られる。また、GPS信号の受信から測位までの時間を短縮する効果が得られる。
以上のように、この発明はGPS信号に対して数論変換を用いた相関演算による高速化処理を実現できるので、衛星からのGPS信号を受信して受信位置を高速に測位するGPS測位装置およびGPS測位方法の分野に適用される。
【図面の簡単な説明】
【0034】
【図1】この発明の実施の形態1における測位装置の構成を示す図である。
【図2】実施の形態1における測位装置内の相関処理部の詳細構成を示す図である。
【図3】実施の形態1における制御部が行う測位装置全体の動作フロー図である。
【図4】実施の形態1におけるデータ分割器が行なう動作を説明する図である。
【図5】実施の形態1におけるデータ合成器が行なう動作を説明する図である。
【図6】実施の形態1において相関処理部が実行する相関処理動作のフロー図である。
【図7】実施の形態1におけるスペクトル拡散コードとその並べ替えを説明する図である。
【図8】オーバサンプリングに対して通常の相関計算により遅延時間を求める例を示す図である。
【図9】この発明の実施の形態2における測位装置の構成を示す図である。
【図10】実施の形態2における測位装置内の相関処理部の詳細構成を示す図である。
【図11】実施の形態2における相関処理部の動作を説明する図である。
【符号の説明】
【0035】
1 測位装置、2 GPSアンテナ、3 受信部、4 A/D変換部、5 データ記憶部(メモリ)、6 スペクトル拡散コード発生部、7,7b 相関処理部、8 相関処理結果記憶部、9 遅延時間推定部、10 測位計算部、11 表示器(出力部)、12 測位データ記憶部、13 CPUを含む制御部、14 入力部、21 データ分割器、22a,22b 数論変換演算器、23a,23b 乗算器、24a,24b 数論逆変換演算器、25 データ合成器、26 データ加算・分割器、ST1 受信ステップ、ST4 相関演算ステップ、ST5 相関が最大の遅延時間推定ステップ、ST6 測位計算ステップ、ST21 スペクトル拡散コードの数論変換ステップ、ST22 受信データのデータ長分割ステップ、ST23 分割データの数論変換ステップ、ST24 数論変換データ間の乗算ステップ、ST25 乗算データの数論逆変換ステップ、ST26b 数論逆変換データの合成ステップ、ST27 受信データの加算処理ステップ、ST28 加算データの分割ステップ。
【技術分野】
【0001】
この発明は、衛星からのGPS(Global Positioning System)信号を受信して受信位置を正確に検出するGPS測位装置およびGPS測位方法に関するものである。
【背景技術】
【0002】
従来のGPS測位装置およびGPS測位方法において、GPS衛星からのGPS信号は、見晴らしの良い環境に置かれたGPS端末によって受信される。GPS端末はGPS受信信号をA/D変換し、GPS端末自身が有する全衛星のC/A(Coarse and Acquire)コードとの間で相関演算を行い、相関値が最大になる点を求め、擬似距離を算出する。この擬似距離と航法データとよばれるデータから位置計算を行う。
【0003】
GPS処理の相関演算では、時間領域で積算する方法と周波数領域で積算する方法がある。周波数領域で積算する場合の一般的な手法として、FFT(Fast Fourier Transformation:高速フーリエ変換)等による畳み込み演算が行われる。周波数領域での演算を削減する方法として、NTT(Number Theory Transformation:数論変換)を適用する手法が考えられる。FFTでは指数関数の回転子の乗算が行われるが、NTTでは、指数関数の代わりに、2のべき乗の乗算と剰余の演算が行われる。2のべき乗の乗算は、ハードウェア等ではビットシフトであり、NTTでの剰余も加減算1回の処理になる。このため、NTTを適用することができれば、FFTに比べて演算量を削減できる。
例えば、文献1はGPS信号処理に関するものではないが、複数の並列信号を同時に送受信する多重化システムにおいて、高速信号処理手段としてFFTに代わりNTT変換手法を用いる手段を示している。このような手法を用いれば、演算量を削減することができる。
【特許文献1】特開平10−215237号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで上記のNTTは、演算を行う点数によりデータのbit長を変化させる必要がある。2048点のNTTの畳み込みではデータのbit長は32bitとなり、8192点のNTTの畳み込みの場合はbit長が64bitとなる。このため、NTTによる畳み込みを行う点数が大きくなると、演算負荷が大きくなる。
GPS信号の1ミリ秒のデータは1023点であり、相関を2ミリ秒の範囲で行うものとしても2046点であるため、32bitデータ長でNTT演算を適用できる。
しかし、GPS信号を受信する際には、精度を向上させるため、オーバーサンプリング処理が行われる。4倍のオーバーサンプリングで信号が受信される場合には相関演算を行う点数が2046×4点、16倍の場合は2046×16点となり、NTTを適用する場合のデータ長が大きくなってしまうという問題が生じる。
即ち、FFTに比べての利点である演算負荷の軽減の効果が得られない、更にデータを保存するメモリ等を大きくする必要があり、測位装置が大型かつ重くなって携帯するには不便になる、という課題がある。
装置コストが高くなる、消費電力増大による電池交換頻度が高まる等の問題もある。
【0005】
この発明は上記の課題等を解決するためになされたもので、演算負荷を小さくして、所要メモリも小さくして、小規模で測位が行える測位装置を得る。
【課題を解決するための手段】
【0006】
この発明に係る測位装置は、衛星からの測位信号を受信して擬似距離を算出する測位装置において、
上記衛星からの上記測位信号を受信する受信部と、
上記受信してディジタル化された測位信号を記憶するデータ記憶メモリと、
上記記憶されたディジタル化測位信号のデータを所定長以下の対象データ長になるように分割して対象データ長のデータを生成するデータ分割器と、分割して生成された上記対象データ長のデータが表す対象値を数論変換する数論変換器と、数論変換された上記対象値と上記衛星に対応するスペクトル拡散コードとの相関値を数論逆変換する数論逆変換器と、を設けて相関処理をする相関処理部と、
上記相関処理部が行った相関処理における最大相関結果で上記測位信号の遅延時間を推定する遅延時間推定部と、
上記推定された測位信号の遅延時間に基づいて測位計算を行う測位計算部と、
上記測位計算で得られた距離の表示を行う表示器と、を備えた。
【発明の効果】
【0007】
この発明によれば、GPS測位装置およびGPS測位方法において、数論変換前にデータを分割するデータ加算・分割器と、数論逆変換後にデータを合成するデータ合成器とを設けたので、GPS信号がオーバーサンプリングされたデータであっても、数論変換による高速処理を行うことができ、装置の小規模化、軽量化が得られる効果がある。
即ち、装置のコストダウンを図ることが可能になる効果がある。
【発明を実施するための最良の形態】
【0008】
実施の形態1.
以下、この発明の実施の形態を説明する。
図1は、この発明の実施の形態1におけるGPS測位方法およびGPS測位装置の構成を説明するハードウェア構成を含む構成ブロック図である。図1において、GPS衛星を利用して測位を行う測位装置1は、GPS衛星からのGPS測位信号を受信するGPSアンテナ2と、そのGPSアンテナ2で受信したGPS測位信号の増幅等を行う受信部3と、受信部3からのアナログデータである測位信号をデジタルデータに変換するA/D変換部4と、A/D変換したディジタル化受信データ(測位信号)をいったん記録するデータ記憶部(記憶メモリ)5と、対象となる衛星のスペクトル拡散コード(C/Aコード)を生成するスペクトル拡散コード発生部6と、データ記憶部5に保持されているディジタル化されたGPS測位信号とスペクトル拡散コード発生部6で生成されたスペクトル拡散コードとの相関処理を行う相関処理部7と、相関処理部7から送られてきた相関処理の結果を保存する相関処理結果記憶部8と、相関処理結果記憶部8の中で相関結果が最大となる値を算出し、遅延時間を推定する遅延時間推定部9と、遅延時間推定部9から送られてきた遅延時間に基づいて位置を計算する測位計算部10と、この計算された位置を測位データとして記憶する測位データ記憶部12と、測位データにより現在地を表示する表示器11と、これらの構成要素を制御するCPU(Central Processing Unit:演算装置)を含む制御部13と、パラメータの設定やモードの選択やオーバーサンプリングの倍数等を指定するキーボード等の入力部14と、で構成され、内部バス15で接続されている。
【0009】
また図2は、本実施の形態における図1の相関処理部7の詳細構成を示す図である。図2において相関処理部7は、データ記憶部5から読み出したGPS受信信号を分割するデータ分割器21と、数論変換による畳み込み演算を行う数論変換演算器22aないし22cと、数論変換後のデータの乗算を行う乗算器23a、23bと、数論逆変換を行う数論逆変換演算器24a、24bと、分割して相関処理されたデータを足し合わせるデータ合成器25と、で構成される。
なお図1において、データ記憶部5と相関処理結果記憶部8と測位データ記憶部12とは、ICメモリで構成されるが、部分的に磁気ディスク装置等の外部メモリと呼ばれる記憶装置を使用してもよい。またCPUを含む制御部13は、図示しないメモリに制御プログラムを搭載して、そのプログラムにより各構成要素を内部バス15経由で制御して、動作記述で詳述するフローに従った動作を行う。
また表示器11は、例えば液晶パネル等であるが、外部の記憶装置や他の信号処理装置、演算装置等への出力を行う出力部であってもよい。即ち外部で測位結果を知る構成であってもよい。
また、データ記憶部5や相関処理結果記憶部8等の記憶部や、スペクトル拡散コード発生部6は、制御部13の制御により動作するが、説明を簡潔にするために以下では、データ記憶部5、スペクトル拡散コード発生部6等が自らデータ処理を実行する、として説明する。
【0010】
次に、全体の動作について説明する。
図3は、上記測位装置1の制御部13によって実行される装置全体の処理プログラムにより行われる概略の動作フローチャートである。このプログラムは制御部13の図示しないROM等の不揮発メモリにあらかじめ記憶されていてもよいが、プログラム自体を装置とは独立に作成し、ミニディスク、CD、DVD等の外部記憶媒体に記憶しておき、それを入力部14の一部としてのCDリーダ等により書き込み可能なメモリに読み込む、又はインターネット等の通信回線を介して、書き込み可能なメモリにダウンロードしてインストールするようにしてもよい。
測位装置1では、まず、GPSアンテナ2がGPS信号を受信し、受信部3が増幅や周波数の変換等の処理を行った後、A/D変換部4でA/D変換を行ってデジタルデータに変換する(受信ステップST1、以下ステップの記述を省略する)。A/D変換されたデータはデータ記憶部5に記録される(ST2)。
規定されたサイズのデータがデータ記憶部5に記録されると、スペクトル拡散コード発生部6は衛星毎の対象となる衛星のスペクトル拡散コードを生成し相関処理部7に送る(ST3)。
【0011】
後で詳述するように、本実施の形態においては相関処理部7が重要な要素であり、ハードウェアの規模増大を抑えている。相関処理部7がディジタル化されたGPS受信(測位)データを処理する詳細構成要素の接続関係は図2に記載した通りであるが、これらの詳細構成要素の動作を制御するのは、後で説明する図6の動作機能を持つプログラムをROMに記憶しておき、制御部13がそれを読み出して行う。遅延時間推定部9や測位計算部10の動作についても、相関処理部7と同様に、制御部13がROMに記憶したプログラムに基づいて動作制御を行う。
データ相関処理部7は、データ記憶部5からGPS受信信号を1ブロック(2ミリ秒分)読み出し、符号系列との相関処理を行い、演算結果を相関処理結果記憶部8に保存する(ST4)。
遅延時間推定部9は、上記の演算結果である相関値データを、相関処理結果記憶部8から読み出し、その中から最大値を選び、その値に対応する遅延時間τをτmaxとして測位計算部10に送る(遅延時間推定ステップST5)。
【0012】
測位計算部10は、τmaxと航法メッセージからGPS衛星と測位装置1との距離を算出する(測位計算ステップST6)。航法メッセージはGPS信号から取得してもよいし、外部から取得してもよい。
正確な位置情報は、複数の衛星との距離から算出するので、規定された数の衛星に対応する衛星と測位装置1との距離情報が得られるまで、衛星毎にST3ないしST6の処理を繰り返し(ST7)、測位データ記憶部12に衛星毎のデータを記憶する。
規定された数の衛星に対応する距離情報が得られたら、測位計算部10は測位データ記憶部12に記憶されたデータにより、各衛星との距離から、測位装置1の位置を算出する(ST8)。
測位計算部10で得られた位置情報から表示器11に現在位置を表示する(ST9)。
測位装置1は、以上の動作によりGPS衛星を利用した位置測定を行う。
【0013】
次に、重要な構成要素である相関処理部7の動作について説明する。
図2は相関処理部7の詳細構成図であり、図4〜図7は動作説明図である。即ち図4はデータ分割器21が行う、図5はデータ合成器25が行うデータの処理方法を示したものである。図4、図5では、1ミリ秒分の受信データ1023点が4倍にオーバーサンプリングされているものとし、更に2ミリ秒分のオーバーサンプリングされた受信データとして合計1023×2×4点のデータに対して相関演算を行うものとする。また、図2の数論変換(演算)器22a〜22cは2048点の数論変換処理を行い、数論逆変換(演算)器24a〜24bは2048点の数論逆変換処理を行うものとする。数論変換の各処理と、乗算処理では、2の32乗+1(4294967297)の法をとるものとする。
【0014】
図6は、相関処理部7が実行する相関処理動作を示すフローチャートであるが、例えばこの各ステップの動作を行う相関処理プログラムを図示しないメモリに記憶させて、制御部13がこの相関処理プログラムを読みとって実行する。データ分割、数論変換、乗算、数論逆変換及びデータ合成自体は、ハードウェアのレジスタ群でのシフトや加算で容易に得られる。例えば相関をとる乗算は、相関演算対象の一方のデータをハードウェア・レジスタに設定して、その設定されたデータに対して他方のデータが表す数に基づくシフト演算を行う。そして本実施の形態においては、これらのレジスタ等のハードウェアの規模増大を抑えて、しかも十分な遅延時間が推定でき、従って正確な測位計算ができる。
図6において、相関処理部7は、以下のST21〜ST26bの処理を行い、相関演算を実行する。まず、数論変換演算器22cは、スペクトル拡散コード発生部6が生成した1023点のスペクトル拡散コードのデータを0拡張して2048点にする。その後、このデータの並びを逆に並び替える。これを示したのが図7である。図7(a)のc(1)〜c(2048)は0拡張されたスペクトル拡散コードであり、これらのうちc(1)〜c(1023)がスペクトル拡散コードで、c(1024)〜c(2048)が0拡張部分である。これを図7(b)に示すように、e(1)〜e(2048)として並び替える。e(1)〜c(1025)が0となり、e(1026)=c(1023)に、e(1027)=c(1022)に、以下、・・・e(2048)がc(1)となる。この2048点のデータを数論変換する(ここまでがST21)。
【0015】
次に、データ分割器21は、図4の様に、GPS受信データのインディックスが示す4の剰余をとってGPS受信データを以下の相関処理が行えるよう、所定長以下の対象データ長に測位信号を分割する。これは具体的には、相関処理部7のハードウェア・レジスタに設定されたGPS受信データの値が、図4(a)に示されるようにd(1)〜d(8184)まである場合、図4(b)に示すようにNTT1としてd(1)、d(5)、d(9)・・・d(8181)をまとめて1つのデータブロックとし、これに0拡張を行って2048点のデータとして、データブロック1とする。同様にNTT2として、d(2)、d(6)、d(10)・・・d(8182)をデータブロック2とする。更にNTT3として、d(3)、d(7)、d(11)・・・d(8183)をデータブロック3とし、NTT4として、d(4)、d(8)、d(12)・・・d(8184)をデータブロック4として、データを分割した後に、各々0拡張を行う。そして拡張後の各2048点の対象データ長のデータが示す対象値を、数論変換演算器22a、22bに渡す(データ長分割ステップST22)。つまり、レジスタに設定された所定の桁の数値をサンプリングして別のレジスタに設定して、NTT1等を得る。また実際には、図4(a)の全ての数値をレジスタに設定してNTT1等を切り出すのではなく、データ記憶部5からGPS受信データを読み出す時に必要部分のみを読み出してNTT1等を得る。
【0016】
数論変換演算器22a、22bは、分割されたデータに対して2048点の数論変換を行う。本実施の形態の構成では、数論変換演算器22aはデータブロック1の、数論変換演算手段22bはデータブロック2の数論変換を行う(数論変換ステップST23)。
乗算器23a、23bは数論変換された各データブロックを受け取る。そして乗算器23aは数論変換されたデータブロック1の各要素と、ステップST21で数論変換されたスペクトル拡散コードの各要素とを乗算するが、その際に数論変換と同様に2の32乗+1(4294967297)の法をとる。数論変換自体は、よく知られている方法であり、レジスタのシフト操作で行われる、2のべき乗操作と剰余の演算で得られる。
同様にして、乗算器23bは、データブロック2の各要素と、スペクトル拡散コードの各要素との乗算処理を行う(ST24)。
数論逆変換演算器24a、24bは、上記の乗算処理されたデータブロックのデータに対して2048点の数論逆変換を行う。即ち数論逆変換演算器24aはデータブロック1の、数論逆変換演算器24bはデータブロック2の数論変換を行う(数論逆変換ステップST25)。
データブロック3に対しても数論変換演算器22aないし数論逆変換演算器24aにより、またデータブロック4に対しても数論変換演算器22bないし数論逆変換演算器24bにより、同様にST23〜ST25の処理を繰り返す(ST26)。
【0017】
データ合成器25は、ブロックデータ毎に相関処理されたデータを合成する。図5は、データ合成器25でのデータの合成を示したものである。数論逆変換演算器24a、24bからは、数論逆変換処理の結果として4つのデータブロックが出力される。図5(a)では、データブロック1の数論逆変換の結果をINTT1、データブロック2の数論逆変換の結果をINTT2、〜というように示す。またINTT1の各要素のデータをn(1,1)〜n(1,2048)で示し、同様にINTT2、INTT3、INTT4の各要素のデータをn(2,1)〜n(2,2048)、n(3,1)〜n(3,2048)、n(4,1)〜n(4,2048)とする。
データ合成器25は、これらのデータを以下の手順で加算して最終的な相関結果を算出する(ST26b)。
先ず図5(a)のINTT1ないしINTT4におけるデータの先頭要素を、図5(b)に示すように選択する。次いでINTT1ないしINTT4における次の要素のデータをINTT1から順に選択する。つまり各INTTのデータが4個飛ばしになるように並び替える。具体的には、n(1,1)、n(2,1)、n(3,1)、n(4,1)、n(1,2)、n(2,2)、n(3,2)、n(4,2)、・・・n(4,2048)、と並べる。これもハードウェア・レジスタへの設定であるから容易である。
【0018】
次いで上記のように並べ替えた図5(b)の要素データに対して、前から順に4つの要素データを加算してi蕃目の相関処理結果とする。つまり、上記で並べた要素データを一つづつシフトさせながら4個単位で加算し、これを各番目の相関演算処理の結果とする。具体的には、相関演算結果の1番目であるF(1)=n(1,1)+n(2,1)+n(3,1)+n(4,1)で、F(2)=n(2,1)+n(3,1)+n(4,1)+n(1,2)、・・・である。
上記したようにF(1)として4つのn要素データの加算値を求める処理方法を用いると、以下のF(2)は次式(1)で表せる。
F(2)=F(1)−n(1,1)+n(1,2) (1)
同様に、F(k+1)は、F(k)に対して以下の式(2)で求めることが出来る。
F(k+1)=F(k)−n(i,j)+n(i,j+1) (2)
ただし、j=mod(k,4)で、j+1は、k/4の整数部分である。
これは、上記の演算が4×2048回程度の加減算で求めることが出来ることを意味する。
【0019】
図8を用いて、別の視点からST21〜ST26bの処理を説明する。
GPS受信信号を4倍にオーバーサンプリングして受信したデータをd(1)〜d(8192)とする。また、スペクトル拡散コードをc(1)〜c(1023)とする。これらの相関演算を、数論変換を行わずに処理する場合を示したのが図8である。スペクトル拡散コードをGPS受信信号にあわせた4倍のデータ数にする場合、スペクトル拡散コードc(1)〜c(1023)を図の様にc(1),c(1),c(1),c(1),c(2),c(2),・・・というように同一のデータを4個毎に並べたデータにし、4096点のデータになるように0拡張することになる。
次に遅延時間τに対応する相関値F(τ)を求める場合には、次の式(3)の処理を行う。
【0020】
【数1】
【0021】
式(3)を変形すると次の式(4)になる。
【0022】
【数2】
【0023】
この式(4)が意味することは、ST22で示したようにデータを分割して数論変換後に相関演算を行い、数論逆変換して、各結果を合成すれば相関値を求めることになる。
即ち、式(3)をそのまま取扱って遅延時間を推定すると、ハードウェア規模が増大するが、本実施の形態の構成を採れば、規模増大を抑えられる。
【0024】
上記の説明では、4倍にオーバーサンプリングされたGPS信号を対象としたが、n倍にオーバーサンプリングされた信号であっても、同様に処理を行うことが出来る。
また上記では、数論変換演算器22a〜22c、乗算器23a、23b、数論逆変換演算器24a、24bを用いて処理を行ったが、図示しないクロックによる相関処理部7の演算速度が速い場合には、各要素である数論変換演算器と乗算器と数論逆変換演算器とが各1個しかない構成であっても同様に処理を行うことが出来る。この場合、ハードウェアの構成数を更に減らすことが可能である。
また逆に、数論変換演算器、乗算器、数論逆変換演算器が各4個の構成であっても同様に処理を行うことが可能であり、n倍にオーバーサンプリングされたGPS信号に対して、各要素をn個用意することにより処理を行うことも出来る。この場合にはハードウェア規模は大きくなるが、安価な素子を用いることができて演算時間を短縮し、高速に処理を行うことが出来る。
【0025】
以上のように、この実施の形態によれば、n倍にオーバーサンプリングされたデータであってもハードウェア規模を拡大せずに、数論変換を利用した相関演算処理を行うことができる。このため、FFT等を利用した相関処理に比べて、演算負荷を抑えることができるという効果が得られる。こうして相関処理部のハードウェア規模を抑えて、省電力化、装置の軽量化や製品のコストダウンなどを可能にする効果が得られる。また、GPS信号の受信から測位までの時間を短縮できる効果が得られる。
【0026】
実施の形態2.
上述の実施の形態1では、測位計算を行うために、先ずデータ分割部でデータを分割した後に、数論変換を用いた相関演算を行い、相関演算後にデータ合成部を用いてデータの合成を行っていた。しかし、最初にデータを合成(加算)した後に、数論変換を用いた相関演算処理を行い、相関値を算出することもできる。本実施の形態では、この最初にデータを合成して、要素データを区切って数論変換をして、相関演算処理を行って相関値を得る構成を説明する。
本実施の形態におけるGPS測位方法および測位装置のブロック構成自体は、実施の形態1の図1に示した構成と同様である。
図9は、本実施の形態におけるGPS測位システムおよびGPS測位装置の内部にある相関処理部7bの詳細構成を示す図である。図9において、データ記憶部5から読み出したGPS受信信号を加算処理するデータ加算・分割器26を除いて、他の要素は実施の形態1での要素と同等の要素である。
【0027】
全体の動作については、実施の形態1の動作と同じであり、図3に示した、ST1からST9までの処理を行う。
次に、図9で示した相関処理部7bの動作について、図9〜図11を用いて説明する。図10は、例えば上記測位装置1内の制御部13が処理プログラムを用いて実行する相関処理の動作を示すフローチャートである。
図10において、ST21の処理は、実施の形態1の動作と同じである。
次に、データ加算・分割器26は、図11に示す様に、GPS受信データを4倍にオーバーサンプリングした値がd(1)〜d(8184)まである場合、データを1つずつシフトさせながら4個単位で加算し、これを加算処理の結果とする(ステップST27)。例えば、1番目であるG(1)はd(1)+d(2)+d(3)+d(4)、2番目のデータG(2)はd(2)+d(3)+d(4)+d(5)、である。これらの演算を式(5)で示す。
G(k)=d(k)+d(k+1)+d(k+2)+d(k+3) (5)
【0028】
次に、データ加算・分割器26は、加算と分割の例を示す図11の様に、加算データが示すインディックスの4の剰余をとって分割する。図11の例では、図11(a)で受信データのd(1),d(2)・・・d(1023)を拡張してd(8184)まで得て,図11(b)のように4つの要素データを加算し,順次シフトして加算処理を行う。そして図11(c)のように乗算器23a,23bでそれぞれの相関乗算を行う。そして得られた結果がG(1)〜G(8184)まである場合、図11(d)でG(1)、G(5)、G(9)、・・・G(8181)をまとめて1つのデータブロックとし、これに0拡張を行って2048点のデータとして、データブロック1とする。
同様にして、データ加算・分割器26は、G(2)、G(6)、G(10)、・・・G(8182)をデータブロック2とし、G(3)、G(7)、G(11)、・・・G(8183)をデータブロック3とし、G(4)、G(8)、G(12)、・・・G(8184)をデータブロック4として、データを分割した後に各々0拡張を行う。そして各2048点のデータを、数論変換演算器22a、22bに渡す(ST28)。
図10のST23〜ST26の処理は、実施の形態1の動作と同じである。
即ち、本実施の形態においては、数論変換前にデータ加算・分割器26で加算処理を行うが、数論変換→乗算処理→逆数論変換という処理は、実施の形態1と同様に、分割されたデータブロックの中で閉じて行われる。
次に、相関処理結果記憶部8は、数論逆変換演算器24a、24bから算出されたデータを保存する。つまりデータブロック1の2048点の演算結果を、G(1),G(5),G(9)・・・G(8181)として保存する。
同様にして、相関処理結果記憶部8は、データブロック2の結果をG(2),G(6),G(10)・・・G(8182)というように数論変換前のインディックスに対応するように保存する(ST29)。
【0029】
上記の処理は、実施の形態1の式(4)で示した加算処理を最初に行う構成にしたものであり、演算結果は、実施の形態1と同じである。この様に、最初に加算処理を行うことにより、実施の形態1と同様の演算結果が得られ、構成を単純化出来る。このため、相関処理部7の構成要素を減らすことができ、省電力化、装置の軽量化や製品のコストダウンなどを可能にする効果がある。
【0030】
実施の形態3.
上述の実施の形態1では、データ分割器21でデータを分割した後に、データブロック毎に数論変換による相関処理を行っていた。2048点の数論変換では、2の32乗+1(4294967297)の法をとるため、データのビット長は32ビット必要となる。また、相関処理後のデータは2の31乗を超えないことがデータオーバーフローを起こさないための条件となる。
しかし、GPS受信信号が1ビットないし数ビット程度で、相関を行うスペクトル拡散コードも1ビットないし数ビットの場合には、相関後のデータは2の15乗以下となり、データビット長の半分が0となる。このような場合には、2つのデータを32ビット中に共存させることで、相関演算を高速化するという方法が考えられる。本実施の形態は、こうした少ない有効データを高速に取扱う構成と動作を説明する。
【0031】
例えば、GPS受信信号とスペクトル拡散コードが共に+1もしくは−1の2値であるとする。この時相関の最大値は+1023もしく−1023であり、2の10乗以下である。この場合には、図4に示したデータ分割器21で分割されたデータd(1)とd(2)から、数論変換演算器は、データH(1)=d(1)×216+d(2)を算出する。同様にして、d(3)とd(4)、d(5)とd(6)・・・に対して、以下の式(6)からH(k)を算出する。
H(k)=d(2k)×216+d(2k+1) (6)
上記の処理は、32ビットのデータの上位16bitにd(2k)を入力し、下位16bitにd(2k+1)を入力すればよく、演算は不要である。
算出したデータH(1)〜H(4096)で示されるインディックスの2の剰余をとってH(1)、H(3)、H(5)・・・H(4095)をデータブロック1とし、H(2)、H(4)、・・・H(4096)をデータブロック2とする。以後、乗算器23a,23b及び数論逆変換演算器23a,23bは、各データブロックに対して数論変換を用いた相関演算処理をする。相関処理後のデータの上位16ビットを奇数番のデータ、下位16ビットを偶数番のデータとして、データ合成器25はデータ統合の処理を行う。
データブロック1の相関処理後のデータL(2τ)は、式(7)で表される。
【0032】
【数3】
【0033】
各データの相関処理後のデータは±2の10乗以下であるため、式(7)のd(4k+1)の相関結果は下位16ビットの範囲内であり、d(4k)の相関結果は上位16ビットの範囲内となる。このため、相関処理後のデータを上位16ビットと下位16ビットに分割できる。このような処理により、数論変換による処理回数を半分にすることが出来、処理の演算回数を削減出来る。
以上のように、本実施の形態によれば、GPS受信信号とスペクトル拡散コードのデータ長が1ビットないし数ビットの場合、データを上位ビットと下位ビットに共存させることによって、相関処理の演算負荷を抑える効果がある。
こうして相関処理部のハードウェア規模を抑えることができ、省電力化、装置の軽量化や製品のコストダウンなどが可能にする効果が得られる。また、GPS信号の受信から測位までの時間を短縮する効果が得られる。
以上のように、この発明はGPS信号に対して数論変換を用いた相関演算による高速化処理を実現できるので、衛星からのGPS信号を受信して受信位置を高速に測位するGPS測位装置およびGPS測位方法の分野に適用される。
【図面の簡単な説明】
【0034】
【図1】この発明の実施の形態1における測位装置の構成を示す図である。
【図2】実施の形態1における測位装置内の相関処理部の詳細構成を示す図である。
【図3】実施の形態1における制御部が行う測位装置全体の動作フロー図である。
【図4】実施の形態1におけるデータ分割器が行なう動作を説明する図である。
【図5】実施の形態1におけるデータ合成器が行なう動作を説明する図である。
【図6】実施の形態1において相関処理部が実行する相関処理動作のフロー図である。
【図7】実施の形態1におけるスペクトル拡散コードとその並べ替えを説明する図である。
【図8】オーバサンプリングに対して通常の相関計算により遅延時間を求める例を示す図である。
【図9】この発明の実施の形態2における測位装置の構成を示す図である。
【図10】実施の形態2における測位装置内の相関処理部の詳細構成を示す図である。
【図11】実施の形態2における相関処理部の動作を説明する図である。
【符号の説明】
【0035】
1 測位装置、2 GPSアンテナ、3 受信部、4 A/D変換部、5 データ記憶部(メモリ)、6 スペクトル拡散コード発生部、7,7b 相関処理部、8 相関処理結果記憶部、9 遅延時間推定部、10 測位計算部、11 表示器(出力部)、12 測位データ記憶部、13 CPUを含む制御部、14 入力部、21 データ分割器、22a,22b 数論変換演算器、23a,23b 乗算器、24a,24b 数論逆変換演算器、25 データ合成器、26 データ加算・分割器、ST1 受信ステップ、ST4 相関演算ステップ、ST5 相関が最大の遅延時間推定ステップ、ST6 測位計算ステップ、ST21 スペクトル拡散コードの数論変換ステップ、ST22 受信データのデータ長分割ステップ、ST23 分割データの数論変換ステップ、ST24 数論変換データ間の乗算ステップ、ST25 乗算データの数論逆変換ステップ、ST26b 数論逆変換データの合成ステップ、ST27 受信データの加算処理ステップ、ST28 加算データの分割ステップ。
【特許請求の範囲】
【請求項1】
衛星からの測位信号を受信して擬似距離を算出する測位装置において、
上記衛星からの上記測位信号を受信する受信部と、
上記受信してディジタル化された測位信号を記憶するデータ記憶メモリと、
上記記憶されたディジタル化測位信号のデータを所定長以下の対象データ長になるように分割して対象データ長のデータを生成するデータ分割器と、分割して生成された上記対象データ長のデータが表す対象値を数論変換する数論変換器と、数論変換された上記対象値と上記衛星に対応するスペクトル拡散コードとの相関値を数論逆変換する数論逆変換器と、を設けて相関処理をする相関処理部と、
上記相関処理部が行った相関処理における最大相関結果で上記測位信号の遅延時間を推定する遅延時間推定部と、
上記推定された測位信号の遅延時間に基づいて測位計算を行う測位計算部と、
上記測位計算で得られた距離の表示を行う表示器と、を備えたことを特徴とする測位装置。
【請求項2】
相関処理部におけるデータ分割器は、ディジタル化測位信号をオーバーサンプリングして後、該オーバーサンプリングしたデータを所望の単位に分割して数論変換に用いる対象データ長のデータとし、
数論逆変換器は、上記対象データ長のデータが表す対象値を数論変換した結果とスペクトル拡散コードとの乗算器による乗算結果を数論逆変換し、
上記相関処理部は更にデータ合成器を備えて、該データ合成器は上記数論逆変換された値を加算して相関処理部が行う相関処理とすることを特徴とする請求項1記載の測位装置。
【請求項3】
相関処理部におけるデータ分割器は、ディジタル化測位信号をオーバーサンプリングして後、該オーバーサンプリングしたデータを設定長以下となる設定データ長に区切り、区切られた該設定データ長のデータを順に該設定データ長分ずらして所定分加算したデータが表す対象値を順に生成し、
数論逆変換器は、順に生成した上記対象値を数論変換した結果とスペクトル拡散コードとの乗算器による乗算結果を数論逆変換することを特徴とする請求項1記載の測位装置。
【請求項4】
相関処理部は、数論変換器と数論逆変換器とを、それぞれ複数備えたことを特徴とするする請求項2または請求項3記載の測位装置。
【請求項5】
相関処理部における数論変換器と数論逆変換器とは、上位データと下位データとに分けた対象値を設定し、該上位データと該下位データとを同時に演算して上位データが表す相関値と下位データが表す相関値とを同時に得ることを特徴ととする請求項1記載の測位装置。
【請求項6】
衛星からの測位信号を受信して擬似距離を算出する測位方法において、
受信部が、上記衛星からの上記測位信号を受信する受信ステップと、
上記受信してディジタル化された測位信号に対して、データ分割器が、該ディジタル化測位信号のデータを所定長以下の対象データ長になるように分割して対象データ長のデータを生成するデータ長分割ステップと、
数論変換器が、分割して生成された上記対象データ長のデータが表す対象値を数論変換する数論変換ステップと、
数論逆変換器が、数論変換された上記対象値と上記衛星に対応するスペクトル拡散コードとの相関値を数論逆変換する数論逆変換ステップと、
遅延時間推定部が、上記数論逆変換ステップで得られる相関処理における最大相関結果に基づいて上記測位信号の遅延時間を推定する遅延時間推定ステップと、
測位計算部が、上記推定された上記測位信号の遅延時間に基づいて測位計算を行う測位計算ステップと、を備えたことを特徴とする測位方法。
【請求項1】
衛星からの測位信号を受信して擬似距離を算出する測位装置において、
上記衛星からの上記測位信号を受信する受信部と、
上記受信してディジタル化された測位信号を記憶するデータ記憶メモリと、
上記記憶されたディジタル化測位信号のデータを所定長以下の対象データ長になるように分割して対象データ長のデータを生成するデータ分割器と、分割して生成された上記対象データ長のデータが表す対象値を数論変換する数論変換器と、数論変換された上記対象値と上記衛星に対応するスペクトル拡散コードとの相関値を数論逆変換する数論逆変換器と、を設けて相関処理をする相関処理部と、
上記相関処理部が行った相関処理における最大相関結果で上記測位信号の遅延時間を推定する遅延時間推定部と、
上記推定された測位信号の遅延時間に基づいて測位計算を行う測位計算部と、
上記測位計算で得られた距離の表示を行う表示器と、を備えたことを特徴とする測位装置。
【請求項2】
相関処理部におけるデータ分割器は、ディジタル化測位信号をオーバーサンプリングして後、該オーバーサンプリングしたデータを所望の単位に分割して数論変換に用いる対象データ長のデータとし、
数論逆変換器は、上記対象データ長のデータが表す対象値を数論変換した結果とスペクトル拡散コードとの乗算器による乗算結果を数論逆変換し、
上記相関処理部は更にデータ合成器を備えて、該データ合成器は上記数論逆変換された値を加算して相関処理部が行う相関処理とすることを特徴とする請求項1記載の測位装置。
【請求項3】
相関処理部におけるデータ分割器は、ディジタル化測位信号をオーバーサンプリングして後、該オーバーサンプリングしたデータを設定長以下となる設定データ長に区切り、区切られた該設定データ長のデータを順に該設定データ長分ずらして所定分加算したデータが表す対象値を順に生成し、
数論逆変換器は、順に生成した上記対象値を数論変換した結果とスペクトル拡散コードとの乗算器による乗算結果を数論逆変換することを特徴とする請求項1記載の測位装置。
【請求項4】
相関処理部は、数論変換器と数論逆変換器とを、それぞれ複数備えたことを特徴とするする請求項2または請求項3記載の測位装置。
【請求項5】
相関処理部における数論変換器と数論逆変換器とは、上位データと下位データとに分けた対象値を設定し、該上位データと該下位データとを同時に演算して上位データが表す相関値と下位データが表す相関値とを同時に得ることを特徴ととする請求項1記載の測位装置。
【請求項6】
衛星からの測位信号を受信して擬似距離を算出する測位方法において、
受信部が、上記衛星からの上記測位信号を受信する受信ステップと、
上記受信してディジタル化された測位信号に対して、データ分割器が、該ディジタル化測位信号のデータを所定長以下の対象データ長になるように分割して対象データ長のデータを生成するデータ長分割ステップと、
数論変換器が、分割して生成された上記対象データ長のデータが表す対象値を数論変換する数論変換ステップと、
数論逆変換器が、数論変換された上記対象値と上記衛星に対応するスペクトル拡散コードとの相関値を数論逆変換する数論逆変換ステップと、
遅延時間推定部が、上記数論逆変換ステップで得られる相関処理における最大相関結果に基づいて上記測位信号の遅延時間を推定する遅延時間推定ステップと、
測位計算部が、上記推定された上記測位信号の遅延時間に基づいて測位計算を行う測位計算ステップと、を備えたことを特徴とする測位方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−232694(P2007−232694A)
【公開日】平成19年9月13日(2007.9.13)
【国際特許分類】
【出願番号】特願2006−57956(P2006−57956)
【出願日】平成18年3月3日(2006.3.3)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成19年9月13日(2007.9.13)
【国際特許分類】
【出願日】平成18年3月3日(2006.3.3)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]