三次樣條插值在稱重儀表誤差補償中的應(yīng)用
3 樣條曲線插位方法
3.1 三次樣條插值函數(shù)
當插值節(jié)點很多時,使用高次多項式插值并不能得到好的結(jié)果,因而一般采用分段插值法,即將插值區(qū)間分成若干個小區(qū)間,然后在每個小區(qū)間上使用次數(shù)較低的多項式進行插值。一般的分段插值法有一個嚴重的缺點,就是會導(dǎo)致插值函數(shù)在子區(qū)間的端點處不光滑,而樣條曲線插值就不存在這個問題。三次樣條插值由分段三次曲線連接而成,在連接點處有二階連續(xù)導(dǎo)數(shù),從而可以保證在連接點處光滑連接。
設(shè)函數(shù)f(x)在區(qū)間[a,b]上給定n+1個插值節(jié)點:a=x0x1…xn=b及其在插值節(jié)點的值f(x0),f(x1)…f(xn).若函數(shù)S(x)滿足:
1)S(x)在每個小區(qū)間[xj,xj+1]上是三次多項式j(luò)=0,1…,n-1;
2)S(x)在每個小區(qū)間[a,b]上具有連續(xù)二階導(dǎo)數(shù);
3)S(xj)=f(xj),j=0,1…n(2)則S(x)為函數(shù)f(x)的三次樣條插值函數(shù)。
3.2 三次樣條插值函數(shù)求法
記S(xj)=Mj,S(xj)=yi,hj=xj+1-xj,由三次樣條插值函數(shù)定義知,三次樣條函數(shù)的二階導(dǎo)數(shù)S(xj)在每個小區(qū)間[xj,xj+1]是一次線性函數(shù),如果已知在小區(qū)間兩個端點的值,則S(x)的在小區(qū)間[xj,xj+1]表達式可表示為:
其中的f[xj,xj+1]是關(guān)于節(jié)點xj,xj+1的一階差商。對于各個區(qū)間內(nèi)的三次樣條插值函數(shù)可以通過采用追趕法對三彎矩方程組求得樣條函數(shù)的系數(shù)Mj,然后將系數(shù)Mj代入公式(4)求得,具體介紹可參看參考文獻。
4 稱重儀表的三次樣條插值誤差補償
4.1 基于三次樣條插值的誤差補償方法
對儀表進行三次樣條插值誤差補償的方法和步驟為:
1)首先將傳感器的滿量程劃分為若干段(一般為等間距劃分),確定插值節(jié)點;
2)給傳感器在各個插值節(jié)點處施加標準載荷,記錄此時的ADC轉(zhuǎn)換值和實際顯示值,根據(jù)理想的顯示值和實際顯示值求得一偏移量和ADC轉(zhuǎn)換值求代數(shù)和,將此值作為該插值節(jié)點的輸入值xj;
3)將各個插值節(jié)點處的儀表應(yīng)該顯示的值(理想顯示值)作為輸出值yj;
4)根據(jù)各節(jié)點處的xj和yj求得各個區(qū)間上的三次樣條插值函數(shù)Sj(x);判斷ADC的實時轉(zhuǎn)換值x所處的具體區(qū)間,按照該區(qū)間的三次樣條插值函數(shù)計算儀表的實際顯示值即實時載荷值;
4. 2 實驗數(shù)據(jù)處理和分析
采用一款已經(jīng)研制完成的五位半精度的儀表對傳感器的信號進行分析和驗證。
本款儀表采用高精度的24位AD轉(zhuǎn)換器AD7190對傳感器信號進行數(shù)模轉(zhuǎn)換,MCU采用TI公司的MSP430F149。
AD7190是ADI公司最新推出的具有業(yè)內(nèi)最高精度之一的∑—△型AD轉(zhuǎn)換器,其非線性誤差最低僅為0.000 5%,峰值轉(zhuǎn)換速率可達到4.8 kHz,且具有極低的溫漂和轉(zhuǎn)換噪聲等性能。當內(nèi)部PGA為1時可以達到高達22.5bit的無噪聲輸出,實際設(shè)計時,選取19位有效位(已經(jīng)超出5位半顯示精度要求)。同時AD7190內(nèi)部自帶有零點校準功能和增益校準功能,通過軟件編程可方便地根據(jù)實際情況對內(nèi)部的零點校準寄存器和增益校準寄存器進行操作。
評論