1引言
儀器儀表設(shè)備在現(xiàn)場測試過程中,,由于生產(chǎn)變量的測試數(shù)據(jù)對生產(chǎn)過程具有重要的意義,因此對各種物理量測試數(shù)據(jù)精度要求是比較高的,。
在前向測試通道上采用的抗干擾措施中,,濾波方法是抑制干擾的一種有效途徑。在工業(yè)現(xiàn)場中,,可利用硬件濾波器電路或軟件濾波器算法提高測試數(shù)據(jù)的準(zhǔn)確性,。硬件濾波措施是使用較多的一種方法,技術(shù)比較成熟,,但同時也增加了設(shè)備,,提高了成本,而且電子設(shè)備的增加有可能帶來新的干擾源,。而采用軟件濾波算法不需增加硬件設(shè)備,,可靠性高,功能多樣,,使用靈活,,具有許多硬件濾波措施所不具備的優(yōu)點,當(dāng)然它需要占一定的運行時間,。
2常用的幾種軟件濾波方法
(1)中值濾波法:即每次
取N個AD值,,去除其中的最大值和最小值而取剩余的N-2個A/D轉(zhuǎn)換值的平均值。
(2)程序判斷濾波法:即根據(jù)經(jīng)驗確定出兩次采樣的最大偏差ΔY,,若先后兩次采樣的信號相減數(shù)值大于ΔY,,表明輸入為干擾信號,應(yīng)去除;用上次采樣值與本次采樣值比較,,若小于或等于Δ Y,,表明沒有受到干擾,,此時本次采樣值有效,這樣可以濾去隨機(jī)干擾和傳感器不穩(wěn)定而引起的誤差,。
(3)利用格拉布斯(Grubbs)準(zhǔn)則進(jìn)行處理:根據(jù)誤差理論,,要有效地剔除偶然誤差,一般要測量10次以上,,兼顧到精度和響應(yīng)速度,取15次為一個單位,。在取得的15個數(shù)據(jù)中,,有些可能含有較大的誤差,需要對它們分檢,,剔除可疑值,,提高自適應(yīng)速度。對可疑值的剔除有多種準(zhǔn)則,,如萊以達(dá)準(zhǔn)則,、肖維勒(Chauvenet)準(zhǔn)則、格拉布斯(Grubbs)準(zhǔn)則等,。以Grubbs準(zhǔn)則為例,,它認(rèn)為若某測量值 xi對應(yīng)的殘差Vi滿足下式
|Vi|=| xi-|>g(n,a)× σ(X)
時應(yīng)將該數(shù)據(jù)舍去,。式中,,為n次采集到的AD 值的平均值,=(∑xi)/n ;σ(X)為測量數(shù)據(jù)組的標(biāo)準(zhǔn)差,,由貝塞爾函數(shù)可得: σ(X)=[(∑Vi2 )/(n-1)]1/2;g(n,, a)是取決于測量次數(shù)n和顯著性水平a (相當(dāng)于犯“棄真” 錯誤的概率系數(shù)),a通常取0.01或0.05,。通過查表可得:當(dāng) n="15時",,a=0.05, g(n,a)=2.41,。
把15次采集到的AD值存入一個數(shù)組中然后求平均值,,計算殘差,求標(biāo)準(zhǔn)差σ(X),。將殘差絕對值與2.41倍的標(biāo)準(zhǔn)差σ(X)比較,。剔除可疑值以后,再求平均值,,求出新的平均值以后,,應(yīng)再重復(fù)以上過程,驗證是否還有可疑值存在,。據(jù)我們對測量裝置大量的實際測試結(jié)果看,,這樣做沒有什么必要,,因為一般只有第一遍即可達(dá)到要求。
然而這種方法也有它的不足, 利用Grubbs準(zhǔn)則需要處理大量的數(shù)據(jù),,而在一般的工業(yè)現(xiàn)場測試設(shè)備中,,儀表結(jié)構(gòu)大多采用嵌入式結(jié)構(gòu),如AVR單片機(jī),。這些MCU程序空間和數(shù)據(jù)空間有限,,若處理大量數(shù)據(jù),難以滿足資源要求,。而且,,由于Grubbs準(zhǔn)則要求MCU進(jìn)行大量數(shù)據(jù)處理,使得系統(tǒng)降低了信號采集速率,,影響實時性,。3.AD7705內(nèi)置的數(shù)字濾波器
上述的幾種軟件濾波方法對抑制個別的異常數(shù)據(jù)方面具有一定作用,然而對于由工頻干擾引起的平穩(wěn)隨機(jī)干擾信號不太理想,。隨著近幾年來集成電路的快速發(fā)展,,一些數(shù)字濾波器也集成到數(shù)據(jù)處理芯片當(dāng)中,而且數(shù)字濾波器的設(shè)計參數(shù)通過軟件可編程實現(xiàn),,具有極大的靈活性和實用性,。
3.1 芯片介紹及應(yīng)用
目前市場上由美國AD公司新近推出的AD7705 就是一例[1]。它是內(nèi)置了數(shù)字濾波器的帶信號調(diào)理電路的16位A/D轉(zhuǎn)換器件,,可應(yīng)用于低頻測量的2通道的模擬前端,。該器件可以接受直接來自傳感器的低電壓輸入信號,然后產(chǎn)生串行的數(shù)字輸出,,利用∑-Δ轉(zhuǎn)換技術(shù)實現(xiàn)16位無丟失代碼性能,。選定的輸入信號被送到一個基于模擬調(diào)制器的增益可編程專用前端,片內(nèi)數(shù)字濾波器處理調(diào)制器的輸出信號,,通過片內(nèi)控制寄存器可調(diào)節(jié)濾波器的截止點和輸出更新率,,從而對數(shù)字濾波器的第一個陷波進(jìn)行編程。
AD7705有以下幾個特點:
(1)差分輸入通道ADC,,具有16位無丟失代碼和0.003%非線形誤差;
(2)MCU的接口為串行的三線接口模式;
(3)可編程增益1~128,,信號極性以及更新速率配置有工作寄存器,通過對寄存器的操作可以選擇等;
(4) 器件還包括自標(biāo)定和系統(tǒng)校準(zhǔn)功能,,以消除器件本身或系統(tǒng)的增益和編程誤差;
(5) 內(nèi)帶數(shù)字信號處理電路,,由軟件可編程進(jìn)行設(shè)置。
引腳排列如圖1,。
主要管腳說明如下:
MCLK IN:為轉(zhuǎn)換器提供主時鐘信號,,能以晶體/諧振器或外部時鐘的形式提供。
MCLK OUT:當(dāng)主時鐘為晶體/諧振器時,晶體諧振器被接在MCLK IN和MCLK OUT之間;如果在MCLK IN引腳處連接一個外部時鐘,,MCLK OUT將提供一個反向時鐘信號,。
CS :片選,低電平有效的邏輯輸入,。
A1N2(+)[A1N1]:對于AD7705,,差分模擬輸入通道2的正輸入端;對于AD7706,模擬輸入通道1的輸入端,。
A1N1(+)[A1N2]:差分模擬輸入通道1的正輸入端,。
A1N1(-)[COMMON]:差分模擬輸入通道1的負(fù)輸入端。
A1N2(-)[A1N3]:差分輸入模擬通道2的負(fù)輸入端,。
DRDY :邏輯輸出,。這個輸出端上的邏輯低電平表示可從AD7705的數(shù)字寄存器獲取新的輸出字。
DOUT:串行數(shù)據(jù)輸出端,。
DIN:串行數(shù)據(jù)輸入端。
SCLK:串行時鐘,,施密特邏輯輸入,。
從AD轉(zhuǎn)換器件發(fā)展趨勢來看,目前的16位A/ D轉(zhuǎn)換器除具有較高的轉(zhuǎn)換精度外,,還具有高度的集成化,、可編程等特點 [2,3],。AD7705符合這些特點,,其簡化的應(yīng)用電路如圖2。
圖2給出了一個完整的前向測試通道,,圖中 AD7705可直接接收傳感器輸入信號,,而不用外接信號調(diào)理電路,模擬量輸出增益可實現(xiàn)軟件可編程調(diào)節(jié),。輸出的AD值通過SPI三線口模式發(fā)送給MCU,。圖中,MCU采用的是P87LPC764,,它是 PHILIPS公司新推出的增強(qiáng)型8位單片機(jī),,內(nèi)核與MCS51系列兼容,內(nèi)置電源檢測,、看門狗WDT,、 IIC總線等資源。 AD7705的數(shù)據(jù)接口采用了SPI接口標(biāo)準(zhǔn),。SPI 接口利用4根線可完成主從之間的數(shù)據(jù)通信,。接口非常方便。這4根口線分別為時鐘線(SCLK)、數(shù)據(jù)輸入線(SDI),、數(shù)據(jù)輸出線(SDO)和片選線(CS),。DIN線用來向片內(nèi)寄存器傳輸數(shù)據(jù),而DOUT線用來訪問寄存器里的數(shù)據(jù),。SCLK是串行時鐘輸入,,所有的數(shù)據(jù)傳輸都和SCLK信號有關(guān)。DRDY線作為狀態(tài)信號,,以提示數(shù)據(jù)什么時候已準(zhǔn)備好從寄存器讀數(shù)據(jù),。輸出寄存器中有新的數(shù)據(jù)時,DRDY變?yōu)榈碗娖?,在?shù)據(jù)寄存器更新前,,若DRDY變?yōu)楦唠娖剑瑒t提示這個時候不讀數(shù)據(jù),,以免在寄存器更新的過程中讀數(shù)據(jù),。CS作為片選信號,在本電路中由于只用一片AD7705故CS端接地,。
3.2 低通濾波及陷波處理
AD7705包含一個片內(nèi)低通濾波器,,用它處理器件的∑-Δ調(diào)制器的輸出信號。所以,,該器件不僅提供模數(shù)轉(zhuǎn)換功能,,而且還具備一定的濾波能力。AD7705內(nèi)嵌了數(shù)字低通濾波器,,數(shù)字濾波發(fā)生在模-數(shù)轉(zhuǎn)換之后,,它能消除模-數(shù)轉(zhuǎn)換過程中產(chǎn)生的噪音。此外,,數(shù)字濾波器容易實現(xiàn)可編程性,。依靠數(shù)字濾波器設(shè)計,用戶可以編程截斷頻率和輸出更新頻率,。
AD7705的數(shù)字濾波器是一個低通(sin x/x)3 濾波器(也稱為sinc3),,其在Z 域的轉(zhuǎn)換功能可描述為,
在3次域可描述為,,
圖3是截止頻率為15.72Hz的濾波器頻率響應(yīng),,這一頻率與濾波器的第一個陷波頻率(50Hz)對應(yīng),這曲線顯示從直流到300Hz,。在數(shù)字濾波器采樣頻率的兩邊這個頻率曲線各重復(fù)一次,。這種濾波器響應(yīng)與一個平均濾波器的相似。因此,,圖中的輸出速率為50Hz,,濾波器的第一個陷波頻率為50Hz。這種(sin x/x)3 濾波器的陷波位置多次在第一個陷波的倍數(shù)處重復(fù)。在這些陷波處濾波器提供大于100dB 的衰減,。
AD7705內(nèi)部帶有數(shù)字濾波器,,具有抑制干擾功能。對于50Hz的工頻干擾在第一陷波位置已衰減180dB,,這樣有效抑制工頻干擾,。另外,我們在每次采集AD值時,,每采集10個AD值作為一組數(shù)據(jù),,去除其中的最大值,最小值而取剩余的8個A/D轉(zhuǎn)換值的平均值,,這樣可有效去除數(shù)據(jù)隨機(jī)誤差,。