基于低能耗藍牙的半雙工語音通信
2)音頻處理
本文引用地址:http://www.bjwjmy.cn/article/201605/291324.htmBlueVoice的音頻處理目的是在根據(jù)應用所選的接收端上,取得8kHz 或16 kHz的目標音頻采樣。事實上,對于低功耗要求極其嚴格但是對音質(zhì)要求不高的應用場景,例如,無需人耳聽清楚的自動語音識別服務輸入音頻,8kHz采樣率可能是一個不錯的選擇。
使用自適應差分脈沖碼調(diào)制算法壓縮低能耗藍牙音頻傳輸信號,可使音頻信號適用于現(xiàn)有的數(shù)據(jù)傳輸速率,同時最大限度縮減射頻傳輸時間以及功耗。我們使用數(shù)字MEMS麥克風設計一個全數(shù)字解決方案,尺寸和音質(zhì)等特性使其適用于無線傳感器設備。圖4所示是16 kHz采樣率的完整語音處理鏈。該解決方案首先采集數(shù)字MEMS麥克風生成的1 MHz 的1位脈沖密度調(diào)制(PDM)信號,并將其轉(zhuǎn)換成16 kHz 的16位脈沖編碼調(diào)制(PCM)采樣,然后以16000個采樣/秒的采樣率,再將其壓縮成4位ADPCM采樣信號,并準備發(fā)送。
此外,以較低的頻率發(fā)送邊信息同步數(shù)據(jù)集合,所需帶寬是64 kbps音頻數(shù)據(jù)與300 bps同步信息數(shù)據(jù)之和,總計64.3 kbps。對于8kHz采樣率,最終ADPCM采樣率是8000個采樣/秒,導致31.3 kbps帶寬需求,包括邊信息。下面章節(jié)深入介紹上述模塊。

圖4:16kHz 配置的BlueVoice數(shù)據(jù)傳輸鏈
MEMS麥克風的容性傳感器生成的模擬信號經(jīng)放大和高速率采樣后,交由整合量化和噪聲修整操作的內(nèi)部sigma-delta調(diào)制器處理,輸出的數(shù)據(jù)是一個單一的高采樣率的PDM格式比特,PCM轉(zhuǎn)換是從PDM到無線通道發(fā)送壓縮音頻數(shù)據(jù)的整個處理鏈的中間環(huán)節(jié)。為了把PDM流轉(zhuǎn)換成PCM數(shù)據(jù),需要使用一個抽取濾波器和兩個可單獨配置的濾波器(低通濾波器和高通濾波器。該處理模塊輸出16位PCM格式采樣流。按照所選采樣頻率,采用一個不同配置的抽取濾波器,以取得16位PCM數(shù)據(jù)采樣。
ADPCM編碼模塊壓縮PCM采樣,通過減少數(shù)據(jù)包傳輸量,節(jié)省傳輸帶寬,降低能耗,如前文所述,ADPCM 是一個用于損耗波形編碼的壓縮算法,其基本原理是根據(jù)上一個數(shù)值預測當前數(shù)值,只傳輸自適應量化步驟量化的實際值與預測值的差值。存在諸多可選壓縮標準,卻單單選用ADPCM標準,這是因為它是基于波形編碼方法,與基于聲碼器的復雜解決方案相比,更適用于傳感器網(wǎng)絡設備(通?;谖⒖刂破?。在BlueVoice應用中,每個16位PCM采樣都壓縮成4位ADPCM數(shù)據(jù),這樣所需的應用傳輸帶寬是32 kbps或64 kbps,至于具體速率取決于采樣頻率,而且兼容低能耗藍牙流媒體功能。
如前文所述,BlueVoice應用的總體帶寬實際需求高于32 kbps或64 kbps的理論值,這是因為BlueVoice為提高通信穩(wěn)健性,在通過通道發(fā)送數(shù)據(jù)時增加了附加信息。16 kHz 配置采用10 ms連接間隔,而8 kHz 配置采用25 ms連接間隔。事實上,如果被傳輸?shù)臄?shù)據(jù)量較少,可提高連接間隔數(shù)值,從而節(jié)省能源。為盡可能地利用每個數(shù)據(jù)包現(xiàn)有有效載荷,語音數(shù)據(jù)包發(fā)送20個字節(jié)。
因此,在16 kHz配置中,語音數(shù)據(jù)每10 ms發(fā)送4個數(shù)據(jù)包,而在8 kHz配置中,語音數(shù)據(jù)每20 ms發(fā)送4個數(shù)據(jù)包,結果傳輸帶寬分別是64 kbps和32 kbps。發(fā)送器的邊信息發(fā)送頻率較低,每160 ms發(fā)送一個6字節(jié)的附加包,對應16個或8個連接間隔。圖5描述了低能耗藍牙協(xié)議棧上的數(shù)據(jù)分組總體策略。通過音頻特征,每10ms或20 ms連接間隔,發(fā)送4個語音數(shù)據(jù)包(每包20字節(jié)),而發(fā)送器邊信息的發(fā)送是,通過同步特征,每160ms間隔發(fā)送一個附加數(shù)據(jù)包。

