一種能對基站定位進行糾正的定位方法和裝置制造方法
【專利摘要】本發明涉及一種能對基站定位進行糾正的定位方法和裝置,主要包括計算模塊(CPU)、存儲模塊、計時模塊(時鐘)、計步器、衛星定位模塊(GPS芯片)、基站定位模塊(基帶芯片)以及相應的電路和軟件系統。這種裝置可以集成到手表等物品中,主要通過衛星定位和基站定位來取得位置。當裝置從衛星定位切換到基站定位時,由于基站定位誤差較大,會導致定位位置突然發生較大偏移。當最后的衛星定位位置和最新的基站定位位置的距離超過一定闕值時,通過衛星定位模塊返回的數據和計步器的步數計算出估算運動距離,結合運動方向計算出估算位置。當估算運動距離遠小于基站定位位置相對于衛星定位位置的距離時,采用估算位置作為最終位置,以達到提高定位精度的目的。
【專利說明】一種能對基站定位進行糾正的定位方法和裝置
【技術領域】
[0001]本發明主要涉及定位【技術領域】,尤其是可穿戴式的衛星定位和基站定位方法和裝置。
【背景技術】
[0002]目前的定位裝置普遍使用衛星定位和基站定位。衛星定位精度高,但在大樓內、隧道等無衛星定位信號的地方無法使用。基站定位精度低,無法滿足精確定位的要求。當由于用戶進入大樓、隧道、地下車站等無衛星定位信號的位置導致裝置從衛星定位切換到基站定位時,定位精度會突然下降,并導致切換前后取得的位置發生較大偏移,即衛星定位結果與基站定位結果有較大偏差。
【發明內容】
[0003]本發明需要解決的技術問題是,當裝置從衛星定位切換到基站定位時,避免位置突然發生較大的偏移。主要方法是,通過計步器記錄的步數和失去衛星定位信號前取得的位置信息和方向信息,對基站定位結果進行糾正,以提高定位精度。
[0004]具體技術方案是:本裝置主要包括計算模塊(CPU)、存儲模塊、計時模塊(時鐘)、計步器、衛星定位模塊(GPS芯片)、基站定位模塊(基帶芯片)以及相應的電路和軟件系統。結構圖請參照附圖1。
[0005]具體方法是,在有衛星定位信號時,本裝置依靠衛星定位來取得位置信息,并且按一定時間間隔(比如20秒,下文稱之為記錄用時間間隔)記錄并保存最近一段時間(比如5分鐘)內的系統時間和衛星定位模塊取得的位置、運動方向以及計步器的步數。如果衛星定位模塊沒有返回方向信息,則記錄空值。
[0006]當連續記錄的數據超過一定時間(比如5分鐘)后,放棄最老的數據而保存最新記錄的數據。比如從00:00:00開始每20秒記錄一次,到00:05:20秒時,刪除00:00:00的數據,保存00:05:20的數據。
[0007]在失去衛星定位信號時,保留前面所記錄的數據用于估算位置的計算,直到再次成功進行衛星定位。
[0008]在失去衛星定位信號并取得基站定位位置時,記錄取得基站定位位置的時間、定位位置和計步器的步數,并計算最后取得的衛星定位位置和最新取得的基站定位位置的距離。如果兩者的距離超過系統預設的闕值(比如100米),則采用計步器記錄的最后的衛星定位到最新的基站定位之間的步數(通過基站定位時的步數減去衛星定位時的步數取得)乘以步長計算出估算運動距離。
[0009]以裝置記錄的最后的衛星定位位置作為基準點,加上估算運動距離,輔以運動方向信息,就可以計算出估算位置。
[0010]運動方向信息從裝置記錄的衛星定位信息中取得。如果記錄的衛星定位信息只有一條且這條數據中未包含運動方向信息,則采用系統預先設置的方向(比如正東)。如果記錄的衛星定位數據超過一條,且最新的一條數據中不包含方向信息,則用最新的兩條數據中的衛星定位位置的連線計算出方向信息。
[0011]如果估算運動距離遠小于(比如小于一半的)裝置記錄的最新的衛星定位和最新的基站定位的位置距離,則認為基站定位信息不可靠,從而使用估算位置作為定位位置。反之如果估算運動距離沒有遠小于衛星定位和基站定位的位置距離,則采用基站定位結果作為定位位置。
[0012]如果裝置記錄的最新的衛星定位位置和最新的基站定位位置的距離不超過系統預設的闕值(比如100米),則不對基站定位結果進行糾正。
[0013]步長通過裝置記錄的最近一段時間內(比如5分鐘內)的最后兩次衛星定位位置的距離除以這段時間內的步數取得。如果計算出的步長值超出正常范圍(比如步長值小于
0.2米或者大于1.5米),或者這段時間內的步數為0,則采用系統預設的步長值。如果裝置保存的最近一段時間(比如5分鐘)內的數據中沒有兩次衛星定位數據或步數數據,則也采用系統預設的步長值。
[0014]為了節約電能,裝置只有在衛星定位失敗后才開啟基站定位功能,并且在衛星定位再次成功后立即關閉基站定位功能。
[0015]前面所述的失去衛星定位信號和衛星定位失敗,其判斷標準是,衛星定位模塊在一定時間(比如I分鐘)內沒有取得衛星定位位置信息,或者衛星定位模塊檢測到的衛星數目由大于等于三顆減少到小于三顆時。在本說明書中,失去衛星定位信號和衛星定位失敗的含義是等同的,即不管是失去衛星定位信號還是衛星定位失敗,都需要按前面所述的2個判斷標準進行判斷,滿足任何一個判斷標準即認為條件成立。
[0016]在失去衛星定位信號后,
如果在基站定位成功前再次獲得衛星定位信號并成功定位,則對整個過程的數據當作連續數據進行記錄處理,認為衛星定位是連續成功的;
如果在基站定位成功后再次獲得衛星定位信號并成功進行衛星定位,則刪除前面記錄的系統時間、衛星定位位置、運動方向和計步器的步數等全部數據,計步器重新從O開始計數,裝置重新開始記錄并保存系統時間和衛星定位模塊取得的位置、運動方向以及計步器的步數,并且記錄用時間間隔也重新開始計時;
t匕如,裝置在01:00:00、01:00:20成功記錄了衛星定位數據,在01:00:40試圖記錄數據時,發現無法取得衛星定位位置,于是重新試圖取得衛星定位位置,經過多次的重試,I分鐘后仍然無法取得衛星定位位置,于是在01:01:40開啟基站定位:
如果在開啟基站定位3秒后,尚未取得基站定位位置,就成功取得了衛星定位位置。于是裝置記錄的數據是01:00:00、01:00:20、01:01:43、01:02:00等,即整個過程記錄的數據視為連續記錄的數據,在衛星定位失敗的時間段內,記錄用時間間隔的計時沒有變化,沒有取得衛星定位位置的時間則不予記錄;
如果在開啟基站定位3秒后成功取得基站定位位置,然后又過了 I秒才取得衛星定位位置,則01:01:43之前的數據都會被刪除,新的衛星定位數據記錄序列為:01:01:44、01:02:04、01:02:24、01:02:44,即記錄用時間間隔從新的第一條記錄開始重新計時。
[0017]本裝置從關機狀態打開電源進入開機狀態后,首先計時模塊通過基帶芯片連接手機數據網絡進行時間同步,并且刪除所有記錄的數據,然后計步器清零,重新開始計數,然后開啟衛星定位。此后衛星定位一直處于開啟狀態,直至關閉電源。
[0018]開啟電源以后,在首次衛星定位成功后,記錄用時間間隔才開始計時,同時記錄本次衛星定位的位置、方向信息和計步器信息。計時時間達到預設的記錄用時間間隔時,裝置再次記錄衛星定位的位置、方向信息和計步器信息,同時重新開始計時。
[0019]在本裝置開機后直到首次衛星定位成功之前,由于未能記錄到衛星定位信息,所以不會對基站定位結果進行糾正。
[0020]具體實施例:
如附圖2所示,假設用戶在上午10:00:00來到某商場門口(即點A),此時仍有衛星定位信號,且取得并記錄了最后一次的衛星定位信息,且衛星定位信息顯示運動方向為向東。而在此之前的9:59:40也曾成功取得并記錄了一次衛星定位信息。用戶進入商場門口后,衛星定位信號消失,此時切換到基站定位。10秒鐘后基站定位成功,但基站定位結果顯示用戶在位于離商場門口(即最后的GPS定位位置)300米外的位置(即點C)。
[0021]基站定位成功后,本裝置對最后的GPS定位位置和最新的基站定位位置進行比較,發現兩者差距300米,超過了預設的闕值(100米)。然后本裝置取得最新的兩次GPS定位位置(即9:59:40和10:00:00的兩次),計算出間距為20米,計步器顯示這兩次定位時間間隔內步行了 30步,則平均步長為20/30=0.66米。計步器還顯示最后一次衛星定位到最新的基站定位之間的10秒內用戶步行了 15步,得出用戶的估算運動距離值是0.66x15=10米(即點B的位置)。10米遠小于300米(S卩小于300米的一半150米),所以本裝置判斷為基站定位誤差過大,估算用戶的位置為最后的GPS定位位置(即點A,亦即商場門口)往東10米處(即點B)。
[0022]在前面
[0020]的示例中,如果用戶在商場門口停留了一會兒,導致此時最后取得的衛星定位信號沒有返回運動方向信息,則取進入商場門口前最近的兩次衛星定位位置的連線來計算運動方向。假設最近的兩次衛星定位位置的連線顯示運動方向向東;兩個位置的距離為20米,計步器顯示兩次定位間步行了 30步,則平均步長為0.66米。仍然假設最后的衛星定位成功的時間和基站定位成功的時間之差值為10秒,在這10秒里,計步器顯示用戶步行了 15步,按照前面計算出的步長0.66米,則估算運動距離為10米。10米遠小于300米(S卩小于300米的一半150米),所以本裝置判斷為基站定位誤差過大,估算用戶的位置為最后的衛星定位位置(即商場門口)往東10米處(即點B)。
[0023]在前面
[0020]的示例中,如果用戶剛從馬路對面的商場出來,穿過馬路后進入了這個商場,在這個商場門口碰巧取得了一次衛星定位信號,則此時本裝置記錄的數據里只有這一次衛星定位數據,而原先在進入馬路對面商場前記錄的衛星定位數據都已經被刪除了。假設這唯一的一次衛星定位數據里也沒有返回運動方向信息,則運動方向使用系統預先設置的方向(比如向東),步長采用系統預先設置的步長值(比如0.5米)。如果計步器顯示最后的衛星定位成功后到基站定位成功前一共步行了 20步,則估算運動距離為0.5x20=10米,用戶的估算位置為最后的衛星定位位置(即商場門口)往東10米處(即點B)。
[0024]在前面
[0020]的示例中,如果用戶乘坐出租車到達商場門口,下車后馬上進入商場,則本裝置雖然記錄了多次衛星定位數據(出租車內可以得到衛星定位信號),但是計步器記錄的兩次衛星定位間隔內的步數卻為0(假設出租車比較平穩,以致計步器不能檢測到步數)。則此時步長也采用預設的步長值。
[0025]在前面
[0020]的示例中,如果用戶在商場門口來回踱步了幾分鐘,導致最后兩次衛星定位位置的距離為I米,而步數卻為10,則步長的計算結果為0.1米,明顯不在正常范圍(0.2?1.5米)內,此時也采用系統預先設置的步長值。
[0026]在前面
[0020]的示例中,如果用戶在10:00:10到達商場門口并進入商場,此時雖然也能取得衛星定位信息,但由于本裝置是每隔20秒記錄一次數據,所以仍然以10:00:00記錄的數據作為最新的衛星定位數據。
[0027]用以上方法,就在一定程度上避免或減輕了基站定位誤差過大的問題,提高了定位的精度。
[0028]本裝置需要電源才能運行。當本裝置嵌入到手表等含電源的設備中時,可以共用電源,也可以使用獨立電源;當本裝置嵌入到鞋底等不含電源的物品中時,需要使用獨立電源。獨立電源通常使用可充電電池。
[0029]本裝置需要安裝SIM卡并開通移動數據網絡服務才能通過基帶芯片進行基站定位和時間同步。
[0030]以上描述并非對本發明的限制,上述實施例中的所有數據都是示例值。另外,衛星定位也可以采用北斗定位或者混合定位等;計算模塊、存儲模塊、計時模塊、基站定位模塊也可以整合在一個芯片模塊比如基帶芯片中;有些基帶芯片包含射頻模塊,也有些基帶芯片需要搭配射頻芯片;步長也可以根據采用人群平均步長等等。此類類似的技術方案的替換并不使相應技術方案的本質脫離本發明的精神和范圍。
【專利附圖】
【附圖說明】
圖1是裝置結構示意圖。
圖2是實施例所用基站定位糾正方法示意圖。
【權利要求】
1.一種能對基站定位進行糾正的定位方法和裝置,其特征是:包含計算模塊、存儲模塊、計時模塊、計步器、衛星定位模塊、基站定位模塊以及相應的電路和軟件系統;能夠在有衛星定位信號的情況下按一定時間間隔記錄衛星定位信息和計步信息、計時信息;并能根據這些信息計算出估算位置;并且能用估算位置對基站定位結果進行糾正,以提高定位的精度。
2.權利要求1所述的計算出估算位置,其特征是,以裝置記錄的最新的衛星定位位置作為基準位置,加上估算運動距離,輔以運動方向信息,計算出估算位置。
3.權利要求2所述的估算運動距離,其特征是,采用計步器記錄的最后一次衛星定位成功和最新的基站定位成功的時間間隔內的步數乘以步長,來計算估算運動距離。
4.權利要求2所述的運動方向,其特征是,如果裝置記錄的最新的衛星定位信息中有包含運動方向信息,則采用這個運動方向;如果最新的衛星定位信息中沒有包含運動方向,則采用裝置記錄的最新的兩次衛星定位位置連線的方法計算出運動方向;如果裝置記錄的數據中只存在一次衛星定位信息,且僅有的一次衛星定位信息中也不包含運動方向信息,則采用系統預先設置的方向。
5.權利要求3所述的步長,其特征是,取裝置記錄的最新的兩次衛星定位位置的直線距離,除以這兩次定位的時間間隔內的步數,計算出步長值;如果裝置記錄的數據中不存在兩次衛星定位數據或步數數據,或者這兩次定位的時間間隔內的步數為O,或者計算出的步長值超出正常范圍,則使用系統預設的步長值。
6.權利要求1所述的對基站定位結果進行糾正,其特征是,先計算出最新的基站定位位置與最新的衛星定位位置的距離;如果這個距離超過系統預設的闕值,則以這個距離與估算運動距離進行比較,如果后者遠小于前者,則以估算位置作為最終的定位位置,否則以基站定位位置作為最終的定位位置;如果最新的基站定位位置與最新的衛星定位位置的距離未超過系統預設的闕值或者裝置未能記錄到衛星定位信息,則不對基站定位結果進行糾正。
【文檔編號】G01S19/48GK104459749SQ201410716814
【公開日】2015年3月25日 申請日期:2014年12月2日 優先權日:2014年12月2日
【發明者】范子成 申請人:范子成