摘 要:介紹了通過固定頻率的音頻信號來引導和控制小車,并詳細介紹了聲源信號濾波處理。設計出一個發(fā)出固定音頻聲音信號的小車,通過硬件模塊對該信號進行采集、放大、濾波處理,輸出穩(wěn)定的脈沖信號,由此脈沖信號控制小車移動到達指定位置利用周期性聲音引導物體移動。小車在設計的聲音信號指引下到達指定的位置。這里,聲音信號的處理濾波是聲音控制小車重點和難點。
關鍵詞:聲音信號濾波; 聲源定位; SPCE061A; 信號采集
中圖分類號:TP273 文獻標識碼:B
文章編號:1004-373X(2010)12-0062-04
Design of Voice Guidance System and Its Signal Filtering
JING Sheng-hua, WANG Wei, ZHU Song-sheng, CHENG Gang, XIAO Fu-nan, WANG Long-sheng
(Basic Medical College, Nanjing Medical University, Nanjing 210029, China)
Abstract:The guidance and control of a car through a voice signal with a fixed frequency, and the filtering processing of the acoustic source signal are introduced. The innovation point of the paper is to use a periodical voice to guide the movement of an object. A car which can emit the voice signals with a fixed frequency was design. The signal acquisition, amplification and filtering are performed by hardware modules to output the stable pulse signal which executes the control of the car′s movement. The car arrives at the designated location by the designed pulse signal. The processing and filtering of the speech signal are the key and most difficult points to design the voice-controlled car.
Keywords:audio signal filtering; sound source localization; SPCE061A; signal collection
信號與信息處理學科是信息科學的重要組成部分, 該學科水平的高低反映一個國家的整體科技水平[1]。數(shù)字信號處理已在通信、聲音、圖像、自動控制、雷達、軍事、航空航天等領域廣泛應用。數(shù)字信號處理的主要研究對象是聲音信號和圖像信號?,F(xiàn)代技術發(fā)展中,實現(xiàn)智能化、數(shù)字化是控制系統(tǒng)的重要發(fā)展方向。而聲音信號的處理是重要應用之一。
濾波是聲音信號處理的重要部分,其主要目的是在信號中提取有用信號,屏蔽無用的噪聲。將提取的有用信號進行處理,從而控制硬件實現(xiàn)智能化。聲音控制小車是智能化發(fā)展的方向之一。下面通過具體的例子進行聲音引導系統(tǒng)及其信號濾波的設計的分析和說明。
1 硬件設計
1.1 硬件總體概況[2-3]
系統(tǒng)包括:音頻處理終端模塊,聲源控制終端模塊,無線發(fā)送、接收模塊,音頻發(fā)送、接收模塊,MMC-1芯片,驅動電機模塊。系統(tǒng)基本結構如圖1所示。
整個系統(tǒng)可分為2大部分:聲源定位和車體移動。系統(tǒng)各部分工作是由高性能芯片SPCE061A控制和協(xié)調(diào),它是整個系統(tǒng)的核心。SPCE061A[4]是一款16位結構的微控制器,主要包括輸入/輸出模塊、定時器/計數(shù)器,數(shù)/模轉換,模/數(shù)轉換,串行設備的輸入輸出,通用異步串行接口,低電壓監(jiān)測和復位等部分,并且內(nèi)置在線仿真電路ICE接口,較高的處理速度使其能夠快速的處理復雜的數(shù)字信號,應用十分廣泛,例如應用在家用電器控制器、工業(yè)控制、通信產(chǎn)品、醫(yī)療設備以及電子書籍等諸多方面。
圖1 系統(tǒng)基本框圖
系統(tǒng)利用蜂鳴器發(fā)出的固定報警聲音作為輸入系統(tǒng),使用2個音頻接收模塊對聲音進行采集、放大、濾波等處理,根據(jù)2個接收模塊接收到音頻的時間差判斷小車的位置,通過nRF2401芯片對小車發(fā)出無線信號控制小車移動。
1.2 單元電路模塊的設計
1.2.1 無線發(fā)送接收模塊
這里采用nRF2401作為該系統(tǒng)的通信模塊。
單片機向nRF2401發(fā)送數(shù)據(jù)時,由一幀數(shù)據(jù)組成,前一段為地址段,后一段為數(shù)據(jù)段,當nRF2401接收到數(shù)據(jù)后將數(shù)據(jù)打包后再發(fā)送。
當nRF2401接收端成功接收到數(shù)據(jù)后,將會置位對應的數(shù)據(jù)請求管腳DR1/DR2,單片機通過查詢該管腳狀態(tài),或者通過中斷方式接收數(shù)據(jù),從而實現(xiàn)實時控制。通過無線傳輸模塊nRF2401就能很輕松地對無線接收端進行有效實時控制,具有很好的實時性。
1.2.2 音頻信號發(fā)送模塊與接收模塊
在此采用頻率為5 Hz占空比為1∶9的脈寬調(diào)制信號驅動蜂鳴器作為信號源。音頻的接收模塊是通過運放以及濾波處理輸出穩(wěn)定的脈沖信號。電路如圖2所示。
圖2 聲音接收處理濾波原理圖
聲音接收和處理是本系統(tǒng)的關鍵部分,本模塊使用5級信號處理系統(tǒng),第1級使用三極管對MIC接收到脈沖信號進行放大,然后使用C1隔直流;第2級采用LM324對信號進行放大,再隔直流;第3級使用帶通濾波器[5]濾除周圍的噪聲,如圖3,4所示,通過頻域分析法[6]計算出R,C值,其中f0=2 000 Hz;第4級再通過比較器生成數(shù)字信號;第5級使用555觸發(fā)器[7]搭成單穩(wěn)態(tài)電路,如圖5所示。經(jīng)過5級處理后把音頻信號變?yōu)閿?shù)字脈沖信號。濾波處理前與處理后的波形如圖6所示。2個通道分別為A,B兩點采集的脈沖數(shù)據(jù),用來計算波形差定位的。通過計算聲源發(fā)出的聲音被各個音頻接收模塊接收到的時間差來確定聲源與音頻接收模塊的相對位置。
圖3 帶通濾波原理圖
1.2.3 電機驅動模塊
在此外接一個全橋驅動芯片(這里使用L298芯片)就可以控制直流電機[8-9]工作, 直流電機驅動原理如圖7所示。
通過SPCE061A處理器的I/O口發(fā)送控制信號,就能很簡單地驅動L298來控制電機。
引腳IN1和IN2控制M1正轉和反轉,通過EN1輸入PWM信號控制直流電機M1的轉速,同理,通過IN3和IN4控制M2正轉和反轉,通過EN2輸入PWM信號控制直流電機M2的轉速。
圖4 帶通濾波效果圖
圖5 555單穩(wěn)態(tài)電路原理圖
圖6 聲音處理波形圖
1.2.4 聲光報警模塊
聲光報警系統(tǒng)利用軟件實現(xiàn),當接收端接收到音頻信號的時間差在一定閾值中時,小車停止,I/O口發(fā)出高電平,選通三極管的基極,使蜂鳴器發(fā)出聲音,同時給發(fā)光二極管電壓,使二極管發(fā)光。
2 系統(tǒng)軟件設計
2.1 系統(tǒng)軟件設計
系統(tǒng)軟件程序流程圖如圖8所示。
2.2 聲源定位算法[10]設計
系統(tǒng)軟件設計部分主要是實現(xiàn)移動聲源定位,以下是2種算法的思路:
(1) 聲源定位算法1。首先將對聲源的定位問題放在同一平面里,定位的結果為聲源點坐標。
圖7 電機驅動原理圖
圖8 程序流程圖
如圖9所示,在一個平面上分布2個傳感器的位置A和B,當平面上某處S(x,y)發(fā)出聲波時,2個傳感器將先后接收到信號。實驗時并不能真正測到事件到達的絕對時間,而只能測出它們的時間差,設聲波沿媒質(zhì)表面的傳播速度為v,可以得到:
(x+a)2+y2-(x-a)2+y2=Δtv(1)
式(1)兩端同乘以(x+a)2+y2+(x-a)2+y2得:
(x+a)2+y2+(x-a)2+y2=4ax/(Δtv) (2)
聯(lián)立式(1)和(2)可得:
x2Δt4v4-4Δt2v2a24Δt2v2-16a2-y24a2-Δt2v24=1
令:
a1=Δt4v4-4Δt2v2a24Δt2v2-16a,
b1=4a2-Δt2v24
可簡寫為:
x2a1-y2b1=1 (3)
根據(jù)A,B兩點接收信號時間差和聲音在空氣中的傳播速度,計算出聲源S(x,y)的坐標,確定聲源的位置。
圖9 聲源坐標定位原理
(2) 聲源定位算法2。
如圖10所示,小車上蜂鳴器發(fā)出聲音,接收點1先接收到下降沿,觸發(fā)外部中斷1,開Timer_A,開始計數(shù);當接收點2接收到下降沿時,開外部中斷2,算出差值Delta_time,通過Delta_time來判斷聲源距離接收點1和接收點2的差值的大小,如果為正則聲源向接收點1靠近;如果為負則聲源向接收點2靠近;如果在零左右的一定閾值里,則說明聲源在ox的一定范圍之內(nèi),聲源停止。
圖10 聲源的脈沖圖
3 系統(tǒng)調(diào)試
測試儀器如表1所示。
表1 測試儀器
儀器名稱型號測試精度
秒表普通秒表0.01 s
卷尺普通5 m卷尺0.1 cm
示波器LDS220050.1 mV
(1) 音頻信號測試。
測量結果:用SPCE061的1 kHz時基中斷讓蜂鳴器響20 ms,停止180 ms,產(chǎn)生周期為200 ms的音頻脈沖信號。
(2) 聲源移動距離測試。
可移動聲源發(fā)出聲音后開始運動,到達ox中線停止,這段運動時間為響應時間。測量響應時間,采用下面公式計算出響應的平均速度,要求平均速度大于5 cm/s,平均速度實際測量結果如表2所示。
平均速度=可移動聲源的起始位置到ox線的垂直距離響應時間
(3) 聲源移動距離定位誤差測試。
可移動聲源停止后的位置與ox中線之間的距離為定位誤差。移動聲源運動中任意時刻超過ox中線左側距離為過線距離。定位誤差實際測量結果如表3所示。
(4) 聲源聲光報警測試。測量結果:可移動聲源到達ox中線后,有發(fā)光二極管發(fā)光,蜂鳴器發(fā)出聲音。
4 結 語
系統(tǒng)采用了濾波系統(tǒng)對聲音信號進行濾波,使得原本雜亂無章的信號變成系統(tǒng)可清晰辨別的脈沖信號,由于信號采集系統(tǒng)對外界的信號特別靈敏,只要有聲音便能讓其通過采樣,濾波變成一個脈沖信號,所以系統(tǒng)對外界的環(huán)境要求特別高,在信號測試階段,必須屏蔽掉其他噪音,使系統(tǒng)采集聲源的聲音,這里通過低通濾波 器對外界的噪聲進行屏蔽,達到了很好的效果,可以對聲源(小車)進行很好的控制。
聲音濾波電路在實際生活中有很多應用,可以通過聲音的采集濾波實現(xiàn)對某種聲音的響應,比如智能聲控機器人,通過人的聲音對智能機器人實現(xiàn)起名,控制向左、向右行走等。
參考文獻
[1]張賢達.現(xiàn)代信號處理[M].北京:清華大學出版社,2002.
[2]凌陽科技.凌陽61板使用說明書[ EB/OL] .[ 2003-06-23] .http://www.unsp.com.cn.
[3]羅亞非.凌陽16位單片機應用基礎[M].北京:北京航空航天大學出版社,2005.
[4]凌陽科技.SPCE061A中文數(shù)據(jù)手冊[ EB/OL] .[ 2009-03-17] .http://www.unsp.com/download/soft.aspx?softid=723categoryid=16.
[5]康華光,陳大欽,張林.電子技術基礎(模擬部分)[M].5版.北京:高等教育出版社,2006.
[6]鄭南雁,楚方求,程友發(fā).有源帶通濾波器的設計[J].測控技術,1999(7):60-62.
[7]康華光,陳大欽,張林.電子技術基礎(數(shù)字部分)[M].5版.北京:高等教育出版社,2006.
[8]芯片數(shù)據(jù)庫.L298n電機驅動中文資料(L298應用實例)[ EB/OL] .[ 2009-01-14] .http://share.dzjs.net/down/2009/0104/file_5171.html..
[9]唐介.電機與拖動[M].2版.北京:高等教育出版社,2007.
[10]鄭珍珍,馮華君,沈常宇.基于坐標系變換的三維聲源定位算法[J].浙江大學學報:工學版,2008(2):341-343.