當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Nios II的語音加密傳輸系統(tǒng)設(shè)計

 摘  要: 設(shè)計并實現(xiàn)了一個基于Nios II的語音加密傳輸系統(tǒng)。介紹了進行語音信號處理的功能模塊,包括語音采集回放模塊、基于G.729A的語音壓縮與解壓縮模塊和基于AES的數(shù)據(jù)加解密模塊。在控制模塊的協(xié)調(diào)下,使得語音數(shù)據(jù)通過MODEM能夠在公共電話網(wǎng)中安全地傳輸,實現(xiàn)了語音的保密通信。

由于缺乏保密措施,使得電話竊聽事件不斷發(fā)生,嚴重威脅著個人隱私、軍事商業(yè)秘密甚至地區(qū)或國家的信息安全。因此,以語音壓縮和數(shù)據(jù)加密為基礎(chǔ)的語音加密傳輸技術(shù)受到人們關(guān)注。G.729A是G.729(共軛結(jié)構(gòu)代數(shù)碼本激勵線性預(yù)測編碼方案CS-ACELP)的簡化方案,降低了計算的復(fù)雜度以便于實時實現(xiàn)。美國國家標準和技術(shù)研究所(NIST)在眾多的分組密碼中經(jīng)過三輪篩選,選中Rijndael算法作為高級數(shù)據(jù)加密標準(AES)。

本文基于G.729A和AES,結(jié)合Nios II設(shè)計了一種語音加密傳輸系統(tǒng),對通信內(nèi)容進行加密,有效防止了因通話內(nèi)容被竊聽而引起的泄密。

1 總體結(jié)構(gòu)

語音加密傳輸系統(tǒng)主要包括語音處理模塊、語音傳輸模塊、控制模塊及相應(yīng)語音輸入輸出設(shè)備。其中語音模塊由語音采集回放模塊、語音編解碼模塊、加解密模塊三部分組成。系統(tǒng)總體設(shè)計如圖1所示,系統(tǒng)各部分功能如下。

語音加密傳輸總體設(shè)計示意圖

圖1 語音加密傳輸總體設(shè)計示意圖

(1)語音采集回放模塊:此模塊實現(xiàn)語音的采集及回放,一方面,此模塊接收由麥克傳來的模擬語音,通過A/D轉(zhuǎn)換,生成數(shù)字語音;另一方面,此模塊接收來自語音編解碼器傳來的解壓過的語音數(shù)據(jù),經(jīng)過D/A轉(zhuǎn)換,將數(shù)字語音還原成模擬語音,經(jīng)揚聲設(shè)備輸出。

(2)語音編解碼模塊:對語音進行編解碼,就是通過對語音的壓縮與還原,能在較低速率下傳送優(yōu)質(zhì)的語音。語音編解碼器包括編碼器與譯碼器。編碼器對采集回放模塊傳來的原始數(shù)字語音信息進行處理,對數(shù)字語音信號進行分析,提取語音參數(shù),將壓縮后的數(shù)據(jù)送到數(shù)據(jù)加密模塊。譯碼器的作用是接收來自數(shù)據(jù)加解密模塊的數(shù)據(jù),經(jīng)過對數(shù)據(jù)的解壓,把這些數(shù)據(jù)恢復(fù)成原始的數(shù)字語音信息,再傳送至語音采集回放模塊。

(3)加解密模塊:語音加解密模塊是保證語音通信安全的核心。加解密模塊接收來自數(shù)字語音解壓縮器的數(shù)據(jù),并對其進行加密,然后發(fā)送至通信傳輸模塊,將數(shù)據(jù)通過調(diào)制解調(diào)器傳送至公共電話網(wǎng);同時,加解密模塊要接收來自通信模塊的數(shù)據(jù),將其解密后傳送至數(shù)字語音解壓縮器,進行數(shù)據(jù)的解壓。

(4)通信傳輸模塊:在控制模塊的控制下,當系統(tǒng)一方的控制模塊檢測到撥號信息或者接收到另一方請求時,與對方完成互聯(lián);在雙方建立連接的基礎(chǔ)上,通信傳輸模塊將數(shù)據(jù)轉(zhuǎn)換為可以在公共電話網(wǎng)上傳輸?shù)臄?shù)據(jù),進行加密語音數(shù)據(jù)的傳輸。

(5)Nios II系統(tǒng)控制模塊:當通信一方發(fā)起或者接收到通信請求時,Nios II系統(tǒng)控制模塊控制整個系統(tǒng)的協(xié)調(diào)運行,使通信雙方能夠安全地通信。

2 系統(tǒng)設(shè)計

2.1 硬件功能模塊設(shè)計

