第7章智能儀器中的數(shù)據(jù)處理及算法_第1頁(yè)
第7章智能儀器中的數(shù)據(jù)處理及算法_第2頁(yè)
第7章智能儀器中的數(shù)據(jù)處理及算法_第3頁(yè)
第7章智能儀器中的數(shù)據(jù)處理及算法_第4頁(yè)
第7章智能儀器中的數(shù)據(jù)處理及算法_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

7.1測(cè)量誤差分類及處理方法測(cè)量誤差按照表示方法可分為絕對(duì)誤差、相對(duì)誤差和引用誤差。1)絕對(duì)誤差由測(cè)量所得到的被測(cè)量的值x與其真值A(chǔ)0之差稱為絕對(duì)誤差,用Δx表示,即 Δx=x-A0因?yàn)闇y(cè)量結(jié)果x總含有誤差,可能大于A0,也可能小于A0,所以,Δx是既有大小,又有正負(fù)且有單位的數(shù)值,其大小和符號(hào)分別表示測(cè)量結(jié)果偏離真值的程度和方向。7.1.1測(cè)量誤差分類第7章智能儀器中的數(shù)據(jù)處理技術(shù)A0表示真值。實(shí)際應(yīng)用中通常是用實(shí)際值A(chǔ)來(lái)代替真值A(chǔ)0。實(shí)際值又稱為約定真值,它是根據(jù)測(cè)量誤差的要求,使用高一級(jí)或幾級(jí)的標(biāo)準(zhǔn)儀器或計(jì)量器具測(cè)量所得之值,這時(shí),上式可改寫(xiě)為Δx=x-A這是絕對(duì)誤差通常使用的表達(dá)式。與絕對(duì)誤差的絕對(duì)值大小相等而符號(hào)相反的值稱為修正值,用C表示:C=-Δx=A-x對(duì)儀器進(jìn)行定期檢定(校準(zhǔn))時(shí),用標(biāo)準(zhǔn)儀器與受檢儀器相對(duì)比,獲得修正值,并將修正值以表格、曲線或公式的形式給出。這樣,在測(cè)量時(shí),利用測(cè)量的結(jié)果與已知的修正值相加,即可得到被測(cè)量的實(shí)際值,即 A=x+C例7-1一只量程為10V的電壓表,當(dāng)用它進(jìn)行測(cè)量時(shí),測(cè)量指示值為7.5V。若檢定時(shí),7.5V刻度處的修正值為-0.1V,求被測(cè)電壓的實(shí)際值U。 解U=7.5+(-0.1)=7.4V2)相對(duì)誤差絕對(duì)誤差雖然可以說(shuō)明測(cè)量結(jié)果偏離實(shí)際值的情況,但不能確切反映測(cè)量的精確程度。例如,分別測(cè)量?jī)蓚€(gè)頻率,其中一個(gè)頻率為f1=1000Hz,其絕對(duì)誤差Δf1=1Hz;另一個(gè)頻率為f2=1000000Hz,其絕對(duì)誤差Δf2=10Hz。為了彌補(bǔ)絕對(duì)誤差的不足,引入相對(duì)誤差的概念。絕對(duì)誤差與被測(cè)量真值的比值用百分?jǐn)?shù)來(lái)表示,稱為相對(duì)誤差,用γ表示,即

相對(duì)誤差沒(méi)有量綱,只有大小及符號(hào)。由于真值在實(shí)際測(cè)量中是難以得到的,因此通常用實(shí)際值A(chǔ)代替真值A(chǔ)0來(lái)表示相對(duì)誤差,用γA來(lái)表示,稱為實(shí)際相對(duì)誤差:

在誤差較小、要求不高的場(chǎng)合,也可用測(cè)量值x代替實(shí)際值A(chǔ),由此得出示值相對(duì)誤差,用γx來(lái)表示:在測(cè)量?jī)x器中,經(jīng)常用絕對(duì)誤差與儀器滿刻度值xm之比來(lái)表示相對(duì)誤差,稱為引用相對(duì)誤差(或稱滿度相對(duì)誤差),用γn表示:由于儀器在不同刻度上的絕對(duì)誤差不完全相等,故采用最大引用誤差來(lái)衡量?jī)x器的準(zhǔn)確度則更為合適。即

式中:Δxm——儀器在該量程范圍內(nèi)出現(xiàn)的最大絕對(duì)誤差;

xm——滿刻度值;

