Voice之02:数字语音概述
数字语音中,常见的端口为T1和E1(E1的相关内容可以查看这里),在T1/E1中又分为VWIC/VIC,两种的主要区别就是一个能即跑语音又能跑数据,另一个只能跑语音。另外对于这两种卡,也有不同版本,例如vwic2,vic2,vic3等,不同的版本之间也有很大差别,这个就不再这里说明了,可以去思科官网上查找相应的datasheet。
数字语音的信令
1. 随路信令(CAS): 信令与语音共用一个通道。它含有很多模拟语音特性,很多模拟信令在通道里传输。对于模拟信令只有4种状态,所以仅仅用2bit就可以体现出来,但为了更复杂的环境,规定给CAS提供4bit来描述状态。随路信令主要用于小规模,信令要求不高的环境,以此完成多路复用的需求。
2. 共路信令(CCS): 把信令与语音分开传送,所有信令在同一个通道里传输,不占用语音通道。
对于E1/T1来说,他们都有CAS和CCS,但是里面的内容又不太一样:
T1 CAS: (24B+sync)可以跑24路语音,因为它是通过随路信令建立通道的,这样破坏了语音的完整性。
E1 CAS: (30B+D+sync)为了保证语音通道的完整性,它专门拿一个通道传送信令,这样E1只有30ch传输语音。
其中CAS中的“D”仅仅传送的是状态。
T1 CCS: (23B+D+sync)可以跑23路语音。
E1 CCS: (30B+D+sync)PRI就是CCS的应用。CCS的是可以抓包分析的。可以更好的了解语音间的通信。
其中CCS中的“D”传送的是报文。
对于模拟信号数字化
附上直观的图形,配合下面的解释去理解:
采样: 我们可以把模拟信号看成波形图,横坐标X轴就是采样频率,我们采用什么样的频率才能完美还原原有的波形呢?根据某牛人的观点,最好采用2倍的最高声音频率进行采样就可以了,人可以产生的最高频率是9k,但对于正常通话来说,完全没有必要达到9k,现在正常的通话频率在3.4k,所以采样频率取8k就可以了。
量化: 在波形图中,纵坐标表示了量化级,用正负127可以完全呈现一个波形,所以总共用256个量化级。
编码: 通过2进制编码呈现256个量化级需要8bit。
G.711: 由于每秒采样8k,一次采样有256个量化级(8bit),这样在1秒中就需要传送8bit×8K/s=64kbps。这就是为什么一个channel 64k的原因,这64k也叫做基准带宽DS0(类似SDH中的STS-1的概念)。以这64kbps来衡量模拟信号数字化的过程就是PCM–脉冲编码调制,其中脉冲就是采样,编码就是通过2进制编码,这就是著名的G.711。
压缩:由于G.711中的64k仅仅是语音数据的净重,它不包含数据包头,如果加上包头就不是64kbps了,所以如果带宽不足时,会受到影响(10M只能传156路,还没加数据包头)。因此就需要压缩,这个压缩不是把G.711压缩,而是一种待压缩的编码。换句话说,利用算法,采样一段简述进行发送,而不是整个采样,对段收到后,可以根据相应的算法,还原语音。
G.729:这是众多压缩编码中的一种,可以以8k的语音净重进行语音传输,比G.711要节省不少带宽,而且音质也不会下降很多。它主要是对量化进行优化,它是高复杂度编码。对于评定众多压缩编码的好坏,可以通过MOS来进行评分,MOS对带宽,延时等进行计算,得分越高越好。G.711是4.1分,G.729是3.92。
另外G.729中包含几种标准,一种是它本身,评分为3.92;第二种是G.729a,评分为3.9,常用于Call Manager控制IP Phone;第三种和第四种是G.729b和G.729ab。
TDM时分复用
对于E1/T1来说,都是采用TDM时分复用技术,下面拿T1来解释下时分复用:
根据图中所示,每一次采样,T1会加上同步位组成一个帧,当然不会一次传输一个帧,但具体情况就不在这里讨论的,时分复用的原理就是这样。
从上面也可以得出:
T1 24ch(each 64k)+1frame(8k) = 24*64+8 =1.544M
E1 31ch(each 64k)+1frame(64k)=31*64+64=2.048M