陳 咪
(中國電子科技集團公司第七研究所,廣東 廣州 510220)
在無線通信系統中,語音通信業務是最基本的業務保障。由于無線信道具有不穩定性,無線傳輸存在帶寬的限制和距離的要求,必須對語音數據信息進行壓縮。高效率、低速率的語音編解碼方案既能保證無線語音通信的質量,又能降低對無線通信傳輸速率的要求。本文介紹一種基于語音處理芯片TLV320AIC29及WT3080的語音編解碼設計方案,通過ZYNQ7015的軟件,能夠獲得低至2.4 kb/s的語音聲碼話數據。
語音信號編解碼系統實現的功能包括語音信號模數/數模轉換、語音信號壓縮編碼及語音信號采集。為了使系統具有擴展性,本設計方案選擇獨立的語音處理芯片分別完成模數轉換及編碼壓縮功能。語音編解碼系統設計如圖1所示。

圖1 系統設計示意圖
為了支持全雙工通信,系統設計分為發送處理和接收處理兩部分。發送部分將模擬話音采樣,進行壓縮編碼,之后送至無線通信協議棧發送。接收處理部分從無線通信協議棧接收話音數據,先將壓縮的話音數據進行解碼,之后將解碼后的數據轉換為模擬話音。
TLV320AIC29的功耗和采樣率為線性正比例關系,配置TLV320AIC29的采樣率為8 kb/s,既能滿足WT3080壓縮編碼所需的采樣數據,又能兼顧芯片的功耗[1]。國際電信聯盟(International Telecommunication Union,ITU)將話音質量等級分為5級,為了滿足話音質量3級的要求,語音信號壓縮編碼后的速率為2.4 kb/s。系統設計參數如表1所示。

表1 系統設計參數
硬件連接關系如圖2所示。由于ZYNQ7015的可編程邏輯(Programmable Logic,PL)側IO數目較多且可以使用軟件配置,因此TLV320AIC29以及WT3080均連接在ZYNQ7015的PL端,通過片內總線與可編程系統(Programming System,PS)進行通信。TLV320AIC29的工作時鐘由ZYNQ7015的PL經過MRCC端口輸出提供,便于軟件配置。根據芯片手冊,WT3080的工作時鐘采用的固定的16.384 MHz,由外部晶振提供。

圖2 硬件連接圖
可編程邏輯與TLV320AIC29的接口包括電源、復位、配置SPI接口及數據SPI接口。其中,配置SPI接口用于設置TLV320AIC29的工作參數,數據SPI接口用于完成采樣數據的收發。TLV320AIC29的工作主時鐘由ZYNQ7015的PL提供,時鐘頻率為16.384 MHz。
語音編解碼系統軟件架構設計如圖3所示。PS的軟件分為應用層和驅動層,其中應用層根據系統功能完成語音處理芯片參數設置及語音數據讀寫,驅動層完成接口時序及PL的中斷響應[2]。PL的軟件分為接口時序模塊和數據緩存模塊,其中接口時序模塊完成串口及SPI接口的時序信號產生,數據緩存模塊以FIFO的形式完成芯片與PS間的數據速率匹配[3]。

圖3 軟件架構設計
數據的讀寫由PS發起,數據讀寫軟件的運行狀態分為發送狀態和接收狀態[4]。其中,發送狀態是指從MIC獲取話音數據進行壓縮編碼,經由無線信道傳輸,接收狀態則與發送狀態相反,從無線信道獲取數據進行話音數據解碼。解碼后的數據進行數模轉換,轉換后的模擬信號經過放大,通過聽筒進行播放[5]。以系統處于發送狀態為例,數據處理流程如圖4所示。

圖4 發送狀態數據處理流程
采集語音數據時,TLV320AIC29芯片首先完成語音數據的模數轉換,以8 kS/s的采樣率采集16 bit位寬的話音數據。PL接收SPI的數據至緩存FIFO。FIFO設計為寬度16 bit,深度為512,FIFO滿時產生中斷信號至PS。PS中斷響應函數通過AXI總線進行FIFO數據的讀取[6]。PS讀取完畢512深度的數據后,進行一次壓縮編碼,之后將讀取的話音數據經過AXI總線發送至PL的WT3080數據緩存FIFO。PL通過串口將話音數據發送至WT3080,WT3080完成壓縮編碼后將2.4 kb/s的聲碼話數據發送至PL。PL將接收的數據存儲至FIFO。FIFO滿時產生中斷信號,PS響應中斷信號,讀取壓縮編碼的數據,將數據發送至無線空口[7,8]。
系統處于接收狀態時,數據處理流程與發送狀態相反。
采用頻率1 kHz的單音信號進行測試。測試信號由標準音頻信號源產生。將軟件采集的數據導出,通過MATLAB進行頻域分析。實際采集數據的頻域曲線如圖5所示。由圖5可以看出,本設計方案采集的數據的信噪比符合設計要求。

圖5 1 kHz單音信號的頻域
本文給出了一種適合窄帶無線通信的語音數據編解碼的設計方案。該設計方案采用低功耗專用芯片配合軟件編程實現了低速率語音數據采集及編解碼,從信源側降低了對無線通信傳輸能力的要求。未來通過軟件編程,可進一步配置編解碼系統的工作參數,滿足不同窄帶無線通信系統對語音業務的要求。