γnm——儀器在工作條件下的最大引用誤差。1)隨機(jī)誤差在相同條件下進(jìn)行多次測(cè)量,單次測(cè)量誤差出現(xiàn)無(wú)規(guī)律的隨機(jī)變化,而多次測(cè)量誤差服從統(tǒng)計(jì)規(guī)律且大多數(shù)按正態(tài)分布,這種誤差稱為隨機(jī)誤差或偶然誤差。隨機(jī)誤差反映了測(cè)量結(jié)果的精確度,隨機(jī)誤差越小,測(cè)量精確度越高。根據(jù)測(cè)量誤差的性質(zhì)和特性,誤差可分為隨機(jī)誤差、系統(tǒng)誤差和粗大誤差。2)系統(tǒng)誤差在一定的條件下,測(cè)量誤差的數(shù)值(大小及符號(hào))保持恒定或按照一定的規(guī)律變化的誤差稱為系統(tǒng)誤差。恒定不變的誤差稱為恒定系統(tǒng)誤差,例如,在校驗(yàn)儀器時(shí),標(biāo)準(zhǔn)表存在的固有誤差、儀器的基準(zhǔn)誤差等。按一定規(guī)律變化的誤差稱為變化系統(tǒng)誤差,例如,由儀器的零點(diǎn)漂移、放大倍數(shù)的漂移以及熱電偶冷端隨室溫變化而引入的誤差等。系統(tǒng)誤差決定了測(cè)量的準(zhǔn)確度。系統(tǒng)誤差越小,測(cè)量結(jié)果越準(zhǔn)確。3)粗大誤差粗大誤差是指在一定的條件下,測(cè)量值明顯地偏離實(shí)際值時(shí)所對(duì)應(yīng)的誤差,簡(jiǎn)稱為粗差。粗大誤差是由讀數(shù)錯(cuò)誤、記錄錯(cuò)誤、操作不正確、測(cè)量中的失誤以及存在不被允許的干擾等原因造成的,所以,粗大誤差又稱為疏失誤差。粗大誤差明顯地歪曲了測(cè)量結(jié)果,就其數(shù)值而言,它遠(yuǎn)遠(yuǎn)大于隨機(jī)誤差和系統(tǒng)誤差。7.1.2克服誤差的方法一、克服系統(tǒng)誤差的方法

系統(tǒng)誤差是指在相同條件下多次測(cè)量同一量時(shí),誤差的絕對(duì)值和符號(hào)保持恒定或在條件改變時(shí)按某種確定的規(guī)律而變化的誤差。對(duì)系統(tǒng)誤差沒(méi)有通用的處理方法,只能根據(jù)具體情況采取相應(yīng)的措施。

