3.3 實時導航
3.3.1 Matlab中讀取串口數據的命令比較簡單,關鍵語句如下所示:
s1=serial('COM1','BaudRate',4800,'Terminator','CR/LF');
fopen(s1); fprintf(s1,'*ID'); out = fscanf(s1);fclose(s1);
3.3.2 matlab局部數據讀取語句
TF=0;%%設定初始值
while TF==0 %%循環開始,判斷TF是否為零
tline=fgetl(filefid);%%讀取每一行數據
wd1=tline(18:19); %%僅讀出緯度值的度的整數部分
wd2=tline(20:30); %%讀出緯度值的分
wd3= str2num(wd1); %%將字符轉化為數字
wd4= str2num(wd2);
wd=wd3+wd4/60; %%整個緯度值轉化為度的形式
jd1=tline(34:36); %%
jd2=tline(37:47); %%
jd3= str2num(jd1); %%
jd4= str2num(jd2); %%
jd=jd3+jd4/60; %%
TF=feof(filefid); %%判斷是否為文件的最後,若是顯示1,若不是顯示0
End;
rmpath(path1)
fclose(filefid)
3.3.3 matlab連線語句
plot(gpsline(:,1),gpsline(:,2),'red','LineWidth',2)
3.3.4 設置數據傳輸參數
串口調試助手參數設置如下:
串口:COM1
波特率:4800
校驗位:NONE
數據位:8
停止位:1
3.3.5 路線選擇
盡量選擇無遮擋的路線,以防衛星信號弱,而無法采集數據點。
3.3.6 數據采集
將手持GPS與筆記本電腦連接。通過位於地球上空的GPS衛星獲取地麵點的三維坐標,經過GPS接收器簡單處理後導入筆記本電腦中,最後將移動軌跡顯示在匹配後的地圖上。數據采集的具體步驟如下:
1)室內準備工作
2)野外數據采集
3.4 模擬導航
在室內,GPS接收不到衛星信號,采集不到數據,隻能進行模擬導航演示。
3.4.1 傳輸數據
借助串口調試助手軟件,將手持GPS采集的數據實時傳輸出來。首先在筆記本電腦上安裝好串口調試助手軟件。在野外選好路徑後,將手持GPS與筆記本電腦相應串口連接,選擇好數據采集間隔時間,就可以進行采集了。采集時要注意道路的平整性和流暢性。
3.4.2 模擬導航
在數據全部采集完後,全部保存,以備稍後進行模擬導航。將數據讀取程序改為5秒讀一行數據,再做好相應操作控件後,就可以實現模擬導航了。
4 結論
通過利用MATLAB軟件進行數據讀取和處理程序的編輯,利用手持GPS進行數據點的采集,並用采集的數據文檔進行實時導航的模擬,使用戶更容易體驗身臨其境的感覺。
參考文獻
[1] 張聖勤.MATLAB 7.0實用教程.機械工業出版社,2006.
[2] 魏二虎,黃勁鬆編著.GPS測量操作與數據處理.武漢大學出版社,2004.
[3]李征航,黃勁鬆編著.GPS測量與數據處理.武漢大學出版社,2005.