姚引娣
(西安郵電學院通信與信息工程學院,西安 710121)
我國是一個地質災難頻發的國家。地質災難發生頻率、強度不僅直接對人民生命財產造成巨大損失,而且造成的二次災難影響不可忽略,例如,因供電網絡癱瘓造成的大面積停電事故進而造成社會的巨大損失[1]。因此,在出現地質災難時,建立一套緊急通信系統是非常必要和緊迫的。由于地質災難往往導致常規通信網絡設備失效,目前應急通信主要依靠衛星電話或對講機系統。然而,衛星電話設備費用及日常資費均偏高,因此一般單位很少配備。而對講機[2]只能實現半雙工通信,即發起方在說話時聽不到其它人的語音,而且通信雙方時常因為搶話而難以順利溝通。如果多人同時搶話,將造成系統無法正常通信。因此需要一種更好的應急通信方案來解決目前的困境。文獻[3]提出一種基于Ad Hoc的語音多播系統,文獻[4]提出一種基于SIP協議的實時語音通信,但是它們均需要中心服務器進行處理,系統設計復雜,靈活性差。
針對以上問題,本文提出一種采用無線Ad Hoc網絡的嵌入式系統[4-6]。該系統以TI公司的OMAP5912芯片作為核心處理器,以Linux系統作為軟件開發平臺,通過G729a[7]語音編碼算法節省頻帶需求,通過動態語音解碼算法實現多人同時進行通話的目的。
考慮到系統的便攜性,系統采用嵌入式方式進行設計,選用TI公司的OMAP5912作為核心處理器,它在滿足系統處理能力的同時具有低功耗特點。為了實現應急無線多方通話系統,系統重點考慮兩個關鍵問題:支持隨時隨地通信功能和無線多方話音通信功能。
針對第一個問題,一般可以采用無線WiFi模塊的嵌入式話音通信方式來實現隨時隨地通信需求。采用WiFi模塊組網的系統支持兩種組網模式:基于AP方式的組網模式和基于Ad Hoc方式的組網模式。由于基于AP的組網模式需要一個中心節點負責轉發和處理系統內部各成員之間語音信息,一旦該節點失效,整個系統將無法工作。而基于Ad Hoc組網模式的用戶進行語音通信不需要中心節點轉發,相互之間地位平等,可以直接進行通信。因此,本系統采用基于Ad Hoc的組網模式進行無線組網。
針對第二個問題,系統需要采用組播方式進行設計。考慮到在環境惡劣的條件下系統的帶寬有限,為了容納更多的用戶,需要采用合適的語音編解碼算法以進一步降低單個用戶的帶寬需求,從而提高系統用戶的容量。結合系統的話音質量以及算法的復雜度設計,本系統采用G729a語音編碼算法,同時提出動態多用戶語音解碼算法以滿足多用戶話音通信。
根據上面的分析,本文分別從系統硬件和軟件進行設計,以達到多方話務應急通信的目的。
系統結構如圖1所示,包括OMAP5912處理器、耳麥模塊、WiFi網卡、鍵盤和顯示器。其中,OMAP5912負責運行處理語音編解碼算法、混音技術、無線組網;耳麥模塊負責對話音數據的采集和播放;WiFi網卡負責完成通信雙方的數據交換;小鍵盤負責對系統的控制。顯示屏提供系統狀態信息。

圖1 系統結構原理圖Fig.1 Schematic diagram of system
耳麥模塊主芯片選用TI公司的AIC23芯片,它提供語音信息模數轉換和數模轉換。本系統采用16位的話音數據格式,采樣頻率采用8 KHz。如圖2所示,通過OMAP5912的I2C接口完成對AIC23的可編程設置。OMAP5912與AIC23的音頻數據通過OMAP5912的MCBSP接口完成。