圖5:BlueVoice數(shù)據(jù)分組機制
C. 在實際硬件上實現(xiàn)應用
為了在支持低能耗藍牙通信的不是十分復雜的實際硬件無線傳感器網(wǎng)絡平臺上評估BlueVoice的可行性,我們在實際硬件設備上實現(xiàn)了第三章B部分所描述的應用軟件的全部功能。所選硬件平臺是意法半導體的STM32 Nucleo L476開發(fā)板[5],這是一個基于STM32L476 80 MHz 32位ARM Cortex-M4微控制器的開放式開發(fā)平臺。我們選擇STM32 Nucleo開發(fā)板的原因是,板載微控制器的性能高于普通無線傳感器網(wǎng)絡平臺,同時還具備很高的靈活性和多功能性。該開發(fā)板配備很多接口和擴展排針,插接專用擴展板擴大板子功能簡單容易,方便設計人員研究、開發(fā)和驗證新創(chuàng)意。特別值得一提的是,STM32L4微控制器具有市場領先的低功耗特性,其內(nèi)置數(shù)字濾波器配合Sigma-Delta調(diào)制器(DFSDM)外設,可實現(xiàn)圖4的PDM至PCM的格式轉(zhuǎn)換,這些特性使其特別適合BlueVoice應用。通過在STM32Nucleo開發(fā)板上接插一塊低能耗藍牙連接板和一塊麥克風擴展板,BlueVoice中央模塊和周邊模塊可以組成一個基于STM32Nucleo的對稱硬件配置,展示一個半雙工通信通道。低能耗藍牙連接板基于意法半導體的BlueNRG [6],BlueNRG是一個超低功耗的低能耗藍牙單模網(wǎng)絡處理器,兼容藍牙規(guī)范4.0版,可設為主設備和從設備模式,當?shù)湍芎乃{牙協(xié)議棧啟動時,數(shù)據(jù)傳輸最大電流8.2 mA,可降至1.7 uA。附加的麥克風擴展板用于采集語音信號,基于意法半導體的MP34DT01 [7]數(shù)字萬向MEMS 麥克風,聲學過載點120 dBSPL, 信噪比63 dB,靈敏度-26 dBFS。MP34DT01采用一個容式傳感器和一個內(nèi)置sigma-delta調(diào)制器和噪聲修整機制的集成電路,提供1-3.25 MHz的PDM輸出。
圖6是實際硬件設備的框圖:STM32微控制器通過與外設模塊DMA相連的DFSDM模塊采集麥克風的PDM采樣輸出,同時通過一套專用應用程序界面(API)和串行外設接口(SPI)與BlueNRG模塊通信,對于中央模塊和周邊模塊,模塊化架構是對稱的。框圖中還有一個USB音頻接口,用于向PC機提供重構的音頻信號。圖7是硬件設備的實際原型。
D. 性能
我們用第三章C部分描述的實際系統(tǒng)作為實驗平臺,評估BlueVoice應用的功能、存儲器占用、性能需求和ASR識別率。特別是考慮到現(xiàn)場部署一系列微型無線麥克風模塊的應用場景和低能耗藍牙本身的非對稱性(從設備-外設模塊必須尺寸緊湊且功耗極低),本章討論的性能評估主要討論 8 kHz和16 kHz兩種配置的從設備-外設模塊的功耗、存儲器占用和性能震求。此外,在接收端測量的ASR性能是另一個性能評估指標,實際上,該參數(shù)可能是語音通信的一個重要的音質(zhì)指標,對于新興的聲控應用(遙控器、物聯(lián)網(wǎng)產(chǎn)品)具有重要意義。

圖6. BlueVoice框圖

圖7:發(fā)送器和接收器原型
1) 功耗、存儲器占用和性能需求
如前文所述,我們把BlueVoice應用實現(xiàn)在一個硬件設備上,該硬件設備使用意法半導體的 STM32 Nucleo開發(fā)板充當主機,并使用低能耗藍牙網(wǎng)絡模塊充當控制設備。表1列出了在BlueVoice的廣播、連接和傳輸三個不同狀態(tài)下,主機和控制設備(STM32和BlueNRG)的功耗值。這些數(shù)據(jù)是在3.3 V工作電壓時的測量值,對8 kHz和16 kHz配置的功耗進行了比較。必須強調(diào)的是,微控制器功耗完全取決于硬件特征和低功耗配置,因此,微控制器功率是在計算總功耗時加在總功耗中與平臺相關的數(shù)值。
本表所列數(shù)值可以視為一個指示性參考值,可能會隨實際應用情況而發(fā)生變化。

