☆王偉民(浙江省上虞中學,浙江紹興 312300)
?
一種機器人音量檢測的創(chuàng)新設(shè)計方案
☆王偉民
(浙江省上虞中學,浙江紹興312300)
摘要:在機器人應(yīng)用中常常需要檢查外界聲音的音量值,但傳統(tǒng)的基于硬件的方案成本高、可靠性差,效果不能讓人滿意。為此,筆者在研制一款噪音監(jiān)測機器人時別出心裁,發(fā)明了一種用于音量檢測的創(chuàng)新方案,該方案具有電路簡單、成本低、易于調(diào)試、性能穩(wěn)定的優(yōu)點。
關(guān)鍵詞:機器人;音量檢測;創(chuàng)新設(shè)計
在機器人系統(tǒng)或電子控制裝置中,音量檢測有著非常重要的作用,例如:我校為了參加省科技創(chuàng)新大賽而設(shè)計的一款商業(yè)街噪音監(jiān)測機器人(如圖1)。這款機器人在巡邏到每個商家門口時,會通過聲音傳感器檢測音量是否超標,若檢測到?jīng)]有超標則繼續(xù)巡邏,若檢測到超標則通過語音播放模塊播放超標警示并記錄音量值。這款機器人如果能夠研發(fā)成功,將可以有效地破解全國各地商業(yè)街噪聲的管理難題。通過對整個機器人系統(tǒng)的分析不難發(fā)現(xiàn),音量檢測是其中最核心的一個子系統(tǒng)。又如:玩具機器人,你拍一拍手,它就會唱歌;常見的樓道聲控燈,有聲音時能自動點亮,這些都用到了“音量檢測”。
圖1
雖然“音量檢測”應(yīng)用廣泛,但目前這方面的介紹資料很少,所以,我們特意將商業(yè)街噪音監(jiān)測機器人中采用的音量檢測方案整理并分享給大家。
音量檢測面臨的困難來自于檢測的對象,聲音是目前已知的最復雜的信號,圖2是數(shù)字示波器采集到的一段人講話的聲音信號。從圖中可以看出,人講話的聲音信號是不斷變化的,而且變化的頻率、幅度、相位都是無規(guī)則的。駐極體話筒可以將聲音轉(zhuǎn)換為電信號,這個沒有任何難度,但將聲音電信號轉(zhuǎn)換成音量值,就有相當大的難度了。
圖2
另外,在一些應(yīng)用中要求進行音量檢測的同時,還要排除一些聲音干擾,例如:偶爾的咳嗽聲、關(guān)門聲等,這也會進一步增加難度。
傳統(tǒng)的音量檢測通常是基于純硬件的。用峰值檢波器可以將語音信號轉(zhuǎn)變成包絡(luò)信號,然后用低通濾波器進行濾波,濾波后的信號和音量值成正比,可以傳送給單片微型計算機。
兩個具體電路的實現(xiàn)方案,第一個方案是二極管檢波電路加3級RC低通濾波,這個方案的好處是電路簡單可靠,但由于二極管有導通電壓的存在,即使采用導通電壓較低的肖特基二極管,也不能檢測幅度低于0.2VPP的聲音信號;第二個方案是采用二極管和運算放大器組成的理想檢波器加RC電路和運算放大器組成的有源低通濾波器,這個方案的好處是各項性能較好,但電路復雜容易不穩(wěn)定。
傳統(tǒng)的音量檢測,在電氣性能、經(jīng)濟性、可靠性等方面很難做到最優(yōu),因此,我們在設(shè)計的噪音監(jiān)測機器人中并未采用,而是采用了另一種創(chuàng)新方案——“高速采樣和數(shù)字積分方案”。
新方案獲得音量值分幾個步驟:(1)聲-電轉(zhuǎn)換。通過話筒,獲得原始聲音信號,原始聲音信號中含有所需的響度信息,但也含有不需要的音高、音色信息。(2)采樣和數(shù)模轉(zhuǎn)換。通過單片機內(nèi)部的高速采樣器獲得采樣點(如圖3),采樣頻率為300kHz,每個采樣點再通過單片機內(nèi)部的模數(shù)轉(zhuǎn)換器進行模數(shù)轉(zhuǎn)換。(3)形成包絡(luò)。保留最大值點,形成包絡(luò)信號(如圖4),包絡(luò)信號中只包含所需的響度信息,但仍是變化的。(4)積分運算。通過積分運算實現(xiàn)求平均值的效果,在積分時間到的那個時刻得到的積分值(如圖5),就是所需的音量值。
圖5
語音信號的最高頻率是5kHz,根據(jù)奈奎斯特準則,采樣頻率至少是信號頻率的2倍,因此,采樣率必須在10kHz以上,AD轉(zhuǎn)換器工作速度也必須高于10kHz。目前市場上的最新型號的8位單片機一般滿足這一要求,我們實際采用的宏晶科技最新推出的15F系列1T單片機,型號為STC15F2K60S2,內(nèi)部采樣器和AD轉(zhuǎn)換器速度達到300kHz,能滿足要求。
聲-電轉(zhuǎn)換的裝置,我們采用淘寶上出售的一款聲音檢測模塊(如圖6),價格為6.6元,非常便宜,上面不光有駐極體話筒,還有500倍放大電路和靈敏度調(diào)節(jié)旋鈕,將其模擬量輸出腳和單片機的任何一個AD輸入腳連接即可。
圖6
獲取音量值函數(shù)核心程序如下,需要說明的是,為了簡化程序,我們并沒有取最大值,而是將AD轉(zhuǎn)換值和無聲音時候的AD值(靜態(tài)值)進行比較,比靜態(tài)值大的保留并累加,比靜態(tài)值小的舍去:
在程序中,選取積分時間為10秒,目的是為了排除咳嗽聲、敲擊聲等的干擾,這些干擾聲雖然響度較大,持續(xù)時間很短,一般在1秒左右,選取較長的積分時間,就可以將其排除,但積分時間取得過長也會造成系統(tǒng)提供音量值的刷新時間變長,不利于有些實時系統(tǒng)的要求。均衡考慮,我們認為積分時間選擇為10秒是合理的。
由于本方案采用單片機內(nèi)部原來就有的高速采樣器、高速數(shù)模轉(zhuǎn)換器,外圍電路較為簡單,成本低,易于調(diào)試,性能穩(wěn)定可靠,已成功應(yīng)用于我們研制的商業(yè)街噪音監(jiān)測機器人中。
參考文獻:
[1]何賓.STC單片機原理及應(yīng)用——從器件、匯編、C到操作系統(tǒng)的分析和設(shè)計[M].北京:清華大學出版社,2015.
[2]宋躍.單片微機原理與接口技術(shù)(第2版)[M].北京:電子工業(yè)出版社,2015.
[編輯:陳鉞]
中圖分類號:G434
文獻標識碼:A
文章編號:1671-7503(2016)07-0078-02