圖2 AIC23基本電路圖Fig.2 Basic circuit of AIC23
LCD顯示器選用SHARP公司的LQ035Q7DB03,OMAP5912通過專用LCD接口與其連接。考慮到LCD控制模塊輸出的信號時序與LQ035Q7DB03的接口不匹配,故用SHARP公司與之配套的LCD驅動芯片LZ9FC22進行轉換,從而實現OMAP5912與實現與LQ035Q7DB03的無縫連接,硬件電路如圖3所示。

圖3 OMAP5912與LCD接口電路圖Fig.3 Interface circuit of OMAP5912 and LCD
系統的無線通信模塊采用基于RT73芯片的無線WiFi網卡,它工作在2.4 GHz的 ISM頻段,負責完成各用戶之間語音和數據信息的交換。它與CPU之間通信通過USB接口實現。
系統小鍵盤通過OMAP5912專用8×8 I/O接口與OMAP5912連接,通過微處理器輸入輸出單元(Microprocessor Unit Input/Output,MPUIO)控制完成鍵盤輸入。其中,MPUIO的KBR-LATCH為鍵盤行輸入,KBC-REG為鍵盤列輸出,通過對這兩個寄存器進行讀寫,可以進行行/列的掃描。本設計采用中斷和掃描相結合的方法實現4×5鍵盤驅動,從而有效節省系統資源,提高使用效率。
本系統軟件平臺采用Linux2.6.29操作系統。系統主程序結構圖如圖4所示。在完成系統初始化設置后,先建立基于Ad Hoc的無線組播網絡,然后利用QT界面控制技術實現整個系統的控制和管理。系統按功能模塊可以劃分為語音處理模塊、無線通信模塊、鍵盤處理模塊和圖像顯示模塊。

圖4 系統主程序結構圖Fig.4 Structure of system main program
由于無線通信模塊、鍵盤處理模塊和圖像顯示模塊相對簡單,這里不一一分析,本文重點研究語音處理模塊的實現。語音處理包括語音編碼及發送處理部分和多用戶語音解碼及混音回放兩部分,如圖5所示。語音編碼及發送處理部分首先將AIC23聲卡采集到的數據緩存到buffer單元,然后采用G729a語音編碼算法進行語音編碼處理,它以每10 ms(80個語音樣本)為一個處理語音幀,對語音信號分析并提取各種參數(線性預測濾波器參數、自適應碼本和固定碼本的索引、自適應碼本增益和固定碼本增益),最后把這些參數編碼輸出到WiFi發送緩存空間,由WiFi發送模塊將數據發送出去。考慮到G729a語音解碼算法在處理每幀語音數據時,需要前視后一幀的數據,如果某個話路前視的是別的話路的數據,將影響本話路的編碼,從而破壞每個話路幀與幀之間的聯系。故G729a算法一般只適合單一用戶數據處理。因此,在實現多用戶語音解碼及混音回放時需要改進原有G729a語音解碼算法。

圖5 語音編解碼處理流程Fig.5 Flow of voice encoding/decoding processing
考慮到實際多人語音通信時,同時說話的人并不多,否則大家都聽不清楚誰說的話。如果系統在語音解碼設計部分對每一個人都建立解碼通道并進行實時譯碼,一方面會增加系統資源開銷,另一方面也會增加系統CPU的處理負擔,因此本文提出一種動態多用戶語音解碼算法來達到支持多用戶實時語音解碼目的。
動態多用戶語音解碼算法首先建立多用戶話音處理通道,并完成初始化多通道話音處理參數工作,然后對接收到的WiFi數據包提取用戶ID信息和語音信息。根據輸入用戶ID信息判斷當前幀是否與前一幀用戶一致,如果一致,則繼續進行語音解碼;如果不一致,先判斷是老用戶信息還是新用戶信息。如果收到語音信息包屬于已創建的用戶,則調出對應老用戶參數信息表進行解碼;如果屬于新用戶的,則創建新用戶話音解碼通道,然后進行話音解碼。完成語音處理后對現存語音通信用戶進行判決處理,如果占用語音譯碼處理通道的用戶一段時間沒有通話,就釋放該用戶信息,以便接納新的語音通話用戶。
對于G729a多用戶解碼器輸出的多用戶語音信息,采用混音處理算法進行處理,然后通過AIC23聲卡回放,從而實現多用戶語音通信功能。
系統無線網絡采用基于Ad Hoc的MOLSR協議進行組網。系統的AIC23聲卡采用16 bit單聲道采樣。這里主要驗證系統的組網能力以及語音通信的效果。
為了驗證系統的組網能力,先測試系統的吞吐率,它是多用戶語音通信得以實現的前提。這里采用Netperf軟件進行分析,測試表明基于UDP的傳輸速度,兩點間的平均速度可達3.4 Mbit/s。對于語音通信而言,基于AIC23芯片的語音通信采樣頻率是8 KHz,采用16 bit單聲道采樣,所需帶寬為128 KHz。而G729a的壓縮率為16∶1,故所需帶寬僅為8 KHz。因此,該無線網卡支持多用戶通信。
然后對語音音質進行測試,這里利用由Cooledit2000軟件進行分析,如圖6所示,原始語音和采用G729a語音編解碼處理后的語音波形基本一樣,從音質效果上看,語音清晰,達到MOS=4的語音測試水平。

