基于AMR语音编解码算法的VoIP系统
时间:07-05
来源:互联网
点击:
本文提出了一种基于AMR语音编解码算法的新VoIP系统,该系统可以根据网络信道质量的好坏来自适应地选择一种最佳的传输速率,从而使得合成后的语音质量有了更加良好的QoS保障。通过NS-2平台下的仿真,实验结果表明:新VoIP系统在网络延时和数据包丢失率方面均要明显优于采用G.729算法的传统VoIP系统。
1 NS-2和AMR相关技术
1.1 NS-2网络模拟器
NS-2(Network Simulator,version 2)是由加州大学伯克利分校开发的面向对象的、离散事件驱动的网络模拟器,主要用于解决网络研究方面的问题,目前NS-2可以用于模拟各种不同的通信网络。它功能强大,模块丰富,已经实现的主要模块有:网络传输协议(如TCP和UDP),业务源流量产生器(如FTP、Telnet、Web、CBR和VBR),路由队列管理机制(如Droptail、FQ、RED和CBQ),路由算法(如Dijkstra),无线网络WLAN、移动IP、卫星通信网络模块、多播协议以及一些MAC子层协议等。
NS-2使用了被称为分裂对象模型的开发机制,采用C++和OTcl两种开发语言进行开发,它们之间采用TclCL进行自动连接和映射。NS-2的模拟可分为2个层次,其中第一个层次是基于OTcl的模拟,主要利用NS-2现有的网络元素来实现模拟,因此无需对NS-2本身做任何修改,只需要编写一个完整的OTcl脚本程序即可;另外一个层次是基于C++和OTcl的模拟,该层次中没有所需的网络元素,因此需要对NS-2进行扩展,添加所需要的网络元素。一般来说,NS-2的模拟需要与NamvNetwork animaterw配合使用。Nam是基于Tcl/Tk的动画演示工具,以把模拟的过程用可视化的方式呈现出来[2]。
1.2 AMR自适应技术的介绍
自适应多速率语音编码(AMR)有8种信源编码模式,2种信道模式(即全速率信道模式和半速率信道模式)以及不同信道模式下所对应的不同信道编码模式。其中,全速率信道模式下所对应的信道编码模式为8种,半速率信道模式下所对应的信道编码模式为6种,每种信道编码模式都有一种信源编码模式与之相对应。此外为了降低算法的复杂度,8种信源编码模式均采用ACELP(Algebraic Code Excited Linear Prediction)模型,不同的只是参量的量化码本和量化比特数。在移动通信中,当信道模式固定后,通过测量归一化的载(载波信号)干(干扰信号)比来估计当前信道的质量,度量级别为4个级别,分别为很差、差、好、很好。如果当前信道质量估计为较好或者好,则降低信道编码速率、提高信源编码速率,以此来提高重构后的语音质量;如果当前信道质量估计为差或者较差,则提高信道编码速率、降低信源编码速率,以此来保障通话质量。所以高模式下的信源编码(如MR122),虽然可以提供优良的语音可懂度和自然度,但是抗噪能力差;而低模式下的信源编码(如MR475),由于多数比特被用作信道编码,因此具有很强的纠错能力,但是重构后的语音质量不佳[3]。
2 AMR算法下的VoIP系统
VoIP传输的基本过程可分为4种:PC-PC模型、PC-Phone模型、Phone-PC模型和Phone-Phone模型[4]。本文中仿真的是Phone-Phone模型,具体过程如图1所示。在该模型中,语音的传输过程可以拆分为2个阶段。第一个阶段,语音数据通过UDP协议打包从源点pc0-T开始发送,通过网关gk0、gk1转发,将语音数据包转发到目的地点pc0-R,从而实现节点0~5之间的语音数据通信;第二个阶段,语音数据通过UDP协议打包从源点pc1-T开始发送,通过网关gk1和gk0转发,将语音数据包转发到目的地点pc1-R,从而实现节点6~1之间的语音数据通信。2个阶段连续的传输过程构成了VoIP中语音数据的基本传输过程。此外,为了更加真实地模拟网络资源的变化,设置了一个pc到pc的网络数据量的传输过程。该过程为:网络数据通过TCP协议打包从源点pc2-T开始发送,通过网关gk0和gk1转发,将网络数据包转发到目的地点pc2-R,从而实现节点2~7之间的网络数据的传输。通过设置不同的网络数据流量可以来模拟当前网络信道质量的好坏,从而为选择不同的AMR信源编码模式做准备。
1 NS-2和AMR相关技术
1.1 NS-2网络模拟器
NS-2(Network Simulator,version 2)是由加州大学伯克利分校开发的面向对象的、离散事件驱动的网络模拟器,主要用于解决网络研究方面的问题,目前NS-2可以用于模拟各种不同的通信网络。它功能强大,模块丰富,已经实现的主要模块有:网络传输协议(如TCP和UDP),业务源流量产生器(如FTP、Telnet、Web、CBR和VBR),路由队列管理机制(如Droptail、FQ、RED和CBQ),路由算法(如Dijkstra),无线网络WLAN、移动IP、卫星通信网络模块、多播协议以及一些MAC子层协议等。
NS-2使用了被称为分裂对象模型的开发机制,采用C++和OTcl两种开发语言进行开发,它们之间采用TclCL进行自动连接和映射。NS-2的模拟可分为2个层次,其中第一个层次是基于OTcl的模拟,主要利用NS-2现有的网络元素来实现模拟,因此无需对NS-2本身做任何修改,只需要编写一个完整的OTcl脚本程序即可;另外一个层次是基于C++和OTcl的模拟,该层次中没有所需的网络元素,因此需要对NS-2进行扩展,添加所需要的网络元素。一般来说,NS-2的模拟需要与NamvNetwork animaterw配合使用。Nam是基于Tcl/Tk的动画演示工具,以把模拟的过程用可视化的方式呈现出来[2]。
1.2 AMR自适应技术的介绍
自适应多速率语音编码(AMR)有8种信源编码模式,2种信道模式(即全速率信道模式和半速率信道模式)以及不同信道模式下所对应的不同信道编码模式。其中,全速率信道模式下所对应的信道编码模式为8种,半速率信道模式下所对应的信道编码模式为6种,每种信道编码模式都有一种信源编码模式与之相对应。此外为了降低算法的复杂度,8种信源编码模式均采用ACELP(Algebraic Code Excited Linear Prediction)模型,不同的只是参量的量化码本和量化比特数。在移动通信中,当信道模式固定后,通过测量归一化的载(载波信号)干(干扰信号)比来估计当前信道的质量,度量级别为4个级别,分别为很差、差、好、很好。如果当前信道质量估计为较好或者好,则降低信道编码速率、提高信源编码速率,以此来提高重构后的语音质量;如果当前信道质量估计为差或者较差,则提高信道编码速率、降低信源编码速率,以此来保障通话质量。所以高模式下的信源编码(如MR122),虽然可以提供优良的语音可懂度和自然度,但是抗噪能力差;而低模式下的信源编码(如MR475),由于多数比特被用作信道编码,因此具有很强的纠错能力,但是重构后的语音质量不佳[3]。
2 AMR算法下的VoIP系统
VoIP传输的基本过程可分为4种:PC-PC模型、PC-Phone模型、Phone-PC模型和Phone-Phone模型[4]。本文中仿真的是Phone-Phone模型,具体过程如图1所示。在该模型中,语音的传输过程可以拆分为2个阶段。第一个阶段,语音数据通过UDP协议打包从源点pc0-T开始发送,通过网关gk0、gk1转发,将语音数据包转发到目的地点pc0-R,从而实现节点0~5之间的语音数据通信;第二个阶段,语音数据通过UDP协议打包从源点pc1-T开始发送,通过网关gk1和gk0转发,将语音数据包转发到目的地点pc1-R,从而实现节点6~1之间的语音数据通信。2个阶段连续的传输过程构成了VoIP中语音数据的基本传输过程。此外,为了更加真实地模拟网络资源的变化,设置了一个pc到pc的网络数据量的传输过程。该过程为:网络数据通过TCP协议打包从源点pc2-T开始发送,通过网关gk0和gk1转发,将网络数据包转发到目的地点pc2-R,从而实现节点2~7之间的网络数据的传输。通过设置不同的网络数据流量可以来模拟当前网络信道质量的好坏,从而为选择不同的AMR信源编码模式做准备。
为了检测网络拥塞下新VoIP系统的性能,需要对上述语音模型的一些参数进行调整:(1)公共交换网(PSTN)传输带宽的设定。节点0~3之间的链路是用来模拟PSTN的,而PSTN中最大的语音传输速率(无损语音编码方案G.711)为64 Kb/s,因此为了体现带宽资源的宝贵性,设置此链路的传输带宽为64 Kb,同理节点1~3之间、节点5~4之间、节点6~4之间的传输带宽也设为64 Kb;(2)Internet网传输带宽的设定。节点3~4之间的链路是用来模拟Internet网的,由于Internet网中传输数据量往往很大,而分配给每个用户之间的传输带宽是有限的,因此为了体现网络
- WLAN与VoIP技术结合促进企业通信发展(02-11)
- VoIP技术在无线局域网中的应用(02-27)
- 三种LTE语音解决方案(02-22)
- 三级通信组网条件下的语音通话方案设计与实施(07-27)
- IP QoS里面地主要技术办法简略讲解说明(06-13)
- VoIP系统解决方案(06-19)