表I:BLUEVOICE功耗
按照低能耗藍牙標準,在兩個節(jié)點之間建立連接前,從設備是處于廣播模式,而主設備則是進入掃描模式。當主設備收到廣播數(shù)據(jù)包,發(fā)現(xiàn)從設備存在時,就立即建立連接。在BlueVoice解決方案中,考慮到一個外設模塊對中央模塊的通信,外設節(jié)點是發(fā)送器(服務器),而中央節(jié)點是接收器(客戶機):服務器以固定周期向客戶機發(fā)送通知。對于8 kHz配置中,在廣播階段,發(fā)送器外設模塊(STM32 + BlueNRG)總平均功耗極低,只有3.50mW,當建立連接時,功耗是3.98 mW。對于16 kHz配置,廣播階段功耗是8.22 mW,而連接階段是9.48 mW。這里應著重指出的是,連接階段的功耗與連接間隔選擇關系密切,這也是8 kHz和16 kHz配置(分別是20 ms和10 ms)的主要區(qū)別。在這兩情況中,連接間隔設為接近標準規(guī)定的最小值(7.5 ms),以確保傳輸延遲最小。一旦連接建立, BlueVoice應用立即進入傳輸狀態(tài),8 kHz配置的平均功耗是10.07 mW,16 kHz配置的平均功耗是19.84 mW,因此,基于STM32 + BlueNRG的物聯(lián)網(wǎng)節(jié)點,假設電池容量是200 mAh,在連續(xù)傳送數(shù)據(jù)流時,兩種配置的理論續(xù)航時間分別是約65小時和33小時。這些功耗值表明BlueVoice方法的適用于以低能耗藍牙為載體的音頻流,特別是8 kHz配置,可大幅降低功耗。
除分析功耗外,通過考慮存儲器占用情況,我們還評估了應用的可行性。如表II所示,BlueVoice應用軟件兩種配置占用閃存空間相同(21.85 kB),但是,8 kHz配置占用13.32 kB的RAM空間,而16 kHz配置只占用7.86 kB的RAM空間。兩種配置占用RAM空間不同的原因是,為降低該解決方案的額外開銷和功耗,8 kHz和16 kHz分別每20 ms 和10 ms執(zhí)行音頻處理步驟(PDM轉(zhuǎn)PCM和ADPCM壓縮),從而導致8 kHz配置在兩個連續(xù)步驟之間存儲的數(shù)據(jù)變大。在這兩種情況中,這些數(shù)值十分符合資源受限的系統(tǒng)要求。

表II
發(fā)送端BLUEVOICE存儲器占用
2) ASR性能
BlueVoice在功耗、處理性能和存儲器占用方面表現(xiàn)出的可行性并不能保證語音信號質(zhì)量在接收端達到可以接受的水平,在BlueVoice解決方案性能評估最后,我們利用一個網(wǎng)絡ASR服務進行了大量的傳輸測試,在接收端測量ASR 性能。16 kHz USB麥克風和8 kHz/16 kHz BlueVoice系統(tǒng)以并行方式記錄若干個包含已知英文單詞的音頻采樣(作為參考),并將其傳輸?shù)紸SR引擎,表III列出了不同解決方案的單詞識別率比較測試結果。測試結果證明,ADPCM壓縮沒有降低信號質(zhì)量,因此適合ASR應用:BlueVoice 16 kHz配置的性能十分接近USB麥克風,而 8 kHz系統(tǒng)的性能稍有降低(18 %),適用于低功耗要求極嚴的應用。事實上,8 kHz系統(tǒng)以16 kHz配置50%的功耗取得了相同的ASR性能。
表III
BLUEVOICE ASR性能

IV. 結論
本文介紹一個以低能耗藍牙為載體傳送音頻流的解決方案,首先介紹一個廠商專用的半雙工通信低能耗藍牙配置文件,然后介紹BlueVoice應用設計,并討論了慮涉及設備的通信角色、音頻處理和壓縮編碼選擇、數(shù)據(jù)分組和帶寬需求。BlueVoice應用由一個中央節(jié)點和一個外設節(jié)點組成,按照所選通信方向,分別充當?shù)湍芎乃{牙的服務器和客戶機。在連接建立后,服務器按固定周期向客戶機發(fā)送通知。我們對8 kHz和16 kHz兩個沒配置進行了比較,在發(fā)送器節(jié)點上,MEMS麥克風的數(shù)字PDM格式輸出信號被采集并轉(zhuǎn)換成PCM格式,然后壓縮成ADPCM數(shù)據(jù),最終在低能耗藍牙鏈接上產(chǎn)生32或64 kbps的藍牙帶寬。該配置文件還定義一個低頻邊信息機制,雖然需要一些額外的帶寬,但是提高了錯誤抑制功能。為評估解決方案的性能, BlueVoice被實現(xiàn)在實際硬件設備上。該設備是由MEMS麥克風和STM32微控制器組成與網(wǎng)絡模塊組成的全數(shù)字系統(tǒng),前者充當主機,后者充當?shù)湍芎乃{牙控制器。本文的性能評估表明,我們提出的解決方案在功耗、處理性能和存儲器占用方面適用于低功耗語音流應用。特別是,在8 kHz和16 kHz音頻流傳輸過程中,傳感器設備的功耗測量值分別為10.07 mW和19.84 mW,存儲器占用和性能需求完全可接受。此外,我們還測量了音頻質(zhì)量指標ASR性能,8 kHz配置和816kHz配置的單詞識別率分別達到67%和82%,而16 kHz USB麥克風的識別率達到85%,這表明BlueVoice應用能夠在接收端達到非常高的音質(zhì),并具有極低的功耗。
評論