999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

天體高度觀測App 設計與實現

2022-02-13 11:53:42吳浩周愛軍
傳感器世界 2022年11期
關鍵詞:測量

吳浩 周愛軍

1.海軍大連艦艇學院學員五大隊,遼寧大連 116018;2.海軍大連艦艇學院航海系,遼寧大連 116018

0 前言

傳統(tǒng)天文航海定位方法通常是利用六分儀測量某一時刻多個天體的高度,或某個天體多個時刻的高度,然后通過“高度差法”得到測者位置經緯度。這種定位方法的信標為自然天體,具有設備簡單、不受電磁干擾等優(yōu)點。現在電磁環(huán)境日趨復雜,衛(wèi)星導航和無線電導航等系統(tǒng)容易受到干擾,天文定位因其自主性好的獨特優(yōu)點具有重要保底作用。但是,傳統(tǒng)六分儀觀測天體高度存在以下不足:一是六分儀觀測天體高度必須要能同時看清天體和水天線,觀測時機大為受限,如測星只能在晨光昏影時段;二是對觀測的高度值需要進行蒙氣差、眼高差等一系列修正,且靠手工查算表冊,過程繁雜,容易出錯,觀測天體高度的速度和精度非常依賴測者的業(yè)務能力,需要花費較大精力進行經常性訓練。移動智能平臺(手機或平板電腦)和傳感器技術的快速發(fā)展,為實現開發(fā)天體高度觀測App 提供了軟硬件支持。針對傳統(tǒng)方法用六分儀觀測天體高度的存在問題,開發(fā)了一款基于Android 平臺的天體高度方位觀測App,在不借助手機基站信號和衛(wèi)星導航信號的前提下,利用手機傳感器觀測天體得到高度值。

1 天體高度觀測原理

Android 手機以價格低廉,便于攜帶,硬件性能良好等特點被廣泛使用,其帶有加速度、磁場、陀螺儀、光學和壓力等多種傳感器[1]。手機或平板內的傳感器一般都是大規(guī)模集成電路芯片,除了傳感器還包括信號調節(jié)、數據處理和通信電路。其中,加速度傳感器常被用于測量物體受到重力在內的外力所產生的加速度[2]。單軸加速度傳感器計算角度采用正弦或余弦函數,靈敏度是非線性的。三軸加速度傳感器計算角度采用反正切函數,某個軸的輸出與另兩軸的輸出平方根進行比較,可以穩(wěn)定靈敏度[3]。

以華為P20Pro 手機為例,加速度傳感器和陀螺儀的芯片為ICM-20690。ICM-20690 芯片尺寸為2.5 mm ×3 mm×0.91 mm,集成了一個三軸陀螺儀和一個三軸加速度計,在不需要參照靜止坐標系前提下,可分別測量角速度和線加速度,并可通過處理測量所得數據跟蹤運動物體的位置和方向,其加速度傳感器的性能指標如表1 所示[4]。

表1 ICM-20690 加速度傳感器性能指標

手機內置的加速度傳感器一般使用三維坐標來確定角度和方向。當手機屏幕朝上平放時,與手機屏幕垂直的為z軸,與手機屏幕在同一平面且互相垂直的分別為x、y軸,如圖1 所示。加速度傳感器在x、y、z軸的輸出分別為AX、AY和AZ。

天體高度觀測的實質是角度測量,因此可使用手機內置加速度傳感器測量天體高度。首先通過光學攝像頭瞄準天體,并使其位于十字準星點上;調整手機姿態(tài),使手機的上下邊緣與水平面基本平行,相當于手機攝像頭的CCD 平面垂直于天體光線;采用反正切函數進行角度計算,計算公式為:

其中,θ為加速度傳感器內部軸線(y軸)與鉛垂線的夾角;AX、AY和AZ分別為加速度傳感器在x、y、z軸的輸出。同時,程序檢測重力在手機坐標系x軸方向上加速度分量AX是否近似為0,當AX近似為0 時,進行角度計算,計算公式簡化為:

