亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種ad采樣的軟件濾波方法

文檔序號:7542116閱讀:732來源:國知局
一種ad采樣的軟件濾波方法
【專利摘要】本發(fā)明提供一種AD采樣的軟件濾波方法,將采集到的AD采樣值存入數(shù)組ADCLSB及數(shù)組ADCCOM中,包括以下步驟:步驟S1、判斷數(shù)組ADCLSB是否已滿,若已滿,則轉(zhuǎn)入步驟S5;若沒滿,則轉(zhuǎn)入步驟S2;步驟S2、判斷數(shù)組ADCCOM是否已滿,若沒滿,則跳出;若已滿,則轉(zhuǎn)入步驟S3;步驟S3、對數(shù)組ADCCOM中的采樣值進行判斷,得出當前數(shù)組ADCCOM中采樣值的判斷值;步驟S4:根據(jù)判斷值判斷采樣值為干擾值還是信號正常變化,并更新數(shù)組ADCCOM和數(shù)組ADCLSB;步驟S5、對數(shù)組ADCLSB中的數(shù)據(jù)進行算術平均濾波及RC濾波,從而得到最終的AD采樣值。本發(fā)明的AD采樣的軟件濾波方法易實現(xiàn)、響應快、抗干擾性高,且可有效地抑制噪聲。
【專利說明】一種AD采樣的軟件濾波方法

【技術領域】
[0001]本發(fā)明涉及一種濾波方法,特別是涉及一種AD采樣的軟件濾波方法。

【背景技術】
[0002]傳統(tǒng)儀表中采用單片機控制AD轉(zhuǎn)換電路的方法來采集模擬信號,并將采集到的數(shù)字序列存入單片機中。單片機再對上述數(shù)字序列的進行濾波處理。軟件濾波就是用軟件來識別有用信號和干擾信號,并濾除干擾信號。常見的濾波方法有中位值濾波、算數(shù)平均濾波法、消抖濾波法。
[0003]具體地,中位值濾波法連續(xù)采樣N次(N取奇數(shù)),并把N次采樣值按大小排列,取中間值為本次有效值。該濾波法能有效克服因偶然因素引起的波動干擾,對溫度、液位的變化緩慢的被測參數(shù)有良好的濾波效果。
[0004]算術平均濾波法連續(xù)取N個采樣值進行算術平均運算。該濾波法適用于對一般具有隨機干擾的信號進行濾波。但是對于測量速度較慢或要求數(shù)據(jù)計算速度較快的實時控制不適用,比較浪費RAM。
[0005]消抖濾波法設置一個濾波計數(shù)器將每次采樣值與當前有效值比較:如果采樣值等于當前有效值,則計數(shù)器清零;如果采樣值不等于當前有效值,則計數(shù)器加1,并判斷計數(shù)器是否溢出,如果計數(shù)器溢出,則將本次采樣值替換為當前有效值,并清零計數(shù)器。
[0006]但是,上述濾波方法往往存在響應不及時、工業(yè)抗干擾性能指標不高,對噪聲的抗干擾程度低等缺點。


【發(fā)明內(nèi)容】

