A/D高速采集模擬信號的閾值設定
A/D轉換接口電路是數據采集系統(tǒng)前向通道中的一個環(huán)節(jié),它的作用是將模擬信號轉換成可供計算機處理的數字信號,是一般控制系統(tǒng)中不可缺少的環(huán)節(jié)之一。人們有時需要對A/D轉換的數據設定一個閾值作為判斷和處理的依據,例如設置一個閾值并使之與A/D轉換的結果相比較,當A/D轉換的數據結果大于或小于該閾值時,作為開始或結束某一操作的判斷依據。但是如果這個閾值設置不合理,就會引出問題。
圖1是某項工程中傳感器產生的模擬信號經A/D轉換后所得數據描繪出的部分圖形,根據工程需要得出每個波峰的最大值及波形的個數。
起初的解決方案是首先確定一個閾值(如O.2),這個值的確定應保證所有可能的波峰值都要大于此值。讀取A/D所采集的數據與確定的閾值相比較,當有值大于該閾值時,表明一個波形的到來,并不斷通過比較得出最大值。然后判斷A/D的轉換值是否又重新小于
實踐證明該方法并沒有很好的解決問題,盡管大多數情況下可以準確得出波峰的最大值以及波形的個數,但偶爾會發(fā)生得到的波形個數比實際波形多的情況。曾經主觀的以為這是由于干擾造成的影響。但后來經過對波形數據分析發(fā)現(xiàn),多出來的波形的最大峰值全部集中在閾值附近,更改不同的閾值后產生了類似的情況,所以可以得出問題的產生和閾值的設定之間有著某種聯(lián)系。
1 原因分析
通過分析發(fā)現(xiàn),上述問題的產生并不是出在邏輯關系上,而是出在了實際工作中A/D的采樣精度及信號本身的問題上。下面從這兩個方面人手,分析產生上述問題的原因。
1.1信號的影響
從采集到的數字信號所描繪的圖形(圖1)中可以看出有大量白噪聲的存在。即使對A/D轉換前的信號進行了一定的濾波處理,轉化后的信號也會或多或少有噪聲的存在。對圖1中波形與閾值線的交匯處(這里以下降沿為例)進行放大顯示,如圖2所示。
由于高頻噪聲的存在,很可能產生圖2中所描繪的情形,即當波形在下降過程中下降到閾值線以下時,有返回到閾值線以上的情形。A/D進行高速的采樣,記錄下這一情形。按照最初設計方案的邏輯,當波形下降到閾值線以下時,判斷為一個波形的結束;波形由閾值線以下上升超過閾值線時,認為是一個波形的開始。于是在波形的下降過程中,把在閾值線附近的這次波動作為一個新的波形記錄下來。由于這個波形是白噪聲引起的,變化幅值很小,一般情況下稍稍高過閾值線,所以多出的波形最大值就會集中在閾值附近,這與實際情況是相符的。
1.2 A/D轉換精度的影響
盡管一些A/D產品標稱的不可調誤差≤1LSB,但在實際工程應用中由于電源電壓、干擾等因素的影響很難達到上述精度,這也就是說即使是對于理想中恒定不變的信號進行A/D轉換,得到的轉換值事實上也是圍繞該恒定的信號值上下波動的。在本例中,當信號下降至閾值附近時(假定信號純凈,不含任何雜波成分),由于A/D轉換精度的影響,采得的數據同樣可能在閾值附近波動,從而造成多記錄波形數據的結果。當然,這種情況下多記錄的波形最大值受A/D轉換精度的影響,與信號本身因素引起的波形最大值相比,一般會更接近閾值。
2 解決辦法
通過上述分析,雖然可以從降低信號噪聲和提高A/D轉換精度人手對問題加以解決,但這樣解決起來會相當麻煩,特別是在精度等因素能夠滿足實際需要的條件下進行上述的處理是相當不可取的,因為當精度達到一定程度時再提高精度是非常困難的。
解決上述問題有一個非常簡便的方法:設置不同的閾值。
首先對上升沿確定一個判別閾值,用以判別波形的開始。然后,對波形的下降沿設置另一個判別閾值用于判別一個波形的結束,兩者之間存在一個差值,并且保證上升閾值減去下降閾值之差要大于噪聲及A/D波動的最大值(實際工作中把差值盡量取得大些)。這樣即使在下降閾值附近產生波動(不管什么原因引起),由于其峰值不能大于上升判別閾值,從而不致被誤認為一個新波形的開始,也就不會增加誤判波形的可能性。在實際工程中,證明這一方法簡單有效,很好地解決了波形誤判的問題。
評論