摘 要:介紹了通過固定頻率的音頻信號來引導和控制小車,并詳細介紹了聲源信號濾波處理。設計出一個發出固定音頻聲音信號的小車,通過硬件模塊對該信號進行采集、放大、濾波處理,輸出穩定的脈沖信號,由此脈沖信號控制小車移動到達指定位置利用周期性聲音引導物體移動。小車在設計的聲音信號指引下到達指定的位置。這里,聲音信號的處理濾波是聲音控制小車重點和難點。
關鍵詞:聲音信號濾波; 聲源定位; 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]。數字信號處理已在通信、聲音、圖像、自動控制、雷達、軍事、航空航天等領域廣泛應用。數字信號處理的主要研究對象是聲音信號和圖像信號。現代技術發展中,實現智能化、數字化是控制系統的重要發展方向。而聲音信號的處理是重要應用之一。
濾波是聲音信號處理的重要部分,其主要目的是在信號中提取有用信號,屏蔽無用的噪聲。將提取的有用信號進行處理,從而控制硬件實現智能化。聲音控制小車是智能化發展的方向之一。下面通過具體的例子進行聲音引導系統及其信號濾波的設計的分析和說明。
1 硬件設計
1.1 硬件總體概況[2-3]
系統包括:音頻處理終端模塊,聲源控制終端模塊,無線發送、接收模塊,音頻發送、接收模塊,MMC-1芯片,驅動電機模塊。系統基本結構如圖1所示。
整個系統可分為2大部分:聲源定位和車體移動。系統各部分工作是由高性能芯片SPCE061A控制和協調,它是整個系統的核心。SPCE061A[4]是一款16位結構的微控制器,主要包括輸入/輸出模塊、定時器/計數器,數/模轉換,模/數轉換,串行設備的輸入輸出,通用異步串行接口,低電壓監測和復位等部分,并且內置在線仿真電路ICE接口,較高的處理速度使其能夠快速的處理復雜的數字信號,應用十分廣泛,例如應用在家用電器控制器、工業控制、通信產品、醫療設備以及電子書籍等諸多方面。
圖1 系統基本框圖
系統利用蜂鳴器發出的固定報警聲音作為輸入系統,使用2個音頻接收模塊對聲音進行采集、放大、濾波等處理,根據2個接收模塊接收到音頻的時間差判斷小車的位置,通過nRF2401芯片對小車發出無線信號控制小車移動。
1.2 單元電路模塊的設計
1.2.1 無線發送接收模塊
這里采用nRF2401作為該系統的通信模塊。
單片機向nRF2401發送數據時,由一幀數據組成,前一段為地址段,后一段為數據段,當nRF2401接收到數據后將數據打包后再發送。
當nRF2401接收端成功接收到數據后,將會置位對應的數據請求管腳DR1/DR2,單片機通過查詢該管腳狀態,或者通過中斷方式接收數據,從而實現實時控制。通過無線傳輸模塊nRF2401就能很輕松地對無線接收端進行有效實時控制,具有很好的實時性。
1.2.2 音頻信號發送模塊與接收模塊
在此采用頻率為5 Hz占空比為1∶9的脈寬調制信號驅動蜂鳴器作為信號源。音頻的接收模塊是通過運放以及濾波處理輸出穩定的脈沖信號。電路如圖2所示。
圖2 聲音接收處理濾波原理圖
聲音接收和處理是本系統的關鍵部分,本模塊使用5級信號處理系統,第1級使用三極管對MIC接收到脈沖信號進行放大,然后使用C1隔直流;第2級采用LM324對信號進行放大,再隔直流;第3級使用帶通濾波器[5]濾除周圍的噪聲,如圖3,4所示,通過頻域分析法[6]計算出R,C值,其中f0=2 000 Hz;第4級再通過比較器生成數字信號;第5級使用555觸發器[7]搭成單穩態電路,如圖5所示。經過5級處理后把音頻信號變為數字脈沖信號。濾波處理前與處理后的波形如圖6所示。2個通道分別為A,B兩點采集的脈沖數據,用來計算波形差定位的。通過計算聲源發出的聲音被各個音頻接收模塊接收到的時間差來確定聲源與音頻接收模塊的相對位置。
圖3 帶通濾波原理圖
1.2.3 電機驅動模塊
在此外接一個全橋驅動芯片(這里使用L298芯片)就可以控制直流電機[8-9]工作, 直流電機驅動原理如圖7所示。
通過SPCE061A處理器的I/O口發送控制信號,就能很簡單地驅動L298來控制電機。
引腳IN1和IN2控制M1正轉和反轉,通過EN1輸入PWM信號控制直流電機M1的轉速,同理,通過IN3和IN4控制M2正轉和反轉,通過EN2輸入PWM信號控制直流電機M2的轉速。
圖4 帶通濾波效果圖
圖5 555單穩態電路原理圖
圖6 聲音處理波形圖
1.2.4 聲光報警模塊
聲光報警系統利用軟件實現,當接收端接收到音頻信號的時間差在一定閾值中時,小車停止,I/O口發出高電平,選通三極管的基極,使蜂鳴器發出聲音,同時給發光二極管電壓,使二極管發光。
2 系統軟件設計
2.1 系統軟件設計
系統軟件程序流程圖如圖8所示。
2.2 聲源定位算法[10]設計
系統軟件設計部分主要是實現移動聲源定位,以下是2種算法的思路:
(1) 聲源定位算法1。首先將對聲源的定位問題放在同一平面里,定位的結果為聲源點坐標。
圖7 電機驅動原理圖
圖8 程序流程圖
如圖9所示,在一個平面上分布2個傳感器的位置A和B,當平面上某處S(x,y)發出聲波時,2個傳感器將先后接收到信號。實驗時并不能真正測到事件到達的絕對時間,而只能測出它們的時間差,設聲波沿媒質表面的傳播速度為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)
聯立式(1)和(2)可得:
x2Δt4v4-4Δt2v2a24Δt2v2-16a2-y24a2-Δt2v24=1
令:
a1=Δt4v4-4Δt2v2a24Δt2v2-16a,
b1=4a2-Δt2v24
可簡寫為:
x2a1-y2b1=1 (3)
根據A,B兩點接收信號時間差和聲音在空氣中的傳播速度,計算出聲源S(x,y)的坐標,確定聲源的位置。
圖9 聲源坐標定位原理
(2) 聲源定位算法2。
如圖10所示,小車上蜂鳴器發出聲音,接收點1先接收到下降沿,觸發外部中斷1,開Timer_A,開始計數;當接收點2接收到下降沿時,開外部中斷2,算出差值Delta_time,通過Delta_time來判斷聲源距離接收點1和接收點2的差值的大小,如果為正則聲源向接收點1靠近;如果為負則聲源向接收點2靠近;如果在零左右的一定閾值里,則說明聲源在ox的一定范圍之內,聲源停止。
圖10 聲源的脈沖圖
3 系統調試
測試儀器如表1所示。
表1 測試儀器
儀器名稱型號測試精度
秒表普通秒表0.01 s
卷尺普通5 m卷尺0.1 cm
示波器LDS220050.1 mV
(1) 音頻信號測試。
測量結果:用SPCE061的1 kHz時基中斷讓蜂鳴器響20 ms,停止180 ms,產生周期為200 ms的音頻脈沖信號。
(2) 聲源移動距離測試。
可移動聲源發出聲音后開始運動,到達ox中線停止,這段運動時間為響應時間。測量響應時間,采用下面公式計算出響應的平均速度,要求平均速度大于5 cm/s,平均速度實際測量結果如表2所示。
平均速度=可移動聲源的起始位置到ox線的垂直距離響應時間
(3) 聲源移動距離定位誤差測試。
可移動聲源停止后的位置與ox中線之間的距離為定位誤差。移動聲源運動中任意時刻超過ox中線左側距離為過線距離。定位誤差實際測量結果如表3所示。
(4) 聲源聲光報警測試。測量結果:可移動聲源到達ox中線后,有發光二極管發光,蜂鳴器發出聲音。
4 結 語
系統采用了濾波系統對聲音信號進行濾波,使得原本雜亂無章的信號變成系統可清晰辨別的脈沖信號,由于信號采集系統對外界的信號特別靈敏,只要有聲音便能讓其通過采樣,濾波變成一個脈沖信號,所以系統對外界的環境要求特別高,在信號測試階段,必須屏蔽掉其他噪音,使系統采集聲源的聲音,這里通過低通濾波 器對外界的噪聲進行屏蔽,達到了很好的效果,可以對聲源(小車)進行很好的控制。
聲音濾波電路在實際生活中有很多應用,可以通過聲音的采集濾波實現對某種聲音的響應,比如智能聲控機器人,通過人的聲音對智能機器人實現起名,控制向左、向右行走等。
參考文獻
[1]張賢達.現代信號處理[M].北京:清華大學出版社,2002.
[2]凌陽科技.凌陽61板使用說明書[ EB/OL] .[ 2003-06-23] .http://www.unsp.com.cn.
[3]羅亞非.凌陽16位單片機應用基礎[M].北京:北京航空航天大學出版社,2005.
[4]凌陽科技.SPCE061A中文數據手冊[ EB/OL] .[ 2009-03-17] .http://www.unsp.com/download/soft.aspx?softid=723categoryid=16.
[5]康華光,陳大欽,張林.電子技術基礎(模擬部分)[M].5版.北京:高等教育出版社,2006.
[6]鄭南雁,楚方求,程友發.有源帶通濾波器的設計[J].測控技術,1999(7):60-62.
[7]康華光,陳大欽,張林.電子技術基礎(數字部分)[M].5版.北京:高等教育出版社,2006.
[8]芯片數據庫.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.