觀測天體高度原理如圖2 所示,手機坐標系z軸與鉛垂線的夾角α為天體頂距,天體高度h和θ均為α的余角,因此天體高度h等于θ。

2 觀測天體高度功能設計與實現

天體高度測量功能主要利用手機內置光學傳感器(相機)、加速度傳感器來實現。程序框圖如圖3 所示,首先選擇所觀測的天體,便于數據存儲;然后實例化相機和加速度傳感器;將手機對準天體,計算并顯示天體高度。

Android 系統(tǒng)中調用加速度傳感器是通過調用getSystemService 函數,傳遞TYPE_ACCELEROMETER參數,并設置傳感器事件監(jiān)聽器來回傳加速度傳感器的值,具體分為四個步驟:

第一步是獲取傳感器實例,在Activity 中聲明一個sensorManager 傳感器管理對象為mSensorMgr,并調用getSystemService 函數,從系統(tǒng)服務SENSOR_SERVICE 中獲取傳感器實例;

第二步是注冊傳感器監(jiān)聽器,重寫Activity 的onResume 函數,在該函數中注冊加速度傳感器,指定監(jiān)聽的傳感器類型為加速度傳感器,關鍵代碼如下:

mSensorMgr.registerListener(this,

mSensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),

SensorManager.SENSOR_DELAY_NORMAL);

第三步是編寫傳感器事件監(jiān)聽器,傳感器事件監(jiān)聽器是繼承自SensorEventListener 的類,該類需實現2 個函數,分別是onSensorChanged 和onAccuracyChanged。onSensorChanged 函數用來感應加速度傳感器的輸出變化,并將業(yè)務邏輯包含在內,即依據加速度的值計算天體高度。onAccuracyChanged函數在加速度的精度改變時觸發(fā),一般不處理;

第四步是重寫Activity 的onPause 函數,在該方法中注銷加速度傳感器監(jiān)聽事件。

Android 手機光學攝像頭的調用采用了Camera 類聯(lián)合表面視圖SurfaceView 的方法,即使用Camera 類調用光學攝像頭,并將獲取的圖像呈現在SurfaceView上。手機上傳感器的實例化方法是通過Sensor 類定義一個傳感器的對象,創(chuàng)建sensorManager 類的對象進行實例化,再創(chuàng)建一個繼承SensorEventListener 類的OrientationListener 類,以實時回傳傳感器的數據變化。

3 數據存儲功能設計與實現

Android 手機數據庫主要是通過SQLite 語句實現的。SQLite 語句是嵌入式的輕型數據庫,不涉及復雜的數據控制操作,只需用到數據定義和數據操縱兩類語句[5]。SQLite 語句可以不聲明具體數據類型,支持整型INTEGER、長整型LONG、字符串VARCHAR、浮點型FLOAT,但是不支持布爾類型數據,布爾型可以采用整型保存。通過SQLiteOpenHelper 類來具體使用SQLite 語句進行數據庫操作。新建一個繼承自SQLiteOpenHelper 的數據庫操作類,并重寫onCreate方法,以創(chuàng)建一個新的表結構。數據庫讀連接可調用getReadableDatabase 方法獲得,數據庫寫連接可調用getWritableDatabase 方法獲得,調用數據庫實例的close 方法關閉數據庫。

4 使用方法和測試結果分析

4.1 使用方法

觀測天體高度應在海況良好,天氣晴朗,光污染足夠小的情況下進行。首先,點擊“預覽”按鈕,屏幕顯示光學攝像頭獲取的畫面;再點擊“十字準星”按鈕,屏幕中央顯示十字準星;然后將十字準星對準需要觀測的星體;點擊測星界面的“記錄”按鈕,天體的高度信息將被記錄在數據庫內,點擊App 下方的“記錄”按鈕即可查看已經記錄的高度信息;在天文定位計算界面,輸入推算船位、時間等信息;然后點擊“計算”,即可得出觀測者的經緯度。天體高度測量界面如圖4 所示。

