车载导航系统中常用物理量和单位
在車載導航系統的開發過程中,為了對自車狀態進行描述,不可避免的要使用各 種物理量,如:車輛行進方向、車輛所在位置的經緯度座標、車速、時間等。容易理解,如果在一個變量被用來表示上述物理量信息時,我們需要為這個變量規定一 個單位,這樣才能完整體現變量所代表的含義。沒有單位,單純通過一個變量具有的數值是無法表達物理量的完整含義的。
出于性能和資源的考慮,通常使用整型數而非浮點型來表示物理量。為了使整型變量可以在足夠高的精度上對物理量進行描述,導航系統中使用 的物理量單位通常比國際標準單位更小。例如,一個經緯度變量的定義: long lLongitude;?// 1/2560秒 1/2560秒是一個非常小的單位,等于0.000390625秒。
下面的表格列出了一些在導航系統中常見的物理量和單位: 物理量 常用單位 經緯度 1/256秒、1/2560秒、1/1000秒 速度 0.1千米/小時,0.25米/秒,節 長度 1/1000米,1/256米,1/2米 角度 360/65535 度、360/256度、1/1000度、分、秒 時間 秒、1/100秒、毫秒
2. 物理量單位與數據類型的選擇
如果不考慮性能問題,全部使用浮點型來描述物理量的話,那么應該盡量使用國際單位制中的標準單位或者常用單位。如果使用整型來描述物理 量的話,就需要對于數據類型和單位進行適當的選擇。C語言中主要整型類型有三種, char、short和long,每種類型都有各自的有符號和無符號類型。接下來對數據類型和單位的選擇進行分析。
關于物理量單位的選擇,一個整型變量所能表示的最小物理單位就是單位本身的物理含義,如果單位過大,這個整型變量所表示的物理量的精度 就較低,無法表示非常小的數值;反之如果選擇過小的單位,雖然在精度上不存在問題,但受到整型數的數據范圍限制,導致這個變量無法表示大數值的物理量。因 此在設計物理量單位的時候,要根據數據的取值范圍和精度進行綜合考慮。
關于數據類型的選擇,數據類型的位數越多,其能夠表示的數值范圍就越大,同時在內存資源上的開銷也就越大;反之,數據類型的位數少的話 能夠節省存儲空間,但受到自身數值范圍的限制,無法用來表達高精度要求的數據。因此在數據類型方面的選擇,就是在系統資源和數據精度要求之間的權衡。
下面以導航系統中兩個典型的物理量為例進行分析。
(1) 經緯度 導航系統中,描述經緯度的數據類型是4字節有符號整型long,物理量單位是1/2560 秒。如此設計用意何在?
首先對于經緯度的數值范圍進行分析。經度的范圍是東經180度~西經180度,緯度的范圍是南緯90度~北緯90度。為設計思路簡單起 見,使用有符號整型的負數部分表示西經和南緯。因此,在地圖數據的經緯度同時存在東經和西經,或者同時存在北緯和南緯的情況下,需要使用有符號數據類型來 保存經緯度。
其次,需要在char、short和long這幾種類型中進行選擇。需要表示的最大數值范圍是(-180度,180度),假設使用這三 種數據類型的最大取值范圍來表示此區間,即可計算出這三種整型數能夠支持的最小單位: long:360度 / 4294967296 = 0.00000008381903171539度,赤道附近約相當于0.00905米; short:360度 / 65536 =? 0.00549316406度,赤道附近約相當于593.26172米; char:360度 / 256 = 1.40625度,赤道附近約相當于151875米。
導航系統中GPS信號和地圖數據的精度約為10米左右,顯然char和short無法滿足上述精度要求,因此數據類型便可以確定為有符號長整型long。
關于物理量單位,在GN8007的GPS協議中,經緯度的單位是1/256秒,kiwi格式的地圖數據中正規化經緯度大致相當于1 /220秒。為了數據精度在運算中不受到損失,所選擇的單位應小于等于上述單位。而且為了計算方便,所選擇單位最好是與上面單位成整數倍數關系。
long類型能夠表示的最小單位是360/4294967296度,約為1/3314秒。因此,單位的分母就是在256到3314范圍 內選擇一個盡量大的256的倍數。考慮到自然數中最常用的十進制,最終選擇256的10倍作為單位的分母,即以1/2560秒作為經緯度的單位。
(2)車輛角度
導航系統中,車輛角度使用的是有符號short類型來表示,使用的單位是360/65536度,即以short的取值范圍 [-32768, 32767]來表示360度,所能夠表達的最高精度約為0.00549度。數據類型和單位的選擇出于以下原因: a、 該單位的精度足以滿
總結
以上是生活随笔為你收集整理的车载导航系统中常用物理量和单位的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 收集web前端日志
- 下一篇: 系统安全:Nessus Home版安装使