??? 摘? 要: 針對端對端保密通信中語音信號因加密隨機(jī)化而不能被聲碼器正確解碼的問題,提出了一種類語音調(diào)制解調(diào)算法,將加密語音數(shù)據(jù)調(diào)制成類語音信號后進(jìn)行傳送。介紹了算法中增益、基音周期和聲道相關(guān)參數(shù)的碼本設(shè)計(jì)方法以及參數(shù)的提取、量化和搜索的方法,并利用VC進(jìn)行仿真,通過對數(shù)據(jù)進(jìn)行比對實(shí)現(xiàn)增益、基音及聲道參數(shù)的有效還原。?
??? 關(guān)鍵詞: 類語音調(diào)制解調(diào);增益;基音;聲道參數(shù)
?
??? 目前的第二代和第三代移動(dòng)通信系統(tǒng)中采取的安全措施能在一定程度上保護(hù)用戶身份的隱私性和空中接口中傳輸信息的機(jī)密性。然而,這種通信機(jī)密性僅僅保障無線接入信道,語音信號在核心電路交換網(wǎng)中完全以PCM或者ADPCM語音的形式“裸露”傳送,存在被竊聽的風(fēng)險(xiǎn)。為了降低這種風(fēng)險(xiǎn),進(jìn)一步保證端對端通信的安全性,有必要在語音信號進(jìn)入現(xiàn)有通信系統(tǒng)之前對其進(jìn)行加密[1-2]。?
??? 語音進(jìn)入通信系統(tǒng)后,終端和網(wǎng)絡(luò)中的聲碼器會對語音信號進(jìn)行壓縮/解壓縮處理,以便有效地利用語音信道帶寬。聲碼器的工作基于人類語音的特征,語音信號在加密處理后的隨機(jī)化特性,將不滿足語音編解碼所需的語音特征,從而不被聲碼器準(zhǔn)確轉(zhuǎn)換[1-3]。?
??? 本文提出一種類語音調(diào)制解調(diào)方法,該方法能將加密處理后的語音數(shù)據(jù)比特流或者其他數(shù)據(jù)調(diào)制成類語音波形,使波形具有聲碼器轉(zhuǎn)換所需的語音特征。這樣,類語音波形就能夠通過聲碼器的壓縮/解壓縮處理過程且具有較小誤比特率。加密后的數(shù)據(jù)可以在語音通道上進(jìn)行傳輸,盡管此時(shí)傳輸?shù)氖羌用苓^的信號,但給第三方的感覺是一種未加密的語音數(shù)據(jù),從而避免引起第三方的關(guān)注,實(shí)現(xiàn)身份掩護(hù)功能,有效地實(shí)現(xiàn)終端用戶信息的安全傳輸。?
1 系統(tǒng)描述?
??? 圖1描述的是一個(gè)端對端保密移動(dòng)通信路徑。語音信號通過低速語音壓縮編碼后進(jìn)行加密,加密后的語音數(shù)據(jù)輸入類語音調(diào)制器,調(diào)制器將其轉(zhuǎn)換成一種類語音波形后通過終端上的聲碼器進(jìn)行壓縮,得到的比特流被發(fā)送到通信信道。接收終端上的解碼器接收比特流后將其轉(zhuǎn)換回一個(gè)類語音波形。類語音解調(diào)器應(yīng)能夠有效識別由于通信網(wǎng)絡(luò)中的轉(zhuǎn)換而在解碼器與發(fā)射端調(diào)制器之間產(chǎn)生的波形誤差,提取出原始的加密數(shù)據(jù),然后進(jìn)行解密和解碼,得到原始的語音。?
?
?
??? 類語音調(diào)制解調(diào)器,其功能是實(shí)現(xiàn)碼流與類語音信號的轉(zhuǎn)換,而類語音信號要具有語音信號的特性,其算法原理與聲碼器算法類似,因此類語音調(diào)制解調(diào)算法的研究基于對聲碼器算法的研究。重點(diǎn)通過研究現(xiàn)有的10階線性預(yù)測聲碼器LPC-10算法和混合激勵(lì)線性預(yù)測聲碼器MELP算法,實(shí)現(xiàn)類語音調(diào)制解調(diào)算法。?
2 調(diào)制器設(shè)計(jì)?
??? 從本質(zhì)上講調(diào)制器是一個(gè)語音合成器,輸入比特流通過語音合成模塊轉(zhuǎn)換為類語音波形。這個(gè)類語音波形與輸入原始語音波形不同,但兩者之間具有重要的關(guān)系,即類語音波形能從加密后的輸入語音數(shù)據(jù)比特流唯一地產(chǎn)生。?
??? 調(diào)制器使用的語音產(chǎn)生模型參數(shù)和相應(yīng)的波形具有兩個(gè)重要的特點(diǎn):?
??? (1)盡管網(wǎng)絡(luò)引入失真,但接收到相應(yīng)波形時(shí),解調(diào)器能準(zhǔn)確識別相應(yīng)于輸入數(shù)據(jù)的初始描述參數(shù),這些所選參數(shù)能夠表示人類語音信號的重要特性。典型的語音參數(shù)包括基音周期、頻譜特性及語音信號的能量等[4]。?
??? (2)每一組與其他組之間必須有較大的不同,即在一個(gè)有效參數(shù)組內(nèi),沒有一個(gè)選定的波形與其他波形類似。為了達(dá)到這個(gè)目的,輸入語音信號首先使用一種低速聲碼器進(jìn)行壓縮[5],這樣可以極大地降低比特速率。這就允許接收端語音解碼器解碼產(chǎn)生的各個(gè)有效類語音波形之間存在一定數(shù)量的冗余(隨著輸入比特速率的降低,用來生成每個(gè)類語音波形的比特?cái)?shù)量也隨之減少,同時(shí)減少了有效組內(nèi)的波形總數(shù)[6])。?
??? 圖2、圖3對應(yīng)于一個(gè)20 ms幀的調(diào)制過程,其中10 bit用于LSF參數(shù),5 bit基音周期,5 bit增益,總共1 kb/s。這個(gè)映射過程將數(shù)據(jù)比特映射成類語音參數(shù),然后通過類語音合成器合成為類語音信號。?
?
?
?
2.1 基音周期碼本的設(shè)計(jì)?
??? 在解調(diào)端利用AMDF(短時(shí)平均幅度差函數(shù))來提取基音周期,信號間的相關(guān)性越強(qiáng),越利于準(zhǔn)確提取基音周期。反之,基音周期的大小反應(yīng)了信號延遲時(shí)間的長短,延遲時(shí)間越長,信號間的相關(guān)性越小,計(jì)算出現(xiàn)誤差的可能性就越大。較小的基音值可以得到較好的類語音波形,同時(shí)可以簡化解調(diào)端的設(shè)計(jì)。?
??? 為了保證解調(diào)器的性能,選用低延時(shí)的32個(gè)周期值作為類語音信號的基音周期,5 bit編碼。圖4、圖5分別顯示了基音值在20~76之間和基音值在20~156之間合成的類語音波形。?
?
?
?
??? 由圖4、圖5可知,基音值較小時(shí)可以合成較好的類語音波形,以便于后端的處理。?
??? 表1是基音范圍為20~156之間調(diào)制(合成)時(shí)的基音值和解調(diào)(編碼)時(shí)的基音值。?
?
?
??? 由上表可知:基音值較小時(shí)有利于解調(diào)端的準(zhǔn)確提取,通過簡單的基音提取算法簡化解調(diào)端。測試結(jié)果表明基音值最佳取值區(qū)間為20~76。?
2.2 聲道參數(shù)選擇與碼本設(shè)計(jì)?
??? 語音參數(shù)編碼算法的聲道參數(shù)包括預(yù)測系數(shù)PC(Prediction Coefficient)、反射系數(shù)RC(Reflection Coefficient)和線譜頻率LSF(Line Spectrum Frequency)等幾種不同的描述方法。其中線譜頻率是頻域參數(shù),具有有序性、有界性的特點(diǎn),誤差相對獨(dú)立,某個(gè)頻率點(diǎn)上的LSF偏差只對該頻率附近的語音頻譜產(chǎn)生影響,而對其他LSF頻率上的語音頻譜影響不大,從而具有更好的量化特性。此外,用LSF構(gòu)成合成濾波器能保證穩(wěn)定性,可滿足調(diào)制器性能要求,因此,選用線譜頻率LSF作為聲道參數(shù)。?
??? 本文采用自相關(guān)法計(jì)算預(yù)測系數(shù)并轉(zhuǎn)換成線譜頻率LSF。綜合考慮量化效率、碼本存儲量、計(jì)算量及復(fù)雜度,采用分裂矢量量化[7]的方法,把10維的LSF矢量分成(5,5)兩個(gè)矢量,每矢量5 bit編碼,分別量化。?
??? 采用歐氏失真作為失真測度:? ?
?????
其中,d2(x,y)的下標(biāo)2表示平方誤差,xi和yi分別表示矢量x和y的分量。?
??? 對每個(gè)矢量分別采用LBG算法[8]設(shè)計(jì)碼本,從大量的隨機(jī)對話句子中選取10 000幀濁音作為訓(xùn)練序列。碼本尺寸為32。?
2.3 增益碼本的設(shè)計(jì)?
??? LPC-10增益碼表中不僅有0幅值元素,而且低幅值元素的量化間距很小。為了更好地承載信息并增加抗誤碼性能,需要對增益碼本進(jìn)行優(yōu)化改進(jìn),設(shè)置最小增益值(如10),增大相鄰元素間的量化距離,避免了因幅度過小而無法還原信息的情況。碼本尺寸32,5 bit編碼。?
2.4 類語音合成?
??? 根據(jù)語音參數(shù)分別構(gòu)造激勵(lì)信號和聲道濾波器后,以基音周期為基本單位進(jìn)行語音合成。合成濾波器傳遞函數(shù)如下:?
?????
其中ai為預(yù)測系數(shù),由LSF轉(zhuǎn)換得到。?
??? LPC-10算法對語音的合成以基音周期為基本單位,根據(jù)基音周期的不同,每幀合成的類語音樣點(diǎn)數(shù)可能等于180點(diǎn),也可能小于180點(diǎn)。當(dāng)合成樣點(diǎn)數(shù)小于180點(diǎn)時(shí),不足的差值樣點(diǎn)數(shù)補(bǔ)充到下一個(gè)合成幀,使得待合成的語音幀幀長動(dòng)態(tài)變化。?
??? 為了保證解調(diào)器端的有效同步,在以基音周期為基本單位合成類語音的基礎(chǔ)上,當(dāng)每幀合成的樣點(diǎn)數(shù)小于180點(diǎn)時(shí),用最后一個(gè)基音合成單元的樣點(diǎn)數(shù)補(bǔ)齊,保證每幀輸出180個(gè)樣點(diǎn)。?
??? 類語音合成器的激勵(lì)采用固定的一串隨機(jī)序列作為激勵(lì),有利于簡化調(diào)制算法,也便于參數(shù)的提取??紤]到合成的類語音僅僅是作為待調(diào)制信息的載體,不需要以自然度、可懂度等語音性能評價(jià)指標(biāo)來衡量,因此為了保證解調(diào)器的解調(diào)性能,在類語音合成輸出時(shí)不進(jìn)行三幀平滑、濾波和延遲處理。?
3 解調(diào)器設(shè)計(jì)?
??? 解調(diào)器對接收到的類語音信號分幀,以幀為處理單元,采用現(xiàn)有的信號處理技術(shù)從類語音波形中提取上述參數(shù)。這些提取出來的參數(shù)與碼本相比較,其中最匹配的向量可以用來恢復(fù)原始數(shù)據(jù)。這個(gè)過程如圖6所示。?
?
?
3.1 基音周期的提取 ?
??? 語音信號經(jīng)過逆濾波器得到殘差,將殘差進(jìn)行三電平削波,不進(jìn)行4:1的抽取,直接計(jì)算AMDF。計(jì)算AMDF的公式為[3]:?
?????
其中,τ的取值可以為20,21,22,…40,42,44,…76。?
??? LPC-10算法的基音搜索過程比較復(fù)雜,涉及到嗓音起始時(shí)間計(jì)算、清/濁音檢測、濁音窗設(shè)定、基音及清/濁標(biāo)志校正等多個(gè)處理過程。本算法在調(diào)制端合成類語音時(shí),將所有的語音參數(shù)幀均合成為濁音信號。因此,在解調(diào)端不需要進(jìn)行嗓音起始時(shí)間的判斷和清/濁檢測及校正,直接進(jìn)行基音周期的提取,降低了計(jì)算復(fù)雜度。?
??? 根據(jù)AMDF的最小值確定基音周期。為了防止出現(xiàn)實(shí)際基音周期的整數(shù)倍值,還需要進(jìn)行基音周期的跟蹤搜索。?
3.2 線譜頻率的提取和量化?
??? LPC-10算法采用了協(xié)方差法計(jì)算預(yù)測系數(shù),無法保證求解參數(shù)的穩(wěn)定性。在進(jìn)行調(diào)制解調(diào)器設(shè)計(jì)時(shí),改用自相關(guān)法,加哈明窗改進(jìn)算法性能,并對預(yù)測系數(shù)進(jìn)行15 Hz頻帶擴(kuò)展(擴(kuò)展因子r=0.994),保證了提取參數(shù)的穩(wěn)定性。?
??? 將頻帶擴(kuò)展后的10個(gè)預(yù)測系數(shù)轉(zhuǎn)換成10個(gè)線譜頻率LSF,對LSF進(jìn)行升序排列,以保證LSF的單調(diào)性和有序性;對LSF進(jìn)行最小間隔檢測,以保證LSF的最小間隔大于50 Hz。對10維LSF進(jìn)行(5,5)分裂矢量量化,獲取2組量化索引號。碼本尺寸32,索引號5 bit編碼,共計(jì)10 bit。?
3.3 增益的提取與量化?
??? 取當(dāng)前幀基音周期的整數(shù)倍計(jì)算增益RMS,計(jì)算公式為:?
?????
式中, Si為經(jīng)過預(yù)加重的數(shù)字語音,M是分析幀的長度。對計(jì)算所得的RMS值進(jìn)行量化,獲得增益索引,5 bit編碼。?
??? 表2顯示了調(diào)制端、解調(diào)端的增益所對應(yīng)的量化增益值,由表中可得增益G較為穩(wěn)定,可以采用這種方法提取和還原增益參數(shù)G。?
?
?
??? 軟件仿真的結(jié)果表明,本文設(shè)計(jì)的類語音調(diào)制解調(diào)器能實(shí)現(xiàn)類語音信號的調(diào)制和解調(diào)且具有較低的誤碼率。但本文的工作僅限理想環(huán)境下的實(shí)現(xiàn),如果考慮信道誤碼、丟包等因素,還有待進(jìn)一步研究。?
參考文獻(xiàn)?
[1] KATUGAMPALA N N, VILLETTE S, KONDOZ A M.Secure voice over GSM and other low bit rate system.Secure Gsm and Beyond:End to End Security for Mob,11,Feb,2003.?
[2] KATUGAMPALA N N, AL-NAIMI K T, VILLETE S, et al.Real time data transmission over GSM voice channel for?secure voice & data applications. Secure Mobile Communications Forum, 23, Sept, 2004.?
[3] LO C, CHEN Y. Secure communication mechanisms for?GSM networks. IEEE Transactions on Consumer Electronics,1999,45(4):1074-1079. ?
[4] 李軍林,杜松,崔慧娟,等. 0.8 kb/s高質(zhì)量聲碼器算法.清華大學(xué)學(xué)報(bào)(自然科學(xué)版), 2003,43(1).?
[5] STEFANOVIC M, CHO Y D, VILLETTE S, et al. A 2.4/1.2 kb/s speech coder with noise pre-processor.proceedings EUSIPCO 2000, Tampere, Finland: 4-8. ?
[6] KONDOZ A. Digital speech:coding for low bit rate communication systems. J.Wiley, New York. 1994.?
[7] 王炳錫.語音編碼.西安:西安電子科技大學(xué)出版社,2002.?
[8] 吳家安.語音編碼技術(shù)及應(yīng)用.北京:機(jī)械工業(yè)出版社,2005.