4.2 測試結果分析

在天氣晴朗,能見度良好,光污染足夠小的情況下,用華為P20Pro 手機安裝App,并多次對恒星進行觀測。考慮天體高度觀測時間及間隔較短,忽略因周日視運動會引起天體高度隨時間的變化。對比星圖模擬軟件Stellarium 與天文定位App 觀測天體高度的測量數據,平均誤差為3'~4'左右。因篇幅限制,選取高度為低、中、高的三組典型觀測結果為例,測者經緯度為38°52.5'N、121°40'E,觀測結果如表2 所示。

表2 觀測天體高度部分數據

4.3 誤差產生原因與后續(xù)提高準確度的措施

實踐證明,用手機及其內置傳感器測量天體高度是可行的,但與用六分儀相比,誤差偏大,分析原因如下:

(1)手機內置方向傳感器精度偏低。手機不是專業(yè)的測量工具,從用戶需求和控制成本的角度出發(fā),生產商沒有采用高精度器件。未來可以考慮外置高精度傳感器,傳感器模塊體積很小,功耗很低,可以用專用夾具固定在手機上,需要做好與攝像頭等組件的校準配合工作,Type-C 接口可用于數據傳輸和為模塊供電;

(2)盡可能地提高光學攝像頭工作時的姿態(tài)穩(wěn)定度,可以更快、更準地捕捉天體。一方面,在持握手機時,最好雙手持握,手肘或身體依靠固定物體;另一方面,選用攝像防抖效果好的手機,最好具有光學(OIS)和電子(EIS)雙重防抖功能,有條件時可使用手持式手機穩(wěn)定平臺;

(3)盡量使用上中天附近的天體。這時天體高度的變化速度最慢,可以短時間內多次測量,對測量值進行適當濾波,提高測量值準確度;

(4)注意高度校準。可以利用高度比較固定的天體,如北極星(勾陳一),測量其高度值與標準值比對,得到零位誤差,類似六分儀的指標差,用于修正測量高度。

4.4 數據濾波處理

考慮到天體高度觀測時間及間隔較短,忽略因周日視運動引起天體高度隨時間的變化,將觀測時的天體高度視為恒值。因此可采用線性卡爾曼濾波方法對觀測高度進行數據處理,以每秒為單位對高度進行采樣。引入過程噪聲W(k),其方差為Q,Q為0.01。因為系統(tǒng)是一維且高度近似不變,所以狀態(tài)轉移矩陣為1,噪聲驅動矩陣為1,系統(tǒng)的狀態(tài)方程為:

其中,狀態(tài)X(k)是k時刻的天體高度;狀態(tài)X(k-1)是k-1 時刻的天體高度;W(k)為過程噪聲。