1利用誤差模型修正系統(tǒng)誤差2利用校正數(shù)據(jù)表修正系統(tǒng)誤差3通過(guò)曲線擬合來(lái)修正系統(tǒng)誤差1利用誤差模型修正系統(tǒng)誤差先通過(guò)分析來(lái)建立系統(tǒng)的誤差模型,再由誤差模型求出誤差修正公式。誤差修正公式一般含有若干誤差因子,修正時(shí),先通過(guò)校正技術(shù)把這些誤差因子求出來(lái),然后利用修正公式來(lái)修正測(cè)量結(jié)果,從而削弱了誤差的影響。X是輸入電壓(被測(cè)量),y是帶有誤差的輸出電壓(測(cè)量結(jié)果),ε是影響量(例如零點(diǎn)漂移或干擾),i是偏差量(例如直流放大器的偏置電流),K是影響特性(例如放大器增益變化)。(1)零點(diǎn)校正:(2)增益校正:(3)實(shí)際測(cè)量:2利用校正數(shù)據(jù)表修正系統(tǒng)誤差如果對(duì)系統(tǒng)誤差的來(lái)源及儀器工作原理缺乏充分的認(rèn)識(shí)而不能建立誤差模型時(shí),可以通過(guò)建立校正數(shù)據(jù)表的方法來(lái)修正系統(tǒng)誤差。(1)在儀器的輸入端逐次加入一個(gè)個(gè)已知的標(biāo)準(zhǔn)電壓x1,x2,….,xn,并實(shí)測(cè)出對(duì)應(yīng)的測(cè)量結(jié)果y1,y2,…yn。(2)如果將實(shí)測(cè)的yi(i=1,2,…,n)值對(duì)應(yīng)于存儲(chǔ)器中的某一區(qū)域,yi作為存儲(chǔ)器中的一個(gè)地址,再把對(duì)應(yīng)的xi值存入其中,這就在存儲(chǔ)器中建立了一張校準(zhǔn)數(shù)據(jù)表。(3)實(shí)際測(cè)量時(shí),令微處理器根據(jù)實(shí)測(cè)的yi去訪問(wèn)內(nèi)存,讀出其中的xi。xi即為經(jīng)過(guò)修正的測(cè)量值。(4)若實(shí)際測(cè)量的y值介于某兩個(gè)標(biāo)準(zhǔn)點(diǎn)yi和yi+1之間,為了減少誤差,還要在查表基礎(chǔ)上作內(nèi)插計(jì)算來(lái)進(jìn)行修正。線性內(nèi)插:3通過(guò)曲線擬合來(lái)修正系統(tǒng)誤差曲線擬和是指從n對(duì)測(cè)定數(shù)據(jù)(xi,yi)中,求得一個(gè)函數(shù)f(x)來(lái)作為實(shí)際函數(shù)的近似表達(dá)式。曲線擬和的實(shí)質(zhì)就是找出一個(gè)簡(jiǎn)單的、便于計(jì)算機(jī)處理的近似表達(dá)式來(lái)代替實(shí)際的非線性關(guān)系。采用曲線擬和對(duì)測(cè)量結(jié)果進(jìn)行修正的方法是,首先定出f(x)的具體形式,然后再通過(guò)實(shí)測(cè)值進(jìn)行選定函數(shù)的數(shù)值計(jì)算,求出精確的測(cè)量結(jié)果。曲線擬和的方法分為連續(xù)函數(shù)擬和和分段曲線擬和兩種。隨機(jī)誤差通常是由于儀器在測(cè)量過(guò)程中的一系列互不相關(guān)的獨(dú)立因素,如外界電磁場(chǎng)的變化、溫度的變化、空氣的擾動(dòng)、大地的微震以及隨機(jī)干擾信號(hào)對(duì)測(cè)量值的綜合影響所造成的。相對(duì)于一次測(cè)量而言,隨機(jī)誤差是沒(méi)有一定規(guī)律的。如上所述,當(dāng)測(cè)量次數(shù)足夠多時(shí),測(cè)量結(jié)果中的隨機(jī)誤差服從一定的統(tǒng)計(jì)規(guī)律,而且大多數(shù)按正態(tài)分布。因此,消除隨機(jī)誤差最為常用的方法是取多次測(cè)量結(jié)果的算術(shù)平均值,即(7-11)二、隨機(jī)誤差的處理方法式中,N為測(cè)量次數(shù),xi(i=1,2,n)為測(cè)量值。顯然,N越大,x就越接近真值,但所需要的測(cè)量時(shí)間也越長(zhǎng)。三、粗大誤差的處理方法粗大誤差是指在一定的測(cè)量條件下,測(cè)量值明顯的偏離實(shí)際值所形成的誤差。粗大誤差明顯的歪曲了測(cè)量結(jié)果,應(yīng)予以剔除。在測(cè)量次數(shù)比較多時(shí)(N≥20),測(cè)量結(jié)果中的粗大誤差宜采用萊特準(zhǔn)則判斷。若測(cè)量次數(shù)不夠多時(shí),宜采用格拉布斯準(zhǔn)則。當(dāng)對(duì)儀器的系統(tǒng)誤差采取了有效技術(shù)措施后,對(duì)于測(cè)量過(guò)程中所引起的隨機(jī)誤差和粗大誤差一般可按下列步驟處理。(5)如果判斷存在粗大誤差,給予剔除,然后重復(fù)上述步驟(每次只允許剔除其中最大一個(gè))。如果判斷不存在粗大誤差,則當(dāng)前算術(shù)平均值、各項(xiàng)剩余誤差及標(biāo)準(zhǔn)偏差估計(jì)值分別為A為壞值個(gè)數(shù)(1)求測(cè)量數(shù)據(jù)的算術(shù)平均值(2)求各項(xiàng)的剩余誤差(3)求標(biāo)準(zhǔn)偏差(4)判斷粗大誤差(壞值)G為系數(shù),若測(cè)量次數(shù)足夠多,可采用萊特準(zhǔn)則判斷,取G=3,若測(cè)量次數(shù)不多,宜采用格拉布斯準(zhǔn)則判斷,G需要通過(guò)查表求出。7.2常用的數(shù)字濾波處理數(shù)字濾波:即通過(guò)一定的計(jì)算程序,對(duì)采集的數(shù)據(jù)進(jìn)行某種處理,從而消除或減弱干擾和噪聲的影響,提高測(cè)量的可靠性和精度。數(shù)字濾波的優(yōu)點(diǎn):無(wú)需硬件,可靠性高,不存在阻抗匹配問(wèn)題。用軟件算法實(shí)現(xiàn),因此可以使多個(gè)輸入通道共用一個(gè)軟件“濾波器”,降低了儀器硬件成本。適當(dāng)改變軟件濾波器的濾波程序或運(yùn)算參數(shù),就能方便的改變?yōu)V波特性,對(duì)于低頻、脈沖干擾、隨機(jī)噪聲特別有效常用的數(shù)字濾波算法有:程序判斷、中值濾波、算術(shù)平均濾波、遞推平均濾波、加權(quán)遞推平均濾波、一階慣性濾波和復(fù)合濾波算法等。隨機(jī)誤差是由竄入儀器的隨機(jī)干擾所引起的,這種誤差是指在相同條件下同一量時(shí),其大小和符號(hào)作無(wú)規(guī)則的變化而無(wú)法預(yù)測(cè),但是在多次測(cè)量中他是符合統(tǒng)計(jì)規(guī)律的,而且大多數(shù)按正態(tài)分布。7.2.1克服大脈沖干擾的數(shù)字濾波法克服由儀器外部環(huán)境偶然因素引起的突變性擾動(dòng)或儀器內(nèi)部不穩(wěn)定引起誤碼等造成的尖脈沖干擾,是儀器數(shù)據(jù)處理的第一步。通常采用簡(jiǎn)單的非線性濾波法,包括限幅濾波、中值濾波等。一、程序判斷法程序判斷法又稱限幅濾波,由于測(cè)控系統(tǒng)存在隨機(jī)脈沖干擾,或由于變送器不可靠而將脈沖干擾引入輸入端,從而造成測(cè)量信號(hào)的嚴(yán)重失真。對(duì)于這種隨機(jī)干擾,限幅濾波是一種十分有效的方法。其基本方法:比較相鄰(n和n-1時(shí)刻)的兩個(gè)采樣值yn和yn-1,如果他們的差值過(guò)大,超過(guò)了參數(shù)可能的最大變化范圍,則認(rèn)為發(fā)生了隨機(jī)干擾,并視后一次采樣值yn為非法值,應(yīng)予剔除。yn作廢后,可以用yn-1替代;或用遞推方法由yn-1,yn-2來(lái)近似推出,其相應(yīng)算法為:通常按參數(shù)可能的最大變化速度Vmax及采樣周期T決定a值,即a=Vmax*T程序【7-2】限幅濾波子程序。假設(shè)從8位AD中讀取數(shù)據(jù),子程序?yàn)間et_ad()。/*A值可以根據(jù)實(shí)際情況調(diào)整,Value為上次采樣的有效值,new_value為當(dāng)前采樣值,濾波程序返回本次采樣的有效值*/#defineA10//設(shè)置兩次采樣允許的最大偏差值charvalue;//上次采樣后的有效值變量charfilter(){charnew_value;//本次采樣值變量