本設(shè)計以Nios II微處理器為核心,實現(xiàn)語音采集回放、數(shù)字語音編解碼和加解密等功能,通過調(diào)制解調(diào)器進行數(shù)據(jù)交換,實現(xiàn)了語音的加密傳輸。經(jīng)過對設(shè)計的研究與分析,結(jié)合DE1開發(fā)板,將整個系統(tǒng)硬件劃分為語音處理模塊和語音傳輸模塊,系統(tǒng)總體硬件結(jié)構(gòu)框圖如圖2所示。

系統(tǒng)總體硬件結(jié)構(gòu)框圖

圖2  系統(tǒng)總體硬件結(jié)構(gòu)框圖[!--empirenews.page--]

2.1.1 語音采集回放模塊

本模塊是語音加密通信的起點和終點,利用開發(fā)板上提供的24 bit CD-Quality Audio CODEC芯片完成系統(tǒng)的語音信號A/D、D/A轉(zhuǎn)換。CODEC芯片中封裝了WM8731編解碼器,其采樣率為8 kHz~96 kHz可變。它是一款低電壓并集成有耳機驅(qū)動的編解碼器,提供立體音和單一麥克風音頻輸入,并具有降低輸入噪聲、可編程音量控制以及適合于電氣型麥克風的輸出電壓可增益的特點。WM8731內(nèi)部有11個寄存器,該芯片的初始化和內(nèi)部功能設(shè)置是通過I2C控制模塊對其內(nèi)部的這11個寄存器進行相應(yīng)的配置實現(xiàn)的。本設(shè)計中WM8731工作于從模式,采樣頻率設(shè)為48 kHz,轉(zhuǎn)換的數(shù)據(jù)位長度為16 bit,WM8731的寄存器參數(shù)(十六進制)設(shè)置如表1。

表1 寄存器配置參數(shù)

寄存器配置參數(shù)

根據(jù)芯片寄存器的特點和功能,要進行I2C控制模塊的設(shè)計,并以IP核的形式通過SoPC Builder連接到系統(tǒng)的Avalon總線上。I2C控制模塊通過該模塊中I2C_SDAT數(shù)據(jù)端口,向目標寄存器寫入相應(yīng)的控制信息,達到對WM8731工作狀態(tài)的配置。

2.1.2 G.729A語音編解碼模塊

基于CELP編碼模型的G.729A處理語音幀,以每秒8 000樣點進行采樣,每10 ms對應(yīng)80個樣點為1幀,語音質(zhì)量與32 kb/s的ADPCM相當。

(1)編碼器

G.729A編碼器的工作原理如圖3所示。在預(yù)處理塊中,輸入的語音信號首先進行高通濾波并按比例放縮,對預(yù)處理后的語音每10 ms計算一次LP濾波器系數(shù),把LP系數(shù)轉(zhuǎn)換成為線頻譜對系數(shù)LSP,并將LSP系數(shù)利用預(yù)測式兩級矢量量化(VQ)量化為18 bit。激勵信號用分析合成(ABS)搜索算法進行選擇,在該算法中,依據(jù)感覺加權(quán)失真測度使原始與重建語音信號間的誤差最小。

G.729A編碼結(jié)構(gòu)

圖3  G.729A編碼結(jié)構(gòu)

具體上是重構(gòu)語音與預(yù)處理后語音的誤差,通過自適應(yīng)感覺加權(quán)濾波器,搜索最小的濾波后誤差,感覺加權(quán)濾波器的自適應(yīng)系數(shù)由未量化的LP系數(shù)控制。G.729A的激勵參數(shù)(自適應(yīng)和固定碼書)每5 ms(40個樣點)子幀確定一次。首先一個開環(huán)基音延遲每10 ms幀基于感覺加權(quán)語音信號估算一次,使LP殘差信號通過加權(quán)合成濾波器獲得目標信號。濾波器的初始狀態(tài)是通過對LP殘差信與激勵之間的誤差進行濾波來更新的。在得到加權(quán)合成濾波器的沖擊響應(yīng)后,就可以利用沖擊響應(yīng)和目標信號進行閉環(huán)基音分析(尋找自適應(yīng)碼書的時延和增益)。在考慮自適應(yīng)碼書的影響后更新目標信號,用于搜索固定碼書。自適應(yīng)碼書和固定碼書搜索完成后用7 bit進行矢量量化。最后濾波器的記憶值由已確定的激勵信號來更新。

(2)解碼器

