擬似衛星信号受信方法及び受信装置
【課題】擬似衛星から発信されるデータの種類に依らずに、データ内容の取得を高速化するための手法を提案すること。
【解決手段】携帯型電話機は、擬似衛星の一種であるIMES衛星から発信されるフレームデータを受信し、受信したフレームデータを蓄積的に記憶する。そして、プリアンブル部の受信を検出した場合、プリアンブル部の直後のMSG部に格納されているメッセージタイプに基づいて、受信中のフレームデータの種類を判定する。そして、受信済みのデータの中から同種のフレームデータを検索し、同種のフレームデータが見つかった場合は、当該フレームデータを用いて、受信中のフレームデータ全体を予測する。
【解決手段】携帯型電話機は、擬似衛星の一種であるIMES衛星から発信されるフレームデータを受信し、受信したフレームデータを蓄積的に記憶する。そして、プリアンブル部の受信を検出した場合、プリアンブル部の直後のMSG部に格納されているメッセージタイプに基づいて、受信中のフレームデータの種類を判定する。そして、受信済みのデータの中から同種のフレームデータを検索し、同種のフレームデータが見つかった場合は、当該フレームデータを用いて、受信中のフレームデータ全体を予測する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、擬似衛星信号受信方法及び受信装置に関する。
【背景技術】
【0002】
従来より、測位用信号を利用した測位システムとして、GPS(Global Positioning System)が広く知られており、様々な電子機器に内蔵されて利用されている。近年では、携帯型電話機や腕時計等の携帯型の電子機器にもGPSが備えられるようになり、カーナビゲーション装置のように屋外で使用されるのみではなく、建物内や地下といった様々な場所でも使用されている。しかし、建物内や地下ではGPS衛星信号を受信し難く、位置算出が困難であるという問題が生じていた。
【0003】
そこで、建物内や地下等のGPS衛星信号が受信し難い場所においても位置を取得可能とするための技術として、擬似衛星を配置する技術が知られている。擬似衛星は、当該擬似衛星の配置位置の情報を擬似衛星信号に含めて発信している。擬似衛星信号は、GPS衛星信号を模擬した通信信号である。受信機は、受信した擬似衛星信号から配置位置の情報を取得することで、自身が位置している場所を知ることができる。
【0004】
しかし、擬似衛星信号に含まれる情報を取得するためには、擬似衛星信号の信号長に応じた時間を要する。すなわち、擬似衛星信号全体を受信しなければ、擬似衛星信号を復調して配置位置の情報を取得することができない。そのため、一定の時間間隔(例えば1秒間隔)で位置を取得して各種のアプリケーションに利用するといったことが困難な場合がある。その問題を解決するための技術の1つとして、バッファに記憶済みの擬似衛星信号のメッセージデータを用いて、メッセージデータの取得に要する時間を短縮する技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−241422号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
擬似衛星は、配置位置の情報を擬似衛星信号に含めて発信するように設計されるが、擬似衛星信号のデータのフォーマットが1種類であるとは限らない。特許文献1の技術は、データフォーマットの種類が1種類で且つ固定であることを前提とした技術であるため、例えば、データフォーマットが複数種類ある場合には対応できないという問題があった。
【0007】
具体的には、擬似衛星が配置位置の情報を発信するといっても、その“位置”が座標値で表現された位置であるか緯度・経度で表現された位置であるか、また、2次元の位置であるか3次元の位置であるか、といったように表現形式は多様である。そのため、何れの表現形式で位置を提供するかによっても、擬似衛星信号のデータフォーマットは異なり得る。この場合、受信中のメッセージデータの種類と、過去に受信したメッセージデータの種類とが異なり得るため、特許文献1の技術をそのまま適用することはできない。
【0008】
本発明は上述した課題に鑑みて為されたものであり、擬似衛星から発信されるデータの種類に依らずに、データ内容の取得を高速化するための手法を提案することにある。
【課題を解決するための手段】
【0009】
以上の課題を解決するための第1の形態は、当該フレームデータの種類識別データを含むフレームデータを複数種類発信可能な擬似衛星が繰り返し発信する前記フレームデータを受信することと、前記種類識別データに基づいて、受信中のフレームデータの種類を判定することと、前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出することと、前記抽出されたデータを用いて、全データの受信が完了していない受信中のフレームデータ全体を予測することと、を含む擬似衛星信号受信方法である。
【0010】
また、他の形態として、当該フレームデータの種類識別データを含むフレームデータを複数種類発信可能な擬似衛星が繰り返し発信する前記フレームデータを受信する受信部と、前記種類識別データに基づいて、受信中のフレームデータの種類を判定する種類判定部と、前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出する抽出部と、前記抽出されたデータを用いて、全データの受信が完了していない受信中のフレームデータ全体を予測する予測部と、を備えた受信装置を構成してもよい。
【0011】
この第1の形態等によれば、擬似衛星から受信したフレームデータに含まれる種類識別データに基づいて、当該フレームデータの種類を判定する。そして、既に受信済みのデータの中から同種のフレームデータを抽出して、全データの受信が完了していない受信中のフレームデータ全体を予測する。受信済みのデータの中から抽出した同種のフレームデータを用いて、受信中のフレームデータ全体を予測することで、擬似衛星から発信されるデータの種類に依らずに、データ内容の取得を高速化することができる。
【0012】
また、第2の形態として、第1の形態の擬似衛星信号受信方法であって、前記フレームデータは、構成するワード数がフレームデータの種類に応じて異なり、前記擬似衛星は、複数種類のフレームデータを発信する場合、前記フレームデータを種類別に順番に発信する処理を繰り返し行うよう構成されており、前記抽出することは、前記判定された種類のフレームデータの構成ワード数に基づいて、前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出することである擬似衛星信号受信方法を構成してもよい。
【0013】
この第2の形態によれば、判定された種類のフレームデータの構成ワード数に基づいて、判定された種類と同種のフレームデータを受信済みのデータの中から抽出する。フレームデータの種類に応じてワード数が異なる。そのため、フレームデータの種類とワード数との対応関係を定めておくことで、同種のフレームデータの抽出が容易となる。
【0014】
第3の形態は、データ長が規定されたフレームデータを繰り返し発信する擬似衛星から前記フレームデータを受信することと、プリアンブルの受信を検出することと、受信データのサイズが前記データ長以上の場合に、全データの受信が完了していない前記プリアンブルから始まるフレームデータ全体を、受信したデータから推測することと、を含む擬似衛星信号受信方法である。
【0015】
また、他の形態として、データ長が規定されたフレームデータを繰り返し発信する擬似衛星から前記フレームデータを受信する受信部と、プリアンブルの受信を検出するプリアンブル検出部と、受信データのサイズが前記データ長以上の場合に、全データの受信が完了していない前記プリアンブルから始まるフレームデータ全体を、受信したデータから推測する推測部と、を備えた受信装置を構成してもよい。
【0016】
この第3の形態等によれば、データ長が規定されたフレームデータを繰り返し発信する擬似衛星からフレームデータを受信する。そして、プリアンブルの受信を検出し、受信データのサイズがデータ長以上の場合に、全データの受信が完了していないプリアンブルから始まるフレームデータ全体を、受信したデータから推測する。
【0017】
また、第4の形態として、第1又は第2の形態の擬似衛星信号受信方法であって、前記フレームデータは、種類別にデータ長が規定されており、同種のフレームデータの受信データのサイズが、当該フレームデータのデータ長以上の場合に、全データの受信が完了していない当該フレームデータ全体を、受信したデータから推測することを更に含む擬似衛星信号受信方法を構成してもよい。
【0018】
より具体的には、第5の形態として、第4の形態の擬似衛星信号受信方法であって、前記フレームデータは、ワード単位で構成されており、前記検出されたプリアンブルに基づいて、受信データをワード単位に区切ることを更に含み、前記推測することは、受信未完了のワードの残余データ部分を、受信済みのデータに基づいて補完することを含む擬似衛星信号受信方法を構成することが可能である。
【0019】
この第4及び第5の形態によれば、受信中のフレームデータのプリアンブルに基づいて、受信データをワード単位に区切る。そして、受信未完了のワードの残余データ部分を、受信済みのデータに基づいて補完することで、全データの受信が完了していない当該フレームデータ全体を推測する。これにより、受信済みのデータに基づいて受信未完了のワードを補完することができる。
【0020】
この場合、第6の形態として、第5の形態の擬似衛星信号受信方法において前記補完することが、受信データのサイズが前記データ長に達した場合に、受信済みのデータのうちの受信開始部分のワードデータに基づいて、受信未完了のワードデータを補完することを含むように擬似衛星信号受信方法を構成することも可能である。
【0021】
この第6の形態によれば、受信データのサイズがフレームデータのデータ長に達した場合に、受信済みのデータのうちの受信開始部分のワードデータに基づいて、受信未完了のワードデータを補完する。受信済みのデータのうち、受信開始部分のワードデータを用いて受信未完了のワードデータを補完することで、受信中のフレームデータの推測の正確性を向上させることができる。
【図面の簡単な説明】
【0022】
【図1】位置算出システムの構成の一例を示す図。
【図2】フレームデータのメッセージタイプの説明図。
【図3】フレームデータのメッセージタイプの説明図。
【図4】フレームデータのメッセージタイプの説明図。
【図5】フレームデータのメッセージタイプの説明図。
【図6】最終ワード判定用データのデータ構成の一例を示す図。
【図7】ワード単位のフレームデータ予測の説明図。
【図8】ビット単位のフレームデータ予測の説明図。
【図9】ビット単位のフレームデータ予測の説明図。
【図10】ビット単位のフレームデータ予測の説明図。
【図11】ビット単位のフレームデータ予測の説明図。
【図12】携帯型電話機の機能構成の一例を示すブロック図。
【図13】ベースバンド処理回路部の回路構成の一例を示す図。
【図14】ベースバンド処理回路部のROMに格納されたデータの一例を示す図。
【図15】ベースバンド処理回路部のRAMに格納されるデータの一例を示す図。
【図16】ベースバンド処理の流れを示すフローチャート。
【図17】IMES位置取得処理の流れを示すフローチャート。
【図18】IMES位置取得処理の流れを示すフローチャート。
【図19】ビット単位フレームデータ予測処理の流れを示すフローチャート。
【発明を実施するための形態】
【0023】
以下、図面を参照して、本発明の好適な実施形態の一例について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけではない。
【0024】
1.システム構成
図1は、本実施形態における位置算出システム1の構成を示す図である。位置算出システム1は、携帯型電話機3と、複数のGPS(Global Positioning System)衛星5と、複数のIMES(Indoor MEssaging System)衛星7とを備えて構成される。
【0025】
携帯型電話機3は、ユーザーが通話やメールの送受信等を行うための携帯通信端末としての電子機器であり、通話やメールの送受信といった携帯型電話機としての本来の機能の他、位置を算出する機能をなす位置算出装置を具備して構成されている。携帯型電話機3は、GPS衛星5から発信されているGPS衛星信号、或いは、IMES衛星7から発信されているIMES衛星信号に基づいて位置を算出し、算出した位置をプロットした位置表示画面を表示部に表示させることで、ユーザーに現在位置を報知する。
【0026】
GPS衛星5は、測位用衛星の一種であり、6つの地球周回軌道面それぞれに4機以上ずつ配置され、原則、地球上のどこからでも常時4機以上の衛星が幾何学的配置のもとで観測できるように運用されている。GPS衛星5は、アルマナックやエフェメリス等の航法データをGPS衛星信号に含めて発信している。GPS衛星信号は、GPS衛星5毎に割り当てられた固有の変調コードであるPRN(Pseudo Random Noise)コードで直接スペクトラム拡散方式により変調された1.57542[GHz]の通信信号である。PRNコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号である。
【0027】
IMES衛星7は、擬似衛星の一種であり、建物等の施設内の随所に配置され、各種の情報を擬似衛星信号の一種であるIMES衛星信号に含めて発信している。IMES衛星7から発信されるIMES衛星信号は、GPS衛星5から発信されるGPS衛星信号を模擬した通信信号であり、発信周波数はGPS衛星信号と同じ1.57542[GHz]である。すなわち、IMES衛星7は、GPS衛星5からのGPS衛星信号の信号規格(通信規格)に準拠したIMES衛星信号を発信するように構成されている。発信される信号の信号規格は同一であるが、GPS衛星5とIMES衛星7とでは、割り当てられているPRNコードが異なる。
【0028】
具体的には、GPS衛星5には、「1」〜「32」までの32個のPRNコードが割り当てられている。一方、IMES衛星7には、「173」〜「182」の10個のPRNコードが割り当てられている。このようなPRNコードの割り当ての違いにより、携帯型電話機3は、受信した衛星信号がGPS衛星信号とIMES衛星信号の何れであるかを識別することができる。
【0029】
2.原理
2−1.IMES衛星信号のメッセージの構成
本実施形態では、各IMES衛星7は、フレーム長及びデータフォーマットが定められたフレームデータをIMES衛星信号に含めて発信する。各フレームデータは、単位データである連続する複数のワード(Word)で構成されている。1ワードは30ビットであり、フレームデータの種類によってワード数が異なるため、フレーム長(全データ長)が異なる。また、フレームデータの種類によって、搬送されるメッセージの種類が異なる。
【0030】
また、各IMES衛星7は、種類が同じフレームデータについては、搬送するデータ内容も同一のフレームデータを発信する。すなわち、1種類のフレームデータを発信する場合には、その種類のフレームデータであって搬送内容も同一のフレームデータを繰り返し発信し、2種類のフレームデータを発信する場合には、それぞれの種類で同一のフレームデータを、交互に繰り返し発信する。同一種類のフレームデータに異なるデータを搬送させて発信することはなく、同一種類のフレームデータの場合には、必ず同一のデータが搬送される同一のフレームデータとなる。
【0031】
各フレームデータの第1ワードの先頭の8ビットは、フレームデータの先頭を判別するための情報が格納されるプリアンブル部である。プリアンブル部の直後の3ビットは、フレームデータのメッセージ種類(メッセージタイプ)を識別するための情報が格納されるMSG部である。また、各ワードの最後尾の6ビットはパリティ部であり、ワードの区切りを判別するための情報として利用することも可能である。
【0032】
また、第1ワードを除いた各ワード(第2ワードから末尾のワード)の最初の3ビットは、ワードの番号を識別するためのカウンタ値が格納されたCNT部である。第2ワードのCNT部にはカウンタ値として「0」が格納され、以降のワードのCNT部には、「1」、「2」・・・といった、ワード毎に順次にインクリメントされたカウンタ値が格納される。
【0033】
図2〜図5は、各フレームデータのメッセージタイプの説明図である。図2には、メッセージタイプが「0」であるフレームデータを示している。このフレームデータは、第1ワード〜第3ワードまでの3つのワードで構成されており、第1ワードのMSG部には、メッセージタイプを識別するための番号として「0」が格納される。すなわち、第1ワードの第9〜第11ビットのビット値は「000」である。
【0034】
第2ワードのCNT部には、カウンタ値として「0」が格納され、第3ワードのCNT部には、カウンタ値として「1」が格納される。また、第1ワードのプリアンブル部、MSG部及びパリティ部を除いた第12〜第24ビットの部分と、第2ワード及び第3ワードのCNT部及びパリティ部を除いた第4〜第24ビットの部分は、搬送するデータが格納されるタイプ0用データ部である。
【0035】
図3には、メッセージタイプが「1」であるフレームデータを示している。このフレームデータは、第1〜第4ワードまでの4つのワードで構成されている。第1ワードのMSG部には、メッセージタイプを識別するための番号として「1」が格納される。すなわち、第1ワードの第9〜第11ビットのビット値は「001」である。
【0036】
第2ワードのCNT部には、カウンタ値として「0」が格納され、第3ワードのCNT部には、カウンタ値として「1」が格納される。また、第4ワードのCNT部には、カウンタ値として「2」が格納される。また、第1ワードのプリアンブル部、MSG部及びパリティ部を除いた第12〜第24ビットの部分と、第2ワード、第3ワード及び第4ワードのCNT部及びパリティ部を除いた第4〜第24ビットの部分とは、搬送するデータが格納されるタイプ1用データ部である。
【0037】
図4には、メッセージタイプが「3」であるフレームデータを示している。このフレームデータは、第1ワードのみで構成されている。第1ワードのMSG部には、メッセージタイプを識別するための番号として「3」が格納される。すなわち、第1ワードの第9〜第11ビットのビット値は「011」である。また、第1ワードのプリアンブル部、MSG部及びパリティ部を除いた第12〜第24ビットの部分は、搬送するデータが格納されるタイプ3用データ部である。
【0038】
図5には、メッセージタイプが「4」であるフレームデータを示している。このフレームデータは、第1及び第2ワードの2つのワードで構成されている。第1ワードのMSG部には、メッセージタイプを識別するための番号として「4」が格納される。すなわち、第1ワードの第9〜第11ビットのビット値は「100」である。また、第1ワードのプリアンブル部、MSG部及びパリティ部を除いた部分と、第2ワードのCNT部及びパリティ部を除いた部分とは、搬送するデータが格納されるタイプ4用データ部である。
【0039】
上述したタイプ0用データ部、タイプ1用データ部、タイプ3用データ部及びタイプ4用データ部には、フレームデータの種類に応じたメッセージデータがそれぞれ格納される。例えば、IMES衛星7の配置位置を各種の表現形式(座標値、緯度・経度、2次元、3次元)で表したデータや、IMES衛星7を識別するための識別コードのデータ等の各種のデータが格納される。
【0040】
2−2.データ予測の原理の説明
次に、本実施形態におけるフレームデータ予測の原理について説明する。本実施形態では、各IMES衛星7それぞれが、前述した4種類のフレームデータを、任意の順番で連続的に繰り返し発信するように設計されているものとして説明する。すなわち、同一のIMES衛星7であっても、発信されるフレームデータの種類はその都度変化することになる。携帯型電話機3(GPS受信機)は、受信しているデータのプリアンブル部を検出し、その直後のMSG部を参照することによって、受信中のフレームデータの種類を識別することになる。
【0041】
本実施形態では、携帯型電話機3は、IMES衛星7からの受信データを蓄積的に記憶する。そして、蓄積記憶された受信済みデータの中から、現在受信中のフレームデータと同一のフレームデータが部分的にでも記憶されていないかを検索し、同一のフレームデータが記憶されている場合は、当該フレームデータを用いて、受信中のフレームデータの全体を予測する。
【0042】
具体的に説明する。まず、プリアンブル部が受信できたか否かを監視し、プリアンブル部を検出した場合は、その直後に受信されるMSG部を参照して、受信中のフレームデータのメッセージタイプを検出する。そして、検出したメッセージタイプに基づいて、同一のメッセージタイプのフレームデータが部分的にでもよいので過去に受信済みであるか否かを判定する。
【0043】
図6は、本実施形態においてフレームデータの検索を行うために使用する最終ワード判定用データ255のデータ構成の一例を示す図である。最終ワード判定用データ255には、フレームデータのメッセージタイプ2551と、当該フレームデータに含まれる末尾のワード(以下、「最終ワード」と称す。)のカウンタ値である最終ワードカウンタ値2553とが対応付けて記憶されている。
【0044】
メッセージタイプが「0」のフレームデータは、第1〜第3ワードの3つのワードで構成され、第2ワードのカウンタ値が「0」で、第3ワードのカウンタ値が「1」であるため、最終ワードカウンタ値2553は「1」である。メッセージタイプが「1」のフレームデータは、第1〜第4ワードの4つのワードで構成され、第2ワードのカウンタ値が「0」で、第3ワードのカウンタ値が「1」で、第4ワードのカウンタ値が「2」であるため、最終ワードカウンタ値2553は「2」である。
【0045】
同様に、メッセージタイプが「3」のフレームデータは、第1ワードのみで構成され、第1ワードにはカウンタ値が含まれないため、最終ワードカウンタ値2553は「−(無し)」である。また、メッセージタイプが「4」のフレームデータは、第1及び第2ワードで構成され、第2ワードのカウンタ値は「0」であるため、最終ワードカウンタ値2553は「0」である。
【0046】
受信中のフレームデータのMSG部を参照してメッセージタイプを検出したら、最終ワード判定用データ255を参照し、検出したメッセージタイプ2551に対応付けられている最終ワードカウンタ値2553を判定する。そして、受信済みのフレームデータの中から、判定した最終ワードカウンタ値2553を有する最終ワードを検索することで、受信中のフレームデータと同一のメッセージタイプのフレームデータが記憶されているか否かを判定する。
【0047】
図7は、フレームデータの予測の具体例を示す図である。ここでは、メッセージタイプが「2」のフレームデータの第2〜第4ワードと、メッセージタイプが「3」のフレームデータの第1〜第3ワードとが受信済みであり、これらのデータが記憶されているものとして説明する。
【0048】
現在受信しているフレームデータのプリアンブル部の直後のMSG部から、当該フレームデータのメッセージタイプが「1」であることが検出されたとする。この場合、図6の最終ワード判定用データ255を参照すると、メッセージタイプ2551が「1」に対応付けられている最終ワードカウンタ値2553は「2」である。そのため、受信済みのフレームデータの中から、最終ワードカウンタ値2553が「2」である最終ワードを検索する。
【0049】
遡って検索していくと、先ず最初に、CNT部に「1」が格納されたワードが見つかるが、カウンタ値が「1」であり「2」ではないため、受信中のフレームデータとは異なるデータであることがわかる。さらに遡って検索していくと、CNT部に「2」が格納されたワードが見つかる。従って、受信中のフレームデータと同一のメッセージタイプのフレームデータが受信済みである可能性があることがわかる。メッセージタイプが同一ということは、フレームデータそのものも同一である。
【0050】
また、そこから更に遡ると、CNT部に「1」が格納されたワードと、CNT部に「0」が格納されたワードとが見つかるため、最終的に、受信中のフレームデータと同一のメッセージタイプのフレームデータのうちの第2ワード〜第4ワードが受信済みであることがわかる。従って、受信中のフレームデータの第1ワードを受信すれば、受信済みの第2ワード〜第4ワードと結合することにより、フレームデータ全体を予測(再生)することができる。このようにしてフレームデータ全体を予測したら、当該フレームデータを復調してメッセージデータを取得する。
【0051】
尚、第2ワード〜第4ワードが受信済みである場合を例に挙げて説明したが、受信済みのワード数がいくつであっても、フレームデータの予測を同様に行うことができる。例えば、第3ワード及び第4ワードが受信済みである場合は、受信中のフレームデータの第2ワードまでを受信する。そして、受信済みの第3ワード及び第4ワードと結合することで、1フレーム分のデータを予測する。
【0052】
また、第1ワード〜第4ワードまでの完全なフレームデータが受信済みである場合は、この受信済みのフレームデータ全体をそのまま利用することができる。従って、受信中のフレームデータと同一のメッセージタイプのフレームデータが見つかった時点で、この受信済みのフレームデータ全体を読み出して復調することにすればよい。
【0053】
ここまで説明したフレームデータの予測手法は、ワード単位でデータを結合してフレームデータを予測・再生する手法である。しかし、受信済みのワードがワードデータとして(ワード単位として)不完全である場合には、ワード単位でデータを結合することができない。本実施形態では、ワード単位でデータを結合することができない場合は、ビット単位でデータを結合してワードデータを再生する。
【0054】
具体的には、ワード単位でデータを結合してフレームデータ全体を再生することができない場合は、同種のフレームデータの受信データ長を判定する。すなわち、受信中のフレームデータのビット長と、受信済みの同種のフレームデータのビット長とを合算した合算受信データ長が、受信中のフレームデータのMSG部に格納されたメッセージタイプのデータの規定長以上である場合は、受信中のフレームデータと、受信済みの同種のフレームデータとをビット単位で結合する。
【0055】
受信データ長の判定は、例えば、受信中のフレームデータのプリアンブル部の先頭のビットを基準として計算することができる。また、フレームデータの規定長は、図2〜図4に示したように、メッセージタイプが「0」のフレームデータは「90ビット」、メッセージタイプが「1」のフレームデータは「120ビット」、メッセージタイプが「3」のフレームデータは「30ビット」、メッセージタイプが「4」のフレームデータは「60ビット」である。
【0056】
本実施形態では、フレームデータを構成するビット値に関して、次のようなルールがあるものとする。すなわち、各ワードは、直前のワードの最終ビットの値に応じて、当該ワードの全てのビット値を反転する。具体的には、あるワードの最終ビット(第30ビット)のビット値が「0」であるならば、次のワードの全てのビット値を反転せず、「1」であるならば反転する。従って、反転しているか否かの判断の対象とするワードの直前のワードの最終ビットのビット値から、当該ワードのビット値が反転されているか否かを判断できる。
【0057】
図8及び図9は、ビット単位でのフレームデータ予測の原理の説明図である。フレームデータの予測は、受信中の不完全なワードデータと受信済みの不完全なワードデータとを用いて、ワードデータ全体(1ワード分のデータ)を再生・予測することで行う。説明を分かり易くするために、フレームデータを構成する各ワードデータそれぞれについて、パリティ部を除いた第1〜第24ビットまでのビット部分を、便宜的に「本体部」と呼ぶことにする。
【0058】
先ず、受信中のワードデータの直前に受信したワードデータの最終ビットのビット値を参照することで、受信中のワードデータの全ビット値が反転なしなのか、反転ありなのかを判定する。
【0059】
次いで、受信中のワードデータの一部のビット列と、受信済みのワードデータの一部のビット列とを反転あり/なしの組合せを変えて結合して、仮の本体部(以下、「仮本体部」と称す。)を生成する。すなわち、(α)受信中のワードデータそのもの(反転なし)と、受信済みのワードデータそのもの(反転なし)との組合せ、(β)受信中のワードデータを反転したもの(反転あり)と、受信済みのワードデータそのもの(反転なし)との組合せ、とする2種類の結合パターンでビット列を結合して仮本体部を生成する。
【0060】
そして、(α)及び(β)の2種類の結合パターンそれぞれで結合・生成した仮本体部に対してパリティ計算を行って、仮本体部に付加する算出パリティを求める。そして、仮本体部と算出パリティとを結合して暫定的なワードデータ(以下、「暫定ワードデータ」と称す。)を生成する。そして、(α)及び(β)の2種類の結合パターンそれぞれについて、算出パリティを、仮本体部を生成するために使用した受信済みのワードデータのうちのパリティ部のデータと照合チェックする。
【0061】
照合チェックを行ったら、受信中のワードデータの反転パターンと、照合チェックの結果とに基づいて、図9に示すテーブルに従ってワードデータを予測する。図9のテーブルは、照合チェックにより照合OKとなった結合パターン((α)又は(β))と、受信中のワードデータの反転有無(反転あり又は反転なし)との4種類の組合せそれぞれについて、暫定ワードデータを用いて最終的なワードデータを求めるための方法が定められている。
【0062】
具体的には、(α)受信中のワードデータは反転なし、且つ、受信済みのワードデータも反転なし、の結合パターンで結合・生成した暫定ワードデータについて行った照合チェックの結果がOKとなった場合において、実際に受信中のワードデータが反転ありであれば、暫定ワードデータの全てのビット値を反転させたデータを、最終的なワードデータとする。また、実際に受信中のワードデータが反転なしであれば、暫定ワードデータそのものを最終的なワードデータとする。
【0063】
一方、(β)受信中のワードデータは反転あり、且つ、受信済みのワードデータは反転なし、の結合パターンで結合・生成した暫定ワードデータについて行った照合チェックの結果がOKとなった場合において、実際に受信中のワードデータが反転ありであれば、暫定ワードデータそのものを最終的なワードデータとする。また、受信中のワードデータが反転なしであれば、暫定ワードデータの全てのビット値を反転させたデータを最終的なワードデータとする。
【0064】
図10及び図11を参照して、ワードデータの予測の具体例について説明する。ここでは、図10に示すように、メッセージタイプが「2」であるフレームデータのうち、第3ワードの第11〜第30ビットの部分のデータと、第4ワードのデータと、第1ワードのデータと、第2ワードのデータと、第3ワードの第1〜第20ビットの部分のデータとの受信が完了した状態にあるものとして説明する。但し、受信したビット列を解析していない段階では、ワードの区切りは不明であり、メッセージタイプも不明であり、ビット列は単なるビット値の羅列に過ぎない。図10,11及び以下説明においては、受信したビット列からプリアンブル部が解析され、ワードの区切りが判定され、メッセージタイプ及び各ワードの識別までも判定された状態を示している。
【0065】
図10において、現在受信中のワードデータは受信順が「5」のワードデータであり、第3ワードのデータに相当する。受信順が「4」のワードデータの最終ビットのビット値は「0」であるため、受信中のワードデータは、ビット反転なしであると判定することができる。
【0066】
受信順が「5」である受信中のワードデータと同じ第3ワードのデータとして、受信順が「1」のワードデータがある。また、受信順が「5」のワードデータと、受信順が「1」のワードデータとは、何れも不完全なワードデータではあるが、合算したビット数は1つのワードデータの規定ビット数(30ビット)以上であるため、結合することによって完全なワードデータを再生することが可能である。そこで、受信順が「1」のワードデータと、現在受信中の受信順が「5」のワードデータとを用いて、現在受信途中のワードデータを全て受信する前に、現在受信途中のワードデータ全体を再生・予測する。
【0067】
受信順が「5」のワードデータの1つ前のワードデータの最終ビットの値は「0」であるため、受信順が「5」のワードデータは反転なしのデータである。しかし、受信順が「1」のワードデータより前のワードデータは受信済みでないため、受信順が「1」のワードデータの反転有無はわからない。そこで、受信順が「1」のワードデータの反転チェックを行う。
【0068】
具体的には、受信順が「1」のワードデータと、受信順が「5」のワードデータとを、ビットの重複部分及びパリティ部分を境界として、複数のビット部分に分断する。具体的には、図10に示すように、受信順が「1」のワードデータは、第11〜第20ビットまでのビットデータ(A)と、第21〜第24ビットまでのビットデータ(B)と、第25〜第30ビットまでのビットデータ(C)とに分断することとする。また、受信順が「5」のワードデータは、第1〜第10ビットまでのビットデータ(D)と、第11〜第20ビットまでのビットデータ(E)とに分断する。
【0069】
次いで、図8を参照して説明したように、受信中のワードデータ(受信順が「5」のワードデータ)の分断された一部のビットデータと、受信済みのワードデータ(受信順が「1」のワードデータ)の分断された一部のビットデータとを、結合パターンを変えて結合する。具体的には、(α)ビットデータ(D)、ビットデータ(A)及びビットデータ(B)の結合パターンでデータを結合して仮本体部を生成し、当該仮本体部に対してパリティ計算を行う。そして、得られた算出パリティと、受信順が「1」のワードデータのパリティ(ビットデータ(C))とを照合する。
【0070】
照合によりパリティが一致すれば、受信順が「1」のワードデータは、受信順が「5」のワードデータと同じく、ビット反転なしである。なぜならば、受信順が「5」のワードデータのビットデータ(D)を反転せずに用いて仮本体部を生成し、算出パリティを計算したからである。一方、パリティが一致しなかった場合には、受信順が「1」のワードデータは、受信順が「5」のワードデータとは異なり、ビット反転ありである。なぜならば、受信順が「5」のワードデータのビットデータ(D)を反転せずに用いて仮本体部を生成し、算出パリティを計算したからである。
【0071】
但し、受信時にビット値を誤って復元した(いわゆる受信エラー)可能性もあるため、ビット反転の有無を確認する。そこで、(β)ビットデータ(D)の反転、ビットデータ(A)及びビットデータ(B)の結合パターンでデータを結合して仮本体部を生成し、当該仮本体部に対してパリティ計算を行う。そして、得られた算出パリティと、受信順が「1」のワードデータのパリティ(ビットデータ(C))とを照合する。照合の結果、パリティが一致したとすれば、受信順が「1」のワードデータは、受信順が「5」のワードデータとは異なり、ビット反転ありであることが確定する。
【0072】
また、図10の受信順が「5」の受信中のワードデータは、ビット反転なしである。従って、図9に示した通り、暫定ワードデータの全てのビット値を反転させることで、受信中のワードデータを予測することができる。これにより、ビットデータ(D)、ビットデータ(A)の反転、ビットデータ(B)の反転及びパリティ(C)の反転で形成される1ワード分のデータが、予測されたワードデータとなる。
【0073】
以上のようにしてワードデータの予測を行うわけであるが、ビット単位でデータを結合する際には、更に、各ビット値の確認処理を行うことが好適である。確認処理は、種々の手法により行うことができるが、ここではその一例として、図10,11を例に挙げて説明する。
【0074】
先ず、図11(2)に示すように、ビットデータ(D)、ビットデータ(A)の反転及びビットデータ(B)の反転を結合して仮本体部を生成し、当該仮本体部に対してパリティ計算を行う。そして、得られたパリティを「判定用第1パリティ」とする。
【0075】
次いで、受信中のワードデータと受信済みのワードデータとのうちの結合に使用するビット部分を変えて、ビットデータを結合する。この際、受信中のワードデータ(受信順が「5」のデータ)をそのまま(反転なし)とし、受信済みのワードデータ(受信順が「1」のデータ)はビット値を反転させて、ビット部分を結合する。例えば、ビットデータ(D)、ビットデータ(E)及びビットデータ(B)の反転の結合パターンでデータを結合して仮本体部を生成し、当該仮本体部に対してパリティ計算を行う。そして、得られたパリティを「判定用第2パリティ」とする。
【0076】
そして、判定用第1パリティと判定用第2パリティとが一致するか否かを判定し、一致する場合は、ワードデータの予測が正しく行われたものと判断して、予測したワードデータを最終的なワードデータに確定する。一方、判定用第1パリティと判定用第2パリティとが一致しない場合は、ワードデータの予測が正しく行われていないとして、予測したワードデータを廃棄する。
【0077】
3.機能構成
図12は、携帯型電話機3の機能構成を示すブロック図である。携帯型電話機3は、GPSアンテナ9と、GPS受信部10と、ホストCPU(Central Processing Unit)30と、操作部40と、表示部50と、携帯電話用アンテナ60と、携帯電話用無線通信回路部70と、フラッシュROM(Read Only Memory)80と、RAM(Random Access Memory)90とを備えて構成される。
【0078】
GPSアンテナ9は、GPS衛星から発信されているGPS衛星信号を含むRF(Radio Frequency)信号を受信するアンテナであり、受信した信号をGPS受信部10に出力する。
【0079】
GPS受信部10は、GPSアンテナ9から出力された信号に基づいて携帯型電話機3の位置を計測する位置算出回路であり、いわゆるGPS受信機に相当する機能ブロックである。GPS受信部10は、RF(Radio Frequency)受信回路部11と、ベースバンド処理回路部20とを備えて構成される。尚、RF受信回路部11と、ベースバンド処理回路部20とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
【0080】
RF受信回路部11は、RF信号の処理回路ブロックであり、所定の発振信号を分周或いは逓倍することで、RF信号乗算用の発振信号を生成する。そして、生成した発振信号をGPSアンテナ9から出力されたRF信号に乗算することで、RF信号を中間周波数の信号(以下、「IF(Intermediate Frequency)信号」と称す。)にダウンコンバートし、IF信号を増幅等した後、A/D(Analog Digital)変換器でデジタル信号に変換して、ベースバンド処理回路部20に出力する。
【0081】
ベースバンド処理回路部20は、RF受信回路部11から出力されたIF信号に対して相関処理等を行ってGPS衛星信号を捕捉・抽出し、データを復号して航法メッセージや時刻情報等を取り出す回路部である。
【0082】
図13は、ベースバンド処理回路部20の回路構成の一例を示す図である。ベースバンド処理回路部20は、複数の受信チャンネル21(第1受信チャンネル21−1,第2受信チャンネル21−2,第3受信チャンネル21−3,・・・)と、CPU23と、ROM25と、RAM27とを備えて構成される。
【0083】
各受信チャンネル21は、GPS衛星5又はIMES衛星7を捕捉するための衛星捕捉部を具備している。衛星捕捉部は、RF受信回路部11から出力されたIF信号のPRNコードとレプリカコードとの相関を、例えばFFT(Fast Fourier transform)演算を用いて算出し積算する相関演算処理を行って、GPS衛星信号又はIMES衛星信号を捕捉する。レプリカコードとは、捕捉しようとするGPS衛星信号又はIMES衛星信号のPRNコードを模擬した信号である。
【0084】
CPU23は、ベースバンド処理回路部20乃至RF受信回路部11の各部を統括的に制御して各種演算処理を行うプロセッサーであり、各受信チャンネル21により受信・捕捉された衛星信号の復調処理を行って、衛星信号に含まれるメッセージデータを取得する。そして、取得したメッセージデータに基づいて位置を取得又は算出して、ホストCPU30に出力する。
【0085】
図12の説明に戻って、ホストCPU30は、フラッシュROM80に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機3の各部を統括的に制御するプロセッサーである。ホストCPU30は、ベースバンド処理回路部20のCPU23から取得した位置をプロットした位置表示画面を生成して表示部50に表示させる。
【0086】
操作部40は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホストCPU30に出力する。この操作部40の操作により、通話要求やメール送受信要求、機能設定要求、位置表示要求等の各種指示操作入力がなされる。
【0087】
表示部50は、LCD(Liquid Crystal Display)等により構成され、ホストCPU30から入力される表示信号に基づいた各種表示を行う表示装置である。表示部50には、位置表示画面や時刻情報等が表示される。
【0088】
携帯電話用アンテナ60は、携帯型電話機3の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【0089】
携帯電話用無線通信回路部70は、RF変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【0090】
フラッシュROM80は、読み書き可能な不揮発性の記憶装置であり、ホストCPU30が携帯型電話機3を制御するためのシステムプログラムや、外部指示動作機能、位置算出機能等を実現するための各種プログラムやデータ等を記憶している。
【0091】
RAM90は、読み書き可能な揮発性の記憶装置であり、ホストCPU30により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【0092】
4.データ構成
図14は、ベースバンド処理回路部20のROM25に格納されたデータの一例を示す図である。ROM25には、CPU23により読み出され、ベースバンド処理(図16参照)として実行されるベースバンド処理プログラム251と、衛星種別データ253と、最終ワード判定用データ255とが記憶されている。
【0093】
また、ベースバンド処理プログラム251には、IMES位置取得処理(図17及び図18参照)として実行されるIMES位置取得プログラム2511と、ビット単位フレームデータ予測処理(図19参照)として実行されるビット単位フレームデータ予測プログラム2513とがサブルーチンとして含まれている。これらの処理については、フローチャートを用いて詳細に後述する。
【0094】
衛星種別データ253は、衛星の種類と、当該衛星の種類に割り当てられたPRNコードとの対応関係が定められたデータである。GPS衛星5には「1」〜「32」のPRNコードが割り当てられており、IMES衛星7には「173」〜「182」のPRNコードがそれぞれ割り当てられている。
【0095】
最終ワード判定用データ255は、RAM27に記憶された各受信チャンネルの受信データ2711の中から、受信中のフレームデータとメッセージタイプが同一であるフレームデータの最終ワードを判定するためのデータであり、そのデータ構成例は図6に示した通りである。
【0096】
図15は、ベースバンド処理回路部20のRAM27に格納されるデータの一例を示す図である。RAM27には、各受信チャンネル21についてのデータである受信チャンネルデータ271(第1受信チャンネルデータ,第2受信チャンネルデータ,・・・)と、GPS算出位置273と、IMES取得位置275とが記憶される。また、各受信チャンネルデータ271には、受信データ2711と、複製受信データ2713と、予測ワードデータ2715と、予測フレームデータ2717とが含まれている。
【0097】
受信データ2711は、GPS衛星5又はIMES衛星7から受信したデータを蓄積的に記憶したデータである。複製受信データ2713は、受信データ2711を複製(コピー)したデータであり、各種処理において一時的に利用するためのデータである。
【0098】
原理で説明したように、本実施形態では、受信中のフレームデータと、受信済みの同種のフレームデータとを結合してフレームデータ全体を予測する。しかし、受信データ2711には異なる種類のフレームデータが混在している可能性があり、フレームデータの予測処理の妨げとなる。そこで、受信データ2711を複製し、複製受信データ2713の中から、現在受信中のフレームデータと異なる種類のフレームデータを削除した上で、現在受信中のフレームデータの予測処理を行う。
【0099】
予測ワードデータ2715は、上述した原理に従って再生・予測された1ワード分のデータである。また、予測フレームデータ2717は、上述した原理に従って再生・予測された1フレーム分のデータである。
【0100】
5.処理の流れ
図16は、ROM25に記憶されているベースバンド処理プログラム251がCPU23により読み出されて実行されることで、携帯型電話機3において実行されるベースバンド処理の流れを示すフローチャートである。特に説明しないが、以下のベースバンド処理の実行中は、GPSアンテナ9によるRF信号の受信や、RF受信回路部11によるRF信号からIF信号へのダウンコンバージョンが行われ、IF信号がベースバンド処理回路部20に随時出力される状態にあるものとする。
【0101】
先ず、CPU23は、各受信チャンネル21それぞれについて、ループAの処理を実行する(ステップA1〜A9)。ループAの処理では、CPU23は、当該受信チャンネル21に割り当てるPRNコードを変更するか否かを判定する(ステップA3)。そして、変更しないと判定した場合は(ステップA3;No)、次の受信チャンネル21へと処理を移行する。
【0102】
また、PRNコードを変更すると判定した場合は(ステップA3;Yes)、CPU23は、当該受信チャンネル21に新たなPRNコードを割り当てる(ステップA5)。そして、CPU23は、RAM27に記憶されている当該受信チャンネルの受信データ2711をクリアして(ステップA7)、次の受信チャンネル21へと処理を移行する。
【0103】
全ての受信チャンネル21についてステップA3〜A7の処理を行った後、CPU23は、ループAの処理を終了する(ステップA9)。その後、CPU23は、GPS衛星位置算出処理を行う(ステップA11)。GPS衛星位置算出処理では、全ての受信チャンネル21のうち、GPS衛星5のPRNコードが割り当てられた受信チャンネル21により捕捉されたGPS衛星信号を利用して位置算出計算を行う。そして、位置算出に成功した場合は、算出した位置をGPS算出位置273としてRAM27に記憶させる。
【0104】
次いで、CPU23は、GPS衛星位置算出処理により位置算出が成功したか否かを判定し(ステップA13)、成功したと判定した場合は(ステップA13;Yes)、RAM27に記憶されているGPS算出位置273をホストCPU30に出力する(ステップA25)。そして、CPU23は、ステップA27へと処理を移行する。
【0105】
一方、ステップA13において位置算出に失敗したと判定した場合は(ステップA13;No)、CPU23は、IMES衛星7のPRNコードが割り当てられた各受信チャンネル21それぞれについて、ループBの処理を実行する(ステップA15〜A23)。
【0106】
ループBの処理では、CPU23は、ROM25に記憶されているIMES位置取得プログラム2511を読み出して実行することで、IMES位置取得処理を行う(ステップA17)。
【0107】
図17及び図18は、IMES位置取得処理の流れを示すフローチャートである。
先ず、CPU23は、当該受信チャンネル21がIMES衛星7を捕捉しているか否かを判定し(ステップB1)、捕捉していると判定した場合は(ステップB1;Yes)、当該IMES衛星7から新規のフレームデータを受信中か否かを判定する(ステップB3)。そして、新規のフレームデータを受信中であると判定した場合は(ステップB3;Yes)、CPU23は、第1ワードのMSG部を参照して、受信中のフレームデータのメッセージタイプを判定する(ステップB5)。
【0108】
次いで、CPU23は、ROM25に記憶されている最終ワード判定用データ255を参照して、判定したメッセージタイプが対応付けられた最終ワードカウンタ値を判定する(ステップB9)。そして、CPU23は、RAM27に記憶されている当該受信チャンネル21の受信データ2711の中に、ステップB9で判定した最終ワードカウンタ値を最終ワードデータに含むフレームデータが記憶されているか否かを判定する(ステップB11)。すなわち、受信中のフレームデータと同種のフレームデータを受信済みであるか否かを判定する。
【0109】
ステップB11において同種のフレームデータを受信済みであると判定した場合は(ステップB13;Yes)、CPU23は、受信済みの同種のフレームデータは、第1ワードから最終ワードまでの完全なフレームデータであるか否かを判定する(ステップB15)。そして、第1ワードから最終ワードまでの完全なフレームデータであると判定した場合は(ステップB15;Yes)、CPU23は、当該フレームデータをデコードして位置情報を取得し、RAM27にIMES取得位置275として記憶させる(ステップB17)。そして、CPU23は、IMES位置取得処理を終了する。
【0110】
一方、ステップB15において、受信済みの同種のフレームデータが完全なフレームデータではないと判定した場合は(ステップB15;No)、CPU23は、当該受信チャンネル21の受信データ2711を複製し、複製受信データ2713としてRAM27に記憶させる(ステップB19)。
【0111】
次いで、CPU23は、複製受信データ2713の中から完品のフレームデータを削除する(ステップB21)。すなわち、複製受信データ2713の中から、受信中のフレームデータと異なる種類のフレームデータであって、全てのワードデータが揃っている完全なフレームデータを削除する。
【0112】
そして、CPU23は、受信中のフレームデータのうちの受信が完了したワードデータを判定する(ステップB23)。また、CPU23は、複製受信データ2713に含まれるワードデータを判定する(ステップB25)。そして、CPU23は、ステップB23で判定したワードデータと、ステップB25で判定したワードデータとをワード単位で結合可能であるか否かを判定する(ステップB27)。
【0113】
そして、ワード単位で結合可能であると判定した場合は(ステップB27;Yes)、CPU23は、ワード単位フレームデータ予測処理を行う(ステップB29)。すなわち、ステップB23で判定したワードデータと、ステップB25で判定したワードデータとを結合してフレームデータ全体を再生・予測し、予測フレームデータ2717としてRAM27に記憶させる。
【0114】
次いで、CPU23は、予測フレームデータ2717をデコードして位置情報を取得し、IMES取得位置275としてRAM27に記憶させる(ステップB31)。そして、CPU23は、IMES位置取得処理を終了する。
【0115】
一方、ステップB27においてワード単位での結合が不可能であると判定した場合は(ステップB27;No)、CPU23は、同種のフレームデータの合算の受信データ長を判定する(ステップB33)。すなわち、受信中のフレームデータのビット長と、受信済みの同種のフレームデータのビット長とを合算する。ビット長は、受信中のフレームデータのプリアンブルの先頭を基準にして計算することができる。
【0116】
次いで、CPU23は、ステップB33で判定した合算受信データ長が、当該種別のフレームデータの規定長以上であるか否かを判定する(ステップB35)。そして、規定長に満たないと判定した場合は(ステップB35;No)、IMES位置取得処理を終了する。また、規定長以上であると判定した場合は(ステップB35;Yes)、CPU23は、ROM25に記憶されているビット単位フレームデータ予測プログラム2513を読み出して実行することで、ビット単位フレームデータ予測処理を行う(ステップB37)。
【0117】
図19は、ビット単位フレームデータ予測処理の流れを示すフローチャートである。
先ず、CPU23は、上述した原理に従って、ビットデータの反転チェック処理を行う(ステップC1)。すなわち、受信中のワードデータの反転パターンを判定するとともに、ビットデータの組合せを変えてビットデータを結合して仮本体部を生成し、生成した仮本体部に対してパリティ計算を行う。そして、得られた算出パリティを用いてパリティの照合チェックを行う。
【0118】
次いで、CPU23は、反転チェック処理の処理結果に従ってワードデータ予測処理を行い、予測されたワードデータを予測ワードデータ2715としてRAM27に記憶させる(ステップC3)。すなわち、受信中のワードデータの反転パターンと、パリティの照合結果とに基づいて、図9のテーブルに従ってワードデータを再生・予測する。
【0119】
次いで、CPU23は、図11で説明したように確認処理を行う(ステップC5)。そして、確認処理の結果がOKである場合は、フレームデータ予測処理を行う(ステップC7)。具体的には、予測ワードデータ2715と、受信データ2711に記憶されている残余のワードデータとを結合して、フレームデータ全体を再生・予測する。そして、当該フレームデータを予測フレームデータ2717としてRAM27に記憶させる。フレームデータ予測処理を行った後、CPU23は、ビット単位フレームデータ予測処理を終了する。
【0120】
図18のIMES位置取得処理に戻って、ビット単位フレームデータ予測処理を終了した後、CPU23は、RAM27に記憶されている予測フレームデータ2717をデコードして位置情報を取得し、IMES取得位置275としてRAM27に記憶させる(ステップB39)。そして、CPU23は、IMES位置取得処理を終了する。
【0121】
一方、ステップB1においてIMES衛星7を捕捉していないと判定した場合(ステップB1;No)、又は、ステップB13において受信中のフレームデータと同種のフレームデータを受信済みではないと判定した場合は(ステップB13;No)、CPU23は、IMES位置取得処理を終了する。
【0122】
図16のベースバンド処理に戻って、IMES位置取得処理を行った後、CPU23は、位置取得に成功したか否かを判定し(ステップA19)、成功したと判定した場合は(ステップA19;Yes)、RAM27に記憶されているIMES取得位置275をホストCPU30に出力する(ステップA21)。そして、CPU23は、次の受信チャンネル21へと処理を移行する。また、ステップA19において位置取得に失敗したと判定した場合も(ステップA19;No)、CPU23は、次の受信チャンネル21へと処理を移行する。
【0123】
IMES衛星7のPRNコードが割り当てられた全ての受信チャンネル21についてステップA17〜A21の処理を行った後、CPU23は、ループBの処理を終了する(ステップA23)。その後、CPU23は、位置算出を終了するか否かを判定し(ステップA27)、まだ終了しないと判定した場合は(ステップA27;No)、ステップA1に戻る。また、位置算出を終了すると判定した場合は(ステップA27;Yes)、ベースバンド処理を終了する。
【0124】
6.作用効果
位置算出システム1において、携帯型電話機3は、擬似衛星の一種であるIMES衛星7から発信されるフレームデータを受信し、受信したフレームデータを蓄積的に記憶する。そして、プリアンブル部の受信を検出した場合、プリアンブル部の直後のMSG部に格納されているメッセージタイプに基づいて、受信中のフレームデータの種類を判定する。そして、受信済みのデータの中から同種のフレームデータを検索し、同種のフレームデータが見つかった場合は、当該フレームデータを用いて、受信中のフレームデータ全体を予測する。
【0125】
IMES衛星7が発信するフレームデータは、フレームデータの種類に応じて異なる複数のワードで構成されている。IMES衛星7は、同一種類のフレームデータについては同一のフレームデータを繰り返し発信している。そして、携帯型電話機3は、受信中のフレームデータと、受信済みの同種のフレームデータとを、ワード単位又はビット単位で結合することで、受信中のフレームデータ全体を予測する。
【0126】
この際、受信中のフレームデータの受信済みのワードデータと、受信済みの同種のフレームデータのワードデータとをそれぞれ判定する。そして、これらのワードデータを結合して1フレーム分のフレームデータを再生することができる場合は、ワード単位で結合してフレームデータを再生する。また、ワード単位で結合することができない場合は、受信中のフレームデータのビット長と、受信済みの同種のフレームデータのビット長とを合算して受信データ長を判定する。そして、受信データ長が当該種別のフレームデータの規定長以上である場合に、ビット単位で結合してワードデータを再生・予測する。
【0127】
受信済みのデータの中から同種のフレームデータを抽出し、抽出したフレームデータを用いて受信中のフレームデータ全体を予測することで、IMES衛星7から発信されるデータの種類に依らずに、データ内容の取得を高速化することができる。また、ワード単位又はビット単位でフレームデータを結合する構成により、受信済みのフレームデータがワード単位で不完全であるかビット単位で不完全であるかに依らずに、この不完全なデータを活用して、受信中のフレームデータの全体を予測することができる。
【0128】
7.変形例
7−1.電子機器
本発明は、携帯型電話機の他にも、位置算出装置を備えた電子機器であれば何れの電子機器にも適用可能である。例えば、ノート型パソコンやPDA(Personal Digital Assistant)、携帯型音楽再生装置、携帯型ゲーム装置等についても同様に適用可能である。
【0129】
7−2.衛星位置算出システム
上述した実施形態では、衛星位置算出システムとしてGPSを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星位置算出システムであってもよい。
【0130】
7−3.処理の分化
ベースバンド処理回路部20のCPU23が実行する処理の一部又は全部を、ホストCPU30が行う構成としてもよい。例えば、IME衛星7からIMES衛星信号を受信して、フレームデータ全体を予測する処理をCPU23が行う。そして、予測したフレームデータをホストCPU30に出力し、ホストCPU30は、CPU23から取得したフレームデータをデコードして、位置情報を取得するようにする。
【0131】
7−4.受信チャンネル
同一のIMES衛星7のPRNコードを複数の受信チャンネルに割り当てて、同じIMES衛星7からのフレームデータの予測を複数の受信チャンネルを行うことにしてもよい。上述した実施形態において、特にビット単位でデータを結合してワードデータを生成する場合には、受信データに欠損が存在すると、フレームデータ全体の予測を正しく行うことができないおそれがある。しかし、同一のIMES衛星7からのフレームデータの予測を複数の受信チャンネルで行い、各受信チャンネルで得られたフレームデータを用いてフレームデータ全体の予測の正確性を判定することにすれば、信頼性の高いデータを取得することが可能となる。
【符号の説明】
【0132】
1 位置算出システム、 3 携帯型電話機、 5 GPS衛星、 7 IMES衛星、 9 GPSアンテナ、 10 GPS受信部、 11 RF受信回路部、 20 ベースバンド処理回路部、 21 受信チャンネル、 23 CPU、 25 ROM、 27 RAM、 30 ホストCPU、 40 操作部、 50 表示部、 60 携帯電話用アンテナ、 70 携帯電話用無線通信回路部、 80 フラッシュROM、 90 RAM
【技術分野】
【0001】
本発明は、擬似衛星信号受信方法及び受信装置に関する。
【背景技術】
【0002】
従来より、測位用信号を利用した測位システムとして、GPS(Global Positioning System)が広く知られており、様々な電子機器に内蔵されて利用されている。近年では、携帯型電話機や腕時計等の携帯型の電子機器にもGPSが備えられるようになり、カーナビゲーション装置のように屋外で使用されるのみではなく、建物内や地下といった様々な場所でも使用されている。しかし、建物内や地下ではGPS衛星信号を受信し難く、位置算出が困難であるという問題が生じていた。
【0003】
そこで、建物内や地下等のGPS衛星信号が受信し難い場所においても位置を取得可能とするための技術として、擬似衛星を配置する技術が知られている。擬似衛星は、当該擬似衛星の配置位置の情報を擬似衛星信号に含めて発信している。擬似衛星信号は、GPS衛星信号を模擬した通信信号である。受信機は、受信した擬似衛星信号から配置位置の情報を取得することで、自身が位置している場所を知ることができる。
【0004】
しかし、擬似衛星信号に含まれる情報を取得するためには、擬似衛星信号の信号長に応じた時間を要する。すなわち、擬似衛星信号全体を受信しなければ、擬似衛星信号を復調して配置位置の情報を取得することができない。そのため、一定の時間間隔(例えば1秒間隔)で位置を取得して各種のアプリケーションに利用するといったことが困難な場合がある。その問題を解決するための技術の1つとして、バッファに記憶済みの擬似衛星信号のメッセージデータを用いて、メッセージデータの取得に要する時間を短縮する技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−241422号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
擬似衛星は、配置位置の情報を擬似衛星信号に含めて発信するように設計されるが、擬似衛星信号のデータのフォーマットが1種類であるとは限らない。特許文献1の技術は、データフォーマットの種類が1種類で且つ固定であることを前提とした技術であるため、例えば、データフォーマットが複数種類ある場合には対応できないという問題があった。
【0007】
具体的には、擬似衛星が配置位置の情報を発信するといっても、その“位置”が座標値で表現された位置であるか緯度・経度で表現された位置であるか、また、2次元の位置であるか3次元の位置であるか、といったように表現形式は多様である。そのため、何れの表現形式で位置を提供するかによっても、擬似衛星信号のデータフォーマットは異なり得る。この場合、受信中のメッセージデータの種類と、過去に受信したメッセージデータの種類とが異なり得るため、特許文献1の技術をそのまま適用することはできない。
【0008】
本発明は上述した課題に鑑みて為されたものであり、擬似衛星から発信されるデータの種類に依らずに、データ内容の取得を高速化するための手法を提案することにある。
【課題を解決するための手段】
【0009】
以上の課題を解決するための第1の形態は、当該フレームデータの種類識別データを含むフレームデータを複数種類発信可能な擬似衛星が繰り返し発信する前記フレームデータを受信することと、前記種類識別データに基づいて、受信中のフレームデータの種類を判定することと、前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出することと、前記抽出されたデータを用いて、全データの受信が完了していない受信中のフレームデータ全体を予測することと、を含む擬似衛星信号受信方法である。
【0010】
また、他の形態として、当該フレームデータの種類識別データを含むフレームデータを複数種類発信可能な擬似衛星が繰り返し発信する前記フレームデータを受信する受信部と、前記種類識別データに基づいて、受信中のフレームデータの種類を判定する種類判定部と、前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出する抽出部と、前記抽出されたデータを用いて、全データの受信が完了していない受信中のフレームデータ全体を予測する予測部と、を備えた受信装置を構成してもよい。
【0011】
この第1の形態等によれば、擬似衛星から受信したフレームデータに含まれる種類識別データに基づいて、当該フレームデータの種類を判定する。そして、既に受信済みのデータの中から同種のフレームデータを抽出して、全データの受信が完了していない受信中のフレームデータ全体を予測する。受信済みのデータの中から抽出した同種のフレームデータを用いて、受信中のフレームデータ全体を予測することで、擬似衛星から発信されるデータの種類に依らずに、データ内容の取得を高速化することができる。
【0012】
また、第2の形態として、第1の形態の擬似衛星信号受信方法であって、前記フレームデータは、構成するワード数がフレームデータの種類に応じて異なり、前記擬似衛星は、複数種類のフレームデータを発信する場合、前記フレームデータを種類別に順番に発信する処理を繰り返し行うよう構成されており、前記抽出することは、前記判定された種類のフレームデータの構成ワード数に基づいて、前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出することである擬似衛星信号受信方法を構成してもよい。
【0013】
この第2の形態によれば、判定された種類のフレームデータの構成ワード数に基づいて、判定された種類と同種のフレームデータを受信済みのデータの中から抽出する。フレームデータの種類に応じてワード数が異なる。そのため、フレームデータの種類とワード数との対応関係を定めておくことで、同種のフレームデータの抽出が容易となる。
【0014】
第3の形態は、データ長が規定されたフレームデータを繰り返し発信する擬似衛星から前記フレームデータを受信することと、プリアンブルの受信を検出することと、受信データのサイズが前記データ長以上の場合に、全データの受信が完了していない前記プリアンブルから始まるフレームデータ全体を、受信したデータから推測することと、を含む擬似衛星信号受信方法である。
【0015】
また、他の形態として、データ長が規定されたフレームデータを繰り返し発信する擬似衛星から前記フレームデータを受信する受信部と、プリアンブルの受信を検出するプリアンブル検出部と、受信データのサイズが前記データ長以上の場合に、全データの受信が完了していない前記プリアンブルから始まるフレームデータ全体を、受信したデータから推測する推測部と、を備えた受信装置を構成してもよい。
【0016】
この第3の形態等によれば、データ長が規定されたフレームデータを繰り返し発信する擬似衛星からフレームデータを受信する。そして、プリアンブルの受信を検出し、受信データのサイズがデータ長以上の場合に、全データの受信が完了していないプリアンブルから始まるフレームデータ全体を、受信したデータから推測する。
【0017】
また、第4の形態として、第1又は第2の形態の擬似衛星信号受信方法であって、前記フレームデータは、種類別にデータ長が規定されており、同種のフレームデータの受信データのサイズが、当該フレームデータのデータ長以上の場合に、全データの受信が完了していない当該フレームデータ全体を、受信したデータから推測することを更に含む擬似衛星信号受信方法を構成してもよい。
【0018】
より具体的には、第5の形態として、第4の形態の擬似衛星信号受信方法であって、前記フレームデータは、ワード単位で構成されており、前記検出されたプリアンブルに基づいて、受信データをワード単位に区切ることを更に含み、前記推測することは、受信未完了のワードの残余データ部分を、受信済みのデータに基づいて補完することを含む擬似衛星信号受信方法を構成することが可能である。
【0019】
この第4及び第5の形態によれば、受信中のフレームデータのプリアンブルに基づいて、受信データをワード単位に区切る。そして、受信未完了のワードの残余データ部分を、受信済みのデータに基づいて補完することで、全データの受信が完了していない当該フレームデータ全体を推測する。これにより、受信済みのデータに基づいて受信未完了のワードを補完することができる。
【0020】
この場合、第6の形態として、第5の形態の擬似衛星信号受信方法において前記補完することが、受信データのサイズが前記データ長に達した場合に、受信済みのデータのうちの受信開始部分のワードデータに基づいて、受信未完了のワードデータを補完することを含むように擬似衛星信号受信方法を構成することも可能である。
【0021】
この第6の形態によれば、受信データのサイズがフレームデータのデータ長に達した場合に、受信済みのデータのうちの受信開始部分のワードデータに基づいて、受信未完了のワードデータを補完する。受信済みのデータのうち、受信開始部分のワードデータを用いて受信未完了のワードデータを補完することで、受信中のフレームデータの推測の正確性を向上させることができる。
【図面の簡単な説明】
【0022】
【図1】位置算出システムの構成の一例を示す図。
【図2】フレームデータのメッセージタイプの説明図。
【図3】フレームデータのメッセージタイプの説明図。
【図4】フレームデータのメッセージタイプの説明図。
【図5】フレームデータのメッセージタイプの説明図。
【図6】最終ワード判定用データのデータ構成の一例を示す図。
【図7】ワード単位のフレームデータ予測の説明図。
【図8】ビット単位のフレームデータ予測の説明図。
【図9】ビット単位のフレームデータ予測の説明図。
【図10】ビット単位のフレームデータ予測の説明図。
【図11】ビット単位のフレームデータ予測の説明図。
【図12】携帯型電話機の機能構成の一例を示すブロック図。
【図13】ベースバンド処理回路部の回路構成の一例を示す図。
【図14】ベースバンド処理回路部のROMに格納されたデータの一例を示す図。
【図15】ベースバンド処理回路部のRAMに格納されるデータの一例を示す図。
【図16】ベースバンド処理の流れを示すフローチャート。
【図17】IMES位置取得処理の流れを示すフローチャート。
【図18】IMES位置取得処理の流れを示すフローチャート。
【図19】ビット単位フレームデータ予測処理の流れを示すフローチャート。
【発明を実施するための形態】
【0023】
以下、図面を参照して、本発明の好適な実施形態の一例について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけではない。
【0024】
1.システム構成
図1は、本実施形態における位置算出システム1の構成を示す図である。位置算出システム1は、携帯型電話機3と、複数のGPS(Global Positioning System)衛星5と、複数のIMES(Indoor MEssaging System)衛星7とを備えて構成される。
【0025】
携帯型電話機3は、ユーザーが通話やメールの送受信等を行うための携帯通信端末としての電子機器であり、通話やメールの送受信といった携帯型電話機としての本来の機能の他、位置を算出する機能をなす位置算出装置を具備して構成されている。携帯型電話機3は、GPS衛星5から発信されているGPS衛星信号、或いは、IMES衛星7から発信されているIMES衛星信号に基づいて位置を算出し、算出した位置をプロットした位置表示画面を表示部に表示させることで、ユーザーに現在位置を報知する。
【0026】
GPS衛星5は、測位用衛星の一種であり、6つの地球周回軌道面それぞれに4機以上ずつ配置され、原則、地球上のどこからでも常時4機以上の衛星が幾何学的配置のもとで観測できるように運用されている。GPS衛星5は、アルマナックやエフェメリス等の航法データをGPS衛星信号に含めて発信している。GPS衛星信号は、GPS衛星5毎に割り当てられた固有の変調コードであるPRN(Pseudo Random Noise)コードで直接スペクトラム拡散方式により変調された1.57542[GHz]の通信信号である。PRNコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号である。
【0027】
IMES衛星7は、擬似衛星の一種であり、建物等の施設内の随所に配置され、各種の情報を擬似衛星信号の一種であるIMES衛星信号に含めて発信している。IMES衛星7から発信されるIMES衛星信号は、GPS衛星5から発信されるGPS衛星信号を模擬した通信信号であり、発信周波数はGPS衛星信号と同じ1.57542[GHz]である。すなわち、IMES衛星7は、GPS衛星5からのGPS衛星信号の信号規格(通信規格)に準拠したIMES衛星信号を発信するように構成されている。発信される信号の信号規格は同一であるが、GPS衛星5とIMES衛星7とでは、割り当てられているPRNコードが異なる。
【0028】
具体的には、GPS衛星5には、「1」〜「32」までの32個のPRNコードが割り当てられている。一方、IMES衛星7には、「173」〜「182」の10個のPRNコードが割り当てられている。このようなPRNコードの割り当ての違いにより、携帯型電話機3は、受信した衛星信号がGPS衛星信号とIMES衛星信号の何れであるかを識別することができる。
【0029】
2.原理
2−1.IMES衛星信号のメッセージの構成
本実施形態では、各IMES衛星7は、フレーム長及びデータフォーマットが定められたフレームデータをIMES衛星信号に含めて発信する。各フレームデータは、単位データである連続する複数のワード(Word)で構成されている。1ワードは30ビットであり、フレームデータの種類によってワード数が異なるため、フレーム長(全データ長)が異なる。また、フレームデータの種類によって、搬送されるメッセージの種類が異なる。
【0030】
また、各IMES衛星7は、種類が同じフレームデータについては、搬送するデータ内容も同一のフレームデータを発信する。すなわち、1種類のフレームデータを発信する場合には、その種類のフレームデータであって搬送内容も同一のフレームデータを繰り返し発信し、2種類のフレームデータを発信する場合には、それぞれの種類で同一のフレームデータを、交互に繰り返し発信する。同一種類のフレームデータに異なるデータを搬送させて発信することはなく、同一種類のフレームデータの場合には、必ず同一のデータが搬送される同一のフレームデータとなる。
【0031】
各フレームデータの第1ワードの先頭の8ビットは、フレームデータの先頭を判別するための情報が格納されるプリアンブル部である。プリアンブル部の直後の3ビットは、フレームデータのメッセージ種類(メッセージタイプ)を識別するための情報が格納されるMSG部である。また、各ワードの最後尾の6ビットはパリティ部であり、ワードの区切りを判別するための情報として利用することも可能である。
【0032】
また、第1ワードを除いた各ワード(第2ワードから末尾のワード)の最初の3ビットは、ワードの番号を識別するためのカウンタ値が格納されたCNT部である。第2ワードのCNT部にはカウンタ値として「0」が格納され、以降のワードのCNT部には、「1」、「2」・・・といった、ワード毎に順次にインクリメントされたカウンタ値が格納される。
【0033】
図2〜図5は、各フレームデータのメッセージタイプの説明図である。図2には、メッセージタイプが「0」であるフレームデータを示している。このフレームデータは、第1ワード〜第3ワードまでの3つのワードで構成されており、第1ワードのMSG部には、メッセージタイプを識別するための番号として「0」が格納される。すなわち、第1ワードの第9〜第11ビットのビット値は「000」である。
【0034】
第2ワードのCNT部には、カウンタ値として「0」が格納され、第3ワードのCNT部には、カウンタ値として「1」が格納される。また、第1ワードのプリアンブル部、MSG部及びパリティ部を除いた第12〜第24ビットの部分と、第2ワード及び第3ワードのCNT部及びパリティ部を除いた第4〜第24ビットの部分は、搬送するデータが格納されるタイプ0用データ部である。
【0035】
図3には、メッセージタイプが「1」であるフレームデータを示している。このフレームデータは、第1〜第4ワードまでの4つのワードで構成されている。第1ワードのMSG部には、メッセージタイプを識別するための番号として「1」が格納される。すなわち、第1ワードの第9〜第11ビットのビット値は「001」である。
【0036】
第2ワードのCNT部には、カウンタ値として「0」が格納され、第3ワードのCNT部には、カウンタ値として「1」が格納される。また、第4ワードのCNT部には、カウンタ値として「2」が格納される。また、第1ワードのプリアンブル部、MSG部及びパリティ部を除いた第12〜第24ビットの部分と、第2ワード、第3ワード及び第4ワードのCNT部及びパリティ部を除いた第4〜第24ビットの部分とは、搬送するデータが格納されるタイプ1用データ部である。
【0037】
図4には、メッセージタイプが「3」であるフレームデータを示している。このフレームデータは、第1ワードのみで構成されている。第1ワードのMSG部には、メッセージタイプを識別するための番号として「3」が格納される。すなわち、第1ワードの第9〜第11ビットのビット値は「011」である。また、第1ワードのプリアンブル部、MSG部及びパリティ部を除いた第12〜第24ビットの部分は、搬送するデータが格納されるタイプ3用データ部である。
【0038】
図5には、メッセージタイプが「4」であるフレームデータを示している。このフレームデータは、第1及び第2ワードの2つのワードで構成されている。第1ワードのMSG部には、メッセージタイプを識別するための番号として「4」が格納される。すなわち、第1ワードの第9〜第11ビットのビット値は「100」である。また、第1ワードのプリアンブル部、MSG部及びパリティ部を除いた部分と、第2ワードのCNT部及びパリティ部を除いた部分とは、搬送するデータが格納されるタイプ4用データ部である。
【0039】
上述したタイプ0用データ部、タイプ1用データ部、タイプ3用データ部及びタイプ4用データ部には、フレームデータの種類に応じたメッセージデータがそれぞれ格納される。例えば、IMES衛星7の配置位置を各種の表現形式(座標値、緯度・経度、2次元、3次元)で表したデータや、IMES衛星7を識別するための識別コードのデータ等の各種のデータが格納される。
【0040】
2−2.データ予測の原理の説明
次に、本実施形態におけるフレームデータ予測の原理について説明する。本実施形態では、各IMES衛星7それぞれが、前述した4種類のフレームデータを、任意の順番で連続的に繰り返し発信するように設計されているものとして説明する。すなわち、同一のIMES衛星7であっても、発信されるフレームデータの種類はその都度変化することになる。携帯型電話機3(GPS受信機)は、受信しているデータのプリアンブル部を検出し、その直後のMSG部を参照することによって、受信中のフレームデータの種類を識別することになる。
【0041】
本実施形態では、携帯型電話機3は、IMES衛星7からの受信データを蓄積的に記憶する。そして、蓄積記憶された受信済みデータの中から、現在受信中のフレームデータと同一のフレームデータが部分的にでも記憶されていないかを検索し、同一のフレームデータが記憶されている場合は、当該フレームデータを用いて、受信中のフレームデータの全体を予測する。
【0042】
具体的に説明する。まず、プリアンブル部が受信できたか否かを監視し、プリアンブル部を検出した場合は、その直後に受信されるMSG部を参照して、受信中のフレームデータのメッセージタイプを検出する。そして、検出したメッセージタイプに基づいて、同一のメッセージタイプのフレームデータが部分的にでもよいので過去に受信済みであるか否かを判定する。
【0043】
図6は、本実施形態においてフレームデータの検索を行うために使用する最終ワード判定用データ255のデータ構成の一例を示す図である。最終ワード判定用データ255には、フレームデータのメッセージタイプ2551と、当該フレームデータに含まれる末尾のワード(以下、「最終ワード」と称す。)のカウンタ値である最終ワードカウンタ値2553とが対応付けて記憶されている。
【0044】
メッセージタイプが「0」のフレームデータは、第1〜第3ワードの3つのワードで構成され、第2ワードのカウンタ値が「0」で、第3ワードのカウンタ値が「1」であるため、最終ワードカウンタ値2553は「1」である。メッセージタイプが「1」のフレームデータは、第1〜第4ワードの4つのワードで構成され、第2ワードのカウンタ値が「0」で、第3ワードのカウンタ値が「1」で、第4ワードのカウンタ値が「2」であるため、最終ワードカウンタ値2553は「2」である。
【0045】
同様に、メッセージタイプが「3」のフレームデータは、第1ワードのみで構成され、第1ワードにはカウンタ値が含まれないため、最終ワードカウンタ値2553は「−(無し)」である。また、メッセージタイプが「4」のフレームデータは、第1及び第2ワードで構成され、第2ワードのカウンタ値は「0」であるため、最終ワードカウンタ値2553は「0」である。
【0046】
受信中のフレームデータのMSG部を参照してメッセージタイプを検出したら、最終ワード判定用データ255を参照し、検出したメッセージタイプ2551に対応付けられている最終ワードカウンタ値2553を判定する。そして、受信済みのフレームデータの中から、判定した最終ワードカウンタ値2553を有する最終ワードを検索することで、受信中のフレームデータと同一のメッセージタイプのフレームデータが記憶されているか否かを判定する。
【0047】
図7は、フレームデータの予測の具体例を示す図である。ここでは、メッセージタイプが「2」のフレームデータの第2〜第4ワードと、メッセージタイプが「3」のフレームデータの第1〜第3ワードとが受信済みであり、これらのデータが記憶されているものとして説明する。
【0048】
現在受信しているフレームデータのプリアンブル部の直後のMSG部から、当該フレームデータのメッセージタイプが「1」であることが検出されたとする。この場合、図6の最終ワード判定用データ255を参照すると、メッセージタイプ2551が「1」に対応付けられている最終ワードカウンタ値2553は「2」である。そのため、受信済みのフレームデータの中から、最終ワードカウンタ値2553が「2」である最終ワードを検索する。
【0049】
遡って検索していくと、先ず最初に、CNT部に「1」が格納されたワードが見つかるが、カウンタ値が「1」であり「2」ではないため、受信中のフレームデータとは異なるデータであることがわかる。さらに遡って検索していくと、CNT部に「2」が格納されたワードが見つかる。従って、受信中のフレームデータと同一のメッセージタイプのフレームデータが受信済みである可能性があることがわかる。メッセージタイプが同一ということは、フレームデータそのものも同一である。
【0050】
また、そこから更に遡ると、CNT部に「1」が格納されたワードと、CNT部に「0」が格納されたワードとが見つかるため、最終的に、受信中のフレームデータと同一のメッセージタイプのフレームデータのうちの第2ワード〜第4ワードが受信済みであることがわかる。従って、受信中のフレームデータの第1ワードを受信すれば、受信済みの第2ワード〜第4ワードと結合することにより、フレームデータ全体を予測(再生)することができる。このようにしてフレームデータ全体を予測したら、当該フレームデータを復調してメッセージデータを取得する。
【0051】
尚、第2ワード〜第4ワードが受信済みである場合を例に挙げて説明したが、受信済みのワード数がいくつであっても、フレームデータの予測を同様に行うことができる。例えば、第3ワード及び第4ワードが受信済みである場合は、受信中のフレームデータの第2ワードまでを受信する。そして、受信済みの第3ワード及び第4ワードと結合することで、1フレーム分のデータを予測する。
【0052】
また、第1ワード〜第4ワードまでの完全なフレームデータが受信済みである場合は、この受信済みのフレームデータ全体をそのまま利用することができる。従って、受信中のフレームデータと同一のメッセージタイプのフレームデータが見つかった時点で、この受信済みのフレームデータ全体を読み出して復調することにすればよい。
【0053】
ここまで説明したフレームデータの予測手法は、ワード単位でデータを結合してフレームデータを予測・再生する手法である。しかし、受信済みのワードがワードデータとして(ワード単位として)不完全である場合には、ワード単位でデータを結合することができない。本実施形態では、ワード単位でデータを結合することができない場合は、ビット単位でデータを結合してワードデータを再生する。
【0054】
具体的には、ワード単位でデータを結合してフレームデータ全体を再生することができない場合は、同種のフレームデータの受信データ長を判定する。すなわち、受信中のフレームデータのビット長と、受信済みの同種のフレームデータのビット長とを合算した合算受信データ長が、受信中のフレームデータのMSG部に格納されたメッセージタイプのデータの規定長以上である場合は、受信中のフレームデータと、受信済みの同種のフレームデータとをビット単位で結合する。
【0055】
受信データ長の判定は、例えば、受信中のフレームデータのプリアンブル部の先頭のビットを基準として計算することができる。また、フレームデータの規定長は、図2〜図4に示したように、メッセージタイプが「0」のフレームデータは「90ビット」、メッセージタイプが「1」のフレームデータは「120ビット」、メッセージタイプが「3」のフレームデータは「30ビット」、メッセージタイプが「4」のフレームデータは「60ビット」である。
【0056】
本実施形態では、フレームデータを構成するビット値に関して、次のようなルールがあるものとする。すなわち、各ワードは、直前のワードの最終ビットの値に応じて、当該ワードの全てのビット値を反転する。具体的には、あるワードの最終ビット(第30ビット)のビット値が「0」であるならば、次のワードの全てのビット値を反転せず、「1」であるならば反転する。従って、反転しているか否かの判断の対象とするワードの直前のワードの最終ビットのビット値から、当該ワードのビット値が反転されているか否かを判断できる。
【0057】
図8及び図9は、ビット単位でのフレームデータ予測の原理の説明図である。フレームデータの予測は、受信中の不完全なワードデータと受信済みの不完全なワードデータとを用いて、ワードデータ全体(1ワード分のデータ)を再生・予測することで行う。説明を分かり易くするために、フレームデータを構成する各ワードデータそれぞれについて、パリティ部を除いた第1〜第24ビットまでのビット部分を、便宜的に「本体部」と呼ぶことにする。
【0058】
先ず、受信中のワードデータの直前に受信したワードデータの最終ビットのビット値を参照することで、受信中のワードデータの全ビット値が反転なしなのか、反転ありなのかを判定する。
【0059】
次いで、受信中のワードデータの一部のビット列と、受信済みのワードデータの一部のビット列とを反転あり/なしの組合せを変えて結合して、仮の本体部(以下、「仮本体部」と称す。)を生成する。すなわち、(α)受信中のワードデータそのもの(反転なし)と、受信済みのワードデータそのもの(反転なし)との組合せ、(β)受信中のワードデータを反転したもの(反転あり)と、受信済みのワードデータそのもの(反転なし)との組合せ、とする2種類の結合パターンでビット列を結合して仮本体部を生成する。
【0060】
そして、(α)及び(β)の2種類の結合パターンそれぞれで結合・生成した仮本体部に対してパリティ計算を行って、仮本体部に付加する算出パリティを求める。そして、仮本体部と算出パリティとを結合して暫定的なワードデータ(以下、「暫定ワードデータ」と称す。)を生成する。そして、(α)及び(β)の2種類の結合パターンそれぞれについて、算出パリティを、仮本体部を生成するために使用した受信済みのワードデータのうちのパリティ部のデータと照合チェックする。
【0061】
照合チェックを行ったら、受信中のワードデータの反転パターンと、照合チェックの結果とに基づいて、図9に示すテーブルに従ってワードデータを予測する。図9のテーブルは、照合チェックにより照合OKとなった結合パターン((α)又は(β))と、受信中のワードデータの反転有無(反転あり又は反転なし)との4種類の組合せそれぞれについて、暫定ワードデータを用いて最終的なワードデータを求めるための方法が定められている。
【0062】
具体的には、(α)受信中のワードデータは反転なし、且つ、受信済みのワードデータも反転なし、の結合パターンで結合・生成した暫定ワードデータについて行った照合チェックの結果がOKとなった場合において、実際に受信中のワードデータが反転ありであれば、暫定ワードデータの全てのビット値を反転させたデータを、最終的なワードデータとする。また、実際に受信中のワードデータが反転なしであれば、暫定ワードデータそのものを最終的なワードデータとする。
【0063】
一方、(β)受信中のワードデータは反転あり、且つ、受信済みのワードデータは反転なし、の結合パターンで結合・生成した暫定ワードデータについて行った照合チェックの結果がOKとなった場合において、実際に受信中のワードデータが反転ありであれば、暫定ワードデータそのものを最終的なワードデータとする。また、受信中のワードデータが反転なしであれば、暫定ワードデータの全てのビット値を反転させたデータを最終的なワードデータとする。
【0064】
図10及び図11を参照して、ワードデータの予測の具体例について説明する。ここでは、図10に示すように、メッセージタイプが「2」であるフレームデータのうち、第3ワードの第11〜第30ビットの部分のデータと、第4ワードのデータと、第1ワードのデータと、第2ワードのデータと、第3ワードの第1〜第20ビットの部分のデータとの受信が完了した状態にあるものとして説明する。但し、受信したビット列を解析していない段階では、ワードの区切りは不明であり、メッセージタイプも不明であり、ビット列は単なるビット値の羅列に過ぎない。図10,11及び以下説明においては、受信したビット列からプリアンブル部が解析され、ワードの区切りが判定され、メッセージタイプ及び各ワードの識別までも判定された状態を示している。
【0065】
図10において、現在受信中のワードデータは受信順が「5」のワードデータであり、第3ワードのデータに相当する。受信順が「4」のワードデータの最終ビットのビット値は「0」であるため、受信中のワードデータは、ビット反転なしであると判定することができる。
【0066】
受信順が「5」である受信中のワードデータと同じ第3ワードのデータとして、受信順が「1」のワードデータがある。また、受信順が「5」のワードデータと、受信順が「1」のワードデータとは、何れも不完全なワードデータではあるが、合算したビット数は1つのワードデータの規定ビット数(30ビット)以上であるため、結合することによって完全なワードデータを再生することが可能である。そこで、受信順が「1」のワードデータと、現在受信中の受信順が「5」のワードデータとを用いて、現在受信途中のワードデータを全て受信する前に、現在受信途中のワードデータ全体を再生・予測する。
【0067】
受信順が「5」のワードデータの1つ前のワードデータの最終ビットの値は「0」であるため、受信順が「5」のワードデータは反転なしのデータである。しかし、受信順が「1」のワードデータより前のワードデータは受信済みでないため、受信順が「1」のワードデータの反転有無はわからない。そこで、受信順が「1」のワードデータの反転チェックを行う。
【0068】
具体的には、受信順が「1」のワードデータと、受信順が「5」のワードデータとを、ビットの重複部分及びパリティ部分を境界として、複数のビット部分に分断する。具体的には、図10に示すように、受信順が「1」のワードデータは、第11〜第20ビットまでのビットデータ(A)と、第21〜第24ビットまでのビットデータ(B)と、第25〜第30ビットまでのビットデータ(C)とに分断することとする。また、受信順が「5」のワードデータは、第1〜第10ビットまでのビットデータ(D)と、第11〜第20ビットまでのビットデータ(E)とに分断する。
【0069】
次いで、図8を参照して説明したように、受信中のワードデータ(受信順が「5」のワードデータ)の分断された一部のビットデータと、受信済みのワードデータ(受信順が「1」のワードデータ)の分断された一部のビットデータとを、結合パターンを変えて結合する。具体的には、(α)ビットデータ(D)、ビットデータ(A)及びビットデータ(B)の結合パターンでデータを結合して仮本体部を生成し、当該仮本体部に対してパリティ計算を行う。そして、得られた算出パリティと、受信順が「1」のワードデータのパリティ(ビットデータ(C))とを照合する。
【0070】
照合によりパリティが一致すれば、受信順が「1」のワードデータは、受信順が「5」のワードデータと同じく、ビット反転なしである。なぜならば、受信順が「5」のワードデータのビットデータ(D)を反転せずに用いて仮本体部を生成し、算出パリティを計算したからである。一方、パリティが一致しなかった場合には、受信順が「1」のワードデータは、受信順が「5」のワードデータとは異なり、ビット反転ありである。なぜならば、受信順が「5」のワードデータのビットデータ(D)を反転せずに用いて仮本体部を生成し、算出パリティを計算したからである。
【0071】
但し、受信時にビット値を誤って復元した(いわゆる受信エラー)可能性もあるため、ビット反転の有無を確認する。そこで、(β)ビットデータ(D)の反転、ビットデータ(A)及びビットデータ(B)の結合パターンでデータを結合して仮本体部を生成し、当該仮本体部に対してパリティ計算を行う。そして、得られた算出パリティと、受信順が「1」のワードデータのパリティ(ビットデータ(C))とを照合する。照合の結果、パリティが一致したとすれば、受信順が「1」のワードデータは、受信順が「5」のワードデータとは異なり、ビット反転ありであることが確定する。
【0072】
また、図10の受信順が「5」の受信中のワードデータは、ビット反転なしである。従って、図9に示した通り、暫定ワードデータの全てのビット値を反転させることで、受信中のワードデータを予測することができる。これにより、ビットデータ(D)、ビットデータ(A)の反転、ビットデータ(B)の反転及びパリティ(C)の反転で形成される1ワード分のデータが、予測されたワードデータとなる。
【0073】
以上のようにしてワードデータの予測を行うわけであるが、ビット単位でデータを結合する際には、更に、各ビット値の確認処理を行うことが好適である。確認処理は、種々の手法により行うことができるが、ここではその一例として、図10,11を例に挙げて説明する。
【0074】
先ず、図11(2)に示すように、ビットデータ(D)、ビットデータ(A)の反転及びビットデータ(B)の反転を結合して仮本体部を生成し、当該仮本体部に対してパリティ計算を行う。そして、得られたパリティを「判定用第1パリティ」とする。
【0075】
次いで、受信中のワードデータと受信済みのワードデータとのうちの結合に使用するビット部分を変えて、ビットデータを結合する。この際、受信中のワードデータ(受信順が「5」のデータ)をそのまま(反転なし)とし、受信済みのワードデータ(受信順が「1」のデータ)はビット値を反転させて、ビット部分を結合する。例えば、ビットデータ(D)、ビットデータ(E)及びビットデータ(B)の反転の結合パターンでデータを結合して仮本体部を生成し、当該仮本体部に対してパリティ計算を行う。そして、得られたパリティを「判定用第2パリティ」とする。
【0076】
そして、判定用第1パリティと判定用第2パリティとが一致するか否かを判定し、一致する場合は、ワードデータの予測が正しく行われたものと判断して、予測したワードデータを最終的なワードデータに確定する。一方、判定用第1パリティと判定用第2パリティとが一致しない場合は、ワードデータの予測が正しく行われていないとして、予測したワードデータを廃棄する。
【0077】
3.機能構成
図12は、携帯型電話機3の機能構成を示すブロック図である。携帯型電話機3は、GPSアンテナ9と、GPS受信部10と、ホストCPU(Central Processing Unit)30と、操作部40と、表示部50と、携帯電話用アンテナ60と、携帯電話用無線通信回路部70と、フラッシュROM(Read Only Memory)80と、RAM(Random Access Memory)90とを備えて構成される。
【0078】
GPSアンテナ9は、GPS衛星から発信されているGPS衛星信号を含むRF(Radio Frequency)信号を受信するアンテナであり、受信した信号をGPS受信部10に出力する。
【0079】
GPS受信部10は、GPSアンテナ9から出力された信号に基づいて携帯型電話機3の位置を計測する位置算出回路であり、いわゆるGPS受信機に相当する機能ブロックである。GPS受信部10は、RF(Radio Frequency)受信回路部11と、ベースバンド処理回路部20とを備えて構成される。尚、RF受信回路部11と、ベースバンド処理回路部20とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
【0080】
RF受信回路部11は、RF信号の処理回路ブロックであり、所定の発振信号を分周或いは逓倍することで、RF信号乗算用の発振信号を生成する。そして、生成した発振信号をGPSアンテナ9から出力されたRF信号に乗算することで、RF信号を中間周波数の信号(以下、「IF(Intermediate Frequency)信号」と称す。)にダウンコンバートし、IF信号を増幅等した後、A/D(Analog Digital)変換器でデジタル信号に変換して、ベースバンド処理回路部20に出力する。
【0081】
ベースバンド処理回路部20は、RF受信回路部11から出力されたIF信号に対して相関処理等を行ってGPS衛星信号を捕捉・抽出し、データを復号して航法メッセージや時刻情報等を取り出す回路部である。
【0082】
図13は、ベースバンド処理回路部20の回路構成の一例を示す図である。ベースバンド処理回路部20は、複数の受信チャンネル21(第1受信チャンネル21−1,第2受信チャンネル21−2,第3受信チャンネル21−3,・・・)と、CPU23と、ROM25と、RAM27とを備えて構成される。
【0083】
各受信チャンネル21は、GPS衛星5又はIMES衛星7を捕捉するための衛星捕捉部を具備している。衛星捕捉部は、RF受信回路部11から出力されたIF信号のPRNコードとレプリカコードとの相関を、例えばFFT(Fast Fourier transform)演算を用いて算出し積算する相関演算処理を行って、GPS衛星信号又はIMES衛星信号を捕捉する。レプリカコードとは、捕捉しようとするGPS衛星信号又はIMES衛星信号のPRNコードを模擬した信号である。
【0084】
CPU23は、ベースバンド処理回路部20乃至RF受信回路部11の各部を統括的に制御して各種演算処理を行うプロセッサーであり、各受信チャンネル21により受信・捕捉された衛星信号の復調処理を行って、衛星信号に含まれるメッセージデータを取得する。そして、取得したメッセージデータに基づいて位置を取得又は算出して、ホストCPU30に出力する。
【0085】
図12の説明に戻って、ホストCPU30は、フラッシュROM80に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機3の各部を統括的に制御するプロセッサーである。ホストCPU30は、ベースバンド処理回路部20のCPU23から取得した位置をプロットした位置表示画面を生成して表示部50に表示させる。
【0086】
操作部40は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホストCPU30に出力する。この操作部40の操作により、通話要求やメール送受信要求、機能設定要求、位置表示要求等の各種指示操作入力がなされる。
【0087】
表示部50は、LCD(Liquid Crystal Display)等により構成され、ホストCPU30から入力される表示信号に基づいた各種表示を行う表示装置である。表示部50には、位置表示画面や時刻情報等が表示される。
【0088】
携帯電話用アンテナ60は、携帯型電話機3の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【0089】
携帯電話用無線通信回路部70は、RF変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【0090】
フラッシュROM80は、読み書き可能な不揮発性の記憶装置であり、ホストCPU30が携帯型電話機3を制御するためのシステムプログラムや、外部指示動作機能、位置算出機能等を実現するための各種プログラムやデータ等を記憶している。
【0091】
RAM90は、読み書き可能な揮発性の記憶装置であり、ホストCPU30により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【0092】
4.データ構成
図14は、ベースバンド処理回路部20のROM25に格納されたデータの一例を示す図である。ROM25には、CPU23により読み出され、ベースバンド処理(図16参照)として実行されるベースバンド処理プログラム251と、衛星種別データ253と、最終ワード判定用データ255とが記憶されている。
【0093】
また、ベースバンド処理プログラム251には、IMES位置取得処理(図17及び図18参照)として実行されるIMES位置取得プログラム2511と、ビット単位フレームデータ予測処理(図19参照)として実行されるビット単位フレームデータ予測プログラム2513とがサブルーチンとして含まれている。これらの処理については、フローチャートを用いて詳細に後述する。
【0094】
衛星種別データ253は、衛星の種類と、当該衛星の種類に割り当てられたPRNコードとの対応関係が定められたデータである。GPS衛星5には「1」〜「32」のPRNコードが割り当てられており、IMES衛星7には「173」〜「182」のPRNコードがそれぞれ割り当てられている。
【0095】
最終ワード判定用データ255は、RAM27に記憶された各受信チャンネルの受信データ2711の中から、受信中のフレームデータとメッセージタイプが同一であるフレームデータの最終ワードを判定するためのデータであり、そのデータ構成例は図6に示した通りである。
【0096】
図15は、ベースバンド処理回路部20のRAM27に格納されるデータの一例を示す図である。RAM27には、各受信チャンネル21についてのデータである受信チャンネルデータ271(第1受信チャンネルデータ,第2受信チャンネルデータ,・・・)と、GPS算出位置273と、IMES取得位置275とが記憶される。また、各受信チャンネルデータ271には、受信データ2711と、複製受信データ2713と、予測ワードデータ2715と、予測フレームデータ2717とが含まれている。
【0097】
受信データ2711は、GPS衛星5又はIMES衛星7から受信したデータを蓄積的に記憶したデータである。複製受信データ2713は、受信データ2711を複製(コピー)したデータであり、各種処理において一時的に利用するためのデータである。
【0098】
原理で説明したように、本実施形態では、受信中のフレームデータと、受信済みの同種のフレームデータとを結合してフレームデータ全体を予測する。しかし、受信データ2711には異なる種類のフレームデータが混在している可能性があり、フレームデータの予測処理の妨げとなる。そこで、受信データ2711を複製し、複製受信データ2713の中から、現在受信中のフレームデータと異なる種類のフレームデータを削除した上で、現在受信中のフレームデータの予測処理を行う。
【0099】
予測ワードデータ2715は、上述した原理に従って再生・予測された1ワード分のデータである。また、予測フレームデータ2717は、上述した原理に従って再生・予測された1フレーム分のデータである。
【0100】
5.処理の流れ
図16は、ROM25に記憶されているベースバンド処理プログラム251がCPU23により読み出されて実行されることで、携帯型電話機3において実行されるベースバンド処理の流れを示すフローチャートである。特に説明しないが、以下のベースバンド処理の実行中は、GPSアンテナ9によるRF信号の受信や、RF受信回路部11によるRF信号からIF信号へのダウンコンバージョンが行われ、IF信号がベースバンド処理回路部20に随時出力される状態にあるものとする。
【0101】
先ず、CPU23は、各受信チャンネル21それぞれについて、ループAの処理を実行する(ステップA1〜A9)。ループAの処理では、CPU23は、当該受信チャンネル21に割り当てるPRNコードを変更するか否かを判定する(ステップA3)。そして、変更しないと判定した場合は(ステップA3;No)、次の受信チャンネル21へと処理を移行する。
【0102】
また、PRNコードを変更すると判定した場合は(ステップA3;Yes)、CPU23は、当該受信チャンネル21に新たなPRNコードを割り当てる(ステップA5)。そして、CPU23は、RAM27に記憶されている当該受信チャンネルの受信データ2711をクリアして(ステップA7)、次の受信チャンネル21へと処理を移行する。
【0103】
全ての受信チャンネル21についてステップA3〜A7の処理を行った後、CPU23は、ループAの処理を終了する(ステップA9)。その後、CPU23は、GPS衛星位置算出処理を行う(ステップA11)。GPS衛星位置算出処理では、全ての受信チャンネル21のうち、GPS衛星5のPRNコードが割り当てられた受信チャンネル21により捕捉されたGPS衛星信号を利用して位置算出計算を行う。そして、位置算出に成功した場合は、算出した位置をGPS算出位置273としてRAM27に記憶させる。
【0104】
次いで、CPU23は、GPS衛星位置算出処理により位置算出が成功したか否かを判定し(ステップA13)、成功したと判定した場合は(ステップA13;Yes)、RAM27に記憶されているGPS算出位置273をホストCPU30に出力する(ステップA25)。そして、CPU23は、ステップA27へと処理を移行する。
【0105】
一方、ステップA13において位置算出に失敗したと判定した場合は(ステップA13;No)、CPU23は、IMES衛星7のPRNコードが割り当てられた各受信チャンネル21それぞれについて、ループBの処理を実行する(ステップA15〜A23)。
【0106】
ループBの処理では、CPU23は、ROM25に記憶されているIMES位置取得プログラム2511を読み出して実行することで、IMES位置取得処理を行う(ステップA17)。
【0107】
図17及び図18は、IMES位置取得処理の流れを示すフローチャートである。
先ず、CPU23は、当該受信チャンネル21がIMES衛星7を捕捉しているか否かを判定し(ステップB1)、捕捉していると判定した場合は(ステップB1;Yes)、当該IMES衛星7から新規のフレームデータを受信中か否かを判定する(ステップB3)。そして、新規のフレームデータを受信中であると判定した場合は(ステップB3;Yes)、CPU23は、第1ワードのMSG部を参照して、受信中のフレームデータのメッセージタイプを判定する(ステップB5)。
【0108】
次いで、CPU23は、ROM25に記憶されている最終ワード判定用データ255を参照して、判定したメッセージタイプが対応付けられた最終ワードカウンタ値を判定する(ステップB9)。そして、CPU23は、RAM27に記憶されている当該受信チャンネル21の受信データ2711の中に、ステップB9で判定した最終ワードカウンタ値を最終ワードデータに含むフレームデータが記憶されているか否かを判定する(ステップB11)。すなわち、受信中のフレームデータと同種のフレームデータを受信済みであるか否かを判定する。
【0109】
ステップB11において同種のフレームデータを受信済みであると判定した場合は(ステップB13;Yes)、CPU23は、受信済みの同種のフレームデータは、第1ワードから最終ワードまでの完全なフレームデータであるか否かを判定する(ステップB15)。そして、第1ワードから最終ワードまでの完全なフレームデータであると判定した場合は(ステップB15;Yes)、CPU23は、当該フレームデータをデコードして位置情報を取得し、RAM27にIMES取得位置275として記憶させる(ステップB17)。そして、CPU23は、IMES位置取得処理を終了する。
【0110】
一方、ステップB15において、受信済みの同種のフレームデータが完全なフレームデータではないと判定した場合は(ステップB15;No)、CPU23は、当該受信チャンネル21の受信データ2711を複製し、複製受信データ2713としてRAM27に記憶させる(ステップB19)。
【0111】
次いで、CPU23は、複製受信データ2713の中から完品のフレームデータを削除する(ステップB21)。すなわち、複製受信データ2713の中から、受信中のフレームデータと異なる種類のフレームデータであって、全てのワードデータが揃っている完全なフレームデータを削除する。
【0112】
そして、CPU23は、受信中のフレームデータのうちの受信が完了したワードデータを判定する(ステップB23)。また、CPU23は、複製受信データ2713に含まれるワードデータを判定する(ステップB25)。そして、CPU23は、ステップB23で判定したワードデータと、ステップB25で判定したワードデータとをワード単位で結合可能であるか否かを判定する(ステップB27)。
【0113】
そして、ワード単位で結合可能であると判定した場合は(ステップB27;Yes)、CPU23は、ワード単位フレームデータ予測処理を行う(ステップB29)。すなわち、ステップB23で判定したワードデータと、ステップB25で判定したワードデータとを結合してフレームデータ全体を再生・予測し、予測フレームデータ2717としてRAM27に記憶させる。
【0114】
次いで、CPU23は、予測フレームデータ2717をデコードして位置情報を取得し、IMES取得位置275としてRAM27に記憶させる(ステップB31)。そして、CPU23は、IMES位置取得処理を終了する。
【0115】
一方、ステップB27においてワード単位での結合が不可能であると判定した場合は(ステップB27;No)、CPU23は、同種のフレームデータの合算の受信データ長を判定する(ステップB33)。すなわち、受信中のフレームデータのビット長と、受信済みの同種のフレームデータのビット長とを合算する。ビット長は、受信中のフレームデータのプリアンブルの先頭を基準にして計算することができる。
【0116】
次いで、CPU23は、ステップB33で判定した合算受信データ長が、当該種別のフレームデータの規定長以上であるか否かを判定する(ステップB35)。そして、規定長に満たないと判定した場合は(ステップB35;No)、IMES位置取得処理を終了する。また、規定長以上であると判定した場合は(ステップB35;Yes)、CPU23は、ROM25に記憶されているビット単位フレームデータ予測プログラム2513を読み出して実行することで、ビット単位フレームデータ予測処理を行う(ステップB37)。
【0117】
図19は、ビット単位フレームデータ予測処理の流れを示すフローチャートである。
先ず、CPU23は、上述した原理に従って、ビットデータの反転チェック処理を行う(ステップC1)。すなわち、受信中のワードデータの反転パターンを判定するとともに、ビットデータの組合せを変えてビットデータを結合して仮本体部を生成し、生成した仮本体部に対してパリティ計算を行う。そして、得られた算出パリティを用いてパリティの照合チェックを行う。
【0118】
次いで、CPU23は、反転チェック処理の処理結果に従ってワードデータ予測処理を行い、予測されたワードデータを予測ワードデータ2715としてRAM27に記憶させる(ステップC3)。すなわち、受信中のワードデータの反転パターンと、パリティの照合結果とに基づいて、図9のテーブルに従ってワードデータを再生・予測する。
【0119】
次いで、CPU23は、図11で説明したように確認処理を行う(ステップC5)。そして、確認処理の結果がOKである場合は、フレームデータ予測処理を行う(ステップC7)。具体的には、予測ワードデータ2715と、受信データ2711に記憶されている残余のワードデータとを結合して、フレームデータ全体を再生・予測する。そして、当該フレームデータを予測フレームデータ2717としてRAM27に記憶させる。フレームデータ予測処理を行った後、CPU23は、ビット単位フレームデータ予測処理を終了する。
【0120】
図18のIMES位置取得処理に戻って、ビット単位フレームデータ予測処理を終了した後、CPU23は、RAM27に記憶されている予測フレームデータ2717をデコードして位置情報を取得し、IMES取得位置275としてRAM27に記憶させる(ステップB39)。そして、CPU23は、IMES位置取得処理を終了する。
【0121】
一方、ステップB1においてIMES衛星7を捕捉していないと判定した場合(ステップB1;No)、又は、ステップB13において受信中のフレームデータと同種のフレームデータを受信済みではないと判定した場合は(ステップB13;No)、CPU23は、IMES位置取得処理を終了する。
【0122】
図16のベースバンド処理に戻って、IMES位置取得処理を行った後、CPU23は、位置取得に成功したか否かを判定し(ステップA19)、成功したと判定した場合は(ステップA19;Yes)、RAM27に記憶されているIMES取得位置275をホストCPU30に出力する(ステップA21)。そして、CPU23は、次の受信チャンネル21へと処理を移行する。また、ステップA19において位置取得に失敗したと判定した場合も(ステップA19;No)、CPU23は、次の受信チャンネル21へと処理を移行する。
【0123】
IMES衛星7のPRNコードが割り当てられた全ての受信チャンネル21についてステップA17〜A21の処理を行った後、CPU23は、ループBの処理を終了する(ステップA23)。その後、CPU23は、位置算出を終了するか否かを判定し(ステップA27)、まだ終了しないと判定した場合は(ステップA27;No)、ステップA1に戻る。また、位置算出を終了すると判定した場合は(ステップA27;Yes)、ベースバンド処理を終了する。
【0124】
6.作用効果
位置算出システム1において、携帯型電話機3は、擬似衛星の一種であるIMES衛星7から発信されるフレームデータを受信し、受信したフレームデータを蓄積的に記憶する。そして、プリアンブル部の受信を検出した場合、プリアンブル部の直後のMSG部に格納されているメッセージタイプに基づいて、受信中のフレームデータの種類を判定する。そして、受信済みのデータの中から同種のフレームデータを検索し、同種のフレームデータが見つかった場合は、当該フレームデータを用いて、受信中のフレームデータ全体を予測する。
【0125】
IMES衛星7が発信するフレームデータは、フレームデータの種類に応じて異なる複数のワードで構成されている。IMES衛星7は、同一種類のフレームデータについては同一のフレームデータを繰り返し発信している。そして、携帯型電話機3は、受信中のフレームデータと、受信済みの同種のフレームデータとを、ワード単位又はビット単位で結合することで、受信中のフレームデータ全体を予測する。
【0126】
この際、受信中のフレームデータの受信済みのワードデータと、受信済みの同種のフレームデータのワードデータとをそれぞれ判定する。そして、これらのワードデータを結合して1フレーム分のフレームデータを再生することができる場合は、ワード単位で結合してフレームデータを再生する。また、ワード単位で結合することができない場合は、受信中のフレームデータのビット長と、受信済みの同種のフレームデータのビット長とを合算して受信データ長を判定する。そして、受信データ長が当該種別のフレームデータの規定長以上である場合に、ビット単位で結合してワードデータを再生・予測する。
【0127】
受信済みのデータの中から同種のフレームデータを抽出し、抽出したフレームデータを用いて受信中のフレームデータ全体を予測することで、IMES衛星7から発信されるデータの種類に依らずに、データ内容の取得を高速化することができる。また、ワード単位又はビット単位でフレームデータを結合する構成により、受信済みのフレームデータがワード単位で不完全であるかビット単位で不完全であるかに依らずに、この不完全なデータを活用して、受信中のフレームデータの全体を予測することができる。
【0128】
7.変形例
7−1.電子機器
本発明は、携帯型電話機の他にも、位置算出装置を備えた電子機器であれば何れの電子機器にも適用可能である。例えば、ノート型パソコンやPDA(Personal Digital Assistant)、携帯型音楽再生装置、携帯型ゲーム装置等についても同様に適用可能である。
【0129】
7−2.衛星位置算出システム
上述した実施形態では、衛星位置算出システムとしてGPSを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星位置算出システムであってもよい。
【0130】
7−3.処理の分化
ベースバンド処理回路部20のCPU23が実行する処理の一部又は全部を、ホストCPU30が行う構成としてもよい。例えば、IME衛星7からIMES衛星信号を受信して、フレームデータ全体を予測する処理をCPU23が行う。そして、予測したフレームデータをホストCPU30に出力し、ホストCPU30は、CPU23から取得したフレームデータをデコードして、位置情報を取得するようにする。
【0131】
7−4.受信チャンネル
同一のIMES衛星7のPRNコードを複数の受信チャンネルに割り当てて、同じIMES衛星7からのフレームデータの予測を複数の受信チャンネルを行うことにしてもよい。上述した実施形態において、特にビット単位でデータを結合してワードデータを生成する場合には、受信データに欠損が存在すると、フレームデータ全体の予測を正しく行うことができないおそれがある。しかし、同一のIMES衛星7からのフレームデータの予測を複数の受信チャンネルで行い、各受信チャンネルで得られたフレームデータを用いてフレームデータ全体の予測の正確性を判定することにすれば、信頼性の高いデータを取得することが可能となる。
【符号の説明】
【0132】
1 位置算出システム、 3 携帯型電話機、 5 GPS衛星、 7 IMES衛星、 9 GPSアンテナ、 10 GPS受信部、 11 RF受信回路部、 20 ベースバンド処理回路部、 21 受信チャンネル、 23 CPU、 25 ROM、 27 RAM、 30 ホストCPU、 40 操作部、 50 表示部、 60 携帯電話用アンテナ、 70 携帯電話用無線通信回路部、 80 フラッシュROM、 90 RAM
【特許請求の範囲】
【請求項1】
当該フレームデータの種類識別データを含むフレームデータを複数種類発信可能な擬似衛星が繰り返し発信する前記フレームデータを受信することと、
前記種類識別データに基づいて、受信中のフレームデータの種類を判定することと、
前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出することと、
前記抽出されたデータを用いて、全データの受信が完了していない受信中のフレームデータ全体を予測することと、
を含む擬似衛星信号受信方法。
【請求項2】
前記フレームデータは、構成するワード数がフレームデータの種類に応じて異なり、
前記擬似衛星は、複数種類のフレームデータを発信する場合、前記フレームデータを種類別に順番に発信する処理を繰り返し行うよう構成されており、
前記抽出することは、前記判定された種類のフレームデータの構成ワード数に基づいて、前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出することである、
請求項1に記載の擬似衛星信号受信方法。
【請求項3】
データ長が規定されたフレームデータを繰り返し発信する擬似衛星から前記フレームデータを受信することと、
プリアンブルの受信を検出することと、
受信データのサイズが前記データ長以上の場合に、全データの受信が完了していない前記プリアンブルから始まるフレームデータ全体を、受信したデータから推測することと、
を含む擬似衛星信号受信方法。
【請求項4】
前記フレームデータは、種類別にデータ長が規定されており、
同種のフレームデータの受信データのサイズが、当該フレームデータのデータ長以上の場合に、全データの受信が完了していない当該フレームデータ全体を、受信したデータから推測することを更に含む、
請求項1又は2に記載の擬似衛星信号受信方法。
【請求項5】
前記フレームデータは、ワード単位で構成されており、
前記検出されたプリアンブルに基づいて、受信データをワード単位に区切ることを更に含み、
前記推測することは、受信未完了のワードの残余データ部分を、受信済みのデータに基づいて補完することを含む、
請求項4に記載の擬似衛星信号受信方法。
【請求項6】
前記補完することは、受信データのサイズが前記データ長に達した場合に、受信済みのデータのうちの受信開始部分のワードデータに基づいて、受信未完了のワードデータを補完することを含む、
請求項5に記載の擬似衛星信号受信方法。
【請求項7】
当該フレームデータの種類識別データを含むフレームデータを複数種類発信可能な擬似衛星が繰り返し発信する前記フレームデータを受信する受信部と、
前記種類識別データに基づいて、受信中のフレームデータの種類を判定する種類判定部と、
前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出する抽出部と、
前記抽出されたデータを用いて、全データの受信が完了していない受信中のフレームデータ全体を予測する予測部と、
を備えた受信装置。
【請求項8】
データ長が規定されたフレームデータを繰り返し発信する擬似衛星から前記フレームデータを受信する受信部と、
プリアンブルの受信を検出するプリアンブル検出部と、
受信データのサイズが前記データ長以上の場合に、全データの受信が完了していない前記プリアンブルから始まるフレームデータ全体を、受信したデータから推測する推測部と、
を備えた受信装置。
【請求項1】
当該フレームデータの種類識別データを含むフレームデータを複数種類発信可能な擬似衛星が繰り返し発信する前記フレームデータを受信することと、
前記種類識別データに基づいて、受信中のフレームデータの種類を判定することと、
前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出することと、
前記抽出されたデータを用いて、全データの受信が完了していない受信中のフレームデータ全体を予測することと、
を含む擬似衛星信号受信方法。
【請求項2】
前記フレームデータは、構成するワード数がフレームデータの種類に応じて異なり、
前記擬似衛星は、複数種類のフレームデータを発信する場合、前記フレームデータを種類別に順番に発信する処理を繰り返し行うよう構成されており、
前記抽出することは、前記判定された種類のフレームデータの構成ワード数に基づいて、前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出することである、
請求項1に記載の擬似衛星信号受信方法。
【請求項3】
データ長が規定されたフレームデータを繰り返し発信する擬似衛星から前記フレームデータを受信することと、
プリアンブルの受信を検出することと、
受信データのサイズが前記データ長以上の場合に、全データの受信が完了していない前記プリアンブルから始まるフレームデータ全体を、受信したデータから推測することと、
を含む擬似衛星信号受信方法。
【請求項4】
前記フレームデータは、種類別にデータ長が規定されており、
同種のフレームデータの受信データのサイズが、当該フレームデータのデータ長以上の場合に、全データの受信が完了していない当該フレームデータ全体を、受信したデータから推測することを更に含む、
請求項1又は2に記載の擬似衛星信号受信方法。
【請求項5】
前記フレームデータは、ワード単位で構成されており、
前記検出されたプリアンブルに基づいて、受信データをワード単位に区切ることを更に含み、
前記推測することは、受信未完了のワードの残余データ部分を、受信済みのデータに基づいて補完することを含む、
請求項4に記載の擬似衛星信号受信方法。
【請求項6】
前記補完することは、受信データのサイズが前記データ長に達した場合に、受信済みのデータのうちの受信開始部分のワードデータに基づいて、受信未完了のワードデータを補完することを含む、
請求項5に記載の擬似衛星信号受信方法。
【請求項7】
当該フレームデータの種類識別データを含むフレームデータを複数種類発信可能な擬似衛星が繰り返し発信する前記フレームデータを受信する受信部と、
前記種類識別データに基づいて、受信中のフレームデータの種類を判定する種類判定部と、
前記判定された種類と同種のフレームデータを、受信済みのデータの中から抽出する抽出部と、
前記抽出されたデータを用いて、全データの受信が完了していない受信中のフレームデータ全体を予測する予測部と、
を備えた受信装置。
【請求項8】
データ長が規定されたフレームデータを繰り返し発信する擬似衛星から前記フレームデータを受信する受信部と、
プリアンブルの受信を検出するプリアンブル検出部と、
受信データのサイズが前記データ長以上の場合に、全データの受信が完了していない前記プリアンブルから始まるフレームデータ全体を、受信したデータから推測する推測部と、
を備えた受信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図7】
【図2】
【図3】
【図4】
【図5】
【図6】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図7】
【公開番号】特開2011−69629(P2011−69629A)
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願番号】特願2009−218629(P2009−218629)
【出願日】平成21年9月24日(2009.9.24)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願日】平成21年9月24日(2009.9.24)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]