new_value=get_ad();//讀入本次采樣值

if((new_value-value)>A)||(value-new_value)>A))//是否超出最大偏差值returnvalue;//如果超出,返回上次的有效值作為本次的有效值elsereturnnew_value;//如果沒(méi)有超出,返回本次的采樣值作為本次的有效值}二、中值濾波中值濾波是一種典型的非線性濾波器,它運(yùn)算簡(jiǎn)單,在濾除脈沖噪聲的同時(shí)可以很好地保護(hù)信號(hào)的細(xì)節(jié)信息。對(duì)某一被測(cè)參數(shù)連續(xù)采樣n次(一般n應(yīng)為奇數(shù)),然后將這些采樣值進(jìn)行排序,選取中間值為本次采樣值。這種方法能有效克服因偶然因素引起的波動(dòng)干擾,對(duì)溫度、液位等緩慢變化的被測(cè)參數(shù),有良好的濾波效果。缺點(diǎn)是對(duì)流量、速度等快速變化的參數(shù)不宜使用。中值濾波程序主要由數(shù)據(jù)排序和取中間值兩步分組成。數(shù)據(jù)排序可采用幾種常規(guī)的排序方法,如冒泡法、沉底法等【例7-3】中值濾波子程序。/*N值可根據(jù)實(shí)際情況調(diào)整,排序采用冒泡法*/#defineN11//設(shè)置連續(xù)采樣的次數(shù)charfilter(){charvalue_buf[N],count,i,j,temp;for(count=0;count<N;count++)//N個(gè)采樣值 {Value_buf[count]=get_ad();delay();}for(j=1;j<N-1;j++)//冒泡排序,由小到大

