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