文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.020
中文引用格式: 許高斌,閔銳,陳興,等. 一種新型超聲波測距系統信號處理方法[J].電子技術應用,2016,42(8):84-86,90.
英文引用格式: Xu Gaobin,Min Rui,Chen Xing,et al. A new research of signal processing of ultrasonic ranging system[J].Application of Electronic Technique,2016,42(8):84-86,90.
0 引言
超聲波測距系統以其對外界環境如霧霾天氣、沙塵暴天氣、雨雪天氣等的高適應性而占據了絕大多數的汽車倒車雷達市場。傳統的超聲波換能器中心頻率為40 kHz[1],傳統的濾波器以及包絡檢測設計為RC阻容耦合電路的硬件電路實現[2],但是RC硬件電路存在不穩定性。數字濾波、數字提取包絡相對于傳統的模擬濾波和硬件提取包絡來說,不僅省去了復雜的電路設計,而且處理信號的精確度和穩定性也都有大幅度提高。國防科技大學對回波處理算法進行了細致的研究[3-4],其主體思路是利用偽隨機序列的相關運算進行處理,考慮到相關運算中FFT等運算的復雜性以及500 μs的碼元長度,其并不適用于短量程的嵌入式測距系統。北京科技大學采用了基于能量重心法和最小二乘法的橢圓中心算法處理回波[5],雖然精度控制在0.2%,但是復雜的運算必須結合上位機才可以實現。國內還有很多關于高精度超聲波測距系統的研究[6-8],但是并未提及信號處理的具體實現方案。針對以上設計的不足,提出了一種新型的應對嵌入式系統的超聲波測距五步算法,在數字濾波的基礎上采用一種新型的包絡檢測方式,同時在數據處理方面采用了新型的點跡計算法來計算回波峰值點。
1 超聲波測距系統框架
系統框圖如圖1所示,實驗采用主控為基于Cortex-M4的ARM芯片。系統的工作流程為:主控芯片通過發出已被編碼的正負互補的PWM波形,促使驅動放大器模塊輸出幅值放大的正弦波。并通過中周模塊的穩頻,驅動超聲波換能器發出中心頻率為40 kHz的超聲波。當超聲波遇到障礙物時返回,經過前置放大電路的放大后,進入ADC模塊進行數模轉換,轉換出的信號通過本文設計的數字通路后被解碼,從而被CPU處理。
圖1 系統框架圖
距離可以通過式(1)計算:
式中,s為障礙物到探頭的距離,v為空氣中的聲速,T近似為超聲波在空氣中的傳播時間,近似程度由算法的延時決定。
2 超聲波測距DSP模塊設計
超聲波數字通路處理從ADC的輸出信號開始,實際的數字信號處理模塊設計如圖2所示。
圖2 五步算法框架
DSP模塊的五步算法處理流程:從ADC的輸出信號經過數字帶通濾波器,可以濾除由于在空氣中傳播而摻雜的高斯噪聲。為了避免包絡檢測的正負抵消,需加入整流器,整流器的輸出需要經過峰值提取器,提取采樣信號的包絡,以計算準確的回波到達時間以及中斷觸發時間。由于1 MHz的采樣率不適用于計算機對數據的運算,則需要一個下采樣模塊來降低采樣率滿足計算機的需求。下采樣模塊的輸出信號需經過數字低通濾波器來濾除高頻噪聲。
2.1 IIR數字帶通濾波器的設計
基于MATLAB的IIR數字濾波器的設計有多種方式,經過反復實驗,在最大程度節約開發成本、保證濾波效果的情況下,確定濾波器的階數設定為2,采用模擬濾波器通過雙線性變換法轉數字濾波器。為了方便ARM內核的移植,同時考慮到倒車雷達用戶不需要使用C來設計濾波器,結合實際工程需要,利用MATLAB軟件開發與設計濾波器,得到濾波器的傳遞函數參數,然后再將MATLAB中的filter函數利用C設計實現,即可以達到事半功倍的效果。圖3所示為超聲波回波信號與帶通濾波器的輸出,可以看出對于高斯噪聲的抑制效果優良。
圖3 回波信號及帶通濾波器輸出
2.2 整流器的設計
由于數字信號后期會進行包絡檢測,當超聲波的接收波形分布在X軸的上下側,檢測出的包絡會正負抵消,則無法實現預期的結果。這里的整流器可近似為一個二極管的作用,使處于X軸負半軸的信號屏蔽,以利于后期的包絡檢測處理。程序上可以通過將X軸下方的數據均賦0來實現。
2.3 包絡檢測器的設計
在超聲波測距系統中,由于超聲波的衰減以及超聲波換能器壓電陶瓷在壓電轉換過程中的慣性滯后導致超聲波的回波信號被拓寬,使得回波到達時間點不確定,同時由于傳統設計的比較器閾值固定,增大了誤差的發生幾率,所以包絡峰值檢測在判斷飛越時間的過程中起著重要作用。通過MATLAB提供的庫函數可以方便地提取包絡,但是MATLAB庫函數用C語言很難實現,而且過于頻繁的乘加運算和FFT運算會增大工程算法的延時,對超聲波測距帶來不利影響,且不便于移植。
峰值提取新算法是利用C語言實現峰值檢測,其理論依據為移位算法。如果峰值提取器的輸入大于先前的峰值提取器的輸出,則峰值提取器的輸出被更新,其理論框圖如圖4所示。
圖4 峰值提取算法示意圖
其中x是峰值提取器的輸入,k是步長,y為輸出。在波形上升部分,包絡可以很好地提取,其技術難點在波形的下降部分。因為該算法只對比前一數據值更新,而對于過峰值后,波形的包絡無法被該算法更新則為一條直線??紤]到短延時的存在并不過多地影響最終的時間檢測,所以允許包絡相對于峰值點有一定的延遲。
對下降部分單獨分析,需結合下采樣器的功能:對峰值提取器進行復位清0,同時生成輸出。峰值提取器的輸出是在下采樣器中的定時器到達預定值后生成輸出,即輸出為峰值點后,再對該輸出清零繼續進行后面的比較。下采樣器中的計數器的預定值,本質上就是下采樣的頻率縮小為原始輸入頻率的1/DS,DS亦為每2個輸出點之間的采樣間隔。該算法的仿真結果如圖5所示,可見包絡提取滿足工程設計的需要,且節約了設計成本和減少了運算延遲。結果顯示有少許的相位差,可以通過實際測距過程中的測量統計來糾正。
圖5 峰值包絡檢測的新算法仿真
2.4 下采樣器的設計
一個樣值序列間隔幾個樣值取樣一次,這樣得到的新序列就是原序列的下采樣。采樣率變化主要是由于信號處理的不同模塊有不同的采樣率要求。下采樣相對于最初的連續時間信號而言,為了防止頻譜混疊要滿足采樣定理,此方案設計已將下采樣模塊與峰值提取模塊進行融合和互補控制,通過下采樣模塊可以使最后信號的采樣率與符號速率相等。這樣處理獲得的信噪比增益會大幅度提高。下采樣方便了后面的低通濾波器的設計,這是相輔相成的。為了迎合低通濾波器的處理效果,經過反復實驗分析,下采樣寄存器的最佳允許值范圍為25~50。
2.5 IIR數字低通濾波器的設計
IIR數字低通濾波器的設計與帶通濾波器一致,本文設計的低通濾波器階數為1,可以滿足實際工程應用需求。從ADC出來的信號為幅度變化的高頻信號,雖然發射的波形為等幅波形,但是在超聲波信號的傳輸過程中受到噪聲的干擾,產生了很多的高頻噪聲分量,導致接收到的信號為幅度變化的高頻波。由于高頻回波信號的包絡為低頻分量,加入低通濾波器可以濾去高頻處的噪聲,同時也可以濾除由于帶通濾波器拓寬帶寬而帶來的噪聲。低通濾波輸出亦為五步算法綜合輸出,其輸出圖以及頻譜對比圖如圖6所示,可以看出算法的平臺通用性和可移植性。
(a)低通濾波器輸出
(b)C輸出的頻譜
(c)MATLAB輸出的頻譜
2.6 輸出數據的處理
對于輸出數組的處理,采用一種新型的結合下采樣點跡的方式來計算超聲波的渡越時間,這種方法可以避開定時器的使用,節約了硬件資源,避免了由比較器的誤觸發而導致定時器中斷的干擾。同時由于數據處理的延時與渡越時間的測量是一對矛盾體,為了提高系統精度,五步算法傳遞的數據均為浮點數,對于不同的回波數據值,ADC以及五步算法的軟件延時累積誤差會達到30 μs左右,所以利用點跡計算的方式實現了時間測量與系統軟件延時的有效分離。
算法處理方式如下:在低通濾波輸出后,得到的包絡數據被保存于數組中,可以結合傳統的閾值處理以及回波包絡的對稱性找到回波數據中的峰值點,利用該峰值點在數組中的位置,同時根據下采樣的周期t_per計算出超聲波發射與接收的時間差。由于五步算法的相位差以及系統硬件的延遲與待測距離無關,為固定值,所以通過板級實驗可以測試出總體的時延,在計算實際距離時將誤差減去即可。
假設找到的峰值點為數組中的第N點,板級實驗測試的總體時延為t_dly,則超聲波發送與接收時間差T為:
將T代入式(1),再加上溫度傳感器的補償反饋,即可實現測距目的。
2.7 測距算法的板級實驗
為了測試所設計的五步算法的可行性,在自主設計的ARM超聲波測試板中進行了板級實驗。
通過超聲波測距系統的量程(20 cm~5 m)固定距離,并以60 cm步進,分別使用本文設計的數字通路五步算法和傳統經典的互相關時延算法進行了測距性能的對比,測試結果如表1所示??梢钥闯?,在同等測試環境下,由于碼元長度的限制以及包絡提取、信道噪聲的影響,互相關算法在近距離時出現了較大的誤差,相比之下本文算法的精確度更高。
3 結論
本文采用全數字化的五步算法實現對超聲波回波信號的處理,通過MATLAB與C程序輸出的對比與分析可知,設計方案合理,且便于對嵌入式主控的移植。相對于傳統的硬件模擬RC處理電路的設計,本文設計的方案具有更高的穩定性與實時性,通過與互相關時延算法實驗比對,本文的測距算法方案具有更高的精度,且更適用于實際工程的應用。
參考文獻
[1] 張紅蓮.基于單片機的超聲波測距系統的設計[J].可編程控制器與工廠自動化,2008,21(9):89-91.
[2] 陳云超,程曉峰,郭峰.基于FPGA控制的超聲波測距系統設計[J].微型機與應用,2012,31(1):90-92.
[3] 祝琴.擴頻技術在超聲測距系統中的應用研究[D].長沙:國防科技大學儀器學院,2006.
[4] 潘仲明,簡盈,王躍科.基于兩步相關法的大量程超聲波測距技術[J].電子測量與儀器學報,2006,20(5):73-76.
[5] 陳先中,侯慶文,葉琳,等.超聲測距系統的高精度中心橢圓算法[J].北京科技大學學報,2007,29(11):1154-1157.
[6] 陳上挺,謝文彬,游穎敏.基于STM8的紅外與超聲波測距儀設計[J].電子技術應用,2011,37(9):32-34.
[7] 趙海鳴,王紀嬋,劉軍,等.一種高精度超聲波測距系統的改進[J].電子技術應用,2007,33(4):59-62.
[8] 張禾,李俊蘭,葛亮,等.一種高精度超聲波測距系統的設計[J].自動化儀表,2012,33(2):62-64.