{for(i=0;i<N-j;i++){if(value_buf[i]>value_buf[i+1]) {temp=value_buf[i];value_buf[i]=value_buf[i+1]; value_buf[i+1]=temp;}}}returnvalue_buf[(N-1)/2];//將排序后的中間值作為最后結(jié)果}7.2.2抑制小幅度高頻噪聲的平均濾波法對(duì)于小幅度高頻電子噪聲包括電子器件熱噪聲、A/D量化噪聲等,通常采用具有低通特性的線性濾波器進(jìn)行數(shù)據(jù)處理,如算數(shù)平均濾波法、滑動(dòng)平均濾波法、加權(quán)滑動(dòng)平均濾波法等。最基本的平均濾波程序是算術(shù)平均濾波程序。一、算術(shù)平均濾波算術(shù)平均濾波對(duì)濾除混雜在被測(cè)信號(hào)上的隨機(jī)干擾非常有效。一般講,采樣次數(shù)N愈大,濾除效果愈好,但系統(tǒng)的靈敏度要下降。為了提高運(yùn)算速度,程序中常用移位來(lái)代替除法,因此N一般取4,8,16等2的整數(shù)冪。算術(shù)平均濾波的缺點(diǎn)是:對(duì)于測(cè)量速度較慢或要求數(shù)據(jù)計(jì)算速度較快的實(shí)時(shí)控制不適用;比較浪費(fèi)RAM空間。ORG0000HLJMPFILT3ORG 4000HFILT3: CLR A;清累加和 MOV R2,A MOV R3,A MOV R0,#30H;指向第一個(gè)采樣值FILT30:MOV A,@R0;取一個(gè)采樣值 ADD A,R3 MOV R3,A CLR A ADDC A,R2 MOV R2,A INC R0 CJNE R0,#38H,FILT30;累加完8次 MOV R0,#03HFILT31:CLR C MOV A,R2 RRC A MOV R2,A XCH A,R3 RRC A MOV R3,A DJNZ R0,FILT31 RET;設(shè)8次采樣值依次存放在30H~37H的連續(xù)單元中,;累加和存放在R2,R3中;平均值求出后,保留在累加器A中?!纠?-6】算術(shù)平均濾波子程序。/*N為進(jìn)行平均運(yùn)算的每組采樣值的數(shù)量*/#defineN12//設(shè)置每組參與平均運(yùn)算的采樣值個(gè)數(shù)charfilter(){int sum=0;//求和變量,用于存儲(chǔ)采樣值的累加值charcount;for(count=0;count<N;count++){ sum+=get_ad(); delay();}return(char)(sum/N);

