説明

信号処理装置及び信号処理プログラム

【課題】 GPS信号の受信感度が弱い場合でも外部から航法データを取得せず高感度にGPS測位でき、かつ、消費電力の少ないGPS測位装置を提供する。
【解決手段】 ベクトル追込部91は逆方向に向くことが認められた4本の複素数ベクトルを入力し、各複素数ベクトルが形成領域に含まれる初期ベクトル群を生成する。順位付与部92は初期ベクトル群の各複素数ベクトルに決定回転方向の順に1から4の順位を付与する。ベクトル群生成部93は初期ベクトル群のうち第1順位の複素数ベクトルの方向を反転し第1ベクトル群を生成し、第1、第2順位の複素数ベクトルの方向を反転し第2ベクトル群を生成し、第1〜第3順位の複素数ベクトルの方向を反転し第3ベクトル群を生成する。絶対値算出部94は初期ベクトル群と第1〜第3ベクトル群の4個の各ベクトル群について、ベクトル群に属する複素数ベクトルの総和の絶対値を算出し最大の絶対値を確定する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複素数として表現可能な電気信号を示す複素数データを複素数ベクトルとして処理する信号処理装置に関する。例えば、衛星からの測位信号を受信して受信位置を正確に検出する測位装置に関するものである。
【背景技術】
【0002】
従来のGPS(Global Positioning System)測位装置およびGPS測位方法において、衛星からのGPS信号は、見晴らしの良い環境に受信アンテナを設置した本部サーバと、当該本部サーバと有線または無線の通信媒体を介して接続されたGPS端末によって受信される。本部サーバはGPS信号からGPS航法データを算出する。一方、GPS端末はGPS信号の受信電界が良好であれば自らGPS信号から航法データを抽出し、受信電界が良好でなければ本部サーバから必要な航法データを受け取る。そして、GPS端末はGPS信号系列(C/Aコード)を、任意の位置で航法データの長さで分断し、各分断したC/Aコードを同一ビット位置の値を累積加算し、この累積加算結果を自己が検出した航法データあるいは本部サーバから受け取った航法データに基づいて極性を合わせて加算することで積み上げる(以下、この演算操作をコヒーレント積分と呼ぶ)。さらに、GPS端末はこの加算結果とGPS端末自身が有する全衛星のC/Aコードとの間で相関計算を行い、相関値が最大になる点を加算開始位置として求め、C/Aコードを加算することにより疑似距離を算出する。この擬似距離と前記抽出した航法データとによって位置計算を行う。
【0003】
このように、従来の高感度GPS測位装置では、受信電界が弱い場合には外部から航法データを取得してコヒーレント積分を行う。これにより、弱いGPS受信波しか受信できない室内のような環境でも測位が可能になる(例えば、特許文献1参照)。
【0004】
従来の高感度GPS測位装置およびGPS測位システムでは、高感度を実現するために、航法データを別途無線データリンク等を通じて外部のインフラ側から受信する必要がある。このため、無線データリンクが確実に受信できる範囲でしか高感度測位が実現できないという問題があった。
【0005】
また、このデータリンク、航法データ観測のためのインフラ構築、またはインフラサービス利用に、別途コストがかかるという問題も生じる。さらには、GPS測位装置に、無線データリンク受信機やアンテナを別途装着する必要があり、測位装置が大型かつ重くなって携帯に不便となる、装置コストが高くなる、消費電力増大による電池交換頻度が高まる等の問題があった。
【特許文献1】特開2001−349935号公報(第7頁左欄、図1)
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、GPS信号の受信感度が弱い場合にも、GPS測位装置以外の外部から航法データを取得することなく、高感度にGPS測位を実現することができるとともに、消費電力の少ないGPS測位装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の信号処理装置は、
複素数として表現可能な電気信号を示す複素数データを複素数ベクトルとして処理する信号処理装置において、
自身の方向と異なる少なくとも1つの方向が変更許容方向として予め設定されたn(n≧4)本の複素数ベクトルから構成される入力ベクトル群を入力し、入力した前記入力ベクトル群に属するn本の複素数ベクトルの全部が複素平面の原点を始点とする2本の半直線により形成された形成領域であって前記変更許容方向に対応して前記2本の半直線のなす角度が設定された形成領域の内部に含まれるかどうかを判定し、前記形成領域に含まれない複素数ベクトルを示す領域外ベクトルが存在すると判定した場合に、前記領域外ベクトルの前記変更許容方向のうちいずれかの方向に前記領域外ベクトルの方向を変更して前記領域外ベクトルを前記形成領域の内部に追い込み、n本の複素数ベクトルの全部が前記形成領域の内部に存在する複素数ベクトルの集合を示す初期ベクトル群を生成するベクトル追込部と、
複素平面の原点回りのいずれかの回転方向を決定回転方向として決定し、前記ベクトル追込部が生成した前記初期ベクトル群に属するn本の複素数ベクトルのそれぞれに対して、前記決定回転方向の順に第1順位から第n順位までの順位を付与する順位付与部と、
前記初期ベクトル群のうち第1順位の複素数ベクトルを前記変更許容方向に対応して設定された角度である方向対応角度だけ前記決定回転方向に回転させて第1ベクトル群を生成し、前記初期ベクトル群のうち第1順位と第2順位との複素数ベクトルを前記方向対応角度だけ前記決定回転方向に回転させて第2ベクトル群を生成し、以下、順次初期ベクトル群のうち第1順位から第k(3≦k≦n−1)順位までの複素数ベクトルを前記方向対応角度だけ前記決定回転方向に回転させて第kベクトル群を生成するベクトル群生成部と、
前記ベクトル追込部が生成した前記初期ベクトル群と前記ベクトル群生成部が生成した第1ベクトル群から第n−1ベクトル群までのn−1個のベクトル群とのn個のベクトル群ごとに、それぞれのベクトル群に属する複素数ベクトルの総和の絶対値を算出し、算出した前記絶対値のなかから最大値を確定する絶対値算出部と
を備えたことを特徴とする。
【発明の効果】
【0008】
この発明によれば、
GPS信号の受信感度が弱い室内であっても、外部から航法データを取得することなく、高感度にGPS測位を実現することができる。また、演算負荷を低減することができる。
【発明を実施するための最良の形態】
【0009】
実施の形態1.
図1〜図22を用いて、実施の形態1を説明する。実施の形態1は、複素数として表現可能な電気信号を示す複素数データを複素数ベクトルとして処理する信号処理装置(後述する航法データ探索部9は信号処理装置の一例)を備えたGPS測位装置に関するものである。実施の形態1に係る信号処理装置は、自身の方向と異なる少なくとも一つ方向を向くことが認められている複数の複素数ベクトルについて、それら複素数ベクトルのベクトル和の絶対値の最大値を、所定の方法で探索することを特徴とする。以下ではGPS測位装置に信号処理装置を用いる場合を説明するが、一例であり、これに限定するものではない。以下、図面を参照して説明する。
【0010】
図1は、本実施の形態1のGPS測位装置100の外観を示す。また、図2は、GPS測位装置100の構成を示す。図1に示すように、GPS測位装置100は、GPS衛星70a〜GPS衛星70b等からGPS信号を受信して位置を測定する。GPS測位装置100は、例えば、GPS測位機能を有する携帯電話や、携帯型のパーソナルコンピュータである。
【0011】
次に図2について説明する。図2に示す様に、GPS測位装置100は、以下の構成要素を備える。すなわち、GPS測位装置100は、GPS衛星からのGPS信号を受信するGPSアンテナ2と、GPSアンテナ2で受信したGPS信号の増幅等を行う受信部3と、受信部3からのアナログデータをデジタルデータに変換するA/D(Analog to Digital)変換部4と、A/D変換した受信データを記録するデータ記憶部5と、対象となる衛星のスペクトル拡散コード(C/Aコード)を生成するスペクトル拡散コード発生部6と、データ記憶部5に保持されているGPS受信信号とスペクトル拡散コード発生部6で生成されたC/Aコードとの相関処理をおこなう相関処理部7と、相関処理部7から送られてきたC/Aコード長単位の相関処理の結果を保存する相関処理結果記憶部8と、相関処理結果記憶部8の各データを複素平面上のベクトルとみなして最大値の探索を行う航法データ探索部9と、航法データ探索部9の結果の中で相関結果が最大となる値を算出し、遅延時間を推定する遅延時間推定部10と、遅延時間推定部10から送られてきた遅延時間から位置を計算する測位計算部11と、計算された位置から現在地を表示する表示部12とを備える。
【0012】
なお、図2には記載していないが、このGPS測位装置100を全体的に制御する制御部がある。この制御部は、データ記憶部5、スペクトル拡散コード発生部6、相関処理部7、相関処理結果記憶部8、航法データ探索部9、遅延時間推定部10、測位計算部11、表示部12等とシステムバス等を介して接続されており、これらの各部を制御する。
【0013】
また、上述の表示部12は、例えば図1に示すような液晶パネル等であるが、外部の記憶装置や他の信号処理装置、演算装置等へ出力しても構わない。
【0014】
次に図3を用いてGPS測位装置100の全体の動作について説明する。なお、GPS測位装置100の全体動作の説明後に、航法データ探索部9の動作を説明する。
【0015】
(1)GPS測位装置100では、まず、GPSアンテナ2がGPS信号を受信する。そして、受信部3が増幅や周波数の変換等の処理を行う。その後、A/D変換部4がA/D変換を行いアナログデータをデジタルデータに変換する(ステップST1)。
(2)A/D変換されたデータはデータ記憶部5に記録される(ステップST2)。
【0016】
(3)規定されたサイズのデータがデータ記憶部5に記録されると、スペクトル拡散コード発生部6は、衛星毎のC/Aコードを生成し相関処理部7に送る(ステップST3)。
(4)相関処理部7は、C/Aコードを時間τだけ遅延させる(ステップST4)。
(5)相関処理部7は、データ記憶部5からGPS受信信号を読み出し、時間τだけ遅延されたC/Aコードとの相関処理を行い、演算結果を相関処理結果記憶部8に送る(ステップST5)。
(6)相関処理部7は、遅延時間τがとりうる全ての値(0〜1ミリ秒)に関しての相関演算を処理するため、時間τだけ遅延されたスペクトル拡散コードと、GPS受信信号との相関演算を行う(ステップST6)。
【0017】
(7)相関処理部7は、データ記憶部5からGPS受信信号のデータを1ブロック(1ミリ秒に相当)シフトして読み出し、ステップST4〜ステップST6までの処理を繰り返す。データ記憶部5にある全てのGPS受信信号のデータに対して相関処理を行うまで、処理を繰りかえす(ステップST7)。相関処理部7は、相関処理結果を相関処理結果記憶部8に格納する。
【0018】
(8)次に、航法データ探索部9は、「同一chipの相関値データ」(1ミリ秒単位のデータの中で遅延時間τが同じ相関値)を、相関処理結果記憶部8から読み出して、20個単位(20ミリ秒長単位)で加算する(ステップST8)。
(9)航法データ探索部9は、20個単位の加算結果を複素平面上のベクトルとみなしてコヒーレント積分が極大(各ケースでの最大値)となる値を探索する(ステップST9)。
(10)航法データ探索部9は、20ミリ秒長単位の加算処理を1ミリ秒分シフトし、ステップST8、ステップST9の処理を繰り返す。19ミリ秒分シフトするまで、処理を繰り替えす(ステップST10)。
(11)航法データ探索部9は、全てのchipの相関値データに関して、ステップST8〜ステップST10までの処理を繰り返す(ステップST11)。
【0019】
(12)遅延時間推定部10は、航法データ探索部9の算出した各極大値の中から最大値を選び、その値に対応する遅延時間τをτmaxとして測位計算部11に送る。また遅延時間推定部10は、航法メッセージビットに対応する符号列を測位計算部11に送る(ステップST12)。
【0020】
(13)測位計算部11は、τmaxと符号列からGPS衛星とGPS測位装置との距離を算出する(ステップST13)。
(14)規定された数の衛星に対応するGPS測位装置との距離情報が得られるまで、ステップST3〜ステップST13の処理を繰り返す(ステップST14)。
(15)規定された数の衛星に対応する距離情報が得られた場合、測位計算部11は、各GPS衛星との距離から、GPS測位装置の位置を算出する(ステップST15)。
【0021】
(16)測位計算部11で得られた位置情報から、表示部12に現在位置を表示する(ステップST16)。
GPS測位装置は、以上の動作によりGPS衛星を利用した位置測定を行う。
【0022】
次に、スペクトル拡散コード発生部6、相関処理部7、相関処理結果記憶部8、航法データ探索部9、遅延時間推定部10の動作を説明する。これらの構成要素の説明の前に、まず、GPS信号のフォーマットを説明する。
【0023】
図4は、GPS信号のフォーマットを表したものである。図4に示す様に、GPS信号は、C/Aコードが20個(C(n,1)〜C(n,20))単位で、情報変調1bitぶんのBnを形成している。このC/Aコードは、スペクトル拡散変調されているとともに1周期が「1023チップ」である。図4におけるBn、及びC(n,1)〜C(n,20)の「1」または「0」の記号は、BPSK(Binary Phase Shift Keying)において、それぞれπまたは0位相変調されていることを意味する。「B1〜Bn〜」のビット列にはGPS衛星位置等の航法メッセージが書き込まれている。また、「1ミリ秒=1周期」のC/Aコードの中には1023チップのデータがあり、「1チップ」は「1」もしくは「0」の信号である。実際のGPS信号の処理では、「1023チップ」のデータを取得する際には、標本化定理により倍以上のサンプリング周波数でデータの標本化を行う。また、GPS衛星からの送信信号は、図4のフォーマットの信号を変調して電波として送信される。以下では、単純化のためチップ単位を基準に説明を行うこととし、1チップのデータは「複素数データ」として扱うものとする。
【0024】
ここでは、80ミリ秒長(C/Aコード80個分)のデータサイズのコヒーレント積分を行う場合について説明する。データ記憶部5は、GPS信号を保存するが、処理するデータサイズより20ミリ秒だけ長い、99ミリ秒のGPS信号が記録された時点で、相関処理部7による相関演算の処理が開始される。
【0025】
次に、スペクトル拡散コード発生部6の動作について説明する。スペクトル拡散コード発生部6は、各番衛星のC/Aコードを1ミリ秒の長さだけ生成する。測位地点ではどの衛星のGPS信号が受信できるかは、衛星の配置によって変化する。このため、対応するすべての衛星のC/Aコードを順次生成する。
【0026】
次に、相関処理部7、相関処理結果記憶部8の動作について説明する。図5、図6は、相関処理部7が実施する相関処理を示す図である。図6は、図5を単純化した図である。図6を参照して説明する。
(1)相関処理部7は、スペクトル拡散コード発生部6から相関処理を行う衛星の生成C/Aコード21を取り出す。また、データ記憶部5からGPS受信信号22を取り出す。
(2)次に、相関処理部7は、図6に示す生成C/Aコード21(状態1)を遅延時間τだけスライドする(図3のST4に対応)。ここでは、単純に遅延時間τは1チップ単位(1/1023ミリ秒)の長さとして、0秒から1022/1023ミリ秒までの値とする。すなわち、τ=0、1/1023、2/1023、・・・、1021/1023、1022/1023とする。この1023個のデータをτ〜τ1022/1023等の記号で説明する場合がある。このように、相関処理部7は、1チップずつτ〜τ1022/1023の1022回のスライドを行う。
【0027】
(1)次に相関処理部7は、図6の様に、あるτについて、「τ」ミリ秒と「τ+1022/1023」ミリ秒との範囲において、τだけ遅延させた生成C/Aコード21(状態1)とGPS受信信号22との相関を取る。そして、その結果をD(0,τ)として、相関処理結果記憶部8に書き込む。相関処理部7は、τの取りうる範囲(τ〜τ1022/1023)の全てに対してこの処理を行う。
(2)次に、相関処理部7は、GPS受信信号22を1ミリ秒スライドさせた、「τ+1」ミリ秒と「τ+1+1022/1023ミリ秒」との範囲においてGPS受信信号22と生成C/Aコード21(状態2)との相関をとり、結果をD(1,τ)として、相関処理結果記憶部8に書き込む。τの取りうる範囲(τ〜τ1022/1023)の全てに対してこの処理を行う。
(3)以下同様にして、相関処理部7は、「τ+n」ミリ秒と「τ+n+1022/1023」ミリ秒との範囲において、生成C/Aコード21とGPS受信信号22との相関をとり、結果をD(n,τ)として、相関処理結果記憶部8に書き込む。τの取りうる範囲(τ〜τ1022/1023)の全てに対してこの処理を行う。
(4)最後に(n=98の場合)、「τ+98」ミリ秒と「τ+98+1022/1023」ミリ秒との範囲において、生成C/Aコード21(状態3)とGPS受信信号22との相関結果であるD(98,τ)までの相関結果を算出し、相関処理結果記憶部8に書き込む。
(5)以上の処理により、例えば、一つのτについてD(0、τ)〜D(98、τ)の99個のデータが得られる。また、上記のようにτはτ〜τ1022/1023の1023個の場合がある。
【0028】
次に、図7、図8を参照して航法データ探索部9について説明する。航法データ探索部9は本実施の形態1の特徴部分である。航法データ探索部9の特徴は、後述の極大値K(0、τ)の求め方にある。詳細は後述するが、航法データ探索部9は、複素数として表現可能な電気信号を示す複素数データを複素数ベクトルとして処理する。以下のD(0,τ)、E(0,0,τ)、F(0,0,τ)、G(0,0,τ)、S(0,0,τ)等は複素数であり、航法データ探索部9はこれらを複素数ベクトルとみなして処理する。
【0029】
図7は、航法データ探索部9の構成図である。図に示す様に、航法データ探索部9は、加算部90、ベクトル追込部91、順位付与部92、ベクトル群生成部93、絶対値算出部94、符号列算出部95(2値対応情報生成部の一例)、及び出力部96を備える。これらの構成要素の機能は以下の動作の説明で述べる。
【0030】
次に,航法データ探索部9の動作を説明する。航法データ探索部9は、相関処理結果記憶部8に記録されている、τの値が同一のデータ、例えばτ=τについての相関データであるD(0,τ)〜D(98,τ)までの相関結果を取り出す。これらの値に対して、以下に示す(A1)〜(A9)の処理を行い、最大値M(τ)を算出する。
【0031】
図8は、航法データ探索部9の処理の概要を説明するための図である。図8でのτはτとする。航法データ探索部9は、相関処理結果記憶部8からD(0,τ)〜D(98,τ)までの99個の相関結果を取り出す。これらの値に対して、次のような処理により極大値M(τ)を算出する。
(1)図8において、航法データ探索部9は、まずD(0,τ)〜D(79,τ)を対象に処理を行なう。D(0,τ)〜D(19,τ)の20単位のデータについて加算しE(0,0,τ)を作成する。
同様に、
D(20,τ)〜D(39,τ)からE(1,0,τ)、
D(40,τ)〜D(59,τ)からE(2,0,τ)、
D(60,τ)〜D(79,τ)からE(3,0,τ
を作成する。ここで複素数ベクトルであるE(0,0,τ)〜E(3,0,τ)は、「自身の方向」とは異なる少なくとも1つの方向を向くことが、位相変調の方式に対応して許されている。これらの複素数ベクトルが向くことができる方向についての条件を「ベクトル方向条件」ということとする。例えば、0/π位相変調(BPSK)であれば、E(0,0,τ)〜E(3,0,τ)は「自身の方向」と反対方向に向くことが許される。この場合、E(0,0,τ)等の「ベクトル方向条件」は、「+方向」(自身の方向)、あるいは「−方向」(180度反対方向)である。E(0,0,τ)〜E(3,0,τ)のそれぞれが、「+方向」、あるいは「−方向」を向くことができるという条件のもとで、E(0,0,τ)〜E(3,0,τ)のベクトル和Sの絶対値|S|の最大値を、所定の手法で求めることが航法データ探索部9の特徴である。E(0,0,τ)〜E(3,0,τ)のそれぞれが、「+方向」、あるいは「−方向」を向くことができるという「ベクトル方向条件」のもとで、E(0,0,τ)〜E(3,0,τ)のベクトル和Sを
S=±E(0,0,τ)±E(1,0,τ)±E(2,0,τ)±E(3,0,τ
と書くこととする。
このように、航法データ探索部9は、上記の式で表されるベクトル和Sの絶対値|S|の最大値を求める。航法データ探索部9は、求めた絶対値の最大値をK(0、τ)(極大値と呼ぶ)とおく。
【0032】
(2)次に、航法データ探索部9は、図8においてD(1,τ)〜D(80,τ)を対象に処理を行い極大値K(1、τ)を算出する。
【0033】
(3)航法データ探索部9は、以下同様にして、K(2、τ)〜K(19、τ)を算出する。そして、K(0、τ)、K(0、τ)を含め、算出したK(0、τ)〜K(19、τ)のなかで最大のものを最大値M(τ)として算出する。
【0034】
(4)次に、航法データ探索部9は、τについてのデータである相関処理結果記憶部8からD(0,τ)〜D(98,τ)までの99個の相関結果を取り出し、同様の処理を行い最大値M(τ)を算出する。
(5)以下同様にしてM(τ)〜M(τ1022)を算出し、全部でM(τ)〜M(τ1022)のデータを算出する。そして、航法データ探索部9は、これら全部でM(τ)〜M(τ1022)のデータを遅延時間推定部10に送り、遅延時間推定部10は、M(τ)〜M(τ1022)の中から最大のものを選択する。
【0035】
次に図9〜図15を用いて、航法データ探索部9の動作を説明する。
図9は、航法データ探索部9の動作を示すフローチャートである。
図10は、航法データ探索部9の動作の説明の(A1)〜(A8)で使用する数式をまとめたものである。
図11は、図8で示したK(0、τ)を求める場合に対応する図である。
図12は、航法データ探索部9が複素数ベクトルを処理する様子を説明する図である。
図13は、図12(b)を抜き出した図である。
図14は、後述の「極大値符号列」を説明する図である。
図15は、後述の(条件1)、(条件2)を示す図である。
【0036】
(A1)
航法データ探索部9の加算部90は、図8、あるいは図11に示す様に、各データD(0、τ)等を20個単位で加算して和をとる。加算部90は、例えば図8に示したように、D(0,τ)からD(19,τ)までの20個のデータの和をとり、これをとE(0,0,τ)する。
加算部90は、同様にして、
D(20,τ)からD(39,τ)までの和であるE(1,0,τ)を求め、
D(40,τ)からD(59,τ)までの和をとりE(2,0,τ)を求め、
D(60,τ)からD(79,τ)までの和をとりE(3,0,τ)を求める。
すなわち加算部90は、
E(0,0,τ)=D(0,τ) +・・・+D(19,τ
E(1,0,τ)=D(20,τ)+・・・+D(39,τ
E(2,0,τ)=D(40,τ)+・・・+D(59,τ
E(3,0,τ)=D(60,τ)+・・・+D(79,τ
を求める。
【0037】
(A2)
ベクトル追込部91は、加算部90が算出したE(0,0,τ)〜E(3,0,τ)の4本の複素数ベクトルから構成されるベクトル群を「入力ベクトル群」として入力する。この場合、複素数ベクトルであるE(0,0,τ)〜E(3,0,τ)は、図12の(a)入力ベクトル群であるとする。なお図12ではE(0,0,τ)〜E(3,0,τ)をE0〜E3と簡略表記している。
次に、ベクトル追込部91は、E(0,0,τ)、E(1,0,τ)、E(2,0,τ)、E(3,0,τ)の値において、実数部が負の場合に、その値(実数部と虚数部)に−1をかける(ベクトルの方向を反転させる)。この操作により、ベクトル追込部91は、図12(a)入力ベクトル群において虚数軸の左側(第2象限及び第3象限)に存在する複素数ベクトルE(1,0,τ)とE(2,0,τ)とを虚数軸の右側の領域(第1象限あるいは第4象限、図21の説明で後述する形成領域)に追い込み、図12(b)の初期ベクトル群を生成する。ベクトル追込部91は、虚数軸の右側の領域に存在することとなった複素数ベクトルと図12(a)の入力ベクトル群における複素数ベクトルとの関係を次のように定め、F(0,0,τ)〜F(3,0,τ)を含む「初期ベクトル群」を設定する。
すなわち、
F(0,0,τ)=+E(0,0,τ)、
F(1,0,τ)=−E(1,0,τ)、
F(2,0,τ)=−E(2,0,τ)、
F(3,0,τ)=+E(3,0,τ
とする。
また、ベクトル追込部91は、入力ベクトル群に属するE(0,0,τ)〜E(3,0,τ)の実数部の正負の情報を「初期符号列」として取得し、保持する。例えば、図12の(a)の場合では、E(0,0,τ)〜E(3,0,τ)の実数部の符号は順に
「正、負、負、正」
である。よって、ベクトル追込部91は、「初期符号列」として
「+1,−1,−1,+1」
を保存する。
【0038】
(A3)
次に、順位付与部92は、図12(b)に示す「初期ベクトル群」に属するF(0,0,τ)〜F(3,0,τ)について、虚数部を実数部で割って各値の正接(タンジェント)を求める。
【0039】
(A4)
次に、順位付与部92は、
F(0,0,τ)、F(1,0,τ)、F(2,0,τ)、F(3,0,τ)の値を、各正接の値の大小で並び替える。すなわち、虚数軸の右側領域(第1象限と第4象限)において、原点に関し左回りを基準として順位を付与する。そして、図12(b)に示す様に、正接の値の小さい順に
G(0,0,τ)、G(1,0,τ)、G(2,0,τ)、G(3,0,τ
とする。図13は、図12(b)を抜き出した図である。図13の例では、正接の小さい順に、
F(2,0,τ)、F(0,0,τ)、F(1,0,τ)、F(3,0,τ
と並んでいる。このため、順位付与部92は、これを順に
F(2,0,τ)=G(0,0,τ)、
F(0,0,τ)=G(1,0,τ)、
F(1,0,τ)=G(2,0,τ)、
F(3,0,τ)=G(3,0,τ)、
と置き換える。
すなわち、順位付与部92は、
F(2,0,τ)に第1順位を付与し、
F(0,0,τ)に第2順位を付与し、
F(1,0,τ)に第3順位を付与し、
F(3,0,τ)に第4順位を付与する。
【0040】
(A5)
ベクトル群生成部93は、図12(b)に示す初期ベクトル群に対応して
S(0,0,τ)=G(0,0,τ)+G(1,0,τ)+G(2,0,τ)+G(3,0,τ) (式1)
を設定する。
【0041】
(A6)
次に、ベクトル群生成部93は、図12(b)の初期ベクトル群をもとにして、第1ベクトル群から第3ベクトル群を生成する。これを説明する。
(1)図12(c)は第1ベクトル群を示す。ベクトル群生成部93は、(b)に示す初期ベクトル群のうちG(0,0,τ)を180度反対向きにして、(c)の第1ベクトル群を生成する。
(2)次にベクトル群生成部93は、第1ベクトル群のうちG(1,0,τ)を180度反対向きにして、図12(d)に示す第2ベクトル群を生成する。第2ベクトル群は、初期ベクトル群に対してG(0,0,τ)とG(1,0,τ)とを180度反対向きにしたものである。
(3)次にベクトル群生成部93は、第2ベクトル群のうちG(2,0,τ)を180度反対向きとして、図12(e)に示す第3ベクトル群を生成する。第3ベクトル群は、初期ベクトル群に対してG(0,0,τ)とG(1,0,τ)とG(2,0,τ)とを180度反対向きとしたものである。
(4)ベクトル群生成部93は、図12(c)〜(e)に示す第1ベクトル群〜第3ベクトル群に対応して次のS(1,0,τ)〜S(3,0,τ)を示す(式2)〜(式4)を設定する。
S(1,0,τ)=S(0,0,τ)−2*G(0,0,τ) (式2)
S(2,0,τ)=S(1,0,τ)−2*G(1,0,τ) (式3)
S(3,0,τ)=S(2,0,τ)−2*G(2,0,τ) (式4)
これらのS(0,0,τ)〜S(2,0,τ)を展開すると(式5)から(式7)となる。
【0042】
S(1,0,τ)=−G(0,0,τ)+G(1,0,τ)+G(2,0,τ)+G(3,0,τ) (式5)
S(2,0,τ)=−G(0,0,τ)−G(1,0,τ)+G(2,0,τ)+G(3,0,τ) (式6)
S(3,0,τ)=−G(0,0,τ)−G(1,0,τ)−G(2,0,τ)+G(3,0,τ) (式7)
【0043】
(A7)
絶対値算出部94は、S(0,0,τ)〜S(3,0,τ)のそれぞれの絶対値を計算し、そのなかから絶対値の最大値を確定する。すなわち、絶対値算出部94は、図8に示したように、ベクトル和S(0,0,τ)〜S(3,0,τ)までの値の中で、絶対値が最大となるものを確定し、その絶対値が最大のものを極大値K(0,τ)とする。
【0044】
一方、符号列算出部95は、上記の(A2)においてベクトル追込部91が取得、保持した「初期符号列」と、(式1)、(式5)〜(式7)とから極大値K(0,τ)に対応するE(0,0,τ)〜E(3,0,τ)の符号列を「極大値符号列」(2値対応情報の一例)として算出し保持する。この「極大値符号列」は、最大値(例えば、極大値K(0、τ))を与えるベクトル群に属する4本の複素数ベクトルのそれぞれが、「0」、「1」とのいずれの値に対応するかを示す情報である。
図14を用いて「極大値符号列」の算出について説明する。
E(0,0,τ)〜E(3,0,τ)の値が、複素平面上で図13のような値だった場合、E(0,0,τ)〜E(3,0,τ)の実数部の符号である「初期符号列」は、
「+1,−1,−1,+1」
となる。これは、図12(a)に対応している。
また、E(0,0,τ)〜E(3,0,τ)の値と(A3)、(A4)の処理を行ったあとのG(0,0,τ)〜G(3,0,τ)との対応関係は、
E(0,0,τ)→G(1,0,τ)、
E(1,0,τ)→G(2,0,τ)、
E(2,0,τ)→G(0,0,τ)、
E(3,0,τ)→G(3,0,τ
である。
このとき、例えば、S(2,0,τ)が極大値になったと想定する。すなわち
|S(2,0,τ)|=K(0,τ
の場合である。これは図12(d)の第2ベクトル群が最大値を与える場合に対応する。この場合、
(式6)、あるいは図12(d)から、S(2,0,τ)の場合のG(0,0,τ)〜G(3,0,τ)の符号列は、
「−1,−1,+1,+1」
となる。これをE(0,0,τ)〜E(3,0,τ)とG(0,0,τ)〜G(3,0,τ)の対応関係順に並び替えると、
「G1、G2、G0、G3」
の順になる。図14に示す様にこれを「算出符号列」と呼ぶこととする。そうすると
算出符号列は、
「−1,+1,−1,+1」
となる。この算出符号列の各符号と「初期符号列」である
「+1,−1,−1,+1」
の各符号を掛け合わせると
「−1,−1,+1,+1」
となる。これを「極大値符号列」と呼ぶ。このようにして、符号列算出部95は、「初期符号列」と「算出符号列」とから、極大値に対応するE(0,0,τ)〜E(3,0,τ)の符号列を示す「極大値符号列」を算出する。符号列算出部95は、算出した「極大値符号列」を保持する。
【0045】
(A8)
次に加算部90は、(A1)の処理の20単位の和を1つずらして処理する。図8を参照すれば、極大値K(0,τ)の算出が終了したため、次に、K(1,τ)の算出処理に進む。具体的には図8に示すように、加算部90は
D(1,τ)からD(20,τ)までの20個のデータの和をとりE(0,1,τ)とする。
さらに、
D(21,τ)からD(40,τ)までの和をE(1,1,τ)、
D(41,τ)からD(60,τ)までの和をE(2,1,τ)、
D(61,τ)からD(80,τ)までの和をE(3,1,τ
とする。これらのE(0,1,τ)〜E(3,1,τ)に対して、E(0,0,τ)〜E(3,0,τ)の場合と同様に、上記(A2)〜(A7)までの処理を行い、極大値K(1,τ)を算出する。
【0046】
(A9)
以下同様にして、図8に示すように20単位の和を1つづつずらして処理を行い、航法データ探索部9は、加算部90〜絶対値算出部94等の処理動作により、極大値K(2,τ)〜K(19,τ)を確定する。そして、絶対値算出部94は各極大値K(0,τ)〜K(19,τ)の中で最大のものをM(τ)として選択して出力部96に送信する。出力部96は、絶対値算出部94から送信されたM(τ)を遅延時間推定部10に送る。
【0047】
(A10)
航法データ探索部9は、図8に示す様に、τについてM(τ)を算出した後は、別のτ、例えばτについてM(τ)を求めるため、上記(A1)〜(A9)の処理を実施する。そして、出力部96は、絶対値算出部94からM(τ)〜M(τ1022)の送信を受け、これらを遅延時間推定部10に出力する。
【0048】
(A11)
遅延時間推定部10は、絶対値算出部94から受け取ったM(τ)〜M(τ1022)の中で値が最大となるものをMAXとする。そして、そのMAXにおけるτをτmaxとして、測位計算部11に送る。符号列算出部95は、(A7)で述べたように各極大値K(n、τ)(n=0〜19、i=0〜1022)についての「極大値符号列」を算出し保持している。出力部96は、符号列算出部95から各極大値K(n、τ)についての「極大値符号列」を取得し、遅延時間推定部10に出力する。遅延時間推定部10は、出力部96から受信した最大値MAXに対応する「極大符号列」を出力部96から受信した「極大値符号列」の中から検索し、測位計算部11に送る。
【0049】
上記のような処理を行うことにより、航法データ探索部9と遅延時間推定部10とは、相関が最大となる遅延時間τmaxを求めることが出来る。(A1)や(A8)、(A9)の様に、20単位の和を1つづつずらす処理は、図4のビット情報B1〜B4の切れ目の探索に相当する。C/Aコードは同位相のコードが20回連続するが、GPS信号を受信する際には、どこが20回連続の開始点か分からない。このため、1つづつずらすことにより探索を行う。
【0050】
次に、図16〜図20を用いて、航法データ探索部9の処理における数学的な理由付けを説明する。以下の説明は、特に、ベクトル追込部91、順位付与部92、ベクトル群生成部93の動作に関係する。
【0051】
航法データ探索部9は、図12(a)の入力ベクトル群について、それぞれの複素数ベクトルが自身の方向(+方向)に対して180度の方向(−方向)を向くことを認めた場合に、そのベクトル和Sの絶対値の最大値の探索を図12(b)〜(e)の手法で行う点が特徴である。
換言すれば、E(0,0,τ)〜E(3,0,τ)のそれぞれが、「+」(複素数ベクトルとして自身の方向)あるいは「―」(複素数ベクトルとして自身の反対向きの方向)を取りうる場合に、次式のベクトル和Sの絶対値の最大値(以下、MAX|S|と記載する場合がある)を求める手法に特徴がある。
S=±E(0,0,τ)±E(1,0,τ)±E(2,0,τ)±E(3,0,τ)
例えばMAX|S|を探索する一つの方法としては、
E(0,0,τ)、E(1,0,τ)、E(2,0,τ)、E(3,0,τ)
の符号を変化させることがある。各Eの符号を変化させることでMAX|S|を探索することができる。この場合、MAX|S|を求めるには、2=16(通り)のSの式について計算をすれば、MAX|S|を決定することができる。
【0052】
これに対して、航法データ探索部9は、E(0,0,τ)〜E(3,0,τ)の4本の複素数ベクトルについて、下記の(条件1)、(条件2)に基づきMAX|S|を求める。
【0053】
E(0,0,τ)〜E(3,0,τ)の値は複素数であり、複素平面上のベクトルとみなせる。このため、最大値の探索は、上記のように各ベクトルEの符号を変化させて、4本のベクトルの和となるベクトルSの絶対値が最大となる場合を求めればよい。各ベクトルEの符号は正もしくは負の状態をとる(0/π変調に対応)。よって、組み合わせは2=16(通り)である。このように各ベクトルEに対して、「+」あるいは「−」のいずれかの方向を向くことを認めた場合、4つのベクトルを1つの「ベクトル群」とみなすと、ベクトル和の絶対値の最大値の決定に対して、以下の(条件1)、(条件2)が成り立つ。なお(条件1)、(条件2)は、図15に別途記載した。
【0054】
(条件1)
それぞれのベクトルについて、自身の方向と反対方向を向くことを認めた場合、すなわち、各ベクトルが「+」、あるいは「―」のいずれかを取る場合、ベクトル和Sの絶対値|S|が最大となるのは、「ベクトル群のなす角」が180度(πラジアン)未満となる組み合わせである。
【0055】
(条件2)
あるベクトルの状態を固定し、ベクトル群を座標平面の原点に対して反時計回りに見て、その固定したベクトルが最初に来る(起点となる)ように見た場合、「ベクトル群のなす角」が180度未満になる組み合わせは、ただ1つだけ存在する。
【0056】
まず図16、図17を用いて「ベクトル群のなす角」を説明する。
(1)「ベクトル群のなす角」とは、複数のベクトルのある組み合わせの状態において、2本のベクトルのなす角の内側に他のベクトルを全て含み、角度が最小となる角をいうものとする。
(2)図16では、4本のベクトルa0〜a3がある。このとき、「ベクトル群のなす角」は、a0とa1とのなす角「θ1」となる。「θ1」は内側にa3,a2を含む。a0とa1のなす角は、(360°−θ1)でもあるが、この場合、内側にa3,a2を含まない。よって、「ベクトル群のなす角」ではない。
(3)また、a3とa2とを基準としてこれらのなす角「φ」の内側にa0とa1を含むようにとることもできる。しかし、この場合、明らかにφはθ1より大きくなる。よって「φ」は、「ベクトル群のなす角」ではない。
(4)また、a3とa1のなす角は、どのようにとっても、a0とa2を共に内側に含むようにならない。よって、これらは「ベクトル群のなす角」とはならない。
(5)また、図17では、4本のベクトルb0〜b3がある。この場合は、b0とb3のなす角「θ2」が「ベクトル群のなす角」である。「θ2」は、内側にb1,b2を含む。
【0057】
次に図18を参照して背理法により図15の(条件1)が正しいことを示す。
【0058】
仮に、(条件1)が正しくないと仮定し、図18に示すように「ベクトル群のなす角θ」が180度以上の状態でベクトルの和の絶対値が最大になったとする。この時、4本のベクトルをc0〜c3の4本のベクトル和をSとする。
すなわち、
S=c0+c1+c2+c3
このとき、ベクトルck(kは0〜3の値)の向きを180度逆にした状態での4本のベクトルの和をS’kとすると、以下の(式8)、(式9)が導ける。
【0059】
【数1】

【0060】
【数2】

【0061】
(式9)でβkは、ベクトルSとベクトルckのなす角である。上記仮定の
「「ベクトル群のなす角」が180度以上である。」
ということから、βkが90°以上となるベクトルckがかならず存在する。
例えば、図18では、
「ベクトル群のなす角θ」=β0+β1>180°
であり、β0、β1のどちらかが必ず90°以上になる。図18では、ベクトルSがベクトルc0とc1との内側にある場合であるが、外側にある場合は、β2、β3のどちらかが必ず90°以上になる。このため、(式9)の第3項cosβkがマイナスとなるものが存在し、ベクトルS’kの絶対値がベクトルSの絶対値よりも大きくなるものが存在する。これは、ベクトルSの絶対値が最大であるという仮定と矛盾する。このため、「背理法」から図15の(条件1)が成り立つ。
【0062】
次に図19、図20を参照し、「背理法」により図15の(条件2)が正しいことを示す。
まず、図19において、ベクトルd0〜d3があるものとする。また、−d1から−d3は、d1からd3に「−1」をかけて向きを180°逆にしたベクトルである。この時、d0を起点となるように固定し、ベクトルd0と重なる直線をL0とする。この時、他の各ベクトルのとる状態はd1〜d3、−d1〜−d3のいずれかとなる。ここで、d0以外のベクトルが図19に示すL0を境界とする斜線側の領域にくるような組み合わせにすれば、d0を起点として「ベクトル群のなす角」は180°未満となる。これから、あるベクトルの状態を固定し、ベクトル群を反時計回りに見てそのベクトルが最初に来る(起点となる)ようにした場合、
「ベクトル群のなす角」<180度
になる組み合わせは、必ず1つ以上存在することが分かる。
【0063】
次に、仮に、図15の(条件2)が正しくないと仮定し、あるベクトルの状態を固定し、ベクトル群を反時計回りに見てそのベクトルが起点となるようにした場合、「ベクトル群のなす角」が180度未満になる組み合わせ(状態)が2つ以上あるものと仮定する。このとき、2つの状態は異なるため、起点となるベクトル以外のいずれかのベクトルで向きが180°異なるものが必ず1つ以上あることになる。このとき、起点となるベクトルをe0、向きが180°異なるベクトルをe1,−e1、他のベクトルをe2,e3とする。これを図20に示す。この時、e1とe0のなす角をφ1、−e1とe0のなす角をφ2とする。φ1が180°未満であれば
φ2=φ1+180°
が成り立ち、φ2は180°以上になる。
また、φ2が180°未満であれば
φ1=φ2+180°
が成り立ち、φ1は180°以上になる。
例えば、図20では、φ2が180°以上になるが、この状態では、「ベクトル群のなす角」を表すのはd2と−d1のなす角になる。これは、ベクトルd0が起点となり「ベクトル群のなす角」が180°未満になるという仮定と矛盾する。
【0064】
したがって、「背理法」より、あるベクトルの状態を固定し、ベクトル群を反時計回りに見てそのベクトルが起点となるようにした場合、「ベクトル群のなす角」が180度未満になる組み合わせは、1つ以下しか存在しない。また、上記から、このような状態は1つ以上存在することが分かっている。よって、このような状態はただ1つだけ存在する。これから、図15の(条件2)が成り立つ。
【0065】
上記では、ベクトルが4本の例を示した。これは4本に限らず、ベクトルの本数が任意のn本数の場合でも、図15に示した(条件1)と(条件2)とが成り立つことは明らかである。
【0066】
このため、(条件1)と(条件2)とから、ベクトルがn本あるときに、「ベクトル群のなす角」が180度未満になる状態は、「2n個」あることになる。
【0067】
さらに、この2n個の中で、あるベクトルfが起点となる場合、fと−fという状態を取るため、2n個の状態の中には回転対称となる組が必ずある。このことから、「ベクトル群のなす角」が180度未満になる状態のうち、互いに回転対象となる一方を除いたn個の状態を探索すれば、その中にベクトル和Sの絶対値が最大となる状態が存在することになる。
【0068】
よって、上記で示した(A2)〜(A7)の処理は、(条件2)に対応して、起点となるベクトルを固定して「ベクトル群のなす角」が180未満となるものを探索していることに他ならない。図21は図15に示した(条件1)、(条件2)に基づいてベクトル追込部91、順位付与部92、ベクトル群生成部93、絶対値算出部94等が処理を行なう動作を示すフローチャートである。前述の図12を参照して図を説明する。
(1)S201において、ベクトル追込部91は、図12(a)に示す様に、自身の方向と異なる少なくとも1つの方向が「変更許容方向」として予め設定された4本の複素数ベクトルE0〜E3から構成される入力ベクトル群を入力する。「変更許容方向」とは、各複素数ベクトルが向くことが認められた方向である。この「変更許容方向」は、位相変調方式に基づいて予め設定されている。図12の場合では、4本の各複素数ベクトルの「変更許容方向」は、「自身の方向」に対して180度反対の方向である。前記のように、「変更許容方向」は位相変調方式に基づいて予め設定されおり、本実施の形態1では0/π変調であるので、「変更許容方向」は180度反対の方向として設定されている。後述のように、4相位相変調方式の場合は、「自身の方向」に対して原点左回りに、90度方向、180度方向、270度方向の3つが設定される。従って4相位相変調方式の場合は、各複素数ベクトルは「自身の方向」を含め、4通りの方向を向き得る。
次に、ベクトル追込部91は、入力ベクトル群に属する4本の複素数ベクトルの全部が「形成領域」に含まれるかどうかを判定する。ここで「形成領域」とは、複素平面の原点を始点とする2本の半直線により形成された領域であり、かつ、「変更許容方向」に対応して2本の半直線のなす角度が予め設定された領域をいう。「変更許容方向」が180度反対の方向の場合、「形成領域」は、図12(a)に示す様に、原点を始点とし虚数軸の方向と一致する半直線31と原点を始点とし虚数軸の方向と反対方向の半直線32とから形成される「形成領域33」(第1象限と第4象限から成る領域)である。図12(a)では、E1、E2が「形成領域33」に含まれていない。「形成領域33」に含まれない複素数ベクトルを「領域外ベクトル」ということとする。
ベクトル追込部91は、「領域外ベクトル」が存在する場合、「変更許容方向」のうちいずれかの方向に領域外ベクトルの方向を変更して領域外ベクトルを前記形成領域の内部に追い込む。図12(a)の場合は「変更許容方向」は反対方向のみである。よって、ベクトル追込部91は、E1とE2とを「変更許容方向」である反対方向に方向を変更し、「形成領域33」に追い込む。追い込んだ状態が図12(b)である。ベクトル追込部91は、図12(b)に示すように、追い込むことにより全部の複素数ベクトルが「形成領域33」に存在する「初期ベクトル群」を生成する。
(2)S202において、順位付与部92は、図12(b)に示す様に、複素平面の原点回りのいずれかの回転方向を決定回転方向として決定し、初期ベクトル群に属する4本の複素数ベクトルのそれぞれに対して、決定回転方向の順に第1順位から第4順位までの順位を付与する、図12(b)では、順位付与部92は原点に対して左回りを「決定回転方向」として決定した場合を示している。順位付与部92は初期ベクトル群に属する4本の複素数ベクトルをG0〜G3として、第1順位〜第4順位を付与する。図12(b)の初期ベクトル群において、起点となるベクトルはG0である。
(3)S203において、ベクトル群生成部93は、第1ベクトル群〜第3ベクトル群を生成する。ベクトル群生成部93は、初期ベクトル群のうちG0(第1順位の複素数ベクトル)を変更許容方向に対応して設定された角度である「方向対応角度」だけ「決定回転方向」に回転させて第1ベクトル群を生成する。図12に示す設例では、「方向対応角度」は180度であり、「決定回転方向」は前記のように原点に対して左回りである。これは反転することと同じである。よってベクトル群生成部93は、図12(c)に示す様に、初期ベクトル群のG0のみを反転して第1ベクトル群を生成する。図12(c)において起点となるベクトルはG1である。
次に、ベクトル群生成部93は初期ベクトル群のうちG0(第1順位)とG1(第2順位)とを「方向対応角度」(180度)だけ「決定回転方向」(左回り)に回転させて第2ベクトル群を生成する。図12(d)において起点となるベクトルはG2である。
同様に、ベクトル群生成部93は初期ベクトル群のうちG0(第1順位)とG1(第2順位)とG2(第3順位)とを「方向対応角度」(180度)だけ「決定回転方向」(左回り)に回転させて第3ベクトル群を生成する。図12(e)において起点となるベクトルはG3である。
(4)S204において、
絶対値算出部94は、初期ベクトル群S0、第1ベクトル群S1〜第3ベクトル群S3の計4個のベクトル群ごとに、それぞれのベクトル群に属する複素数ベクトルの総和の絶対値を算出し、算出した絶対値のなかから最大値を確定しこれをK(0、τ)とする。このような処理を行うことにより、相関が最大となるK(0、τ)を少ない演算回数で求めることが出来る。
【0069】
上記ではn=4の場合を説明したが、n=4に限らない。nは3でもよいし、5以上であって構わない。
【0070】
上記では、BPSKのように0、π変調されているGPS信号を対象としている場合を説明した。このため、ベクトルのとる向きは「+1」(0度)もしくは「−1」(180度)の2状態しか取らない。しかし、これは一例であり、90度(QPSK:4相位相変調方式)や45度(8相位相変調方式)等のさらに細分化された位相変調方式で処理されている信号であっても、上記(A1)〜(A11)に示したのと同様の処理を適用することができる。これにより、高速に最大値を探索することが出来る。
【0071】
図22は、90度(QPSK:4相位相変調方式)の場合を説明する図である。図22を参照して4相位相変調方式の場合を説明する。
(1)S201に対応して、ベクトル追込部91は、図22(a)に示す様に、自身の方向と異なる少なくとも1つの方向が「変更許容方向」として予め設定された4本の複素数ベクトルE0〜E3から構成される入力ベクトル群を入力する。図22(a)の場合は4相位相変調方式である。よって、4本の各複素数ベクトルの「変更許容方向」は、「自身の方向」に対して原点左回りに、90度方向、180度方向、270度方向の3つが設定される。
次に、ベクトル追込部91は、入力ベクトル群に属する4本の複素数ベクトルの全部が「形成領域」に含まれるかどうかを判定する。図22(a)において、「変更許容方向」が90度方向、180度方向、270度方向の場合、「形成領域」は、図22(a)に示す様に、原点を始点とし虚数軸の方向と一致する半直線41と原点を始点とし実数軸の方向と一致する半直線42とから形成される「形成領域43」(第1象限)である。ベクトル追込部91は、領域外ベクトルE1、E2、E3の方向を変更して「形成領域43」の内部に追い込む。図22(a)の場合は「変更許容方向」は3方向ある。ベクトル追込部91は、E1、E2、E3とを「変更許容方向」のうちいずれかの方向に方向を変更し、「形成領域43」に追い込む。ベクトル追込部91は、E1については左回りに270度方向を変更し、E2については左回りに180度方向を変更し、E3については左回りに90度方向を変更して「形成領域43」に追い込む。
(2)S202に対応して、順位付与部92は、図22(b)に示す様に、複素平面の原点回りのいずれかの回転方向(左回りとする)を決定回転方向として決定し、初期ベクトル群に属する4本の複素数ベクトルのそれぞれに対して、決定回転方向の順に第1順位から第4順位までの順位を付与する。
順位付与部92は初期ベクトル群に属する4本の複素数ベクトルをG0〜G3として、第1順位〜第4順位を付与する。
(3)S203に対応して、ベクトル群生成部93は、第1ベクトル群〜第3ベクトル群を生成する。ベクトル群生成部93は、初期ベクトル群のうちG0(第1順位の複素数ベクトル)を変更許容方向に対応して設定された角度である「方向対応角度」だけ「決定回転方向」に回転させて第1ベクトル群を生成する。図22に示す設例では、「方向対応角度」は90度であり、「決定回転方向」は前記のように原点に対して左回りである。よってベクトル群生成部93は、図22(c)に示す様に、初期ベクトル群のG0のみを左回りに90度回転して第1ベクトル群を生成する。図22(c)において起点となるベクトルはG1である。次に、ベクトル群生成部93は初期ベクトル群のうちG0(第1順位)とG1(第2順位)とを「方向対応角度」(90度)だけ「決定回転方向」(左回り)に回転させて第2ベクトル群を生成する。図22(d)において起点となるベクトルはG2である。同様に、ベクトル群生成部93は初期ベクトル群のうちG0(第1順位)とG1(第2順位)とG2(第3順位)とを「方向対応角度」(90度)だけ「決定回転方向」(左回り)に回転させて第3ベクトル群を生成する。図22(e)において起点となるベクトルはG3である。
(4)S204に対応して、絶対値算出部94は、初期ベクトル群、第1ベクトル群〜第3ベクトル群の計4個のベクトル群ごとに、それぞれのベクトル群に属する複素数ベクトルの総和の絶対値を算出し、算出した絶対値のなかから最大値を確定する。
【0072】
(A2)〜(A7)の処理を行う場合、ベクトルの並び替え以外の計算オーダOは、O(n)である。また、ベクトルの並び替えは、ソートと同様の処理であり、計算オーダはO(n)もしくは、O(nlogn)程度である。「+」あるいは「−」のいずれかの方向を向きうるn本のべクトルの方向の組み合わせは2である。したがって、単純に最大値を探索する場合の計算オーダはO(2)である。このことから、(A2)〜(A7)の処理を行うことにより、劇的に計算オーダを減らすことが出来き、高速に処理を行うことができる。
【0073】
以上のように、この実施の形態1によれば、航法データ探索部9によって航法メッセージデータを探索することによりGPS信号の相関処理の最大値を算出することができる。このため、GPS信号の受信感度が弱い室内等であっても、外部から航法データを取得せずに、GPSによる測位が行えるという効果が得られる。
【0074】
また、外部から航法データを取得するためのアンテナ、受信装置等を必要としないため、装置の軽量化や製品のコストダウンを図ることが可能になるという効果が得られる。また、演算負荷を大幅に抑えることができるという効果が得られる。これにより、コヒーレント積分演算装部のハードウェア規模を抑えることができるため、省電力化、装置の軽量化などが可能になるという効果が得られる。また、GPS信号の受信から測位までの時間を短縮できるという効果が得られる。
【0075】
実施の形態1のGPS測位装置100は、航法データ探索部9を備えたので、ベクトル群のベクトル和の絶対値の最大値を迅速に探索することができる。このため、GPSの測位処理を迅速に行うことができる。また、測位処理における消費電力を抑制することができる。このため、携帯端末でGPS測位処理を行う場合に特に有利である。
【0076】
実施の形態1のGPS測位装置100は、符号列算出部95を備えたので、ベクトル和の絶対値が最大値を与えるベクトル群に属する複素数ベクトルそれぞれが2値のうちいずれの値に対応するのかを容易知ることができる。
【0077】
実施の形態2.
図23〜図27を用いて実施の形態2を説明する。実施の形態1では、航法データ探索部9は、各チップ単位でデータを複素平面上のベクトルとみなして最大値の探索を行っていた。しかし、最大値を求める場合、各ベクトルの要素の値から、最大値となりうるかどうかを判断することが出来る。この方法により、演算負荷を減らすことができる。実施の形態2は、実施の形態1で説明した図8において、例えば、K(0、τ)が最大値M(τ)になる可能性があるかどうかを判定する。そして、「可能性がある」と判定した場合には、航法データ探索部9は、
=±E(0,0,τ)±E(1,0,τ)±E(2,0,τ)±E(3,0,τ)
で表されるベクトル和Sの絶対値の最大値の探索を開始する。
一方、航法データ探索部9は「可能性がない」と判定した場合には、E(0,0,τ)〜E(3,0,τ)についての処理を実行せず、次の入力ベクトル群であるE(0,1,τ)〜E(3,1,τ)を入力して
=±E(0,1,τ)±E(1,1,τ)±E(2,1,τ)±E(3,1,τ)についてK(1、τ)が最大値M(τ)になる可能性があるかどうかを判定する。
【0078】
図23は、実施の形態2におけるGPS測位装置200の構成を示すブロック図である。図23に示すGPS測位装置200は、図2に示した実施の形態1のGPS測位装置100に対して、航法データ探索部9が最大値予測判定部201(実行判定部の一例)と閾値記憶部202とを備えた点が異なる。それ以外の構成要素については、実施の形態1と同じである。
【0079】
最大値予測判定部201は、各データのベクトル(E(0,0,τ)等)の要素(E(0,0,τ)等の実数部、虚数部)の値(それぞれの絶対値)から、例えば、
=±E(0,0,τ)±E(1,0,τ)±E(2,0,τ)±E(3,0,τ)
が最大値M(τ)となりうるかどうかを判断する。
すなわち図8を参照して説明すれば、最大値予測判定部201は、τ=τとすれば、0から19のうちのいずれかの値iについて、
=±E(0,i,τ)±E(1,i,τ)±E(2,i,τ)±E(3,i,τ)
が最大値M(τ)となりうるかどうかを判断する。
【0080】
図24は、実施の形態2の航法データ探索部9の構成図である。実施の形態1の図7の航法データ探索部9に対して、閾値記憶部202を備えるとともに、ベクトル追込部91が最大値予測判定部201を備えた点が異なる。それ以外の構成要素については、実施の形態1の図7の航法データ探索部9と同じである。
【0081】
次に、図25を参照して、実施の形態2の航法データ探索部9の最大値予測判定部201の動作の概要を説明する。図25は、航法データ探索部9の動作を含むGPS測位装置200の動作概要のフローチャートである。なお、最大値予測判定部201の更に詳しい動作は、図26の説明で後述する。
【0082】
図25のステップST1からステップST7までの処理は、実施の形態1の図3の動作と同じであるので説明を省略する。ステップST21から説明する。
【0083】
(1)加算部90は、同一chipの相関値データ(1ミリ秒単位のデータの中で遅延時間τが同じ相関値)を、相関処理結果記憶部8から読み出し、20個単位(20ミリ秒長単位)で加算する(ステップST21)。これは図3のステップST8と同じ動作である。図8を参照して説明すると、D(0,τ)〜D(79,τ)等からE(0,0,τ)〜E(3,0,τ)等を生成するステップである。
(2)次に、最大値予測判定部201は、20個単位の加算結果(例えば、E(0,0,τ)〜E(3,0,τ)等)の各要素(実数部、虚数部)の絶対値をとり、要素単位で加算する。各要素の加算結果のどちらか(実数部、虚数部のどちらか)が、閾値記憶部202が記憶する予め設定された「閾値」を超えているかどうかを判断する。
(3)最大値予測判定部201が「閾値」を超えていると判断した場合は、航法データ探索部9は、実施の形態1で説明した図9の(A2)〜(A7)の通常の処理を実行し、極大値K(0,τ)を求める(ステップST9)。
(4)一方、最大値予測判定部201が、各要素の加算結果が共に(実数部、虚数部のいずれも)、前記「閾値」以下であると判断した場合は、航法データ探索部9は、ステップST9の処理を行わず、ステップST10の処理を実行する。すなわち、最大値予測判定部201が前記「閾値」を超えないと判断した場合は、E(0,0,τ)〜E(3,0,τ)について図9の(A2)〜(A7)の処理を行うことなく、加算部90から次の入力ベクトル群であるE(0,1,τ)〜E(3,1,τ)を入力して、同じ処理を繰り返す。その後のステップST9からステップST16までの処理は、実施の形態1の図3に示した動作と同じである。
【0084】
実施の形態2のGPS測位装置200は、以上の動作によりGPS衛星を利用した位置測定を行う。
【0085】
次に、図26のフローチャートを参照して、最大値予測判定部201の動作を詳しく説明する。ここでは、実施の形態1の場合と同様に、80ミリ秒(スペクトル拡散コード80個分)のデータサイズのコヒーレント積分を行う場合について説明する。
【0086】
下記に示す様に(B1)において、加算部90が、実施の形態1の航法データ探索部9の処理同様に、相関処理結果記憶部8に記録されている、τの値が同一(例えば、τ=τとする)のデータ、D(0,τ)からD(98,τ)までの相関結果を取り出す。加算部90は、これらのデータを加算してE(0,0,τ)等を算出する。
【0087】
そして、最大値予測判定部201は、図8に示したようなD(0,τ)〜D(98,τ)の値から得られたE(0,0,τ)等に対して、以下の(B2)〜(B4)までの処理を行う。すなわち、最大値予測判定部201は、(B2)〜(B4)の判定処理により、E(0,0,τ)〜E(3,0,τ)の入力ベクトル群に対して以降の処理(図9に示した(A2)〜(A7)の処理)を行うか否かを判定する。
【0088】
(B1)
加算部90は、図27に示すように、各データを20個単位で和をとる。図27は、図8で説明した加算の方式と同じ内容を示している。
すなわち、加算部90は、
D(0,τ)からD(19,τ)までの20個のデータの和をとりE(0,0,τ)とする。
同様にして、
D(20,τ)からD(39,τ)までの20個のデータの和をとりE(1,0,τ)とする。
D(40,τ)からD(59,τ)までの20個のデータの和をとりE(2,0,τ)とする。
D(60,τ)からD(79,τ)までの20個のデータの和をとりE(3,0,τ)とする。
従って、
E(0,0,τ)=D(0,τ) +・・・+D(19,τ
E(1,0,τ)=D(20,τ)+・・・+D(39,τ
E(2,0,τ)=D(40,τ)+・・・+D(59,τ
E(3,0,τ)=D(60,τ)+・・・+D(79,τ
【0089】
(B2)
最大値予測判定部201は、E(0,0,τ)〜E(3,0,τ)のそれぞれの複素数ベクトルについて、実数部と虚数とを分けて抽出する。
実数部をEr(0,0,τ)〜Er(3,0,τ)、
虚数部をEi(0,0,τ)〜Ei(3,0,τ
とする。
【0090】
(B3)
最大値予測判定部201は、各実数部、各虚数部の絶対値をとり、実数部、虚数部ごとに和をとる。
各実数部の絶対値の和をSr(0,0,τ)、
各虚数部の絶対値の和をSi(0,0,τ
とする。
Sr(0,0,τ)とSi(0,0,τ)とを式で表せば、次の(式10)、(式11)となる。
Sr(0,0,τ)=|Er(0,0,τ)|+|Er(1,0,τ)|+|Er(2,0,τ)|+|Er(3,0,ττ)| (式10)
Si(0,0,τ)=|Ei(0,0,τ)|+|Ei(1,0,τ)|+|Ei(2,0,τ)|+|Ei(3,0,τ)| (式11)
【0091】
(B4)
閾値記憶部202は、実数部Sr(0,0,τ)に対応する閾値Pr、虚数部Si(0,0,τ)に対応する閾値Piを記憶している。最大値予測判定部201は、閾値記憶部202が記憶する閾値である閾値Prと、閾値Piと、Sr(0,0,τ)と、Si(0,0,τ)とに基づいて、E(0,0,τ)〜E(3,0,τ)についての処理を実行するか、すなわち、E(0,0,τ)〜E(3,0,τ)に対応する初期ベクトル群等を生成する一連の処理(図9に示した(A2)〜(A7)の処理)を実行するかどうかを判定する。
(1)最大値予測判定部201は、
「Sr(0,0,τ)>Pr」と、「Si(0,0,τ)>Pi」との
少なくともいずれかが成立する場合、E(0,0,τ)〜E(3,0,τ)に対応する一連の処理を実行すると判定する。この場合、航法データ探索部9は、ベクトル追込部91が入力ベクトル群であるE(0,0,τ)〜E(3,0,τ)に対応する初期ベクトル群を生成する等の一連の処理((A2)〜(A7)の処理)を実行する。
(2)最大値予測判定部201は、
「Sr(0,0,τ)≦Pr」かつ「Si(0,0,τ)≦Pi」
が成立する場合、E(0,0,τ)〜E(3,0,τ)に対応する一連の処理を実行しないと判定する。この場合、航法データ探索部9のベクトル追込部91は、入力ベクトル群であるE(0,0,τ)〜E(3,0,τ)に対応する初期ベクトル群を生成することなく、E(0,0,τ)〜E(3,0,τ)に対する処理を終了する。そして、最大値予測判定部201は、加算部90から次の入力ベクトル群E(0,1,τ)〜E(3,1,τ)を入力し、前回の入力ベクトル群であるE(0,0,τ)〜E(3,0,τ)に対して行ったのと同様の判定処理を行う。以下、同様の処理を繰り返す。
【0092】
最大値予測判定部201が上記のような判定を行うことにより、航法データ探索部9は、相関が最大となりえない値の演算を省略することが出来る。よって、航法データ探索部9での演算を減らすことが出来る。これにより、全体の演算回数を減らすことが出来る。
【0093】
(B2)〜(B4)で説明した最大値予測判定部201の処理について、数学的根拠を説明する。複素平面上に原点を始点とする任意のベクトルc、c、c、cがあるとする。各ベクトルの座標を(x,y)〜(x,y)、ベクトルの和Sとする。このとき、三角不等式から以下の(式12)が成り立つ。
【0094】
【数3】

【0095】
この(式12)から、各ベクトルの実数部の絶対値の和、虚数部の絶対値の和を取ったときに、ベクトルの大きさは、これらの値の和よりも小さくなることが分かる。このため、実数部の絶対値の和、虚数部の絶対値の和が適切な「閾値」以下であれば、それらのベクトルの和は最大値となりえないことが、航法データ探索部9の一連の演算を行うことなく容易に判定できる。
【0096】
上記の閾値に関しては、過去の経験等から定められた固定値であってもよい。例えば、GPS測位の環境が大幅に変化しない場合は、閾値を、GPS受信信号の利得等から過去の最大値のn分の1等の値設定すればよい。
【0097】
また、航法データ探索部9で求めた局所的な最大値の実数部、虚数部の値を閾値としても良い。この場合は、閾値は動的に変化していくことになる。また、航法データ探索部9で求めた局所的な最大値をMAXとした時、下記の(式13)に示すような「MAXr」を閾値としてもよい。
【0098】
【数4】

【0099】
以上のように、この実施の形態2によれば、最大値予測判定部201で、処理を行うデータが最大値となりうるかどうかを判定することで、航法データ探索部9での処理回数を削減することができる。これにより、処理全体の演算回数を削減することができるという効果が得られる。これにより、コヒーレント積分演算装手段のハードウェア規模を抑えることができるため、省電力化、装置の軽量化などが可能になるという効果が得られる。また、GPS信号の受信から測位までの時間を短縮できるという効果が得られる。
【0100】
実施の形態2のGPS測位装置200は、
最大値予測判定部201を備えたので、航法データ探索部9の演算処理回数を低減することができる。よって、GPS測位処理の迅速化、及び消費電力の低減をいっそう図ることができる。
【0101】
実施の形態3.
図28、図29を用いて実施の形態3を説明する。実施の形態3は、実施の形態1のGPS測位装置の動作を、プログラム及びプログラムを記録した記録媒体により実施する実施形態である。
【0102】
前記の実施の形態1においては、GPS測位装置における「〜部」として示した各構成要素の動作は互いに関連しており、動作の関連を考慮しながら、コンピュータに実施させる一連の処理(プログラム)に置き換えることができる。各構成要素の動作を一連の処理に置き換えることにより、信号処理プログラムの実施形態とすることができる。また、この信号処理プログラムを、コンピュータ読み取り可能な記録媒体に記録させることで、プログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。この場合、コンピュータとは、例えば、図1に示すような、プログラムを実行可能な携帯電話などが該当する。また、プログラムを記録したコンピュータ読み取り可能な記録媒体としては、図1に示すような、メモリカードが該当する。
【0103】
図28は、図7に示したGPS測位装置100における航法データ探索部9の
(1)ベクトル追込部91の動作、
(2)順位付与部92の動作、
(3)ベクトル群生成部93の動作、
(4)絶対値算出部94の動作を、
コンピュータに実施させるための一連の処理に置き換えて信号処理プログラムの実施形態としたフローチャートを示す。図28は、図21のフローチャートに対応する。
【0104】
S301は、図21のS201に対応する処理であり、入力ベクトル群を入力し、初期ベクトル群を生成する処理である。
【0105】
S302は、図21のS202に対応する処理であり、初期ベクトル群の複素数ベクトルに順位を付与する処理である。
【0106】
S303は、図21のS203に対応する処理であり、第1ベクトル群〜第3ベクトル群を生成する処理である。
【0107】
S304は、図21のS204に対応する処理であり、絶対値を算出し、その中から最大値を確定する処理である。
【0108】
プログラムの実施の形態及びプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態は、すべてコンピュータで動作可能なプログラムにより構成することができる。
【0109】
図29は、GPS測位装置100の動作を実行するコンピュータシステム800のハードウェア構成図である。図29において、コンピュータシステム800は、プログラムを実行するCPU(Central Processing Unit)810を備えている。CPU810は、バス830を介してROM811、RAM812、ディスプレイ813、操作キー814、、受信部816、スペクトル拡散コード発生部817及びフラッシュメモリ820と接続されている。
【0110】
フラッシュメモリ820には、オペレーティングシステム(OS)821、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823は、CPU810、OS821、ウィンドウシステム822により実行される。
【0111】
上記プログラム群823には、実施の形態1の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
【0112】
また、ファイル群824には実施の形態1で説明したGPS受信信号データ、相関処理結果データ、閾値等を記憶する。
【0113】
図2のGPS測位装置100と図29のコンピュータシステム800との対応関係を説明する。
(1)GPS測位装置100のGPSアンテナ、及び受信部3は、コンピュータシステム800の受信部816及びプログラム群823が記憶するプログラムが対応する。
(2)スペクトル拡散コード発生部6は、スペクトル拡散コード発生部817が対応する。
(3)A/D変換部4、相関処理部7、航法データ探索部9、遅延時間推定部10及び測位計算部11は、プログラム群823に記憶されたプログラムが対応する。
(4)データ記憶部5、相関処理結果記憶部8はファイル群824及びプログラム群823が記憶するプログラムが対応する。
(5)表示部12は、DSP813が対応する。
【0114】
図2において「〜部」として説明したものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【0115】
プログラムの実施の形態及びプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態における各処理は、プログラムで実行されるが、このプログラムは、前述のようにプログラム群823に記録されている。そして、プログラム群823からCPU810に読み込まれ、CPU810によって、プログラムの各処理が実行される。
【0116】
また、ソフトウェア、あるいはプログラムは、ROM811に記憶されたファームウェアで実行されても構わない。あるいは、ソフトウェアとファームウェアとハードウェアの組み合わせでプログラムを実行しても構わない。
【0117】
実施の形態3の信号処理プログラムは、コンピュータに、初期ベクトルを生成する処理と、初期ベクトル群に属する複数の複素数ベクトルに順位を付与する処理と、順位付けされた複数の複素数ベクトルを含む初期ベクトル群をもとに所定のベクトル群を生成する処理と、初期ベクトル群及び前記所定のベクトル群について、そのベクトル群に属する複素数ベクトルのベクトル和の絶対値の最大値を確定する処理とを実行させる。このため、ベクトル群のベクトル和の絶対値の最大値を迅速に探索することができる。よって、GPS測位処理に適用することにより、GPS測位処理を迅速に行うことができる。また、測位処理における消費電力を抑制することができる。このため、携帯端末でGPS測位処理を行う場合に特に有利である。
【0118】
以上のように、衛星からのGPS信号を受信して増幅および復調を行う受信手段と、前記復調された信号をA/D変換するA/D変換手段と、前記A/D変換された信号を記憶する記憶手段と、衛星毎のスペクトル拡散コードを発生するスペクトル拡散コード発生手段と、前記A/D変換されたGPS信号とスペクトル拡散コードとの相関処理を行う相関処理手段と、前記相関処理の結果を記憶する相関処理結果記憶手段と、前記相関処理結果記憶手段に記録されたデータを複素平面上のベクトルとみなして最大値の探索を行う航法データ探索手段と、前記航法データ探索手段の結果の中で相関結果が最大となる値を算出し、遅延時間を推定する遅延時間推定手段と、この遅延時間推定手段から出力された遅延時間に基づいて対応する衛星と自分との距離を算出し、この距離に基づき自分の現在の位置を算出する測位計算手段とを備えたGPS測位装置を説明した。
【0119】
以上のように、前記相関処理結果記憶手段に記録されたデータのベクトルの要素の値から、最大値となりうるかどうかを判断する最大値予測判定手段を備えたGPS測位装置を説明した。
【0120】
以上のように、前記最大値予測判定手段は、過去のGPS受信信号の利得等から、閾値を定めるGPS測位装置を説明した。
【0121】
以上のように、前記最大値予測判定手段は、前記航法データ探索手段の局所的な最大値から、閾値を定めるGPS測位装置を説明した。
【産業上の利用可能性】
【0122】
以上のように、この発明はコヒーレント積分を実行することにより高感度GPS測位を実現することができるので、衛星からのGPS信号を受信して受信位置を正確に測位するGPS測位装置およびGPS測位方法の分野に適用される。
【図面の簡単な説明】
【0123】
【図1】実施の形態1におけるGPS測位装置100の外観を示す図である。
【図2】実施の形態1におけるGPS測位装置100の構成を示す図である。
【図3】実施の形態1におけるGPS測位装置100の動作の概要を示すフローチャートである。
【図4】実施の形態1におけるGPS信号のフォーマットを表したものである。
【図5】実施の形態1における相関処理部7が実施する相関処理を示したものである。
【図6】図5をさらに単純化した図である。
【図7】実施の形態1における航法データ探索部9の構成図である。
【図8】実施の形態1における航法データ探索部9の処理動作の概要を説明する図である。
【図9】実施の形態1における航法データ探索部9、遅延時間推定部の動作を説明する図である。
【図10】実施の形態1における(A1)〜(A9)の処理に登場する数式をまとめた図である。
【図11】図8のK(0、τ)を求める場合に対応する図である。
【図12】実施の形態1における航法データ探索部9が複素数ベクトルを処理する様子を説明する図である。
【図13】図12の(b)を抜き出した図である。
【図14】実施の形態1における極大値符号列を説明する図である。
【図15】実施の形態1における(条件1)、(条件2)を示す図である。
【図16】実施の形態1における「ベクトル群のなす角」を説明するための図である。
【図17】実施の形態1における「ベクトル群のなす角」を説明するための図である。
【図18】実施の形態1における(条件1)の証明を説明する図である。
【図19】実施の形態1における(条件2)の証明を説明するための図である。
【図20】実施の形態1における(条件2)の証明を説明するための図である。
【図21】実施の形態1における航法データ探索部9の処理過程を示すフローチャートである。
【図22】実施の形態1における4相位相変調を説明するための図である。
【図23】実施の形態2におけるGPS測位装置200の構成図である。
【図24】実施の形態2における航法データ探索部9の構成図である。
【図25】実施の形態2におけるGPS測位装置200の動作の概略図である。
【図26】実施の形態2における加算部90、最大値予測判定部201のフローチャートである。
【図27】実施の形態2におけるデータ処理を示す図である。
【図28】実施の形態3における信号処理プログラムの処理ステップを示すフローチャートである。
【図29】実施の形態3におけるコンピュータシステム800のハードウェア構成図である。
【符号の説明】
【0124】
2 GPSアンテナ、3 受信部、4 A/D変換部、5 データ記憶部、6 スペクトル拡散コード発生部、7 相関処理部、8 相関処理結果記憶部、9 航法データ探索部、10 遅延時間推定部、11 測位計算部、12 表示部、20 GPS信号フォーマット、21 生成C/Aコード、22 GPS受信信号、70a,70b,70c,70d GPS衛星、90 加算部、91 ベクトル追込部、92 順位付与部、93 ベクトル群生成部、94 絶対値算出部、95 符号列算出部、96 出力部、100 GPS測位装置、200 GPS測位装置、201 最大値予測判定部、202 閾値記憶部、800 コンピュータシステム、810 CPU、811 ROM、812 RAM、813 DSP、814 操作キー、816 受信部、817 スペクトル拡散コード発生部、820 フラッシュメモリ、821 OS、822 ウィンドウシステム、823 プログラム群、824 ファイル群、825 GPS受信信号データ、826 相関処理結果データ、827 閾値データ、830 バス。

【特許請求の範囲】
【請求項1】
複素数として表現可能な電気信号を示す複素数データを複素数ベクトルとして処理する信号処理装置において、
自身の方向と異なる少なくとも1つの方向が変更許容方向として予め設定されたn(n≧4)本の複素数ベクトルから構成される入力ベクトル群を入力し、入力した前記入力ベクトル群に属するn本の複素数ベクトルの全部が複素平面の原点を始点とする2本の半直線により形成された形成領域であって前記変更許容方向に対応して前記2本の半直線のなす角度が設定された形成領域の内部に含まれるかどうかを判定し、前記形成領域に含まれない複素数ベクトルを示す領域外ベクトルが存在すると判定した場合に、前記領域外ベクトルの前記変更許容方向のうちいずれかの方向に前記領域外ベクトルの方向を変更して前記領域外ベクトルを前記形成領域の内部に追い込み、n本の複素数ベクトルの全部が前記形成領域の内部に存在する複素数ベクトルの集合を示す初期ベクトル群を生成するベクトル追込部と、
複素平面の原点回りのいずれかの回転方向を決定回転方向として決定し、前記ベクトル追込部が生成した前記初期ベクトル群に属するn本の複素数ベクトルのそれぞれに対して、前記決定回転方向の順に第1順位から第n順位までの順位を付与する順位付与部と、
前記初期ベクトル群のうち第1順位の複素数ベクトルを前記変更許容方向に対応して設定された角度である方向対応角度だけ前記決定回転方向に回転させて第1ベクトル群を生成し、前記初期ベクトル群のうち第1順位と第2順位との複素数ベクトルを前記方向対応角度だけ前記決定回転方向に回転させて第2ベクトル群を生成し、以下、順次初期ベクトル群のうち第1順位から第k(3≦k≦n−1)順位までの複素数ベクトルを前記方向対応角度だけ前記決定回転方向に回転させて第kベクトル群を生成するベクトル群生成部と、
前記ベクトル追込部が生成した前記初期ベクトル群と前記ベクトル群生成部が生成した第1ベクトル群から第n−1ベクトル群までのn−1個のベクトル群とのn個のベクトル群ごとに、それぞれのベクトル群に属する複素数ベクトルの総和の絶対値を算出し、算出した前記絶対値のなかから最大値を確定する絶対値算出部と
を備えたことを特徴とする信号処理装置。
【請求項2】
信号処理装置は、さらに、
前記ベクトル追込部が入力した前記入力ベクトル群に属するn本の複素数ベクトルのそれぞれの自身の方向と、前記絶対値算出部が確定した前記最大値を与えるベクトル群に属するn本の複素数ベクトルのそれぞれの方向とに基づいて、前記最大値を与えるベクトル群に属するn本の複素数ベクトルのそれぞれが異なる2値のうちいずれの値に対応するかを示す2値対応情報を生成する2値対応情報生成部を備えたことを特徴とする請求項1記載の信号処理装置。
【請求項3】
信号処理装置は、さらに、
所定の閾値を記憶する閾値記憶部を備え、
前記ベクトル追込部は、
入力した前記入力ベクトル群に属するn本の複素数ベクトルのそれぞれの実数部の絶対値と、虚数部の絶対値と、前記閾値記憶部が記憶する閾値とに基づいて、入力した前記入力ベクトル群に対応する前記初期ベクトル群を生成する生成処理を実行するかどうかを判断し、実行しないと判断した場合に、前記生成処理を実行することなく前記入力ベクトル群とは異なる次の入力ベクトル群を入力する実行判定部を備えたことを特徴とする請求項1記載の信号処理装置。
【請求項4】
複素数として表現可能な電気信号を示す複素数データを複素数ベクトルとして処理する信号処理装置において、
自身の方向と異なる少なくとも1つの方向が変更許容方向として予め設定された3本の複素数ベクトルから構成される入力ベクトル群を入力し、入力した前記入力ベクトル群に属する3本の複素数ベクトルの全部が複素平面の原点を始点とする2本の半直線により形成された形成領域であって前記変更許容方向に対応して前記2本の半直線のなす角度が設定された形成領域の内部に含まれるかどうかを判定し、前記形成領域に含まれない複素数ベクトルを示す領域外ベクトルが存在すると判定した場合に、前記領域外ベクトルの前記変更許容方向のうちいずれかの方向に前記領域外ベクトルの方向を変更して前記領域外ベクトルを前記形成領域の内部に追い込み、3本の複素数ベクトルの全部が前記形成領域の内部に存在する複素数ベクトルの集合を示す初期ベクトル群を生成するベクトル追込部と、
複素平面の原点回りのいずれかの回転方向を決定回転方向として決定し、前記ベクトル追込部が生成した前記初期ベクトル群に属する3本の複素数ベクトルのそれぞれに対して、前記決定回転方向の順に第1順位から第3順位までの順位を付与する順位付与部と、
前記初期ベクトル群のうち第1順位の複素数ベクトルを前記変更許容方向に対応して設定された角度である方向対応角度だけ前記決定回転方向に回転させて第1ベクトル群を生成し、前記初期ベクトル群のうち第1順位と第2順位との複素数ベクトルを前記方向対応角度だけ前記決定回転方向に回転させて第2ベクトル群を生成するベクトル群生成部と、
前記ベクトル追込部が生成した前記初期ベクトル群と前記ベクトル群生成部が生成した第1ベクトル群と第2ベクトル群との3個のベクトル群ごとに、それぞれのベクトル群に属する複素数ベクトルの総和の絶対値を算出し、算出した前記絶対値のなかから最大値を確定する絶対値算出部と
を備えたことを特徴とする信号処理装置。
【請求項5】
信号処理装置は、さらに、
前記ベクトル追込部が入力した前記入力ベクトル群に属する3本の複素数ベクトルのそれぞれの自身の方向と、前記絶対値算出部が確定した前記最大値を与えるベクトル群に属する3本の複素数ベクトルのそれぞれの方向とに基づいて、前記最大値を与えるベクトル群に属する3本の複素数ベクトルのそれぞれが異なる2値のうちいずれの値に対応するかを示す2値対応情報を生成する2値対応情報生成部を備えたことを特徴とする請求項4記載の信号処理装置。
【請求項6】
信号処理装置は、さらに、
所定の閾値を記憶する閾値記憶部を備え、
前記ベクトル追込部は、
入力した前記入力ベクトル群に属する3本の複素数ベクトルのそれぞれの実数部の絶対値と、虚数部の絶対値と、前記閾値記憶部が記憶する閾値とに基づいて、入力した前記入力ベクトル群に対応する前記初期ベクトル群を生成する生成処理を実行するかどうかを判断し、実行しないと判断した場合に、前記生成処理を実行することなく前記入力ベクトル群とは異なる次の入力ベクトル群を入力する実行判定部を備えたことを特徴とする請求項4記載の信号処理装置。
【請求項7】
前記信号処理装置は、
位相変調された電気信号を処理し、
前記ベクトル追込部が入力する前記入力ベクトル群に属する複素数ベクトルに設定される前記変更許容方向は、
位相変調の変調方式に基づいて設定されることを特徴とする請求項1または4いずれかに記載の信号処理装置。
【請求項8】
前記ベクトル追込部が入力する前記入力ベクトル群に属する複素数ベクトルに設定される前記変更許容方向は、
位相変調の変調方式がBPSK(Binary Phase Shift Keying:2相位相変調方式)の場合には、それぞれの複素数ベクトルに対して、それぞれの複素数ベクトルの前記自身の方向と反対向きの方向が設定されることを特徴とする請求項7記載の信号処理装置。
【請求項9】
前記ベクトル追込部が入力する前記入力ベクトル群に属する複素数ベクトルに設定される前記変更許容方向は、
位相変調の変調方式がQPSK(Quadrature Phase Shift Keying:4相位相変調方式)の場合には、それぞれの複素数ベクトルに対して、前記自身の方向を基準として複素座標の原点に対して左回りに90度と180度と270度との3つの方向が設定されることを特徴とする請求項7記載の信号処理装置。
【請求項10】
前記ベクトル追込部が入力する前記入力ベクトル群に属する複素数ベクトルに設定される前記変更許容方向は、
位相変調の変調方式が8PSK(8Phase Shift Keying:8相位相変調方式)の場合には、それぞれの複素数ベクトルに対して、前記自身の方向を基準として複素座標の原点に対して左回りに45度と90度と135度と180度と225度と270度と315度との7つの方向が設定されることを特徴とする請求項7記載の信号処理装置。
【請求項11】
複素数として表現可能な電気信号を示す複素数データを複素数ベクトルとして処理するコンピュータに以下の処理を実行させる信号処理プログラム
(1)自身の方向と異なる少なくとも1つの方向が変更許容方向として予め設定されたn(n≧4)本の複素数ベクトルから構成される入力ベクトル群を入力し、入力した前記入力ベクトル群に属するn本の複素数ベクトルの全部が複素平面の原点を始点とする2本の半直線により形成された形成領域であって前記変更許容方向に対応して前記2本の半直線のなす角度が設定された形成領域の内部に含まれるかどうかを判定し、前記形成領域に含まれない複素数ベクトルを示す領域外ベクトルが存在すると判定した場合に、前記領域外ベクトルの前記変更許容方向のうちいずれかの方向に前記領域外ベクトルの方向を変更して前記領域外ベクトルを前記形成領域の内部に追い込み、n本の複素数ベクトルの全部が前記形成領域の内部に存在する複素数ベクトルの集合を示す初期ベクトル群を生成する処理
(2)複素平面の原点回りのいずれかの回転方向を決定回転方向として決定し、生成した前記初期ベクトル群に属するn本の複素数ベクトルのそれぞれに対して、前記決定回転方向の順に第1順位から第n順位までの順位を付与する処理
(3)前記初期ベクトル群のうち第1順位の複素数ベクトルを前記変更許容方向に対応して設定された角度である方向対応角度だけ前記決定回転方向に回転させて第1ベクトル群を生成し、前記初期ベクトル群のうち第1順位と第2順位との複素数ベクトルを前記方向対応角度だけ前記決定回転方向に回転させて第2ベクトル群を生成し、以下、順次初期ベクトル群のうち第1順位から第k(3≦k≦n−1)順位までの複素数ベクトルを前記方向対応角度だけ前記決定回転方向に回転させて第kベクトル群を生成する処理
(4)生成した前記初期ベクトル群と生成した第1ベクトル群から第n−1ベクトル群までのn−1個のベクトル群とのn個のベクトル群ごとに、それぞれのベクトル群に属する複素数ベクトルの総和の絶対値を算出し、算出した前記絶対値のなかから最大値を確定する処理
【請求項12】
複素数として表現可能な電気信号を示す複素数データを複素数ベクトルとして処理するコンピュータに以下の処理を実行させる信号処理プログラム
(1)自身の方向と異なる少なくとも1つの方向が変更許容方向として予め設定された3本の複素数ベクトルから構成される入力ベクトル群を入力し、入力した前記入力ベクトル群に属する3本の複素数ベクトルの全部が複素平面の原点を始点とする2本の半直線により形成された形成領域であって前記変更許容方向に対応して前記2本の半直線のなす角度が設定された形成領域の内部に含まれるかどうかを判定し、前記形成領域に含まれない複素数ベクトルを示す領域外ベクトルが存在すると判定した場合に、前記領域外ベクトルの前記変更許容方向のうちいずれかの方向に前記領域外ベクトルの方向を変更して前記領域外ベクトルを前記形成領域の内部に追い込み、3本の複素数ベクトルの全部が前記形成領域の内部に存在する複素数ベクトルの集合を示す初期ベクトル群を生成する処理
(2)複素平面の原点回りのいずれかの回転方向を決定回転方向として決定し、生成した前記初期ベクトル群に属する3本の複素数ベクトルのそれぞれに対して、前記決定回転方向の順に第1順位から第3順位までの順位を付与する処理
(3)前記初期ベクトル群のうち第1順位の複素数ベクトルを前記変更許容方向に対応して設定された角度である方向対応角度だけ前記決定回転方向に回転させて第1ベクトル群を生成し、前記初期ベクトル群のうち第1順位と第2順位との複素数ベクトルを前記方向対応角度だけ前記決定回転方向に回転させて第2ベクトル群を生成する処理
(4)生成した前記初期ベクトル群と生成した第1ベクトル群と第2ベクトル群との3個のベクトル群ごとに、それぞれのベクトル群に属する複素数ベクトルの総和の絶対値を算出し、算出した前記絶対値のなかから最大値を確定する処理

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate


【公開番号】特開2007−24626(P2007−24626A)
【公開日】平成19年2月1日(2007.2.1)
【国際特許分類】
【出願番号】特願2005−205671(P2005−205671)
【出願日】平成17年7月14日(2005.7.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】