模擬軟體源碼位置在:http://download.csdn.net/detail/dijkstar/5565111,http://www.pudn.com/downloads552/sourcecode/windows/other/detail2276765.html
1 原理
假設一個採樣系統,AD部分可以得到數字量,對應的物理量為電壓(或其他);
① 若在“零點”標定一個AD值點Xmin,在“最大處”標定一個AD值點Xmax,根據“兩點成一條直線”的原理,可以得到一條由零點和最大點連起來的一條直線,這條直線的斜率k很容易求得,然後套如直線方程求解每一個點X(AD採樣值),可以得到該AD值對應的物理量(電壓值):
中的斜率k:
k =(Ymax-Ymin)/(Xmax-Xmin)
(因為第一點為“零點”,故上面的Ymin = 0)
所以,中任一點的AD值對應的物理量:
y = k×(Xad- Xmin)+0
② 上面的演算法只是在“零點”和“最大點”之間做了標定,如果使用中間的AD採樣值會帶來很大的對應物理量的誤差,解決的辦法是多插入一些標定點。
如,分別插入了標定點(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4) 四個點:
這樣將獲得不再是一條直線,而是一條“折現”(相當於分段處理),若欲求解落在x1和x2之間一點Xad值對應的電壓值:
y = k×(Xad– X1)+ y1
由上看出,中間插入的“標定點”越多,得到物理值“精度”越高。
2 模擬軟體
按照上述想法,實現了一個線性標定校準模擬軟體,該軟體具有:
a “標定點”集合的管理(加入、刪除、儲存、讀取);
b 計算一個新AD值對應的物理量
模擬軟體每次啟動初始化時,讀取“標定點”集合(儲存在“配置.ini”中);當加入一個新的標定點時,按排序尋找插入到相應的位置;輸入一個要求解的AD值對應的電壓,該AD值尋找到“標定點”集合中適合位置,按直線方程計算出該AD對應的物理量。
該軟體需配合“配置.ini”檔案使用。標定(校準)的實現全部在Acq.h、Acq.cpp中。