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