高效率多通道語音記錄系統的研制
介紹一種采用一片TMS320C542實現4路電話壓縮的話音處理卡,對處理卡硬件結構和RPE-LTP算法及DSP實現作了敘述,最后提出一種基于該處理卡的語音記錄系統的構想。
??? 關鍵詞: 語音記錄器 語音編解碼 數字信號處理器(DSP)規則脈沖激勵-長時線性預測(RPE-LEP) ADPCM算法
??? 多通道的語音記錄和回放系統有著廣泛的應用背景,主要應用在語音記錄、話音檔案、數字語音存儲等領域。隨著計算機性價比不斷提高和應用的普及,由計算機管理的語音系統越來越受到重視。
??? 傳統的多通道語音記錄系統,過去由于受到DSP運算能力和價格的限制,一般采用ITU-G.726建議書提出的ADPCM作為壓縮語音的算法。該算法運算量少,最低碼率為16kb/s,但低碼率時語言質量較差。近年來DSP的性價比不斷提高,這使性能更好的語音壓縮算法可以應用于多路語音壓縮系統。本項目采用了美國德州儀器(TI)的DSP芯片TMS320C542PGE-40,完成了在GSM系統中使用的規則脈沖激勵-長時線性預測(RPE-LTP)算法,實現了高效率的多通道語音記錄系統。
??? 本系統具有面向應用的配置和靈活的擴展接口。由配置的不同,系統可支持4~8路話音處理。系統采用ISA總線與PC機接口。為了加強業務擴展能力,卡上保留一個外部接口,可用于功能擴展。在無擴展部分時支持4路話音處理。
??? 1 硬件結構
??? 硬件框圖如圖1所示。系統硬件包括’C542、擴展RAM、ISA總線接口、模擬接口、擴展接口(虛線框中部分)五大部分。其中,模擬接口(ADC)為TMS320AC01,擴展RAM為TC55B8016,兩者都是TI的產品。FIFO為IDT公司的IDT7201。
??? ’C542是系統的核心部件,它的功能是進行底層硬件的管理和語音數據的壓縮。’C542是TI公司于1995年推出的面向移動通信的新一代產品。它采用改進的哈佛體系結構,集成了許多并行處理單元,使它特別適合完成高復雜度的算法。本系統采用的’C542具有40MIPS的運算能力。’C542還具有幾種高效的片內外設:1個64K×16的并口,2個同步串口,1個8位的主機接口(HPI)和1個定時器。它能響應5個中斷,具有總線掛起功能。’C542豐富的片內外設極大地減省了片外電路。
??? 模擬接口由以主從方式級連在一起的四個’AC01組成,這四個ADC掛接在’C542的串口0上,如圖2所示。因為四路輸入電路相同故只完整畫出一路。此時’C542的同步串口工作在觸發模式,即:數據的傳輸由’AC01主動觸發。四個’AC01通過FSD信號(類似于接力棒)以時分復用方式與串口通信。首先,主’AC01發出幀同步脈沖,傳輸一個采樣點。串行傳完16位信息后,主’AC01通過FSD信號通知第一個從’AC01開始傳數,同時觸發幀同步。第一個從’AC01傳完一個樣值后通知第二個從’AC01,依此類推。待四個ADC都傳完第一個樣值后再在由主’AC01傳輸第二個樣值,如此循環。在傳入’C542的16位信息中,高14位是2進制補碼形式的樣值。低2位為00時表示該值是由主’AC01傳入,為01表示該值是由從’AC01傳入。DSP程序根據這一點區分各路語音數據。由圖2可見’C542串口的收、發幀同步信號(FSR、FSX)被接在一起,所以,’C542在收到一個數據的同時也向當時發數的’AC01發出一個數據。’AC01將收到的數據通過它的DA部分轉變成模擬量。
??? ’AC01前端的電路為輸入整形電路。Vi首先經過一個低通濾波器,然后通過電壓跟隨器被運算電路分解成兩個差分分量in+,in-。其中in+=Vm+Vi/2;in-=Vm-Vi/2。’AC01工作在+5V,Vm是它提供的中值電壓:Vm=2.5V。在輸入前端Vi已被限制在±5V的范圍。
??? 在整個系統中,PC作為數據存儲器和人機交換信息窗口,它的作用是存儲數據和管理整個插卡運行,在系統的初始化階段PC機還要為DSP裝載程序。PC與’C542的接口部分由ISA總線和’C542的主機接口HPI組成。HPI是’C542的片內外設,它為’C542內部的一段2K字的RAM提供一個窗口,主機通過此窗口可以直接訪問這段RAM。可見,這段2K字RAM的作用就相當于傳統片外片擴展的雙口RAM。因為HPI的RAM在DSP片內,所以它能提供更高的讀寫效率。同時主機接口作為一個’C542的部件,它還能用來中斷主機和接受主機中斷,’C542還有HPI的bootload方式。在本系統中,主機首先用’C542的HPI bootload方式將程序載入’C542中,并讓它運行,然后再以HPI RAM中的160字作為緩沖區來與’C542交換數據。
??? 有了上面三個基本部分,本系統已經具備了同時記錄和播放4路語音的能力。我們注意到,此時’C542的潛力還沒有得到充分的發揮。實際上,4路GSM編解碼(這種情況不常用)僅用掉約20MIPS的運算能力,為其運算能力的一半。另外,并口、串口1、定時器等片內外設都沒有使用。圖1的虛框內的部分用來擴展這部分資源。
??? 擴展RAM是16K字的SRAM。它直接掛在’C542的地址、數據總線上,可以實現0等待周期讀寫。擴展接口是板外電路訪問板上資源(包括并口、串口1、定時器、中斷等)的途徑。利用這兩個部件可以進一步提高本卡處理語音的能力;它能同時壓縮8路語音,或者它還能完成數據搬移、轉儲、分析等功能。
??? 2 RPL-LTP算法
??? 我們采用的語音編碼算法是RPE-LTP法,具體算法在ETSI-G.06.10中規定。它要求的采樣率為8kHz,采樣精度為13位,算法的原始碼率為104kb/s,編碼碼率是13kb/s,MOS分為3.6,編解碼延遲為。這種算法與傳統的多路語音記錄系統所采用的ADPCM算法相比具有非常良好的語音回放質量。在ITU-G.726,ADPCM算法當碼率為32kb/s時MOS分為4;當碼率為24kb/s時MOS分為3.2;當碼率為16kb/s時MOS分僅為2。相應地這種算法較ADPCM算法復雜,它是一種混合編碼:它既利用了語音信號的相關性進行參數編碼,又利用了激勵源信號的幅度特性進行波形編碼。另外,還利用人耳的聽覺特性,進一步消除語音信號中的主觀冗余度。在我們的實現中,其運算復雜度為4.7M,IPS(編解碼),所用程序、數據存儲空間分別為2K和1.2K。單純地從運算能力上看,單片’C542可以壓縮近8路語音。因此可以預測,在多路語音記錄系統設計中,隨著DSP性價比的不斷提高,一些碼率低、語音質量好的壓縮算法將逐漸取代ADPCM算法。
??? RPE-LTP算法的流程如圖3。
??? 3 軟件設計
??? 軟件部分包括DSP編程和PC編程。DSP編程的主要任務是初始化、管理板上的資源和完成語音編解碼算法。PC編程則重點在管理DSP操作和應用層軟件編寫。DSP與PC之間的軟件接口則是一套自定義的“通信協議”。
??? DSP程序首先初始化’C542和模擬接口,使四個’AC01按照時分復用的方式傳輸四路語音的樣值。在一幀語音?20ms?之后的中斷中,服務程序首先將4路語音數據分開,分別存入四個緩沖區,然后調用編碼程序依次編碼。編碼程序為每路語音數據保留一個緩沖區,用來保存其中間結果以備下一幀使用。編碼完成后程序將壓縮碼流寫入HOI ? RAM中,同時中斷主機,主機讀出碼流后存儲。解碼過程相對簡單,主機按幀將碼流寫入HPI RAM,’C542解碼后放入輸出緩沖區,同步串口依次將該幀的數據以采樣率速度傳給’AC01回放。待一幀傳完后,’C542的中斷服務程序通知主機傳輸下一幀碼流。
??? 系統中多路語音的有無是隨機的,因此在壓縮算法之前加入了話音的存在性檢測單元。可有兩種選擇,一種是手工方式,即程序檢查一個硬件狀態位,它是在人工干預下觸發(如摘機);另一種方式是利用程序進行話音的活性檢測,它利用語音區別于噪聲的性質檢測語音的存在性。具體算法在ETSI-G.06.32中規定。在每幀的樣值和碼流的頭部標識出該幀是否存在。
??? PC方的編程則包括DSP接口部分和應用層編程部分。在PC程序的開始,與DSP接口部分的程序先調用初始化函數將DSP程序下載到DSP中。由于HPI RAM只有2k字而DSP程序大于2k字。所以初始化程序須首先在DSP中載入一個很小的自舉程序,然后通過自舉程序一段一段地把全部程序載入DSP。初始化完成后,與DSP接口部分程序再按自定義的“通信協議”在指定位置讀出DSP處理結果幀或DSP的請求幀,并將它交給上一層(應用程序)處理。應用程序亦通過與DSP接口部分程序向DSP發出各種命令。
??? 上層應用程序是用戶使用系統的界面,它提供語音數據庫管理和系統管理兩項功能。語音數據庫管理包括語音的錄入、分類、監聽、回放等。由于硬盤空間有限,語音數據庫還要定期備份、清理。這部分功能是系統的重點,它應能使用戶以最便捷的方式管理信息。系統管理則包括設置、讀取系統狀態。它的目標是讓用戶能有效地控制系統的操作,及時獲得系統的運行狀態。
??? 4 基于本處理卡的話音記錄系統
??? 在某些關鍵崗位,如廠礦的指揮室、遠洋輪船的指揮室、音訊服務臺,為了跟蹤事故和提高工作人員的責任感,利用本卡可以對其話音進行記錄。利用卡中’C542的剩余處理能力可以提供諸如說話人識別、數據分析等功能。另外,利用該卡的擴展接口還可以完成數據搬移的功能,如將遠洋輪船或戰地指揮部的全球定位數據(GPS)存入微機,以供處理。
??? 圖4是一個實用的處理卡。該卡可以同時記錄四路電話信息和撥入、撥出的電話號碼。FIFO是回放話音時的緩沖區。同時利用RS232電路把本機信息傳出或接受串行信號。
??? 綜上所述,本處理卡是建立在PC機上的一個語音記錄、管理系統。系統設計中采用了模塊化的方式,用戶可根據需要制定系統。由于DSP程序由主機下載,系統容易升級和增加功能。因次,它具有廣泛的應用前景。
評論