//將累加值進(jìn)行平均計(jì)算作為返回值}為了克服算術(shù)平均濾波速度較慢的缺點(diǎn),采用移動(dòng)平均濾波。即先在RAM中建立一個(gè)數(shù)據(jù)緩沖區(qū),依順序存放N次采樣數(shù)據(jù),然后每采進(jìn)一個(gè)新數(shù)據(jù)就將最早采集的數(shù)據(jù)去掉,最后再求出當(dāng)前RAM緩沖區(qū)中的N個(gè)數(shù)據(jù)的算術(shù)平均值或加權(quán)平均值。這樣每進(jìn)行一次采樣,就可計(jì)算出一個(gè)新的平均值,即測(cè)量數(shù)據(jù)取一丟一,測(cè)量一次便計(jì)算一次平均值,大大加快了數(shù)據(jù)處理的能力。這種數(shù)據(jù)存放方式可以采用環(huán)形隊(duì)列結(jié)構(gòu)來(lái)實(shí)現(xiàn)。設(shè)環(huán)形隊(duì)列地址為40H~4FH共16個(gè)單元,用R0作隊(duì)尾指示。二、移動(dòng)平均濾波移動(dòng)平均濾波:FLT30:ACALLINPUT;采樣值放入A中MOV@R0,A;排入隊(duì)尾INCR0;調(diào)整隊(duì)尾指針MOVA,R0ANLA,#4FHMOVR0,A;建新隊(duì)尾指針MOVR1,#40H;初始化MOVR2,#00HMOVR3,#00HFLT31:MOVA,@R1;取一個(gè)采樣值A(chǔ)DDA,R3;累加到R2,R3中MOVR3,ACLRAADDCA,R2MOVR2,AINCR1CJNER1,#50H,FLT31;累計(jì)完16次MOV R0,#04HFILT32:CLR C MOV A,R2 RRC A MOV R2,A XCH A,R3 RRC A MOV R3,A DJNZ R0,FILT32 RETINPUT:MOVA,R7RET【例7-7】滑動(dòng)平均濾波子程序。/*緩沖隊(duì)列長(zhǎng)度N可以依據(jù)情況的不同進(jìn)行改變*/#defineN12//設(shè)置先進(jìn)先出隊(duì)列的變量charvalue_buf[N];//先進(jìn)先出隊(duì)列變量charfilter(){ charcount; intsum=0; value_buf[i++]=get_ad(); for(count=0;count<N;count++) sum+=value_buf[count]; return(char)(sum/N);}7.2.3復(fù)合濾波法在實(shí)際應(yīng)用中,有時(shí)既要消除大幅度的脈沖干擾,又要做數(shù)據(jù)平滑。因此常把前面介紹的兩種以上的方法結(jié)合起來(lái)使用,形成復(fù)合濾波。包括:去極值平均濾波算法,限幅平均濾波法,限幅消抖濾波法等。一、去極值平均濾波算法算術(shù)平均濾波對(duì)抑制隨機(jī)干擾效果較好,但對(duì)脈沖干擾的抑制能力較弱,明顯的脈沖干擾會(huì)使平均值遠(yuǎn)離實(shí)際值。而中值濾波對(duì)脈沖干擾的抑制能力卻非常有效,因而可以將兩者結(jié)合起來(lái)形成去極值平均濾波,也稱中值平均濾波濾波。具體算法是:連續(xù)采樣N次,去掉一個(gè)最大值,去掉一個(gè)最小值,再求余下N-2個(gè)采樣值的平均值,為了節(jié)省計(jì)算時(shí)間,N-2應(yīng)為2的整數(shù)冪(如2、4、8等),因而常取N為4、6、10等。此外,對(duì)于快速變化的被測(cè)量,可以先連續(xù)采樣N次,把各采樣值存于緩沖區(qū),然后進(jìn)行濾波運(yùn)算;對(duì)于慢變化的被測(cè)量,可以一邊采樣一邊運(yùn)算處理,這時(shí)不必在RAM中開(kāi)辟數(shù)據(jù)緩存區(qū)。 ORG0000H LJMPMAIN ORG 4000HMAIN:CLR A MOV R2,A;0放最大寄存器R2 MOV R6,A MOV R7,A;0放累加和寄存器R6,R7 MOV R4,#0FFH;FFH放最大寄存器R4 MOV R0,#04HDAV1:NOP;LCALL RDXP;讀A/D結(jié)果到A(采樣子程序) MOV R1,A;采樣數(shù)據(jù)存R1 ADD A,R7;要求連續(xù)采樣4次,去掉其中最大、最小值,;求剩下兩數(shù)據(jù)的平均值;R2放最大值,R4放最小值;R6,R7放累加和及最后結(jié)果。 CLR C MOV A,R7 SUBB A,R2 MOV A,R6 SUBB A,#00H MOVA,R7 SUBBA,R4 MOVA,R6 SUBBA,#00H CLRC RRCA MOVR6,AMOVA,R7 RRCA MOVR7,A RETMOV R7,A MOV A,#00H ADDC A,R6MOV R6,A CLR C MOV A,R2 SUBB A,R1 JNC DAV2 MOV A,R1 MOV R2,ADAV2:CLR C MOV A,R1 SUBB A,R4 JNC DAV3 MOV A,R1 MOV R4,ADAV3:DJNZ R0,DAV1 【例7-8】去極值平均濾波法子程序。/*采樣值N為每組采樣值的數(shù)量,依據(jù)實(shí)際情況可以改變*/#defineN12//設(shè)置每組采樣值的數(shù)量charfilter(){charcount,i,j;charvalue_buf[N];//緩沖N個(gè)采樣值的存儲(chǔ)變量intsum=0;//求和變量,用于存儲(chǔ)采樣值的累加值for(count=0;count<N;count++){value_buf[count]=get_ad(); delay();}for(j=1;j<N-1;j++)//冒泡法排序,由小到大{for(i=0;i<N-j;i++){if(value_buf[i]>value_buf[i+1]){temp=value_buf[i];value_buf[i]=value_buf[i+1]; value_buf[i+1]=temp;}}}for(count=1;count<N-1;count++)sum+=value[count];return(char)(sum/(N-2));}7.2.4低通數(shù)字濾波X(t)y(t)RC低通濾波器yn=y(n?t),xn=x(n?t)數(shù)字化處理若?t足夠小,則上式近似為:將描述普通硬件RC低通濾波器特性的微分方程用差分方程來(lái)表示,便可用軟件算法來(lái)模擬硬件濾波器的功能。式中 X(n): 本次采樣值 Y(n): 本次濾波的輸出值 Y(n-1):上次濾波的輸出值 當(dāng)?t足夠小,α=T/τ:濾波平滑系數(shù),α遠(yuǎn)小于1 T:采樣周期本次濾波的輸出值y(n)主要取決于上次濾波的輸出值y(n-1)

