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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 三次樣條插值在稱重儀表誤差補償中的應用

          三次樣條插值在稱重儀表誤差補償中的應用

          作者: 時間:2012-02-09 來源:網(wǎng)絡 收藏

          對表1的數(shù)據(jù)分別采用不、分段線性(通常的內部的折線功能)、三次樣條插值方法進行處理,然后對傳感器施加載荷,由于對采用三次樣條插值和分段線性插值補償后,在插值節(jié)點處的為零,所以選取載荷為各個分段區(qū)間的中間值,得到的數(shù)據(jù)如表2所示。

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

          g.jpg


          其中的分段線性補償是目前較為流行的一種補償方法,其思想和三次樣條插值補償?shù)乃枷牖疽粯?,兩者的差別是分段線性補償在各個分段區(qū)間內進行線性計算,而三次樣條插值誤差補償在各個分段區(qū)間內進行非線性計算。分段線性補償處理方法相對簡單,對傳感器的非線性誤差有一定的補償作用,但對于高精度的數(shù)據(jù)采集系統(tǒng)該方法有時難以達到精度要求。
          三種處理方法誤差曲線分布如圖3所示。

          h.jpg


          由表2和圖3可得:
          1)未補償時,該儀表的滿量程非線性誤差為:119/90000=0.13%FS;其絕對誤差在2 Kg處達到最大值119,在1 Kg處的相對誤差達剄最大值0.8%;
          2)采用分段線性補償時,該儀表的滿量程非線性誤差為:40/90000=0.044%FS;其絕對誤差在2.5 Kg處達到最大值40,0.5 Kg處的相對誤差達到最大值0.18%;
          3)采用三次樣條插值補償時,該儀表的滿量程非線性誤差為:13/90000=0.014%;其中絕對誤差在7.5 Kg處達到最大值13,在0.5 Kg處達到相對誤差最大值0.08%;

          5 結論
          通過三次祥條插值函數(shù)對儀表進行補償可以得到較高的精度,滿量程非線性誤差、滿量程內最大相對誤差和最大誤差都得到很好的改善,即使是傳感器在低端呈現(xiàn)凹形特征和高端呈現(xiàn)凸形特征較為嚴重的情況下依然可以得到較高的精度,相比于分段線性補償,其補償?shù)木纫泊鬄樘岣?。當插值點較少時,三次樣條插值誤差補償?shù)木纫确侄尉€性插值的誤差要小得多。采用三次樣條插值函效對儀表或其他的數(shù)據(jù)采集系統(tǒng)的誤差進行補償,除了可似很大程度上減少傳感器非線性對精度的影響,還可以降低信號調理電路和AD轉換器對系統(tǒng)精度的影響。
          同時應注意到,對于有較高精度要求的數(shù)據(jù)采集系統(tǒng),為獲得較好的三次樣條插值誤差補償效果,高精度的信號調理電路、AD轉換器的穩(wěn)定性是至關重要的。
          另外適當選取插值節(jié)點數(shù)也非常關鍵,節(jié)點數(shù)選擇過少,達不到較好的補償效果,節(jié)點數(shù)過多不但造成計算量加大,還有可能造成在某些分段區(qū)間誤差過大,從而達不到很好的補償效果。一般的插值節(jié)點數(shù)選擇在10~25個左右為宜。


          上一頁 1 2 3 4 5 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();