導航:首頁 > 編程語言 > 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語言代碼原理相關的資料

熱點內容
win10隔離區變為信任 瀏覽:7
win7如何建網路驅動器 瀏覽:345
代碼導出excel文件 瀏覽:184
word文檔分頁怎麼恢復 瀏覽:753
vivado文件完整路徑 瀏覽:289
qq看板娘主題原圖 瀏覽:621
蘋果手機打開文件 瀏覽:549
dnf86版本pk裝備強化 瀏覽:386
網路上騷是什麼意思 瀏覽:675
為什麼數據表內存會變大 瀏覽:218
安卓怎樣給蘋果傳文件在哪裡 瀏覽:964
網路語蜈蚣精什麼意思 瀏覽:835
小米1網路怎麼切換4g 瀏覽:334
編程介面怎麼接 瀏覽:902
c編程里的豎杠在哪裡 瀏覽:155
在哪裡看電商銷售數據 瀏覽:135
win10覆蓋txt文件找回 瀏覽:556
哪個網站可以聽高中的課 瀏覽:381
iphone5s查看文件夾 瀏覽:844
類似創客貼的app工具有哪些 瀏覽:81

友情鏈接