。本次采樣值對(duì)濾波的輸出值貢獻(xiàn)比較小,這就模擬了具有較大慣性的低通濾波器功能。低通數(shù)字濾波對(duì)濾除變化非常緩慢的被測(cè)信號(hào)中的干擾是很有效的。硬件模擬濾波器在處理低頻時(shí),電路實(shí)現(xiàn)起來(lái)很困難,而數(shù)字濾波器則不存在這個(gè)問(wèn)題。一階慣性濾波子程序設(shè)Yn-1在DATA1為首地址的單元中,Xn在DATA2為首地址的單元中,均為雙字節(jié)。取a=0.25,b=0.75,濾波結(jié)果在R2,R3中。FOF: MOV R0,#DATA1 MOV R1,#DATA2 CLR C ;0.5Yn-1存入R2,R3 INC R0 MOV A,@R0 RRC A MOV R2,A DEC R0

MOV A,@R0 RRC A MOV R3,A MOV A,@R0 ;Xn+Yn-1

MOV R7,A MOV A,@R1

ADD A,R7

MOVR7,A INC R0INC R1 MOV A,@R0

MOVR6,A MOV A,@R1

ADDCA,R6

MOVR6,A

CLRC

RRC A;(Xn+Yn-1)*0.5,存入R6,R7 MOV R6,A MOV A,R7 RRC A MOV R7,A CLR C ;(Xn+Yn-1)*0.25 MOV A,R6 RRC A MOV R6,A MOV A,R7 RRC A ADD A,R3;0.25(Xn+Yn)+0.5Yn-1存入R2,R3 MOV R3,A MOV A,R6 ADDC A,R2 MOV R2,A RET【例7-12】一階滯后濾波法子程序。#definea0.25//定義加權(quán)系數(shù)charvalue;//上一個(gè)采樣值變量charfilter(){charnew_value;//本次采樣值變量new_value=get_ad();return(1-a)*value+a*new_value;//返回的本次濾波結(jié)果}儀器采集的數(shù)據(jù)并不等于原來(lái)帶有量綱的參數(shù)值,它僅僅對(duì)應(yīng)于參數(shù)的大小,必須把它轉(zhuǎn)換成帶有量綱的數(shù)值后才能顯示、打印輸出和應(yīng)用,這種轉(zhuǎn)換就是工程量變換,又稱標(biāo)度變換。例:被測(cè)溫度為100℃,經(jīng)熱電偶轉(zhuǎn)換成熱電勢(shì),再經(jīng)放大和A/D轉(zhuǎn)換得到數(shù)字量為35,則這個(gè)A/D轉(zhuǎn)換結(jié)果35與100℃溫度雖然是對(duì)應(yīng)的,但數(shù)值上并不相等,因此不能將其當(dāng)作溫度值去顯示或打印,必須把A/D轉(zhuǎn)換結(jié)果35變成供顯示或打印的溫度值100,這個(gè)變換就是數(shù)字顯示的標(biāo)度變換。7.3智能儀器的標(biāo)度變換技術(shù)一、線性標(biāo)度變換