[0007]鑒于以上所述現(xiàn)有技術的缺點,本發(fā)明的目的在于提供一種AD采樣的軟件濾波方法,其易實現(xiàn)、響應快、EMC性能高,且可有效地抑制噪聲。
[0008]為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種AD采樣的軟件濾波方法,將采集到的AD采樣值存入數(shù)組ADCLSB及數(shù)組ADCCOM中,包括以下步驟:
[0009]步驟S1、判斷數(shù)組ADCLSB是否已滿,若已滿,則轉(zhuǎn)入步驟S5 ;若沒滿,則轉(zhuǎn)入步驟S2 ;
[0010]步驟S2、判斷數(shù)組ADCCOM是否已滿,若沒滿,則跳出;若已滿,則轉(zhuǎn)入步驟S3 ;
[0011]步驟S3、對數(shù)組ADCCOM中的采樣值進行判斷,得出當前數(shù)組ADCCOM中采樣值的判斷值;
[0012]步驟S4:根據(jù)判斷值判斷采樣值為干擾值還是信號正常變化,并更新數(shù)組ADCCOM和數(shù)組ADCLSB ;
[0013]步驟S5、對數(shù)組ADCLSB中的數(shù)據(jù)進行算術平均濾波及RC濾波,從而得到最終的AD采樣值。
[0014]根據(jù)上述的AD采樣的軟件濾波方法,其中:步驟S4中,若無法判斷數(shù)據(jù)的變化為干擾還是信號的正常變化,則更新數(shù)組ADCCOM及ADCLSB,等待下次判斷;若判斷某一數(shù)據(jù)為干擾值,則剔除干擾值,并用當前采樣值替換干擾值,更新數(shù)組ADCCOM及ADCLSB ;若判斷數(shù)據(jù)的變化為信號發(fā)生正常變化,更新數(shù)組ADCCOM及數(shù)組ADCLSB。
[0015]根據(jù)上述的AD采樣的軟件濾波方法,其中:數(shù)組ADCCOM的長度要小于數(shù)組ADCLSB的長度。
[0016]根據(jù)上述的AD采樣的軟件濾波方法,其中:步驟S3中,設定數(shù)組ADCCOM的長度為d,則通過如下規(guī)則獲得當前數(shù)組ADCCOM中采樣值的判斷值:
[0017]設ADCCOM[i]表示數(shù)組ADCCOM中的第i+Ι個值;
[0018]若IADCCOM[I]-ADCCOM[O] I >n成立,則將該情況的判斷結(jié)果記為1,反之記為O ;
[0019]若IADCCOM[2]-ADCCOM[O] | >n成立,則將該情況的判斷結(jié)果記為1,反之記為O ;
[0020]以此類推,
[0021]若IADCCOM[d-1]-ADCCOM[O] I >n成立,則將該情況的判斷結(jié)果記為1,反之記為O ;
[0022]依次將上述d-Ι個判斷結(jié)果組合起來即可得到當前數(shù)組ADCCOM中采樣值的判斷值;
[0023]其中,η為設定值。
[0024]根據(jù)上述的AD采樣的軟件濾波方法,其中:步驟S4中,通過觀察判斷值得到采樣值的變化情況,
[0025]若采樣值的明顯變化發(fā)生在數(shù)組ADCCOM的中間,則認為明顯變化的采樣值為干擾值;
[0026]若整個數(shù)組ADCCOM中的采樣值均發(fā)生了明顯變化,則認為是信號的正常變化;
[0027]在其他情況下,則認為無法判斷是干擾還是信號的正常變化,須等待下次判斷。
[0028]根據(jù)上述的AD采樣的軟件濾波方法,其中:步驟S4中,若無法判斷數(shù)據(jù)的變化為干擾還是信號的正常變化,則更新數(shù)組ADCCOM時,將數(shù)組ADCCOM中的第一個數(shù)據(jù)扔掉,后面的數(shù)據(jù)依次向前移,最后一個數(shù)據(jù)采用當前AD采樣值;數(shù)組ADCLSB保持不變。
[0029]根據(jù)上述的AD采樣的軟件濾波方法,其中:步驟S4中,若判斷某一數(shù)據(jù)為干擾值,則更新數(shù)組ADCCOM時,剔除干擾值,并用當前采樣值替換干擾值,再將數(shù)組ADCCOM中的第一個數(shù)據(jù)扔掉,后面的數(shù)據(jù)依次向前移,最后一個數(shù)據(jù)采用當前AD采樣值,并更新數(shù)組ADCLSB中的相應值。
[0030]根據(jù)上述的AD采樣的軟件濾波方法,其中:步驟S4中,若判斷數(shù)據(jù)的變化為信號發(fā)生正常變化,則更新數(shù)組時,將數(shù)組ADCCOM中所有的數(shù)據(jù)改成當前AD采樣值,并更新數(shù)組ADCLSB中的相應值。
[0031]如上所述,本發(fā)明的AD采樣的軟件濾波方法,具有以下有益效果:
[0032](I)能夠識別信號正常變化,及時響應信號變化,并能保證信號平滑度;
[0033](2)能夠有效識別AD采樣中信號的干擾值,并剔除干擾,具有很強的抗干擾性能、噪聲抑制性能。

