郝大鵬,付 峰,周龍甫
強噪聲背景下近距離語音通信系統(tǒng)硬件裝置設(shè)計
郝大鵬,付 峰,周龍甫
目的:為解決強噪聲背景下近距離語音通信難題,設(shè)計一套硬件裝置,解決語音信息采集、背景噪聲濾除以及近距離傳輸?shù)葐栴}。方法:以STM32F303處理器為核心,通過集成音頻接口(integrate interface of sound,IIS)音頻總線連接音頻錄放模塊,對采集、接收到的語音信號進行處理,通過藍牙實現(xiàn)近距離傳輸。結(jié)果:該硬件裝置能夠采集到語音信號,經(jīng)音頻轉(zhuǎn)換后可實現(xiàn)藍牙傳輸及外放,效果良好。結(jié)論:該裝置能夠采集語音信號、濾除背景噪聲,實現(xiàn)近距離語音傳輸。
硬件設(shè)計;ISS總線接口;語音信號采集;音頻錄放;藍牙傳輸
現(xiàn)實生活中,信息的重要性不言而喻,除了直觀的可視化信息外,人們更依賴語音通信設(shè)備來完成信息的傳遞,例如手機[1]。但在醫(yī)院內(nèi)并不能隨意佩戴、使用手機,很多醫(yī)務(wù)工作者選擇使用對講機。然而大部分的對講機通話質(zhì)量較差,通話清晰度低,通信信息無法高效傳遞[2]。本文擬通過硬件電路設(shè)計,初步完成對語音信息的實時采集、錄放及近距離傳輸,為后期提高語音傳輸效率、延長傳輸距離、提高通話質(zhì)量做好充分的前期準備。
本系統(tǒng)由4個部分組成,其中音頻錄放模塊以及其與主控制模塊之間的集成音頻接口(integrate interface of sound,IIS)音頻總線設(shè)計為該系統(tǒng)的設(shè)計難點。主控制器負責整個系統(tǒng)的運行,音頻錄放模塊對采集、接收到的語音信號進行處理,處理好的語音信號由藍牙通信模塊進行傳輸,電源為整個系統(tǒng)提供電力。系統(tǒng)總體設(shè)計如圖1所示。
圖1 系統(tǒng)總體設(shè)計圖
2.1 主控制器
主控制器是整個系統(tǒng)的核心部分,直接決定了系統(tǒng)的功能、性能水平[3]。STM32F303處理器是一款基于ARM Cortex-M系列的32 bit處理器,不僅具有運算速度快、可實時處理數(shù)字信號、功耗低等特性,還保持了集成度高和易于開發(fā)的特點。
如圖2所示,實際電路設(shè)計中,選用了LQFP64封裝的STM32F303處理器,在該部分電路設(shè)計工作中,主要涉及到外圍晶振時鐘電路、電源和與接地相關(guān)的退耦電容以及各總線接口的線路連接等。
2.2 IIS總線接口
IIS在20世紀80年代被Philips公司應用于音頻設(shè)備。并在一個被稱作左/右時鐘(left/right clock,LRCLK)的信號機制中,經(jīng)過多路轉(zhuǎn)換,將兩路音頻信號合并成單一數(shù)據(jù)隊列。LRCLK為“高”時,傳輸左聲道數(shù)據(jù);LRCLK為“低”時,傳輸右聲道數(shù)據(jù)(可反過來執(zhí)行,可自行定義高低與左右聲音的對應)。對于多通道系統(tǒng),在同樣的總線時鐘(bus clock,BCLK)和LRCLK條件下,并行執(zhí)行幾個數(shù)據(jù)隊列也是可行的。因為IIS、脈沖編碼調(diào)制(pulse code modulation,PCM)和類似的音頻接口不能提供寄存器入口,所以需要獨立的控制接口[4]。
圖2 STM32F303處理器部分電路
IIS總線一般具有4根信號線,包括:串行數(shù)據(jù)輸入(IIS serial data input,IISDI)、串行數(shù)據(jù)輸出(IIS serial data output,IISDO)、左/右聲道選擇(IIS left/ right check,IISLRCK)和串行數(shù)據(jù)時鐘(IIS serialclock,IISCLK)。產(chǎn)生IISLRCK和IISCLK的是主設(shè)備。
2.3 音頻錄放模塊
音頻錄放是本系統(tǒng)的重要功能模塊組件,需要選擇一款高質(zhì)量和高可靠性的音頻編解碼芯片[5-6]。本項目選擇了歐勝(Wolfson)公司推出的WM8978,它是一款帶揚聲器驅(qū)動的立體聲多媒體數(shù)字信號編解碼器。其主要特征包括:
(1)結(jié)合了立體聲差分麥克風的前置放大與揚聲器、耳機和差分、立體聲線輸出的驅(qū)動,減少了應用時必需的外部組件,比如不需要單獨的麥克風或者耳機的放大器。
(2)具有高性能的片上數(shù)字信號處理功能,包含①5路均衡功能;②用于模數(shù)轉(zhuǎn)換器和麥克風或者線路輸入之間的混合信號的電平自動控制功能;③純粹的錄音或者重放的數(shù)字限幅功能。另外在模數(shù)轉(zhuǎn)換器的線路上提供了數(shù)字濾波的功能,可以更好地減低環(huán)境噪聲影響,如風噪聲。
(3)WM8978編解碼器可工作在主模式或者從模式中。內(nèi)部鎖相回路可以產(chǎn)生各種音頻時鐘。
(4)WM8978的模擬部分供電電壓范圍為2.5~3.3 V,內(nèi)核工作電壓可以低到1.62 V,以節(jié)省功耗。揚聲器輸出和OUT 3/4線路輸出可以工作在5 V電壓以提高輸出功率??梢酝ㄟ^軟件關(guān)閉不需要的功能模塊。
如圖3所示,WM8978與主控制器STM32F303之間通過兩線式串行總線(inter-integrated circuit,I2C)和集成電路內(nèi)置音頻總線(inter-IC sound,I2S)接口連接。I2C接口(SCLK、SDIN)用于配置WM8978的工作狀態(tài)(音量、外放和耳機切換、均衡控制等)。I2S接口(LRC、BCLK、ADCDAT、MCLK)用于傳輸音頻數(shù)據(jù)流。
WM8978和中央處理器(central processing unit,CPU)之間可以選擇2線模式(I2C)和3線模式串行外設(shè)接口(serial peripheral interface,SPI)進行連接。MODE接低電平時選擇2線模式,接高電平時選擇3線模式。將MODE引腳通過R15接地,因此選擇的是2線接口。2線模式類似于I2C接口,但是它不是一個完整的I2C接口,因為WM8978只支持寫操作,不支持讀操作。在讀取寄存器的數(shù)值修改后需要再回寫時,可以通過將WM8978所有寄存器的值保存在一個內(nèi)存鏡像(數(shù)組變量)中來實現(xiàn)讀寄存器的功能。每次修改WM8978的寄存器時,同時修改這個內(nèi)存鏡像。當讀WM8978寄存器時,直接返回內(nèi)存鏡像中的值。
圖3 WM8978芯片及外圍電路
WM8978具有同時放音和錄音功能,但是STM32的I2S接口是個“跛子”,同一時刻只能選擇一個方向傳輸數(shù)據(jù)。標準的I2S接口的CODEC芯片(比如WM8978)具有2個獨立的數(shù)據(jù)引腳,1個是模擬數(shù)字轉(zhuǎn)換數(shù)據(jù)寄存器,用于錄音;1個是數(shù)字模擬轉(zhuǎn)換數(shù)據(jù)寄存器,用于放音。鑒于STM32的I2S接口只有一個數(shù)據(jù)引腳,因此增加了軟件可控制的錄音和放音切換電路。如圖3所示,SN74LVC1G125是一個單路數(shù)字切換開關(guān)。開關(guān)控制端輸出使能(output enable,OE)=0時,Y=1A;開關(guān)控制端OE=1時,Y=高阻。OE=0為錄音狀態(tài)。WM8978的ADCDAT引腳通過SN74LVC1G125連接到CPU的I2S2_SD引腳。OE=1為放音狀態(tài)。CPU的I2S2_SD引腳連接到WM8978的ADCDAT,WM8978的ADCDAT引腳和CPU的I2S2_SD引腳隔離,避免干擾I2S2_SD引腳上的音頻數(shù)字信號。為了節(jié)約CPU的通用輸入/輸出(general purpose input/output,GPIO)資源,SN74LVC-125的OE引腳由WM8978的WM_GPIO1控制。WM_GPIO1可以通過給WM8978發(fā)送命令設(shè)置為高或者低,從而實現(xiàn)錄音和放音的切換。
WM8978復位之后,WM_GPIO1處于輸入狀態(tài),R121上拉電阻的設(shè)計保證了SN74LVC1G125的Y輸出腳在上電后處于高阻狀態(tài),從而避免和CPU的PB15引腳沖突。
R122限流電阻的設(shè)計保證了即使軟件設(shè)計存在漏洞(即SN74LVC1G125的Y腳輸出使能,CPU的PB15輸出使能,會造成2個輸出信號短路)也不會導致硬件損壞。
SPKVDD為WM8978內(nèi)部揚聲器功率放大器的供電電源,可以比3.3 V略高(不能超過6 V),以提高驅(qū)動功率。
2.4 藍牙通信
該部分選擇廣州匯承信息科技有限公司的HC-05藍牙收發(fā)模塊,這是一款完整的低功耗藍牙無線解決方案,其采用CSR BC4+8 MB Flash,具有PIO0-PIO11、AIO0、AIO1、USB、PCM、UART及SPI接口,功能強大,用戶可定制軟件,適用于各種藍牙設(shè)備,內(nèi)置了射頻(radio frequency,RF)天線,易于調(diào)試。
該部分電路的設(shè)計原理圖如圖4所示,模塊通過通用非同步接收轉(zhuǎn)換器(universal asyncronous receiver transmitter,UART)端口與STM32F303處理器的I2C接口進行連接進行串口數(shù)據(jù)收發(fā)。由于I2C接口的輸出端是漏極開路或集電極開路,所以必須在接口外接上拉電阻,而上拉電阻的可選擇范圍很寬,需要根據(jù)功耗、信號上升時間等具體確定。當I2C總線工作在標準模式下時,上拉電阻典型值為10 kΩ,但在實際應用中不能簡單地照搬這一設(shè)置,以避免對I2C速率和抗噪性能的影響,需要考慮各種工作模式下對時序的要求而定。標準模式下,100 Kbit/s總線的負載最大容限≤400 pF;而快速模式下,400 Kbit/s總線的負載最大容限≤200 pF。根據(jù)具體使用情況、PCB的走線距離等因素以及標準的向下兼容性,設(shè)計中以快速模式為基礎(chǔ),即總線負載電容<200 pF,傳輸速度上限值400 Kbit/s。當藍牙芯片供電電壓為5 V時,RPmax選擇范圍為1.8~7 kΩ,I2C上拉電阻取值為5.6 kΩ。
圖4 HC-05藍牙模塊部分原理圖
以硬件電路為基礎(chǔ),開發(fā)軟件算法對所采集的信號進行處理是當前常用的設(shè)計手段之一[6-8]。在強背景噪聲下提取用戶語音的裝置設(shè)計中,采用了小波神經(jīng)網(wǎng)絡(luò)對所采集的信號進行后續(xù)處理。小波神經(jīng)網(wǎng)絡(luò)借助小波特性對信號進行多分辨分析,同時又利用了神經(jīng)網(wǎng)絡(luò)所具有的非線性映射和自組織學習能力[9-11]。小波神經(jīng)網(wǎng)絡(luò)已經(jīng)被廣泛地應用于人工智能識別、信號分類等問題的分析與處理中。在本項目中,使用了一種具有領(lǐng)導機制的改進粒子群算法,將其應用于小波神經(jīng)網(wǎng)絡(luò)的權(quán)值訓練,構(gòu)架小波神經(jīng)網(wǎng)絡(luò)分類器,并用于強噪聲背景下語音信號的提取[5]。
本項目在利用軟件算法進行信號分析的過程中,首先對硬件電路采集的包含有強背景噪聲的原始語音信號進行預離散采樣和量化,將原始信號分割為數(shù)據(jù)幀。接下來,采用Morlet母小波為小波基函數(shù)構(gòu)造小波神經(jīng)網(wǎng)絡(luò);設(shè)定網(wǎng)絡(luò)的輸入層、隱含層和輸出層的神經(jīng)元個數(shù)。定義每個粒子的位置向量為present(i)=[w1,w2,…,wk,a1,a2,…,ak,b1,b2,…,bk],其中k為隱含層神經(jīng)元個數(shù),i為初始化粒子數(shù)目。隨后,第d次迭代后網(wǎng)絡(luò)實際輸出和理想輸出間的誤差平方和被定義為粒子適應度函數(shù)J(d),即
式中,D為最大迭代次數(shù);n為粒子群中粒子個數(shù),總數(shù)為N;p為神經(jīng)網(wǎng)絡(luò)輸出單元個數(shù),總數(shù)為P,與神經(jīng)網(wǎng)絡(luò)設(shè)計相關(guān)。
完成上述過程后,通過算法進行尋優(yōu)。在尋優(yōu)過程中,判斷是否達到終止條件,當找到最優(yōu)結(jié)果后,輸出正確極值及對應的小波神經(jīng)網(wǎng)絡(luò)參數(shù)。
該系統(tǒng)對實時采集的語音信號進行音頻護理后,由藍牙通信模塊發(fā)送至另一套系統(tǒng)上,經(jīng)過音頻處理將該語音信號通過耳機進行外放,外放效果良好。初步實現(xiàn)了經(jīng)硬件電路設(shè)計完成對強噪聲背景下語音信號的采集、傳輸和接收。
[1]程長.基于藍牙的語音信號傳輸系統(tǒng)設(shè)計[D].長春:吉林大學,2010.
[2]司永衛(wèi).實時語音傳輸系統(tǒng)的設(shè)計與軟件實現(xiàn)[D].成都:成都理工大學,2011.
[3]楊庭棟.多媒體處理器PXA310在智能手機中的應用研究[D].上海:上海交通大學,2010.
[4]趙鴻圖.改進粒子群算法的小波神經(jīng)網(wǎng)絡(luò)語音去噪[J].計算機測量與控制,2013(10):2 799-2 800.
[5]丁德紅,劉亞波.嵌入式系統(tǒng)中的IIS音頻接口技術(shù)[J].單片機與嵌入式系統(tǒng)應用,2009(2):25-28.
[6]張偉,師奕兵,周龍甫,等.基于改進粒子群算法的小波神經(jīng)網(wǎng)絡(luò)分類器[J].儀器儀表學報,2010(10):2 203-2 209.
[7]李文正.基于IIS總線的嵌入式音頻系統(tǒng)的設(shè)計[J].軟件,2010,31(12):55-60.
[8]張偉,師奕兵,周龍甫,等.基于改進的粒子群—小波神經(jīng)網(wǎng)絡(luò)的固井質(zhì)量智能評價[J].信息與控制,2010,39(3):276-283.
[9]張偉.陣列聲波測井儀研制及測井數(shù)據(jù)處理方法研究[D].成都:電子科技大學,2010.
[10]佘俊,高東慧,田雨波,等.微帶天線諧振頻率的小波粒子群小波神經(jīng)網(wǎng)絡(luò)建模[J].電子測試,2013(9):17-18.
[11]王帥,耿也,舒奎.基于linux的UDA1341語音驅(qū)動及應用[J].科技信息(學術(shù)研究),2008(36):16-18.
(收稿:2015-05-06 修回:2015-08-11)
Design of hardware device for near-distance speech communication system under high noise background
HAO Da-peng1,FU Feng2,ZHOU Long-fu1
(1.Medical Engineering Department,General Hospital of Chengdu Military Area Command,Chengdu 610083,China; 2.School of Biomedical Engineering,the Fourth Military Medical University,Xi'an 710032,China)
Objective To design a set of hardware devices to solve the problems in collecting speech signal under high noise background,filtering background noise and near-distance signal transmission.Methods With STM32F303 processor and ISS audio bus,audio playback module was used to process the acquired speech signal.Then digital signal was transmitted via Bluetooth.The designed hardware device and the processed signal provided foundations for an improved wavelet neural network to extract speech signal.Results The speech signal under high noise background could be collected by the designed hardware device.Then with an audio convert,the speech signal was transmitted by Bluetooth and broadcasted through the headset of the device.Conclusion The device can acquire speech signal,filter out background noise and achieve near-distance transmission.[Chinese Medical Equipment Journal,2015,36(11):23-26]
hardware design;ISS bus interface;speech signal collection;audio recording and playing;Bluetooth transmission
R318.6;TN914
A
1003-8868(2015)11-0023-04
10.7687/J.ISSN1003-8868.2015.11.023
郝大鵬(1984—),男,工程師,主要從事醫(yī)療設(shè)備維護與保養(yǎng)方面的研究工作,E-mail:27811159@qq.com。
610083成都,成都軍區(qū)總醫(yī)院醫(yī)學工程科(郝大鵬,周龍甫);710032西安,第四軍醫(yī)大學生物醫(yī)學工程學院(付 峰)
付 峰,E-mail:fengfu@189.cn