7.3.1標(biāo)度變換的硬件實(shí)現(xiàn)方法對(duì)于不含任何非線性環(huán)節(jié)的測(cè)量通道,A/D轉(zhuǎn)換結(jié)果Di與被測(cè)量xi=x0Ni存在如下線性關(guān)系:式中:s為傳感器靈敏度(即被測(cè)量轉(zhuǎn)換成電壓的轉(zhuǎn)換系數(shù)),E為A/D轉(zhuǎn)換器滿量程輸入電壓,DFS為A/D轉(zhuǎn)換器滿量程輸出數(shù)字量。只要適當(dāng)選擇和調(diào)整放大器增益k,使它滿足以下條件就可使A/D轉(zhuǎn)換結(jié)果Di與被測(cè)量xi的數(shù)值Ni相等。一般可通過(guò)調(diào)整線性電位器即可實(shí)現(xiàn)。二、非線性通道的標(biāo)度變換硬件方法實(shí)現(xiàn)非線性通道變換的解決方法是在測(cè)量通道的非線性環(huán)節(jié)之后,A/D轉(zhuǎn)換器之前,串聯(lián)一個(gè)“模擬線性校正電路”,只要該校正電路的輸入/輸出特性曲線與非線性環(huán)節(jié)的輸入/輸出特性曲線成反函數(shù)關(guān)系,就可使A/D轉(zhuǎn)換結(jié)果與被測(cè)量呈線性關(guān)系,這樣就可照線性通道的標(biāo)度變換方法進(jìn)行標(biāo)度變換。例如一個(gè)流量測(cè)量?jī)x表,采用差壓式流硬件實(shí)現(xiàn)法的優(yōu)點(diǎn)是簡(jiǎn)單、直觀、實(shí)時(shí)性強(qiáng);缺點(diǎn)是增加硬件費(fèi)用,占用線路板面積,系統(tǒng)受溫度、濕度等環(huán)境的變化而漂移,使用上有很大的局限性。因此,在一般不要求進(jìn)行實(shí)時(shí)控制的檢測(cè)系統(tǒng)中,應(yīng)盡可能的采用軟件方法進(jìn)行標(biāo)度變換。7.3.2標(biāo)度變換的軟件實(shí)現(xiàn)方法軟件實(shí)現(xiàn)法在智能儀表測(cè)量信號(hào)的標(biāo)度變換中最為常見(jiàn),它實(shí)現(xiàn)靈活,適用性廣,能克服硬件實(shí)現(xiàn)標(biāo)度變換的局限性。實(shí)現(xiàn)的辦法一般是借助于數(shù)學(xué)解析表達(dá)式來(lái)編寫(xiě)程序,從而達(dá)到變換定標(biāo)的目的。一、線性變換公式這種標(biāo)度變換的前提是參數(shù)值與A/D轉(zhuǎn)換結(jié)果成線性關(guān)系,變換公式如下:Ax為參數(shù)測(cè)量值;Am為參數(shù)量程最大值;A0為參數(shù)量程最小值;Nm為Am對(duì)應(yīng)的A/D轉(zhuǎn)換后的數(shù)字量;N0為A0對(duì)應(yīng)的A/D轉(zhuǎn)換后的數(shù)字量;Nx為Ax對(duì)應(yīng)的A/D轉(zhuǎn)換后的數(shù)字量。應(yīng)用實(shí)例:在一個(gè)數(shù)字直流電壓表中,量程為1~500V,則A0=1V,Am=500V,而且當(dāng)A0=1V時(shí),Nm=50,當(dāng)Am=500V時(shí)Nm=4000,則Ax=(500-1)(Nx-0)/(4000-500)+1=0.12633Nx+1二、公式轉(zhuǎn)換法有些傳感器傳輸特性與參數(shù)測(cè)量值不是線性關(guān)系,它們有著由傳感器和測(cè)量方法決定的函數(shù)關(guān)系,并且這些函數(shù)關(guān)系可以用解析式表示,此時(shí)的標(biāo)度變換則可根據(jù)解析表達(dá)式計(jì)算。例如當(dāng)用差壓變送器來(lái)測(cè)量流量信號(hào)時(shí),由于差壓與流量的平方成正比,這樣實(shí)際流量A與差壓變送器并經(jīng)A/D轉(zhuǎn)換后的測(cè)量值N成平方根關(guān)系。三、多項(xiàng)式變換公式許多傳感器測(cè)出的數(shù)據(jù)與實(shí)際的參數(shù)為非線性關(guān)系,但它們的函數(shù)關(guān)系無(wú)法用一個(gè)簡(jiǎn)單式表示,或者該解析式難以直接計(jì)算,這時(shí)可采用多項(xiàng)式來(lái)進(jìn)行非線性標(biāo)度變換。例如,對(duì)一個(gè)熱敏電阻來(lái)說(shuō),它的溫度特性一般是非線性的,這時(shí)可根據(jù)它的溫度特性表(一般由生產(chǎn)熱敏電阻廠商提供),求出一個(gè)插值多項(xiàng)式,然后在程序中按這個(gè)多項(xiàng)式進(jìn)行計(jì)算。進(jìn)行非線性標(biāo)度變換時(shí),應(yīng)先根據(jù)所需要的逼近精度決定多項(xiàng)式的次數(shù)N,然后選取N+1個(gè)測(cè)量點(diǎn),測(cè)出這時(shí)的實(shí)際參數(shù)值A(chǔ)i與傳感器輸出值(經(jīng)A/D轉(zhuǎn)換后)Ni(1=0~N),再使用插值多項(xiàng)式計(jì)算程序求出各個(gè)參數(shù),最后使用多項(xiàng)式計(jì)算子程序來(lái)完成實(shí)際的標(biāo)度變換。四、表格法某些被測(cè)參數(shù)的標(biāo)度轉(zhuǎn)換無(wú)法用公式來(lái)表示,此時(shí)就可以用表格法來(lái)完成。所謂表格法顧名思義就是把各個(gè)數(shù)字量所對(duì)應(yīng)的實(shí)際測(cè)量值事先計(jì)算好,并且把它們按照一定的規(guī)律存放在內(nèi)存中指定的表格中。進(jìn)行標(biāo)度轉(zhuǎn)換時(shí),根據(jù)計(jì)算機(jī)采樣濾波后得到的數(shù)字量Nx,在該表中查找對(duì)應(yīng)的值即為實(shí)際測(cè)量值。該方法適宜測(cè)量精度要求不高的場(chǎng)合.具體設(shè)計(jì)時(shí),可根

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論