基于PXA255的VoIP語音傳輸系統(tǒng)研究
基于PXA255處理器的IP語音系統(tǒng)用方案具有如下優(yōu)勢:將先進(jìn)的硬件技術(shù)和軟件技術(shù)有機(jī)融合,充分利用PXA255和Linux的強(qiáng)大功能,克服了傳統(tǒng)的基于單片機(jī)功能不足和基于PC的非實(shí)時性的缺點(diǎn),具有實(shí)時性、低成本、小型化、專用化和高可靠性的優(yōu)點(diǎn),能讓IP數(shù)字語音終端系統(tǒng)具有更好的可擴(kuò)展性和可移植性,與ARM7或DSP的方案相比,在技術(shù)上同樣具有一定優(yōu)越性。
系統(tǒng)設(shè)計硬件框圖見圖4所示。本文引用地址:http://2s4d.com/article/148002.htm
系統(tǒng)設(shè)計語音流程框圖見圖5。
5 系統(tǒng)測試
將兩個語音終端連接到局域網(wǎng),分別設(shè)置其IP地址為192.168.0.100、192.168.0.101。整個軟件的運(yùn)行過程:在語音傳輸之前,首先由網(wǎng)絡(luò)連接(通話雙方的呼叫連接)模塊進(jìn)行呼叫連接,呼叫連接建立后,雙方就可以進(jìn)行接下來的語音通話,實(shí)現(xiàn)語音傳輸。
在送話方即發(fā)起會話的一方:語音首先通過麥克風(fēng)進(jìn)入系統(tǒng),在語音錄入與播放功能模塊內(nèi)進(jìn)行錄音,然后進(jìn)入語音數(shù)據(jù)壓縮、解壓模塊進(jìn)行壓縮,壓縮后的語音數(shù)據(jù)打包后,以語音數(shù)據(jù)包的方式發(fā)送。
在受話方即接收會話的一方:通過網(wǎng)絡(luò)傳輸過來的語音數(shù)據(jù)拆包后,首先進(jìn)入語音數(shù)據(jù)緩存模塊進(jìn)行緩存,這種緩存方式可以保證語音回放連續(xù)和不失真,然后進(jìn)入語音數(shù)據(jù)壓縮與解壓模塊對其進(jìn)行解壓。經(jīng)過語音解壓縮過程以后,語音數(shù)據(jù)送入語音錄入與播放功能模塊內(nèi),通過揚(yáng)聲器進(jìn)行播放,最終還原成語音。
測試過程中,我們使用RTP工具集rtptools-1.18中的rtpplay、rtpdump、rtpsend等命令截取語音實(shí)時傳輸模塊在網(wǎng)絡(luò)中的語音包,觀察其RTP和RTCP報文,分析網(wǎng)絡(luò)的當(dāng)前狀況等。網(wǎng)絡(luò)的當(dāng)前狀況與語音傳輸延遲有很強(qiáng)的正相關(guān)性。網(wǎng)絡(luò)狀況好,傳輸延遲小,網(wǎng)絡(luò)狀況不好,傳輸延遲增大。
語音延時測試方法:因?yàn)檎Z音傳輸?shù)难舆t時間在1s以內(nèi),用秒表或其他外設(shè)來測量,誤差大、精度不高,所以我們基于軟件的方式測量。通過在RTP工具集中設(shè)置一個計時器,計算時間差,記錄端到端的語音延時。最后求平均值,延時數(shù)據(jù)見表2。測試分8組,每組10到40個延遲數(shù)據(jù)不等,表中數(shù)據(jù)為每組的延遲平均值。
8組的所有測試數(shù)據(jù)有210個,所有測試數(shù)據(jù)的平均延時計算過程:
(283*10+258*10+269*20+266*20+257*30+275*30+268*40+286*50)/210=271.86ms。
由計算可知,平均延時約為272ms。滿足本文第三節(jié)中VoIP語音時延的上限300ms的要求。
6 小結(jié)
論文研究了IP語音傳輸系統(tǒng)的總體架構(gòu),實(shí)現(xiàn)了一個基于PXA255處理器的嵌入式IP電話終端硬件平臺,為該平臺建立了一個優(yōu)化的嵌入式Linux環(huán)境,并研究基于GSM 06.10的語音編解碼實(shí)現(xiàn),設(shè)計了一個IP語音實(shí)時傳輸系統(tǒng),實(shí)現(xiàn)了IP語音的網(wǎng)絡(luò)實(shí)時傳輸功能,通過系統(tǒng)測試,語音時延符合工程要求,具有較好的實(shí)時性。
評論