<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 三軸正交型傳感器正交性的軟件修正方法

三軸正交型傳感器正交性的軟件修正方法

作者: 時(shí)間:2016-10-18 來(lái)源:網(wǎng)絡(luò ) 收藏

當需要測量的物理量為矢量時(shí),我們需要使用三個(gè)正交放置的傳感器來(lái)分別測量物理量的各個(gè)分量,以此來(lái)合成一個(gè)完整的矢量。如果我們對測量精度要求非常高,就不能僅僅只是對單個(gè)傳感器進(jìn)行修正,還要考慮三個(gè)傳感器的敏感軸是否嚴格的正交。很多時(shí)候我們需要仔細的調整三個(gè)傳感器的正交關(guān)系,但是將三個(gè)傳感器調整到完全正交是很難的,并且許多時(shí)候,由于設計等原因,這種機械上的調校是無(wú)法進(jìn)行的。這時(shí),軟件修正就成了必不可少的步驟,軟件修正大多數時(shí)候也比機械上的調校更簡(jiǎn)單。

本文引用地址:http://dyxdggzs.com/article/201610/308913.htm

這里介紹一種基本的軟件修正方法。它對大多數類(lèi)型的傳感器都可以使用。首先,假設單獨的每個(gè)傳感器的測量的值都是準確的,這可以通過(guò)預先對每個(gè)傳感器進(jìn)行標定來(lái)完成。

這里設三個(gè)傳感器的測量值分別是 x1,x2,x3。這三個(gè)值可以合成一個(gè)列向量X:

而傳感器所在位置的真實(shí)物理量可以用矢量Y來(lái)表示:

所謂軟件修正算法,就是找到從 X到 Y 的映射。由解析幾何知識我們知道X到 Y 的映射可以通過(guò)一個(gè)線(xiàn)性變換C來(lái)表示:

寫(xiě)到這里其實(shí)方法就很明了了,我們只需要求得這個(gè)轉換矩陣C就一切都解決了。

轉換矩陣C如何求,當然是通過(guò)大量的測量數據來(lái)擬合。實(shí)驗數據的獲得很重要,最好能有個(gè)比較精密的三軸轉臺,這樣轉各個(gè)角度都比較方便。沒(méi)有也沒(méi)關(guān)系,但至少要能把裝配好的傳感器組沿三個(gè)已知的方向放置,并且這三個(gè)方向要擺放的很精確。通常,我們選的這三個(gè)方向是相互正交的,這三個(gè)方向上物理量的真實(shí)值就是上面式子中的y1、y2、y3,換句話(huà)說(shuō)這三個(gè)方向是三個(gè)傳感器的名義上的取向,雖然這三個(gè)傳感器可能全都擺歪了。具體如何采集數據就不詳細描述了,由于未知參數有9個(gè),至少要采集9組數據才行,條件允許的話(huà)當然是數據越多越好。

下面說(shuō)說(shuō)如何對采集到的數據進(jìn)行擬合。通常我們遇到的最小二乘擬合問(wèn)題的待擬合的函數都可以表示為:

這里x1,…,xN是函數的自變量,c1,…,cM是待擬合的參數。我們可以將自變量和待擬合參數簡(jiǎn)寫(xiě)為向量,這樣表達式能夠簡(jiǎn)化:

所謂最小二乘擬合就是求的使的下面函數g(C)為最小值時(shí)C的值,其中Xi 和 yi 為測量值,這里設共有P 組測量值:

這個(gè)問(wèn)題已經(jīng)有成熟的算法,各種常見(jiàn)的數學(xué)軟件,比如 Matlab、Mathematica、scilab、Lingo 等都有現成的程序包來(lái)完成這個(gè)計算。我們現在的問(wèn)題難點(diǎn)在于 y 也是個(gè)向量,這就需要我們對上面的方法進(jìn)行一點(diǎn)簡(jiǎn)單的變形。簡(jiǎn)單的說(shuō),我們實(shí)際上是有三個(gè)待擬合函數的,因此g(C)也要做相應的改變:

經(jīng)過(guò)這樣轉化后就成了一個(gè)普通的最優(yōu)化問(wèn)題(函數求極值)了,各種數學(xué)軟件都可以方便的計算出結果。

這里再多說(shuō)幾句,我個(gè)人喜歡使用 gnuplot,gnuplot中有個(gè) fit 命令,也可以完成多元函數擬合。Gnuplot的 fit 命令采用非線(xiàn)性最小二乘 (NLLS) Marquardt-Levenberg算法,擬合能力非常強悍,只要擬合參數的初值給的別太離譜,基本都能夠收斂到最優(yōu)解上。fit命令具體的用法可以參考gnuplot的幫助文件。這里只講講如何處理 y是多個(gè)值的問(wèn)題,方法很簡(jiǎn)單,就是通過(guò)多引入一個(gè)自變量,將多值函數改造成普通的函數:

改造后的fc(X,i)就成了普通的多元函數了,可以用常規的多元函數擬合方法來(lái)處理。

如果將三個(gè)傳感器單獨的校正和正交性校正一起進(jìn)行,可以這樣來(lái):

這里需要注意的是如果a1,a2,a3成為未知數,c11,c22,c33就可以作為已知量了,比如設c11=c22=c33=1,因為這里的六個(gè)未知數只有三個(gè)是獨立的。因此,實(shí)際上只增加了三個(gè)未知數。

如果將上面的方法和溫度修正一起考慮的話(huà)可以這樣處理:

上面式子中的t是溫度,這里的溫度修正算法比較簡(jiǎn)單,主要是為了盡量少引入未知的參數。后面的計算就沒(méi)什么不同的了。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>