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