由積累的測量數據可得測量平均誤差大概為0.07°(4'),平均方差為0.5。測量噪聲為V(k),其方差R=0.5。觀測矩陣H為1,測量方程為:

其中,Z(k)是k時刻天體高度的觀測值;V(k)是測量噪聲。

狀態(tài)預測方程、增益方程、偏差方程分別為:

其中,(k)為k時刻天體高度的估計值;(k-1)為k-1時刻天體高度的估計值;K為卡爾曼增益。

其中,P(k|k- 1)=為天體高度預計偏差值;Q為過程噪聲W(k)的方差。

其中,P(k)為k時刻的天體高度偏差值。

以2022 年4 月10 日對大犬座α觀測結果為例,使用MATLAB 進行編程驗證,如圖5 所示。從仿真結果可知,卡爾曼濾波可以有效降低噪聲對高度測量的影響。

4.5 其他注意事項

觀測太陽時,應在鏡頭前加裝巴德膜進行減光,避免強光損壞光學攝像頭組件。高度修正時,太陽、月亮當日視半徑來自PyEphem 星歷表[6]給出并由程序自動進行。PyEphem 庫是一個Python 環(huán)境下天文歷法計算的第三方庫,由埃爾伍德·查爾斯·唐尼(Elwood Charles Downey)編寫,采用VSOP87 行星理論,其精度在1 角秒左右,足以滿足天文航海所要求的0.1角分的精度。

5 結束語

基于Android 手機傳感器開發(fā)了天體高度觀測App。原理上,高度值是利用天體與測者鉛垂線之間的夾角得到的,克服了對水天線的依賴,觀測時機大大增加,測星不再局限于晨光昏影時間;觀測區(qū)域更加廣泛,在看不到水天線的陸地也可進行。App 嵌入了星歷庫,可以對天體高度觀測值自動修正。由于是以測者鉛垂線為基準,沒有眼高差,折光差也大幅減小,而這兩項修正量在傳統(tǒng)方法中占了很大比重。

未來,App 還有進一步提高精度,增加更多功能的潛力,伴隨傳感器技術及相關理論算法的不斷進步,最終,智能移動平臺(手機或平板電腦)將可能成為有一定實用價值的天文定位儀。

猜你喜歡
測量
測量重量,測量長度……
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
測量的樂趣
二十四節(jié)氣簡易測量
日出日落的觀察與測量
滑動摩擦力的測量與計算
測量
測量水的多少……
主站蜘蛛池模板: 人妻91无码色偷偷色噜噜噜| 99色亚洲国产精品11p| 亚洲免费福利视频| 精品国产三级在线观看| 55夜色66夜色国产精品视频| 亚洲一区无码在线| 毛片网站观看| 色婷婷狠狠干| 操国产美女| 国产欧美综合在线观看第七页| 91福利免费视频| 特级欧美视频aaaaaa| 日韩精品亚洲精品第一页| 尤物成AV人片在线观看| 国产成a人片在线播放| 日本免费新一区视频| 国产一级小视频| 国产在线视频福利资源站| 欧洲高清无码在线| 午夜老司机永久免费看片| 国产成人精品在线1区| 日本成人在线不卡视频| 久久一色本道亚洲| 国产网友愉拍精品视频| 亚洲综合狠狠| 国产JIZzJIzz视频全部免费| 亚洲男人的天堂视频| 欧洲一区二区三区无码| 91黄色在线观看| 国产传媒一区二区三区四区五区| 免费一级毛片在线播放傲雪网| 国产美女免费网站| 久久精品国产亚洲AV忘忧草18| 国产麻豆91网在线看| 无遮挡一级毛片呦女视频| 色综合中文| 免费又黄又爽又猛大片午夜| 亚洲乱码视频| 久久综合九色综合97网| 六月婷婷精品视频在线观看 | 91在线无码精品秘九色APP| 男女精品视频| 亚洲综合九九| 欧美精品亚洲精品日韩专区va| 亚洲国产清纯| 亚洲精品桃花岛av在线| 婷婷激情亚洲| 欧美日韩在线亚洲国产人| 视频国产精品丝袜第一页| AV在线麻免费观看网站 | 青青青国产视频| 亚洲伦理一区二区| 无码中文字幕精品推荐| 免费一级成人毛片| 少妇露出福利视频| 欧美一级黄片一区2区| 手机在线看片不卡中文字幕| 九一九色国产| 国产精品香蕉| 青青网在线国产| 九九热视频精品在线| 特级做a爰片毛片免费69| 一区二区三区四区在线| 精品無碼一區在線觀看 | 欧美亚洲日韩中文| 日韩欧美91| 大香伊人久久| 99精品伊人久久久大香线蕉| 中文字幕啪啪| 国产精品吹潮在线观看中文| 中文字幕乱码二三区免费| 久久久久88色偷偷| 白浆视频在线观看| 亚洲女同一区二区| 高清久久精品亚洲日韩Av| 亚洲精品福利视频| 国产精品jizz在线观看软件| 亚洲欧美日本国产专区一区| 亚洲精品第1页| 亚洲综合一区国产精品| 成人午夜网址| 国产a网站|