G.729A解碼器原理如圖4所示。首先,從接收到的比特流中提取參數(shù)標號,這些標號被譯碼以獲得對應(yīng)一個10 ms語音幀的編碼參數(shù)。這些參數(shù)是LSP,2個分數(shù)基音延遲,2個固定碼書矢量,2組自適應(yīng)碼書和固定碼書增益。LSP系數(shù)在每一子幀中進行插值并轉(zhuǎn)化為 LP濾波器系數(shù)。然后,對每5 ms子幀進行如下操作: 將自適應(yīng)碼書和固定碼書乘以各自增益后相加,獲得激勵;用LP合成濾波器對激勵濾波,獲得合成語音;合成語音通過一個包括長時和短時合成濾波器的自適應(yīng)后濾波器進行增強,然后經(jīng)高通濾波和定標去除得到最終的重建語音。

G.729A解碼器結(jié)構(gòu)

圖4  G.729A解碼器結(jié)構(gòu)[!--empirenews.page--]

2.1.3 AES加解密模塊

G.729A的語音編碼幀為80 bit/10 ms,根據(jù)對語音進行分幀編碼和傳輸?shù)奶攸c,在利用該聲碼器構(gòu)造語音保密通信時選用分組密碼。本文采用高級加密標準AES完成數(shù)字語音信號的加解密,為了提高AES加解密速度,將AES加解密過程設(shè)計成Nios II的一條自定義指令。

(1)AES算法及硬件實現(xiàn)

AES加密模塊工作原理如下:在運算控制模塊(Control) 控制下,待加密明文與初始圈密鑰進行異或(AddRoundKey),接著進行Nr次圈迭代變換,除最后一圈(第Nr圈)省略列混合變換處,每圈包含字節(jié)代替變換(ByteSub)、行移位變換(ShiftRow)、列混合變換(MixColumn)和圈密鑰加法(AddRoundKey)四步變換。

解密工作過程與加密相類似,待脫密的密文與初始圈密鑰進行異或(AddRoundKey),然后進行Nr圈迭代運算,除最后一圈(第Nr圈)省略逆列混合變換外,每圈包含逆字節(jié)代替變換(InvByteSub)、逆行移位變換(InvShiftRow)、逆列混合變換 (InvMixColumn)、圈密鑰加(AddRoundKey)四步變換。

G.729A的語音編碼幀為80 bit/10 ms,每秒所需加密的數(shù)據(jù)約為8 Kbit,因此,在滿足語音加密的情況下,本文采用循環(huán)方式實現(xiàn)AES,節(jié)省硬件資源。其硬件加解密結(jié)構(gòu)及其相關(guān)控制信號如圖5所示。

AES硬件加解密結(jié)構(gòu)

圖5 AES硬件加解密結(jié)構(gòu)

(2)自定義指令邏輯

Nios II自定制AES加密指令的內(nèi)部硬件結(jié)構(gòu)如圖6所示。從圖6可以看到用戶自定義邏輯功能(AES)連接到了ALU的2個輸入端以及ALU的輸出端,當使用 Nios II的自定義指令時,Nios II內(nèi)部的ALU操作將被放棄,以用戶自定義邏輯的輸出結(jié)果作為有效結(jié)果。

Nios自定義邏輯指令

圖6 Nios自定義邏輯指令

AES加解密模塊設(shè)計得到的自定義邏輯在多個時鐘周期完成,采用多周期自定義指令結(jié)構(gòu)。涉及的信號線在dataa、datab、result 的基礎(chǔ)上增加了clk、clk_en、reset、start 4個信號。其指令結(jié)構(gòu)如圖7所示。

AES自定義指令結(jié)構(gòu)

圖7  AES自定義指令結(jié)構(gòu)

2.1.4 通信傳輸模塊

通信傳輸模塊利用MODEM在公共電話網(wǎng)PSTN上實現(xiàn)通信。PSTN網(wǎng)絡(luò)覆蓋面廣,用戶通過MODEM就可以方便地完成對接,實現(xiàn)通信,這在現(xiàn)有條件下非常實用。

MODEM通過RS232接口與DE1相連,通過RJ45與PSTN網(wǎng)絡(luò)相連,解析來自Nios II控制系統(tǒng)的命令,來實現(xiàn)通信雙方的互連通信。[!--empirenews.page--]

(1)工作原理

通信發(fā)起方使用鍵盤撥對方號碼,Nios II控制系統(tǒng)采集到撥號信息,組裝成為MODEM撥號的AT命令,MODEM根據(jù)命令撥號;對方的MODEM接收到撥號信息,發(fā)出來電提醒,開啟語音處理功能,雙方便可通信。MODEM對經(jīng)過加密的語音分組信息進行封裝,使其適合在PSTN網(wǎng)絡(luò)上傳輸。接收方MODEM接收到數(shù)據(jù)包,對其解封裝,等待解密處理。在本系統(tǒng)中,MODEM工作于半雙工方式。

