導航:首頁 > 編程語言 > gps定位c語言代碼原理

gps定位c語言代碼原理

發布時間:2023-11-15 23:53:55

1. 請問如何用單片機實現GPS功能

GPS是用到三個衛星的時間 計算出 到三個衛星的距離。這樣就計算出一個絕對的點。同是如果有到更多衛星的距離,就可以修正數據,使位置更精確。
一般有三個星就能定位。四個 到五個精度會很高。一般不會超過六個。因為地球是圓的,你不可能接收到地球北面等的衛星信號。

2. gps定位的基本原理

24顆GPS衛星在離地面2萬200千米的高空上,以12小時的周期環繞地球運行,使得在任意時刻,在地面上的任意一點都可以同時觀測到4顆以上的衛星。

由於衛星的位置精確可知,在GPS觀測中,我們可得到衛星到接收機的距離,利用三維坐標中的距離公式,利用3顆衛星,就可以組成3個方程式,解出觀測點的位置(X,Y,Z)。考慮到衛星的時鍾與接收機時鍾之間的誤差,實際上有4個未知數,X、Y、Z和鍾差,因而需要引入第4顆衛星,形成4個方程式進行求解,從而得到觀測點的經緯度和高程。

事實上,接收機往往可以鎖住4顆以上的衛星,這時,接收機可按衛星的星座分布分成若干組,每組4顆,然後通過演算法挑選出誤差最小的一組用作定位,從而提高精度。

由於衛星運行軌道、衛星時鍾存在誤差,大氣對流層、電離層對信號的影響,以及人為的SA保護政策(2000年5月1日取消),使得民用GPS的定位精度只有100米。為提高定位精度,普遍採用差分GPS(DGPS)技術,建立基準站 (差分台)進行GPS觀測,利用已知的基準站精確坐標,與觀測值進行比較,從而得出一修正數,並對外發布。接收機收到該修正數後,與自身的觀測值進行比較,消去大部分誤差,得到一個比較准確的位置。實驗表明,利用差GPS,定位精度可提高到5米。

3. GPS模塊獲取的數據轉換成經緯度(度分秒的格式),C語言

3559.10468,N,12009.46619,E
N/S(北緯或南緯):北緯35 度59.10468 分;
E/W(東經或西經):東經120 度9.46619 分;
緯度(格式ddmm.mmmm:即dd 度,回mm.mmmm 分);
經度(格式dddmm.mmmm:即ddd 度,mm.mmmm 分);
list和字元串操作就不寫了答吧。

4. C語言編程:GPS數據處理

這是通過online judge測試的
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
int check(char *);
void utc(char *);
char bjtime[7];
int main()
{
char a[200];
int f=0;
char *ptr;
do
{
scanf("%s",a);
if(strncmp("$GPRMC",a,6)==0)
{
ptr=a;
for(int i=0;i<2;i++){
ptr=strchr(ptr,',');
ptr++;
}
if (ptr[0]=='A' && check(a))
{
utc(a);
f=1;
}
}
}while(strcmp("END",a)!=0);
if (f) printf("%c%c:%c%c:%c%c",bjtime[0],bjtime[1],bjtime[2],bjtime[3],bjtime[4],bjtime[5]);
return 0;
}
int check(char *s)
{
char *ck,*str;
int i;
char m=s[1];
for(i=2;i<strlen(s)-3;i++)
m^=s[i];
int z=(int)m%65536;
printf("%0x",z);
ck=&s[strlen(s)-2];
int x=strtol(ck,&str,16);
if(x==z) return 1;
else return 0;
}
void utc(char * s)
{
char *str1;
char str[7];
str1=&s[7];
strncpy(bjtime,str1,6);
int x=strtol(bjtime,&str1,10);
x+=80000;
x%=240000;
for(int i=5;i>=0;i--){
bjtime[i]=(char)((int)'0'+x%10);
x/=10;

}
}

閱讀全文

與gps定位c語言代碼原理相關的資料

熱點內容
imgtool工具中文版 瀏覽:539
java幫助文件在哪裡 瀏覽:965
win10切換輸入語言 瀏覽:696
haier電視網路用不了怎麼辦 瀏覽:361
蘋果6手機id怎麼更改 瀏覽:179
米家掃地機器人下載什麼app 瀏覽:82
如何在編程貓代碼島20種樹 瀏覽:915
手機基礎信息存儲在哪個文件 瀏覽:726
如何查找手機備份文件 瀏覽:792
內存清理工具formac 瀏覽:323
iphone過濾騷擾電話 瀏覽:981
wap網路如何使用微信 瀏覽:699
手機迅雷應用盒子在哪個文件夾 瀏覽:351
windows8網路連接 瀏覽:442
怎麼快速增加qq群人數 瀏覽:919
錘子視頻播放器文件不存在 瀏覽:707
蘋果手機怎麼清理app緩存 瀏覽:682
花園戰爭2豪華升級包 瀏覽:517
電腦無法向u盤傳輸文件 瀏覽:823
bpn配置文件 瀏覽:932

友情鏈接