基于NS-2的VoIP模擬與仿真
1 NS-2和AMR相關(guān)技術(shù)
1.1 NS-2網(wǎng)絡(luò )模擬器
NS-2(Network Simulator,version 2)是由加州大學(xué)伯克利分校開(kāi)發(fā)的面向對象的、離散事件驅動(dòng)的網(wǎng)絡(luò )模擬器,主要用于解決網(wǎng)絡(luò )研究方面的問(wèn)題,目前NS-2可以用于模擬各種不同的通信網(wǎng)絡(luò )。它功能強大,模塊豐富,已經(jīng)實(shí)現的主要模塊有:網(wǎng)絡(luò )傳輸協(xié)議(如TCP和UDP),業(yè)務(wù)源流量產(chǎn)生器(如FTP、Telnet、Web、CBR和VBR),路由隊列管理機制(如Droptail、FQ、RED和CBQ),路由算法(如Dijkstra),無(wú)線(xiàn)網(wǎng)絡(luò )WLAN、移動(dòng)IP、衛星通信網(wǎng)絡(luò )模塊、多播協(xié)議以及一些MAC子層協(xié)議等。
NS-2使用了被稱(chēng)為分裂對象模型的開(kāi)發(fā)機制,采用C++和OTcl兩種開(kāi)發(fā)語(yǔ)言進(jìn)行開(kāi)發(fā),它們之間采用TclCL進(jìn)行自動(dòng)連接和映射。NS-2的模擬可分為2個(gè)層次,其中第一個(gè)層次是基于OTcl的模擬,主要利用NS-2現有的網(wǎng)絡(luò )元素來(lái)實(shí)現模擬,因此無(wú)需對NS-2本身做任何修改,只需要編寫(xiě)一個(gè)完整的OTcl腳本程序即可;另外一個(gè)層次是基于C++和OTcl的模擬,該層次中沒(méi)有所需的網(wǎng)絡(luò )元素,因此需要對NS-2進(jìn)行擴展,添加所需要的網(wǎng)絡(luò )元素。一般來(lái)說(shuō),NS-2的模擬需要與NamvNetwork animaterw配合使用。Nam是基于Tcl/Tk的動(dòng)畫(huà)演示工具,以把模擬的過(guò)程用可視化的方式呈現出來(lái)[2]。
1.2 AMR自適應技術(shù)的介紹
自適應多速率語(yǔ)音編碼(AMR)有8種信源編碼模式,2種信道模式(即全速率信道模式和半速率信道模式)以及不同信道模式下所對應的不同信道編碼模式。其中,全速率信道模式下所對應的信道編碼模式為8種,半速率信道模式下所對應的信道編碼模式為6種,每種信道編碼模式都有一種信源編碼模式與之相對應。此外為了降低算法的復雜度,8種信源編碼模式均采用ACELP(Algebraic Code Excited Linear Prediction)模型,不同的只是參量的量化碼本和量化比特數。在移動(dòng)通信中,當信道模式固定后,通過(guò)測量歸一化的載(載波信號)干(干擾信號)比來(lái)估計當前信道的質(zhì)量,度量級別為4個(gè)級別,分別為很差、差、好、很好。如果當前信道質(zhì)量估計為較好或者好,則降低信道編碼速率、提高信源編碼速率,以此來(lái)提高重構后的語(yǔ)音質(zhì)量;如果當前信道質(zhì)量估計為差或者較差,則提高信道編碼速率、降低信源編碼速率,以此來(lái)保障通話(huà)質(zhì)量。所以高模式下的信源編碼(如MR122),雖然可以提供優(yōu)良的語(yǔ)音可懂度和自然度,但是抗噪能力差;而低模式下的信源編碼(如MR475),由于多數比特被用作信道編碼,因此具有很強的糾錯能力,但是重構后的語(yǔ)音質(zhì)量不佳[3]。
2 AMR算法下的VoIP系統
VoIP傳輸的基本過(guò)程可分為4種:PC-PC模型、PC-Phone模型、Phone-PC模型和Phone-Phone模型[4]。本文中仿真的是Phone-Phone模型,具體過(guò)程如圖1所示。在該模型中,語(yǔ)音的傳輸過(guò)程可以拆分為2個(gè)階段。第一個(gè)階段,語(yǔ)音數據通過(guò)UDP協(xié)議打包從源點(diǎn)pc0-T開(kāi)始發(fā)送,通過(guò)網(wǎng)關(guān)gk0、gk1轉發(fā),將語(yǔ)音數據包轉發(fā)到目的地點(diǎn)pc0-R,從而實(shí)現節點(diǎn)0~5之間的語(yǔ)音數據通信;第二個(gè)階段,語(yǔ)音數據通過(guò)UDP協(xié)議打包從源點(diǎn)pc1-T開(kāi)始發(fā)送,通過(guò)網(wǎng)關(guān)gk1和gk0轉發(fā),將語(yǔ)音數據包轉發(fā)到目的地點(diǎn)pc1-R,從而實(shí)現節點(diǎn)6~1之間的語(yǔ)音數據通信。2個(gè)階段連續的傳輸過(guò)程構成了VoIP中語(yǔ)音數據的基本傳輸過(guò)程。此外,為了更加真實(shí)地模擬網(wǎng)絡(luò )資源的變化,設置了一個(gè)pc到pc的網(wǎng)絡(luò )數據量的傳輸過(guò)程。該過(guò)程為:網(wǎng)絡(luò )數據通過(guò)TCP協(xié)議打包從源點(diǎn)pc2-T開(kāi)始發(fā)送,通過(guò)網(wǎng)關(guān)gk0和gk1轉發(fā),將網(wǎng)絡(luò )數據包轉發(fā)到目的地點(diǎn)pc2-R,從而實(shí)現節點(diǎn)2~7之間的網(wǎng)絡(luò )數據的傳輸。通過(guò)設置不同的網(wǎng)絡(luò )數據流量可以來(lái)模擬當前網(wǎng)絡(luò )信道質(zhì)量的好壞,從而為選擇不同的AMR信源編碼模式做準備。
評論