彭天偉, 凌朝東, 楊 驍
(華僑大學 信息科學與工程學院,福建 廈門 361008)
在對講機技術發展的30多年歷史中,模擬技術應用已非常成熟,關鍵器件已很可靠,能夠基本滿足現有客戶消費群體的基本需求,可以說為多種行業的發展都作出了巨大的貢獻。隨著社會經濟與科技的發展,許多政府部門、警察、公共安全、公用設施、醫療、消防及一些特殊部門等對移動終端又不斷提出了更加專業、安全、穩定、健康、便捷的要求。
早在20世紀,國外就有人將數字技術引入對講機行業。目前我國正在積極展開自主知識產權的數字對講機的研發工作,以及數字對講機協議的制定。
中國信產部于2001年12月6日宣布開放民用對講機市場,其開放的頻段為409~410 MHz,共分20個頻道,稱為“公眾頻道”共20個頻道,具體劃分如表1。

表1 公共頻帶劃分
每個頻道的帶寬為12.5 kHz,總的帶寬為12.5×20=250 kHz。由于數字對講機每個頻道的帶寬為12.5 kHz,所以要對語音信號進行壓縮算法處理,語音信號的數據碼流應該壓縮到4.8 kb/s以下。
按語音編碼速率不同劃分為:高速率編碼16~64 kb/s、中速率編碼4.8~16 kb/s、低速率編碼2.4~4.8 kb/s、極低速率編碼即小于2.4 kb/s。應用于數字對講機中的語音編碼屬于低速率編碼。
近年來,低速率語音編碼技術在研究思路上有了很大的發展[3]。低速率語音編碼算法逐漸成熟。常見的低速率語音編碼有二元激勵線性預測編碼(LPC,Linear Predictive Coding)、正弦激勵線性預測(SELP)[5]、多帶激勵(MBE,Multi Band Excited)[1,6]、混合激勵線性預測(MELP,Multi Excitation Linear Prediction)[2,7]等。
LPC[3]是最基本的低速率語音編碼方法,用清/濁2個激勵源來激勵LPC濾波器合成語音信號。LPC-10就是二元激勵線性預測編碼的典型例子。
LPC-10在無噪聲時合成語音質量主觀測試結果如表2所示。

表2 無噪聲時合成語音質量主觀測試結果
由表2得出,平均就得分意見(MOS,Mean Opinion Score)僅為2.5,說明合成語音質量不能讓人滿意;判斷韻字測試(DRT,Diagnostic Rhyme Test)為90%,說明具有比較良好的可懂性;判斷滿意度測試(DAM,Diagnostic Acceptability Measure)為55%,說明自然度及講話人的確認等方面不夠好。
LPC-10在無噪聲時合成語音質量的客觀測試平均改進巴克譜失真度(MBSD,Modified Bark Spectral Distortion)測試結果如表3所示。

表3 無噪聲時合成語音質量客觀測試結果
MBE[1,6]對傳統的二元聲碼器做了改進,主要引進了多帶的思想。碼率為4.15 Kb/s的增強型MBE聲碼器在無噪聲時合成語音質量主觀測試結果如表4所示。

表4 無噪聲時合成語音質量主觀測試結果
由表4得出,MOS僅為3.4合成語音質量達到通信質量;DRT為94%,說明具有比較良好的可懂性;DAM為65%,說明自然度及講話人的確認等方面還不是很好。
IMBE聲碼器在無噪聲時合成語音質量客觀測試平均MBSD測試結果如表5所示。

表5 無噪聲時合成語音質量客觀測試結果
MELP編碼器[2,7]在傳統的二元激勵線性預測模型的基礎上引進了多帶激勵、LPC-10e等算法的思想。新增了5個特點:多帶混合激勵、非周期脈沖、自適應譜增強、脈沖離散濾波和殘差諧波譜處。能夠在2.4 Kb/s速率上得到更高質量的合成語音。
MELP聲碼器在無噪聲時合成語音質量主觀測試結果如表6所示。