圖6 多用戶G729a語音解碼處理流程圖Fig.6 Flowchart of multi-user G729a voice decoding processing
最后對系統語音延遲進行測試,無線傳輸時語音數據每次發送4幀數據,每幀包含10 ms語音數據,系統整體延時約為60 ms,聽者基本感覺不到延遲效應。
本文設計了一套多用戶實時語音通信系統。通過動態多用戶語音解碼算法有效解決了多用戶話音處理與用戶容量關聯較大的問題,實現了系統多點對多點語音實時處理。利用WiFi模塊實現Ad Hoc組網有效地發揮系統組網快捷、靈活等特點,提高了系統的靈活性。利用OMAP5912嵌入式平臺發揮了系統低功耗的特點,為應急通信提供了可靠的保障,系統具有重大的研究價值與廣闊的應用前景。
[1]趙建青,尹項根.廣東110kV電網大面積停電問題的分析及解決方案[J].電力自動化設備,2003,23(8):82-84.ZHAO Jian-qing,YIN Xiang-gen.Analysis and solution to wider area outage of Guangdong 110kV power grid[J].Electric Power Automation Equipment,2003,23(8):82-84.(in Chinese)
[3]Lu Han,Smaldone S,Shankar P,et al.Ad-hoc voicebased group communication[C]//Proceedings of 2010 IEEE International Conference on Pervasive Computing and Communications.[S.l.]:IEEE,2010:190-198.
[4]李振宇,李思敏.一種移動Ad hoc網絡中實時語音通信方案的研究[J].電子測量與儀器學報,2009,23(5):40-45.LI Zhen-yu,LI Si-min.Research of solution for realtime speech communication over mobile Ad hoc network[J].Journal of Electronic Measurement and Instrument,2009,23(5):40-45.(in Chinese)
[5]林小茶,李光,金爽.嵌入式可信計算機研究[J].計算機工程與設計,2009,30(16):3730-3734.LIN Xiao-cha,LI Guang,JIN Shuang.Study of embedded trusted computer[J].Computer Engineering and Design,2009,30(16):3730-3734.(in Chinese)
[6]孫延嶺,趙雪飛,張紅芳,等.基于AR M 嵌入式系統的微型智能可編程控制器[J].電力系統自動化,2010,34(10):101-104.SUN Yan-ling,ZHAO Xue-fei,ZHANG Hong-fang,et al.Micro Intelligent Programmable Logic Controller with AR M Embedded System[J].Automation of Electric Power Systems,2010,34(10):101-104.(in Chinese)
[7]辛杰,鮑長春,賈懋王申,等.改進的符合EV-VBR標準的嵌入式寬帶語音編碼器[J].通信學報,2010,31(6):7-13.XIN Jie,BAO Chang-chun,JIA Mao-shen,et al.Improved embedded wideband speech codec fitting EV-VBR standard[J].Journal on Communications,2010,31(6):7-13.(in Chinese)