<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/201610/308913.htm

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();