表6 無噪聲時合成語音質量主觀測試結果
由表6得出,MOS僅為3.2,說明合成語音質量達到了通信質量;DRT為94%,說明其具有比較良好的可懂性;DAM為63%,說明其自然度及講話人的確認等方面還不是很好。
MELP聲碼器在無噪聲時合成語音質量客觀測試的平均MBSD測試結果如表7所示。

表7 無噪聲時合成語音質量客觀測試結果
從表3、表5和表7可以看出,噪聲電平越大,其MBSD的值也越大,及噪聲越強,合成語音失真就越大。
通過上一節對幾種度速率語音編碼算法合成語音質量的比較,結合數字對講機通信帶寬的要求,擬定2.4 Kb/s的編碼速率,所以采用MELP算法為數字對講機的基本算法。
MELP聲碼器在經典的二元激勵LPC聲碼器的基礎上,加入了一些新的特征。這些特征使得MELP聲碼器與經典的LPC聲碼器相比可以更好的模擬人的語音,使其在低碼率下的合成語音的自然度大大提高,消除了嗡嗡聲、咔嚓聲等不自然的聲音。MELP聲碼器的語音質量可以在很低的碼率下(2.4 kb/s)達到較好的聽覺效果。
MELP編碼器的碼率為2.4 kb/s,幀長為22.5 ms,每幀數據用54 bit進行編碼。其編碼流程如圖1所示。

圖1 MELP編碼流程
首先對語音信號進行預處理,濾除工頻噪聲。預處理后的信號通過1 kz的低通濾波器濾波,對濾波信號做基音分析提取基因周期;同時對與處理信號進行分帶,分為5個子帶,分別對各個子帶做非周期標志位判斷和子帶清/濁音判決;采用 10階線性預測分析預處理信號,提取線性預測系數;采用LPC逆濾波和FFT變換提取傅氏級數幅度。
提取出參數之后,對傅氏級數幅度和 LSF進行矢量量化,最后按照一定的規定對數據組幀,發送數據。如表8所示,為MELP參數量化比特分配。

表8 參數量化比特分配
根據MELP編碼器框圖編寫程序代碼在MATLAB R2010a平臺上進行仿真,仿真波形,圖2(橫坐標的數量級為104)中采用8 Kz的采樣速率采集獲得語音數字信號,運用MELP算法進行分析合成。采用主觀測試的方法分析仿真結果,合成語音的質量達到了通信要求,能聽清楚發音和識別出說話人。

圖2 MELP仿真結果
通過前面的分析和實驗結果,MELP編碼器基本能實現數字對講機通信中的語音號處理。在試驗仿真時,雖然合成語音質量能達到通信質量,但是合成語音的背景噪聲很大,這是在正常生活讓人無法接受的。在接下來的工作應該對算法做改進。針對背景噪聲大的缺點,初步計劃對語音分析的基音周期[4]的提取算法、清音分析部分和語音合成時清音激勵源的生成部分和清音生成處理部分做改進。
[1]崔慧娟.多帶激勵低速率語音壓縮編碼算法研究及實時實現[J].電子學報,1998,26(10):129-132.
[2]劉寬海.MELP低比特率數字語音編碼技術研究[J].信息技術,2003,27(08): 52-54.
[3]何春榮.淺析語音編碼的三個發展方向[J].成都紡織高等專科學校學報,2008,25(01):33-35.
[4]胡連鋒.一種改進的強噪聲背景下基音檢測算法[J].通信技術,2009,42(12):164-166.
[5]趙海軍.低復雜度2400b/s聲碼器[J].通信技術, 2010, 43(01):121-123.
[6]王都生.多帶混合激勵低速率語音編碼的研究[D].西安:西安電子科技大學,1998.
[7]鄭魯杰.低速率語音編碼MELP算法的研究[D].成都:電子科技大學,2003.
[8]王洪.低速率語音編碼[M].北京:國防工業出版社,2006: 72-172.