(2)MODEM與Nios II控制模塊的連接

系統(tǒng)要正常工作,需要MODEM與Nios II控制系統(tǒng)間進行交互,用到的信號如圖8所示,各信號的功能如下:

通信傳輸模塊

圖8 通信傳輸模塊

DSR:表示MODEM電源已接上,已處于可用的狀態(tài)。

RTS:請求發(fā)送信號,串行通信接口用RTS來向MODEM表示發(fā)送數(shù)據(jù)的請求,該信號應(yīng)控制MODEM進入發(fā)送狀態(tài)或打開MODEM的發(fā)送器。

CTS:清除發(fā)送信號,又稱為允許發(fā)送,是MODEM對RTS的響應(yīng)信號,表示MODEM已作好發(fā)送的準備,收到CTS后即可輸出發(fā)送的數(shù)據(jù)。

DCD:數(shù)據(jù)載波檢測信號,向終端設(shè)備表示MODEM已收到通信鏈路上的數(shù)據(jù)載波信號,通知另一方準備接收。

TXD:發(fā)送數(shù)據(jù)信號,把終端欲發(fā)送的數(shù)據(jù)串行送往MODEM。

RXD:接收數(shù)據(jù)信號,接收從MODEM串行發(fā)來的數(shù)據(jù)。

SG:信號地,連接設(shè)備和通信設(shè)備的信號地。

由于使用了公共電話網(wǎng)(PSTN),因此在上述7個信號的基礎(chǔ)上增加了DTR和RI兩個信號。振鈴指示RI通知系統(tǒng),MODEM已收到交換臺送來的振鈴呼叫信號;然后系統(tǒng)啟動數(shù)據(jù)準備好DTR信號送給MODEM作為對RI的響應(yīng)。當RI和DTR信號握手聯(lián)絡(luò)上以后,MODEM才可以“接線”以建立通信鏈路;當數(shù)據(jù)傳送結(jié)束后,應(yīng)復(fù)位這些信號以指示“拆線”,讓出通信鏈路。

2.2 Nios II控制模塊設(shè)計

控制模塊利用Nios II IDE集成開發(fā)環(huán)境進行開發(fā),控制從撥號(接聽)、語音采集、編解碼、加解密、傳輸、掛機的整個系統(tǒng)工作。

2.2.1 建立通信

撥號用的鍵盤連接在DE1開發(fā)板的PS2口上,采用中斷方式與處理器進行交互。當控制模塊接收到鍵盤中斷后,讀取用戶按鍵信息。根據(jù)撥號信息,控制模塊通過RS232向MODEM發(fā)出相應(yīng)含有撥號信息的AT命令,MODEM撥相應(yīng)的號碼;接聽方MODEM發(fā)出振鈴指示后,根據(jù)命令為通話雙方建立連接。

2.2.2 語音處理控制

Nios II控制模塊實現(xiàn)對語音處理的控制,其主要功能是讀取一個語音處理模塊的結(jié)果,并將其按將要進行的處理寫入下一個功能模塊??刂颇K操縱I2C控制語音采集回放模塊采集語音并數(shù)字化,然后將數(shù)字語音信號送到編解碼模塊進行編解碼,進而調(diào)用Nios II自定義的AES指令,對數(shù)據(jù)進行加密,最后通過MODEM發(fā)送數(shù)據(jù)。在接收方, MODEM讀取對方發(fā)送過來的語音數(shù)據(jù),控制模塊調(diào)用Nios II自定義AES指令對數(shù)據(jù)進行解密,再將解密后的數(shù)據(jù)寫入語音編解碼模塊進行解碼,最后調(diào)用語音采集回放模塊還原語音。

2.2.3 通信結(jié)束控制

在通話過程中,如果檢測到通信中斷或者通信一方結(jié)束通信的信息,則向各功能模塊發(fā)出復(fù)位信號,同時控制MODEM復(fù)位于待機狀態(tài),通信結(jié)束。

本設(shè)計適用于對語音保密通信有需求的政府機關(guān)、軍隊等,也適合需要保密的商業(yè)通信。采用本系統(tǒng)用戶可以像使用普通電話機一樣,實現(xiàn)語音保密通信。本設(shè)計系統(tǒng)使用方便,通過調(diào)制解調(diào)器進行連接,可以在現(xiàn)有的PSTN電話網(wǎng)上使用。如果將調(diào)制解調(diào)器改進為CDMA DTU等無線調(diào)制方式,則用戶還可以進行無線保密通信。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