【專利附圖】

【附圖說明】
[0034]圖1顯示為本發(fā)明的AD采樣的軟件濾波方法的步驟流程圖;
[0035]圖2顯示為本發(fā)明的AD采樣的軟件濾波方法的軟件流程圖。

【具體實施方式】
[0036]以下通過特定的具體實例說明本發(fā)明的實施方式,本領域技術人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的【具體實施方式】加以實施或應用,本說明書中的各項細節(jié)也可以基于不同觀點與應用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。
[0037]需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構想,遂圖式中僅顯示與本發(fā)明中有關的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復雜。
[0038]在本發(fā)明的AD采樣的軟件濾波方法中,首先需要對AD采樣值進行分組判斷,得到相應的判斷值。
[0039]單片機將當前采集到的AD采樣值存入數(shù)組ADCLSB及數(shù)組ADCCOM中。其中,數(shù)組ADCLSB中的采樣值用于進行平均濾波及RC濾波。數(shù)組ADCCOM中的采樣值用于判斷信號的變化情況。數(shù)組ADCCOM的長度要小于數(shù)組ADCLSB的長度。在實際使用中,數(shù)組ADCCOM的長度一般取為4,但不限于4。保存后,單片機對數(shù)組ADCCOM中的采樣值進行判斷,判斷其中的采樣值哪些為干擾值,哪些為正常值。若采樣值為干擾值,則將其替換為正常值,并更新數(shù)組ADCLSB中的相應值,以保證數(shù)組ADCLSB中存儲的為無干擾的值。在本發(fā)明中,采用當前采樣值來替換干擾值。
[0040]設定數(shù)組ADCCOM的長度為d,則通過如下規(guī)則獲得當前數(shù)組ADCCOM中采樣值的判斷值:
[0041]設ADCCOM[i]表示數(shù)組ADCCOM中的第i+Ι個值;
[0042]若IADCCOM[I]-ADCCOM[O] | >n成立,則將該情況的判斷結(jié)果記為1,反之記為O ;
[0043]若IADCCOM[2]-ADCCOM[O] | >n成立,則將該情況的判斷結(jié)果記為1,反之記為O ;
[0044]以此類推,
[0045]若|ADCC0M[d-l]_ADCC0M[0] |>n成立,則將該情況的判斷結(jié)果記為1,反之記為O。
[0046]依次將上述d-Ι個判斷結(jié)果組合起來即可得到當前數(shù)組ADCCOM中采樣值的判斷值。
[0047]其中,η為一個設定值,由日常經(jīng)驗值來確定,通常為現(xiàn)場信號最大AD采樣值的1/100,但不限于此值。只要能有效去除采樣值中的干擾值的η,均可選取。若采樣值變化大于η,則認為信號由于干擾或信號正常變化而發(fā)生了變化,并且被AD轉(zhuǎn)換電路識別了。
[0048]分析得到的當前數(shù)組ADCCOM中的采樣值的判斷值,判斷采樣值的變化為干擾還是信號的正常變化。通常,根據(jù)下述規(guī)則來判斷采樣值的變化:
[0049]若采樣值的明顯變化發(fā)生在數(shù)組ADCCOM的中間,則認為明顯變化的采樣值為干擾值;更新數(shù)組ADCCOM時,剔除干擾值,并用當前采樣值替換干擾值,再將數(shù)組ADCCOM中的第一個數(shù)據(jù)扔掉,后面的數(shù)據(jù)依次向前移,最后一個數(shù)據(jù)采用當前AD采樣值,并更新數(shù)組ADCLSB中的相應值。
[0050]若整個數(shù)組ADCCOM中的采樣值均發(fā)生了明顯變化,則認為是信號的正常變化;更新數(shù)組時,將數(shù)組ADCCOM中所有的數(shù)據(jù)改成當前AD采樣值,并更新數(shù)組ADCLSB中的相應值。
[0051]在其他情況下,則認為無法判斷是干擾還是信號的正常變化,須等待下次判斷;更新數(shù)組ADCCOM時,將數(shù)組ADCCOM中的第一個數(shù)據(jù)扔掉,后面的數(shù)據(jù)依次向前移,最后一個數(shù)據(jù)采用當前AD采樣值;數(shù)組ADCLSB保持不變。
[0052]具體地,假設數(shù)組ADCCOM的長度為4,則判斷規(guī)則如下:
[0053]若IADCCOM[I]-ADCCOM[O] | >n成立,則單片機將該情況的判斷結(jié)果記為1,反之記為O ;
[0054]若IADCCOM[2]-ADCCOM[O] | >n成立,則單片機將該情況的判斷結(jié)果記為1,反之記為O ;
[0055]若IADCCOM[3]-ADCCOM[O] | >n成立,則單片機將該情況的判斷結(jié)果記為1,反之記為O。
[0056]上述三位二進制碼的組合即為數(shù)組ADCCOM中的采樣值的判斷值。具體地,判斷值有以下8種組合結(jié)果:
[0057]000:此時 ADCC0M[0] ,ADCCOM[I] ,ADCCOM[2] ,ADCCOM[3]無明顯變化,單片機更新數(shù)組ADCC0M,等待下次判斷。
[0058]001:此時 ADCC0M[0] ,ADCCOM[I] ,ADCCOM[2]無明顯變化,ADCCOM[3]變化明顯,但并不能判斷出其為干擾或信號的正常變化,單片機更新數(shù)組ADCC0M,等待下次判斷。
[0059]010:此時 ADCCOM[O]、ADCCOM[I]、ADCCOM[3]無明顯變化,ADCCOM[2]變化明顯。由于數(shù)據(jù)在中間發(fā)生變化,可以判斷ADCC0M[2]為干擾數(shù)據(jù),剔除該數(shù)據(jù),并替換為ADCCOM[3],單片機更新數(shù)組ADCC0M,同時反饋給數(shù)組ADCLSB。
[0060]011:此時 ADCC0M[0] ,ADCCOM[I]無明顯變化,ADCCOM[2] ,ADCCOM[3]變化明顯,但并不能判斷出其為干擾或信號的正常變化,單片機更新數(shù)組ADCC0M,等待下次判斷。
[0061]100:此時 ADCCOM[O]、ADCCOM[2]、ADCCOM[3]無明顯變化,ADCCOM[I]變化明顯。由于數(shù)據(jù)在中間發(fā)生變化,可以判斷ADCC0M[1]為干擾數(shù)據(jù),剔除該數(shù)據(jù),并替換為ADCCOM[3],單片機更新數(shù)組ADCC0M,同時反饋給數(shù)組ADCLSB。
[0062]101:此時 ADCC0M[0]和 ADCC0M[2]無明顯變化,ADCCOM[I]和 ADCC0M[3]變化明顯。由于數(shù)據(jù)在中間及結(jié)尾均發(fā)生變化,此時不能判斷其為為干擾或信號的正常變化,單片機更新ADCCOM數(shù)組,等待下次判斷。
[0063]110:此時ADCC0M[1]、ADCC0M[2]變化明顯,ADCCOM[3]變化不明顯,此時不能判斷其為為干擾或信號正常變化,單片機更新數(shù)組ADCC0M,等待下次判斷。
[0064]111:此時ADCC0M[1] ,ADCCOM[2] ,ADCCOM[3]變化明顯,此時可以判斷現(xiàn)場信號變化,保留ADCC0M[0],并將ADCC0M[1] ,ADCCOM[2] ,ADCCOM[3]中的數(shù)據(jù)均替換為當前的采樣值,單片機更新數(shù)組ADCC0M,同時反饋給數(shù)組ADCLSB。
[0065]其中,在判斷值為000-110的情況下更新數(shù)組ADCCOM時,將數(shù)組ADCCOM中的第一個數(shù)據(jù)扔掉,后面的數(shù)據(jù)依次向前移,最后一個數(shù)據(jù)采用當前AD采樣值。
[0066]在判斷值為111的情況下更新數(shù)組AQDCC0M時,將數(shù)組ADCCOM中的數(shù)據(jù)均更新為當前AD采樣值。
[0067]參照圖1和圖2,本發(fā)明的AD采樣的軟件濾波方法包括如下步驟:
[0068]步驟S1、判斷數(shù)組ADCLSB是否已滿,若已滿,則轉(zhuǎn)入步驟S5 ;若沒滿,則轉(zhuǎn)入步驟S2 ;
[0069]步驟S2、判斷數(shù)組ADCCOM是否已滿,若沒滿,則跳出;若已滿,則轉(zhuǎn)入步驟S3 ;
[0070]步驟S3、對數(shù)組ADCCOM中的采樣值進行判斷,得出當前數(shù)組ADCCOM中采樣值的判斷值;
[0071]步驟S4:根據(jù)判斷值判斷采樣值為干擾值還是信號正常變化,并更新數(shù)組ADCCOM和數(shù)組ADCLSB ;
[0072]其中,在數(shù)組ADCCOM的長度為4的情況下,若判斷值為O、1、3、5、6,則認為無法判斷為干擾值還是信號的正常變化,更新數(shù)組ADCC0M,等待下次判斷。
[0073]若判斷值為2、4,則認為有干擾值,剔除干擾值,并用當前采樣值替換干擾值,更新數(shù)組 ADCCOM 及 ADCLSB ;
[0074]若判斷值為7,則認為信號發(fā)生正常變化,更新數(shù)組ADCCOM及數(shù)組ADCLSB。
[0075]步驟S5、對數(shù)組ADCLSB中的數(shù)據(jù)進行算術平均濾波及RC濾波,從而得到最終的AD采樣值。
[0076]綜上所述,本發(fā)明的AD采樣的軟件濾波方法易實現(xiàn)、響應快、抗干擾性高,且可有效地抑制噪聲。所以,本發(fā)明有效克服了現(xiàn)有技術中的種種缺點而具高度產(chǎn)業(yè)利用價值。
[0077]上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾或改變。因此,舉凡所屬【技術領域】中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術思想下所完成的一切等效修飾或改變,仍應由本發(fā)明的權利要求所涵蓋。
【權利要求】
1.一種AD采樣的軟件濾波方法,將采集到的AD采樣值存入數(shù)組ADCLSB及數(shù)組ADCCOM中,其特征在于,包括以下步驟: 步驟S1、判斷數(shù)組ADCLSB是否已滿,若已滿,則轉(zhuǎn)入步驟S5 ;若沒滿,則轉(zhuǎn)入步驟S2 ; 步驟S2、判斷數(shù)組ADCCOM是否已滿,若沒滿,則跳出;若已滿,則轉(zhuǎn)入步驟S3 ; 步驟S3、對數(shù)組ADCCOM中的采樣值進行判斷,得出當前數(shù)組ADCCOM中采樣值的判斷值; 步驟S4:根據(jù)判斷值判斷采樣值為干擾值還是信號正常變化,并更新數(shù)組ADCCOM和數(shù)組 ADCLSB ; 步驟S5、對數(shù)組ADCLSB中的數(shù)據(jù)進行算術平均濾波及RC濾波,從而得到最終的AD采樣值。
2.根據(jù)權利要求1所述的AD采樣的軟件濾波方法,其特征在于:步驟S4中,若無法判斷數(shù)據(jù)的變化為干擾還是信號的正常變化,則更新數(shù)組ADCCOM及ADCLSB,等待下次判斷;若判斷某一數(shù)據(jù)為干擾值,則剔除干擾值,并用當前采樣值替換干擾值,更新數(shù)組ADCCOM及ADCLSB ;若判斷數(shù)據(jù)的變化為信號發(fā)生正常變化,更新數(shù)組ADCCOM及數(shù)組ADCLSB。
3.根據(jù)權利要求1所述的AD采樣的軟件濾波方法,其特征在于:數(shù)組ADCCOM的長度要小于數(shù)組ADCLSB的長度。
4.根據(jù)權利要求1所述的AD采樣的軟件濾波方法,其特征在于:步驟S3中,設定數(shù)組ADCCOM的長度為d,則通過如下規(guī)則獲得當前數(shù)組ADCCOM中采樣值的判斷值: 設ADCC0M[i]表示數(shù)組ADCCOM中的第i+Ι個值; 若|ADCC0M[1]-ADCC0M[0] |>n成立,則將該情況的判斷結(jié)果記為1,反之記為O ; 若|ADCC0M[2]-ADCC0M[0] |>n成立,則將該情況的判斷結(jié)果記為1,反之記為O ;以此類推, 若|ADCC0M[d-l]_ADCC0M[0] |>n成立,則將該情況的判斷結(jié)果記為1,反之記為O ;依次將上述d-Ι個判斷結(jié)果組合起來即可得到當前數(shù)組ADCCOM中采樣值的判斷值;其中,η為設定值。
5.根據(jù)權利要求1所述的AD采樣的軟件濾波方法,其特征在于:步驟S4中,通過觀察判斷值得到采樣值的變化情況, 若采樣值的明顯變化發(fā)生在數(shù)組ADCCOM的中間,則認為明顯變化的采樣值為干擾值; 若整個數(shù)組ADCCOM中的采樣值均發(fā)生了明顯變化,則認為是信號的正常變化; 在其他情況下,則認為無法判斷是干擾還是信號的正常變化,須等待下次判斷。
6.根據(jù)權利要求1所述的AD采樣的軟件濾波方法,其特征在于:步驟S4中,若無法判斷數(shù)據(jù)的變化為干擾還是信號的正常變化,則更新數(shù)組ADCCOM時,將數(shù)組ADCCOM中的第一個數(shù)據(jù)扔掉,后面的數(shù)據(jù)依次向前移,最后一個數(shù)據(jù)采用當前AD采樣值;數(shù)組ADCLSB保持不變。
7.根據(jù)權利要求1所述的AD采樣的軟件濾波方法,其特征在于:步驟S4中,若判斷某一數(shù)據(jù)為干擾值,則更新數(shù)組ADCCOM時,剔除干擾值,并用當前采樣值替換干擾值,再將數(shù)組ADCCOM中的第一個數(shù)據(jù)扔掉,后面的數(shù)據(jù)依次向前移,最后一個數(shù)據(jù)采用當前AD采樣值,并更新數(shù)組ADCLSB中的相應值。
8.根據(jù)權利要求1所述的AD采樣的軟件濾波方法,其特征在于:步驟S4中,若判斷數(shù)據(jù)的變化為信號發(fā)生正常變化,則更新數(shù)組時,將數(shù)組ADCCOM中所有的數(shù)據(jù)改成當前AD采樣值,并更新數(shù)組ADCLSB中的相應值。
【文檔編號】H03M1/54GK104378115SQ201310347971
【公開日】2015年2月25日 申請日期:2013年8月12日 優(yōu)先權日:2013年8月12日
【發(fā)明者】陳小全, 陳出新, 杜剛, 周婷, 王竹平 申請人:上海辰竹儀表有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1