通信丢包

2024-09-26

通信丢包(共6篇)

通信丢包 篇1

0引言

随着数字通信技术的日益发展及其在电力系统中的逐步应用,数字化差动保护已被广泛用作发电机、变压器、母线和大型电动机等元件设备的主保护。而通信传输对数字化差动保护起着非常重要的作用,归结起来通信传输主要存在两种问题:数据传输质量和数据同步。

数据传输质量问题主要反映在信号传输时的丢包、衰耗及高误码率。为解决此问题,国内外学者针对变电站自动化网络传输性能进行了深入研究[1-5], 而针对差动保护算法本身抗丢包特性的研究较少。 而对于数据同步问题,国内外学者提出了相应的数据同步方法[6-10],但问题主要集中于减小网络延时及提出对采样值加时标的数据对时方法,同样没有对差动保护算法本身的抗同步误差特性进行分析。 一旦全球卫星定位系统(GPS)等硬同步方法遇到故障时,保护不能正常工作,将被闭锁。如果能从保护算法本身特性出发,找到一种既能抗数据传输丢包、 又能抗数据同步误差的差动保护算法,便可以满足数字化变电站新的发展要求,且能够在硬同步方法遇到故障、保护两侧同步误差不超过一定范围时,使差动保护可以继续正常工作,而不被闭锁。

本文提出一种基于动态时间弯曲(dynamic time warping,DTW)算法的差动保护算法,不仅能对差动保护两侧信号传输时产生的丢包及衰耗数据有较强的耐受性,而且对差动保护两侧信号的延时问题也具有较强的耐受能力。同时该差动保护算法的可靠性及灵敏性也高于现有差动保护算法。

1 DTW算法

DTW算法采用动态规划技术将一个复杂的全局最优化问题化为许多局部最优化问题,进而一步一步地进行决策[11]。它能够对存在全局或局部扩展、压缩或变形(如保护中的不同步情况)的相同时间长度或不同时间长度的序列进行匹配,计算出两侧时间序列的最短距离[12-14]。DTW计算两序列各点之间距离的思想如图1所示,具体算法见附录A。

DTW算法可计算两不同长度时间序列之间的相似性,且对于保护两侧采样序列由于不同步或丢包产生的序列变形问题,DTW算法同样具有很好的效果。DTW上述特性决定了在发生丢包或者延时的情况下,其具有减小两侧差流的特性。区外故障时,当某侧采样序列由于丢包或者延时,导致该侧采样序列与对侧采样序列的差异增大时,DTW可以采用该侧临近正常采样值代替该异常采样值,减小差流。区内故障时,由于两侧电流相位大致相同,则两侧采样点的对应差流均较大,故整体上DTW算法不会减小两侧电流形成的差流。而对于带制动特性的差动保护来说,由于采用DTW算法后,区外故障时两侧电流的差异减小,因此从反面增强了区内故障时保护的可靠性及灵敏性。

2 DTW差动保护判据及抗同步误差、抗丢包性能分析

2.1动作判据

以数字化变电站中的变压器为例进行分析。如图2所示,规定一次电流以流入变压器为正方向。 当系统发生外部故障时(点k1),N侧电流为正方向,M侧电流为负方向,忽略两侧电流同步误差等问题,两侧电流大小相等,方向相反。设N侧电流采样值和M侧电流采样值序列分别为IN和IM。 数据窗取1个周期,求取两端采样电流信号的DTW距离。

新型差动保护的闭锁判据为:

式中:D(k)为N和M侧电流的平均DTW距离,定义为动作量;Dres为制动电流整定值;wk为非负的权函数,一般取1;Dk为在最佳规整路径P*第k个点时的N侧电流和M侧反向电流的局部DTW距离; K为数据窗中的总点数。

此处将M侧电流反向,即取负值,是因为规定电流以流入变压器为正方向,则区外故障时,将M侧取反方向进行DTW距离的计算,可以使N侧电流和反方向M侧电流波形相同,进而使保护的动作量D(k)很小。对于数据窗中的点,k=1对应数据窗中第1个点,k=K对应数据窗中最后一个点。

当系统发生区内故障时(点k2),N和M侧电流均为正,求取两端采样电流的DTW距离,则新型差动保护的动作判据为:

Dk同样表示在P*第k个点时的N侧电流和M侧反向电流的局部DTW距离。将M侧电流取反方向后,IN和IM差异较大,则D(k)较大,即保护的动作量很大。

2.2制动电流

考虑特殊情况,当系统处于最小运行方式及轻微故障情况下,为了使保护具有较高的灵敏度,选择带制动特性的差动保护整定方式,则制动电流可表示为:

Dres=D0+KresDr(k)(3)

式中:D0为很小的门限值;Dr(k)为制动门槛值; Kres为制动特性斜率系数,一般取0.4~1[16]。

D0克服两侧互感器误差及两侧信号不同步情况下继电器产生的误动情况:两侧信号如果幅值相位完全相同时,则其DTW距离应为0,但由于两侧互感器采样率不同及两侧互感器其他特性的差异, 在系统正常运行时,将M侧电流取反方向后,两侧电流DTW距离略大于0。

式中:Dk′为在P*第k个点时的N侧电流和M侧电流的局部DTW距离。

区内一般性故障时,两侧电流同向,Dr(k)将会很小,而式(2)中的D(k)将会很大,D(k)>Dr(k),保护会动作;区外故障时,两侧电流反向,Dr(k)将会很大,而D(k)会很小,D(k)

2.3保护抗同步误差特性

DTW算法局部约束中的端点约束[14],实质上反映了DTW算法的抗同步误差性能,由于附录A式(A3)中x取值不同会影响到DTW算法的抗同步误差特性及抗丢包特性,故分别取x=1,2,3进行分析,将DTW差动保护的抗同步误差特性与常规相量差动保护的抗同步误差特性进行对比。

给出2个离散时间序列:

式中:N为每周期采样点数,两时间序列幅值统一, 仅讨论由于两侧信号相位差α 引起的差流变化。

采样率选为4kHz,数据窗长取1个周期。比较当α 在0~180°范围内变化时各差动保护的抗同步误差性能。

由于不同差动保护计算出的两侧差流不同,因此如果想比较由于数据处理算法体现出的耐同步误差性能,必须将所有差流进行归一化,即使它们适用于相同的比率制动判据。则采用线性归一化方法, 其表达式为:

式中:Id′和Id分别为相量差动归一化前的瞬时差流及归一化后的瞬时差流;Id.max为两侧信号所能产生的最大差流,即两侧信号相位差为180°时产生的差流;Id.min为最小差流,即两侧信号相位差为0°时产生的差流,等于0;id′和id分别为DTW差动归一化前的瞬时差流及归一化后的瞬时差流;id.max和id.min分别为差流的最大值和最小值。

系统正常及区外故障时,设将M侧电流反向(即取负值),对于常规相量差动,当两侧电流由于通信延时等原因产生相位偏差,则差流随相位偏差的增加急速增加,如图3所示。

而采用DTW算法计算差流,当附录A式(A3) 中x=1时,差流随相位差变化情况如图中绿色曲线所示,与相量差动产生的差流几乎一致。当x=2和x=3时,差流随相位的变化情况如图中蓝色曲线和黑色点画线所示,在相位差为0°~75°(相当于延时4.2ms)之间时,差流变化较小,归一化差流仅增加0.2左右;而在140°~180°之间时,差流变化很大,归一化差流增加超过0.4,所以采用x=2或x=3时的DTW算法,可以使保护具有较强的抗两侧电流同步误差。且当发生区内故障时,将M侧电流反向,则两侧电流相位相反,接近180°,差流可迅速增大,从另一方面提高了保护的动作速度。

2.4保护抗数据丢包特性

当差动保护两侧电流由于网络负载短时剧增或者由于强干扰导致循环冗余校验码(CRC)校验出错等通信原因产生个别数据丢失、出错等情况时,传统的解决办法是丢失1点补零处理,丢失2点以上告警甚至闭锁保护,这样很容易导致保护装置可用度降低,使保护的可靠性及灵敏性受到严重影响。

现对DTW差动保护算法的抗数据丢包特性进行分析,同样给出2个时间序列:

如式(7)所示,对通信丢包数据进行补零处理, 两序列幅值统一,讨论由于y(n)侧信号丢包引起的差流变化,采样率选为4kHz,数据窗长取1个周期。分别比较丢包率在0~60% 范围内变化时计算得到的相量差动及DTW差动差流的变化趋势。 图4为丢包率为60%情况下的x(n)及y(n)信号。 这里同样需要归一化,仍采用上述归一化方法。则相量差动及DTW差动差流随丢包率的变化过程如图5所示。

图5反映了相量差动及DTW差动保护算法抗丢包性能,可见相量差动产生的归一化差流随着丢包率的增加逐渐增加,当x=1及x=2时的DTW差动保护算法产生的差流与相量差动产生的差流相互交错,而当x=3时的DTW差动保护算法产生的归一化差流随丢包点数的增加变化不敏感,远远小于相量差动的差流,故当x取3时DTW差动保护算法具有较强的抗通信数据丢包特性。

2.5保护抗同步误差及抗数据丢包复合特性

现在讨论保护通信既有延时发生也有丢包发生时不同差动保护算法差流的变化趋势。图6(a), 6(b),6(c),6(d)分别为一阶(x=1)、二阶(x=2)、 三阶(x=3)DTW差动保护及相量差动保护在0~ 180°相位差及0~60%丢包率情况下的复合差流曲面。

由图6可见,在较小相位差时,随着丢包率的增加,同等相位差下形成的差流逐渐变大;而在较大相位差时,随着丢包率的增加,同等相位差下形成的差流反而逐渐变小。这是由于某侧丢包后,该点瞬时电流被置0,相当于在该采样点只有另一侧电流,故在较小相位差时,单独一侧的电流肯定会大于两侧差流;而在较大相位差时,两侧电流几乎相反,单独一侧的电流肯定会小于两侧差流。比较图6中各种情形可见,相量差动及x=1时的DTW差动保护产生的归一化差流随着相位差及丢包率的增加呈凸曲面形增加,而x=2及x=3时的DTW差动保护算法产生的差流随着相位差及丢包率的增加呈凹曲面形增加,即在相位差较小时(区外故障),随着丢包率的增加,差流增加的慢;在相位差较大时(区内故障),随着丢包率的增加,差流增加的快,反映出三阶DTW差动同时具有较强的抗同步误差及抗数据丢包复合特性。

2.6区内故障时动作特性

三阶DTW差动保护在抗通信同步及抗通信丢包方面具有较好的保护特性,其在不丢包情况下区内故障的动作特性可由图3得出,即在相位差接近180°时(设将M侧电流取反方向)差流急速增加,相比于相量差动,保护可快速可靠动作。现通过以下分析,比较在丢包情况下区内故障时,DTW差动保护与常规相量差动保护各自的动作特性。为了与2.1及2.2节的归一化判据统一,故此处同样将动作电流进行归一化。各差动保护的动作特性如图7所示。图中各曲线含义同图3。

由图7可见随着丢包点数的增加,各差动保护差流逐渐减小,而经过归一化后的DTW差流均大于相量差动保护的差流,而三阶DTW差流更远大于相量差动保护差流,有利于保护动作。仿真验证了在区内故障时,三阶DTW差动保护同样具有优越的保护特性,具有较相量差动保护更高的可靠性及灵敏性。

3仿真试验

3.1仿真模型

仿照文献[15]利用MATLAB/Simulink搭建了变压器差动保护模型,模型如图8所示,其具体参数如下:发电机出口电压13.8kV,500kV两圈升压变压器采用Ynd11接线,CT1和CT2采样率均为4kHz。根据上文仿真分析结果可见当x=3时, DTW差动保护的性能较佳,故此处取x=3。由于篇幅限制,文中取A相电流进行分析,数据窗为1个周期。

由于需要比较DTW差动保护算法的抗同步误差及抗丢包特性与相量差动保护在实际系统中的差异,故相量差动保护制动判据选用比率制动[16]。且需将两种差动保护的差流及制动电流归一化,制动特性斜率系数Kres根据文献[16]给出的范围及大量仿真试验结果分析,取0.7,最小动作电流Iset.min归一化后取0.06,拐点电流Ires.g取0.1。

3.2区外故障时抗同步误差特性

附录B图B1(a),B1(b),B1(c)分别表示在区外故障情况下(仿真环节中,区外区内各情况都已将M侧电流取反方向,即在无延时情况下,区外故障时,两侧电流相位差大致为0°,区内故障时,两侧电流相位差大致为180°),两侧电流相位相差为0°,45° 和75°时DTW差动保护和相量差动保护动作点在保护平面上的分布情况,双折线上部为动作区,下部为制动区。★为产生的第1个动作点。由图可见, 在相位差为0°时,无论相量差动保护还是DTW差动保护的动作点都分布在保护平面的制动区内,保护可靠不动作。但随着两侧电流相位差的增加,相量差动保护的动作点由制动区逐渐向动作区转移, 在两侧电流相位差为45°和75°时,已有部分动作点进入动作区,导致差动保护误动。而DTW差动保护的动作点在0°到75°(相当于延时4.2ms)相位差范围内,全部分布在制动区,故差动保护不会误动。

3.3区外故障时抗丢包特性

现同样将相量差动及DTW差动保护的差流、 制动电流归一化,分析10%,20%及30%丢包率情况下两种差动保护的动作点分布情况。

附录B图B2(a),B2(b),B2(c)分别表示从系统正常到区外故障的过程中,丢包率为10%,20% 和30%情况下DTW差动保护和相量差动保护动作点在保护平面上的分布情况,★为产生的第1个动作点。由图可见在前2个周期系统正常时,由于两侧电流均较小,较小的丢包率对差动保护影响不大,相量差动保护的动作起始点(★点)均远离动作区。但随着区外故障的发生,相量差动保护动作点逐渐向动作区靠近,在丢包率为30%的情况下,相量差动保护的动作点已经较接近动作区。但对于DTW差动保护,无论正常情况下还是区外故障情况下,其动作点均远离保护平面动作区,故DTW差动保护具有较强的抗丢包特性。

3.4区内故障时的抗同步误差特性

附录B图B3为区内发生三相接地故障,两侧电流相位差为180°,150°和120°(相当于延时3.4 ms)时DTW差动保护和相量差动保护动作点在保护平面上的分布情况。由图B3可以看出,从系统正常到系统发生故障的过程中,各相位差情况下,两种差动保护的动作点均由制动区向动作区转移,但随着相位差的增加,两种差动保护的可靠性均下降。 可以看出,DTW差动保护的动作点较相量差动保护更迅速地从制动区转移到动作区,即保护可以更迅速地动作;DTW差动保护动作点整体离制动区域较相量差动保护的动作点更远,故DTW差动保护的可靠性及灵敏性更高。该仿真验证了第2节最后分析得出的对于带制动特性的差动判据,DTW差动保护由于系统正常及区外故障时动作量很小, 从反面增强了区内故障时保护的可靠性及灵敏性的结论。

3.5区内故障时的抗丢包特性

附录B图B4(a),B4(b),B4(c)分别表示从系统正常到区内故障的过程中,丢包率为10%,20% 和30%情况下DTW差动保护和相量差动保护动作点在保护平面上的分布情况,★为产生的第1个动作点。由图B4可见在前2个周期系统正常时, 由于两侧电流均较小,较小的丢包率对差动保护影响不大,相量差动保护的动作起始点(★点)均远离动作区。但随着区内故障的发生,DTW差动保护动作点很快从制动区转移至动作区,而相量差动保护动作点的转移速度则相对较缓,体现出DTW差动保护具有较好的速动性。而在系统发生区内故障的3个周期内,3种丢包率情况下的DTW差动保护动作点,均较相量差动保护动作点离制动区远,体现出DTW差动保护在区内故障时,系统丢包的情况下仍具有较高的可靠性。

4结论

本文提出基于三阶DTW的差动保护算法,并对该差动保护算法的抗数据延时特性、抗数据丢包特性及灵敏性进行了分析,有如下结论。

1)算法具有较强的抗数据延时特性,区外故障时可抵抗4.2 ms的数据延时,区内故障时可抵抗3.4ms的数据延时,完全可以满足IEC 61850标准中对于数据延时规定的最大冗余。

2)具有较强的抗数据丢包性能,区外故障时,对于30%的随机丢包率,归一化差流增幅较小;区内故障时,对于30%的随机丢包率,归一化差流增幅则较大。

3)在区内故障时,动作点远离保护平面的制动区,体现出该差动保护算法具有较强的速动性及可靠性。

所提算法可为数字化环境下变电站及变压器保护的发展提供新思路。

附录见本刊网络版(http://aeps.sgepri.sgcc. com.cn/aeps/ch/index.aspx)。

摘要:提出一种基于三阶动态时间弯曲(DTW)算法的变压器差动保护算法。该方法利用差动保护两侧数据窗内的电流采样值构成最短距离矩阵,通过最短距离搜寻算法,在该矩阵内寻找到一条最短路径,将该路径所经过的局部最短距离元素的总距离的平均值作为两侧采样电流的差流。在数字化变电站由于通信原因造成数据延时及数据丢包的情况下,利用该差动保护算法,可使得区外故障时保护不误动作;区内故障时,保护可靠动作。仿真验证了不同延时状况及不同丢包率情况下,区内、区外故障时常规相量差动保护及DTW差动保护的动作性能。结果表明,DTW差动保护在抗延时性能、抗丢包性能及灵敏性上明显优于常规相量差动保护。

关键词:数字化变电站,变压器保护,差动保护,通信延时,丢包,动态时间弯曲

浅谈“网络丢包” 篇2

1 病毒问题

一般我们把可以在局域网内传播的病毒, 统称为网络病毒。这一类病毒除了具有可传播性、可执行性、破坏性等计算机病毒的共性外, 还具有一些新的特点:

感染速度快。在单机环境下, 病毒只能通过软盘从一台计算机带到另一台, 而在网络中则可以通过网络通讯机制进行迅速扩散。根据测定, 针对一台典型的PC网络在正常使用情况, 只要有一台工作站有病毒, 就可在几十分钟内将网上的数百台计算机全部感染。

扩散面广。由于病毒在网络中扩散非常快, 扩散范围很大, 不但能迅速传染局域网内所有计算机, 还能通过远程工作站将病毒在一瞬间传播到千里之外。

传播的形式复杂多样。计算机病毒在网络上一般是通过“工作站——服务器——工作站”的途径进行传播的, 但传播的形式复杂多样。

难于彻底清除。单机上的计算机病毒有时可通过删除带毒文件。低级格式化硬盘等措施将病毒彻底清除, 而网络中只要有一台工作站未能消毒干净就可使整个网络重新被病毒感染, 甚至刚刚完成清除工作的一台工作站就有可能被网上另一台带毒工作站所感染。因此, 仅对工作站进行病毒杀除, 并不能解决病毒对网络的危害。

破坏性大。网络上病毒将直接影响网络的工作, 轻则降低速度, 影响工作效率, 重则使网络崩溃, 破坏服务器信息, 使多年工作毁于一旦。

可激发性。网络病毒激发的条件多样化, 可以是内部时钟、系统的日期和用户名, 也可以是网络的一次通信等。一个病毒程序可以按照病毒设计者的要求, 在某个工作站上激发并发出攻击。

潜在性。网络一旦感染了病毒, 即使病毒已被清除, 其潜在的危险也是巨大的。根据统计, 病毒在网络上被清除后, 85%的网络在30天内会再次感染。

这一类网络病毒攻击客户端、服务器、网关, 使得网络数据包丢失, 引起网络质量急剧下降, 甚至造成网络瘫痪。单机的杀毒已不能有效解决问题, 这时我们可以使用网络版的杀毒软件来彻底清除网络病毒。

2 流量问题

流量过大也会引起网络中断, 核心设备忙于处理某两点或几点之间的通信, 而顾不上其它一些通信数据。具体情况, 可以使用sniffer接到各个VLAN中查看流量, 然后把最终统计结果拿出来看看, 找出流量最高的几个节点, 想办法限制它们的流量。如果流量大得太过离谱, 还可以直接封了它的端口。

当网络中存在回路时也会导致网络丢包、网速变慢。当网络涉及的节点数不是很多、结构不是很复杂时, 这种现象一般很少发生。但在一些比较复杂的网络中, 经常有多余的备用线路, 如无意间连上时会构成回路。比如网线从网络中心接到计算机一室, 再从计算机一室接到计算机二室。同时从网络中心又有一条备用线路直接连到计算机二室, 若这几条线同时接通, 则构成回路, 数据包会不断发送和校验数据, 从而影响整体网速。这种情况查找比较困难, 为避免这种情况发生, 要求我们在铺设网线时一定养成良好的习惯, 即网线打上明显的标签, 有备用线路的地方要做好记载。当怀疑有此类故障发生时, 一般采用分区分段逐步排除的方法。

3 核心设备问题

网络中的核心设备有可能因为硬件故障而造成数据包的丢失, 如网卡是坏的, 交换机的某个端口出现了物理故障, 光纤收发器的电端口与网络设备接口, 或两端设备接口的双工模式不匹配。

另外这些网络核心设备的资源被大量占用也会造成数据包的丢失。我们可以用一些常用命令来收集一下目前各网络设备的工作情况。例如, 对于思科路由器, 我们可以使用命令show environment status all来查看设备的温度, 使用命令show processes cpu来查看CPU利用率, 使用命令show logging来查看设备日志, 使用命令show module来查看各板卡的工作状态。对于华为路由器我们使用命令display environment来检查设备温度, 使用命令display cpu来查看CPU利用率, 使用命令display log buffer来查看设备日志, 使用命令display device来查看板卡工作状态。当我们了解核心设备的当前情况以后就可以采取相应的措施使得它们恢复到正常的工作状态去, 以避免网络丢包。

4 线路问题

如果上述几种情况均正常, 则可以考虑线路问题了。线路老化、接触不良都有可能造成网络数据包丢失。另外由物理线路引起的丢包现象还有很多, 如光纤连接问题, 跳线没有对准设备接口, 双绞线及RJ-45接头有问题等。另外, 通信线路受到随机噪声或者突发噪声造成的数据报错误, 射频信号的干扰和信号的衰减等都可能造成数据包的丢失。我们可以借助网络测试仪来检查线路的质量。

5 结论

局域网数据包丢失的原因有很多, 并且随着网络技术的不断发展, 新的局域网技术的不断出现, 网络掉包的原因还在不断变化和增加。本文仅根据个人的一点经验对此问题作一个总结、探讨。

摘要:许多时候, 我们在管理维护局域网的过程中, 时常会遇到网络传输延迟导致上网连接时断时续的现象, 或者出现上网速度异常缓慢的现象, 不少网络管理员都会使用Ping命令对网络连通性进行测试, 测试结果表明此时的网络传输线路丢包现象非常严重。网络丢包是我们在使用Ping对目的站进行询问时, 数据包由于各种原因在信道中丢失的现象。本文分析了网络丢包严重的各种原因, 以便从根本上解决网络丢包现象的发生, 从而让我们的网络重新变得流畅。

关键词:丢包,病毒,流量,核心设备,线路

参考文献

网络丢包现象分析与解决方案 篇3

1 引起网络丢包的原因

1.1 线路出现故障

当网管员发现网络传输时常中断时,要考虑两种情况,第一种是线路出现了故障,第二种情况是用户设置方面的原因。那么,我们如何分清是哪一种情况引起的网络中断呢?我们可以通过如下操作进行测试。

当网络线路的实现是通过路由器时,我们首先登录到路由器,然后通过扩展ping将大量数据包向对端路由器接口进行发送。当线路是通过三层交换机实现时,我们将两台计算机分别接在线路两端,并将IP地址分别设为本端三层路由交换机的广域网接口地址,使用“ping对端计算机地址-t”命令进行测试。

在测试中,如果没有发现丢包现象,那么说明不是线路故障引起的网络中断,而是用户自身的原因引起的,如果在测试中发生了丢包,则说明是由于线路故障所引起,我们要与线路的提供商联系,找到解决方法。

除此之外,如光纤连接问题,跳线与设备接口没有对准,双绞线及RJ-45接头出现故障,通信线路受到干扰和信号衰减,这些情况都有可能造成数据包丢失。

1.2 设备出现故障

这种情况主要是指设备硬件方面的故障,比如网卡出现问题,交换机端口出现了物理故障,光纤收发器的电端口与网络设备接口,或两端设备接口的双工模式不匹配。

以下举一个实例进行说明:我遇到过一次丢包现象是由于一个交换机端口的光纤模块故障而引起的,故障现象是此交换机每次运行一段时间就会发生死机,造成网络通信中断,必须要把交换机重新启动后才能恢复正常工作。我在经过仔细查找后发现,原来有一个光纤模块出现了问题,在替换了新的模块后,交换机工作终于又恢复正常。这个故障背后的原因是,平时交换机在工作时,都要对所有数据包进行CRC错误检测和长度校验,在检验后丢弃被检测出错误的包,然后转发正确的数据包。这时候如果有错误的包未能在校验中检测出错误,这些包就会在动态缓存中堆积,无法发送,直至缓存中已经无法堆积,这时就会出现死机的现象。最终造成数据包无法到达目的主机。

1.3 网络拥塞

这种情况也比较常见,造成这种情况的原因也很多,最主要的原因是由于路由器资源被大量占用。当发现网速变慢,并且丢包率上升时,我们可以使用命令show process cpu和show process mem,如果是IP input process占用了大量资源,再检查fast switching是否禁用大流量外出端口,如果是的,则需要重新启用。

然后检查一下是否禁用了Fast switching on the same interface,如有多个网段配一个接口并且这些网段间流量很大时,路由器工作方式为process-switches,可以在接口上执行enable ip route-cache same-interface。

然后我们要识别大量包进出的端口,这时可以使用show interfaces和show interfaces switching命令。在确认进入端口后,查看其特征,使用IP accounting on the outgoing interface,当遇到攻击时,源地址会变化但是目的地址不变,用命令access list可以暂时解决此类问题,彻底的解决办法是找到攻击源将其停止。

除了上述情况以外,还有很多情况会造成网络拥塞,如UDP流量超过限制,过多的组播流和广播包穿越路由器,配置了IP NAT的路由器并且被大量DNS包穿越,如果是上述情况造成的网络拥塞,通信双方可以采取流量控制的方法来解决。

1.4 路由出现错误

有时候造成数据包不到到达目的主机的原因是由于网络路径错误,比如主机的默认路由配置错误,这时网关也会丢弃主机发出的数据包。这种丢包属于正常情况,一般不会对网络造成影响。

2 局域网掉包常见故障解决办法

发生网络故障在所难免,但是如何快速隔离和排除故障是网管人员应该具备的基本素质。以下列举几种常见的网络故障给出解决办法以供分析和参考。

2.1 故障一:网络升级后,网速反而降低

故障现象:一个机房对网络进行升级,原本机房中所有工作站配置的都是10-100Mb自适应网卡,10Mb的交换机,在将网络升级后,交换机全部换成100Mb的,然而在此次升级后,网络速度不仅没有提升,反而还没有原来的快,并且出现了部分机器不能上网的情况。

故障分析:我们首先用PING命令检测发现有严重的掉包现象,然后用测线仪检查后,发现双绞线一切正常。当在进行进一步检查时,却发现了原来是网线的问题,网络中一直使用的是不支持100Mb网络的三类线。原来是我们在网络升级的过程中,忽视了网线的升级。

解决办法:重新更换网线

总结:我们在对网络进行升级的时候,也要记得检查一下相关的配套设备,比如网卡、网线是否支持升级后的网络环境,不能只盲目升级其中一种设备,结果造成不匹配的现象。

2.2 故障二:新建的机房经常掉线

故障现象:新建好的机房,面积很大,容纳了七十台机器,并且配备了专用的机房放置交换机和服务器。但是在进行机器调试时,却发现经常掉线或者无法登录网络。

故障分析:首先我们用ping命令进行检查,出现了严重丢包和超时的现象,用测线仪测试网络发现一切正常。无意中发现工作站到交换机的距离太远,超过了100米。我们知道双绞线的传输距离一般不能超过100米,而这个机房只为了追求档次,对网线传输距离的极限却抛之脑后。

解决方法:重新安置交换机的位置

总结:我们在进行综合布线时,交换机的位置一定要首先选择好,中心交换机最后放在中央位置。各个交换机也应该放在所连接的计算机的中间,这样安置不但节约网线,而且也可以保证网络达到最佳的传输状态。

2.3 故障三:IP地址发生冲突

故障现象:一般情况下机房中的所有机器,我们将他们的IP地址在网络中设置都是唯一的,但是却发现总有两台机器,在启动的时候出现一个地址与IP地址冲突。而我们在更改IP地址后这种情况还是一样,而且在冲突时,只有一台机器可以上网。

故障分析:通过查看冲突的提示,发现是一串地址,那么会不会是物理地址冲突也就是MAC地址冲突导致的呢?如果对每台机器进行查找太慢,这时可以用IPbook超级网上邻居来进行查找,当我们用IPbook超级网上邻居扫描整个网络段时,果然发现有两台机器有相同的网卡MAC地址。

解决办法:更换网卡后,问题解决。

总结:一般我们网络中使用的设备,包括网卡、交换机、路由器,每个备都会有一个唯一的物理地址MAC地址。MAC地址包含了该网络设备的厂商和在全球网络设备中唯一的序列号。在网络中的所有数据交换,其实不是基于IP地址的交换,而是基于MAC地址的交换。因此,当MAC地址发生冲突时,即使IP地址不冲突,网络也会中断,这种情况一般是由于购买了不是正品的网卡等网络设备造成的,所以我们在购买设备时,千万不能因为便宜而去购买一些次品,会为网络的正常运行埋下极大隐患。如果是网卡MAC地址冲突,更换一下网卡即可,而如果是交换机MAC地址发生冲突,那就更难处理了。

2.4 故障四:网络速度不稳定

故障现象:网络中采用的是10-100Mb自适应网卡和全双工10-100Mb交换机。上网的时候发现网络速度时快时慢。

故障分析:首先我们用ping命令进行检查,没有发现丢包,检查了网络设置也是正常的。当查看一个交换机的指示灯时,发现这个交换机不断在10Mb和100Mb两种工作状态下转换。

解决方法:那么我们如何才能不让他自动切换工作状态呢?我们查看机器中网卡的属性,设定的速度是AUTO,将其改成100Mb Full,再测试一下,现在就正常了。

总结:有时候发生一些网络问题时,首先对所有的网络设备进行检查,解决问题的速度会很快。

2.5 故障五:网络中所有工作站都出现IP地址冲突

故障现象:开机后网络中所有的机器突然都提示出现IP地址冲突。网管人员检查后每台机器后,并没有发现IP地址设置重复,使用的是Win XP操作系统。(下转第6130页)(上接第6128页)

故障分析:出现这种情况后,首先确定每台客户机使用的是固定的IP地址,没有地址冲突。然后在Windowss XP的DOS状态下,运行ipconfig/all命令,这时才发现了罪魁祸首,原来是一个DHCP服务器在运行,而给网管人员当时给这台服务器动态分配的IP地址,现在与网络中其他机器的IP地址发生了冲突。原来,当初网管进行网络克隆的时候建立了这台DHCP服务器是,当网络克隆工作结束后,本来应该把服务停止的,没想到却忘记了结果造成了麻烦。

解决方法:首先当然是把DHCP服务器关闭,然后更改一下DHCP服务的IP地址池,将所有正在使用的固定的IP地址排除,问题即可解决。

3 结束语

造成网络数据丢包现象的因素有很多,除了以上介绍的各种故障和设置错误以外,网络病毒以及扫描攻击也是造成网络丢包的重要原因,因此在解决网络丢包故障的时候,一定要考虑各种因素,对各种可能因素进行逐一排查,并做好网络安全防护工作,才能最大程度的保证我们的网络安全和正常运行。

参考文献

[1]乔正洪,葛武滇.计算机网络技术与应用[M].北京:清华大学出版社,2008.

通信丢包 篇4

语音信号在IP网络上的基本传输过程如图1所示:在发送端,话筒接收的原始语音为模拟语音信号,将该模拟信号通过三个步骤,即采样、量化、编码转换成脉冲编码调制(PCM)信号,此时信号已经是数字信号,然后根据通信场景对该数字信号采用适当的编码技术进行语音压缩,以节省传输带宽,压缩后的语音数据根据通信的三种协议:即实时传输协议、用户数据报协议(UDP,user datagram protoco1)和网际协议(IP)分组,将数据形成IP包的形式,然后将形成的IP包放到IP网络上进行传输;在接收端,通过网络接口将接收到的语音数据包进行和发送端相反的操作过程,恢复成模拟语音信号,经听筒播放,完成Vo IP通话。

由于IP是针对数据传输而设计的,对时延不敏感,因此为了使数据准确到达接收端可以以时延为代价,采用传输控制协议(TCP)。该协议由于采用了确认机制,必要时可以要求重发数据,所以能够确保传输数据在传递过程中不出差错、不丢包、有序地到达接收端,但这一过程就带来了时延。传输控制协议用于数据传输能够达到很好的效果,但是却不适用于语音传输,因为用户对时延非常敏感,时延过长会影响双方的用户感受,使谈话无法继续,所以为了满足语音传输的实时性要求,在Vo IP中不继续使用传输控制协议,而是采用用户数据报协议(UDP),该协议可以快速地、一次性地传输语音数据。但是,用户数据报协议相对于传输控制协议来说,它只保证数据包的传输满足实时性,但并不保证所有数据包都能有序并且全部到达接收端,可能会出现因为网络问题而造成数据包丢失的状况,当丢包达到一定程度时,同样会影响通话双方的正常交流。

根据统计[1],当丢包率超过10%时,语音通信质量就已经不能忍受,这就是目前Vol P还不能完全取代传统电话的主要原因。为此,如何抵抗丢包和当丢包现象发生时如何进行处理成为当前Vol P网络语音通信中研究的核心问题。

1 丢包处理技术

目前,针对Vo IP网络问题产生的丢包现象,主要有两种思路:一种是尽量避免丢包,即在源头对丢包进行控制,称为丢包恢复技术(PLR,packet loss recovery),通常是基于发送端采用的措施;另一种是减少丢包后造成的影响,即在接收端通过采取一定的措施对丢包进行隐藏,称为丢包隐藏技术(PLC,packet loss concealment),主要用于接收端。丢包恢复技术付出的代价是时延和带宽,丢包隐藏技术则是用户感受,两种方法各有特点,但都在一定程度上提高了语音质量。而本文主要分析的是采用交织技术和插值技术的方法,是对丢包恢复技术和丢包隐藏技术两种语音丢包处理思路的综合,在性能上突出了两者各自的优点,而又很好的限制了两者的不足,进一步提升了语音的质量和用户的感受。

1.1 交织技术

严格来说,交织技术并不算典型的丢包恢复技术,因为它并没有恢复已经丢失的包,但是通过交织后的数据,连续的突发性丢包变成了随机的零散丢包,加上人耳的掩蔽特性,其恢复效果还是可接受的[2]。所以,从这个意义上说,交织技术也可作为丢包恢复技术。如图2,展示了每个IP包包含4个单元的语音的交织方式。

其工作原理为:在发送前,把原始语音数据分成若干个比IP包还小的单元,然后通过预先设置的某种规则重新排列这些单元的顺序,使得每个IP包中的数据不再是来自于同一个包中,而是来自于不同的语音帧,当发生丢包现象时,虽然丢失的还是完整的IP包,但并没有丢失原始语音中这个IP包的全部数据,而仅仅只是不同IP包中的一些比特,最后在接收端再将这些单元通过设置的规则的逆过程恢复到原来的顺序。这样,本来丢失的一个完整语音包的数据,就被分散在了不同的包中,虽然丢失的数据在总量上保持不变,但是人耳的掩蔽特性能够自动修复丢失的少量数据。因此当每帧只丢失少量的数据时,对听者产生的影响很小,从而提高语音的质量和用户感受。

1.2 插值技术

插值技术是指在丢包处引用其相似的波形进行填充,这种技术要用到丢包周围的包对丢失的包进行估计,然后通过估计结果用最相似的波形对丢失波形进行替代,最终带来语音质量的提升,属于丢包隐藏技术的一种[3,4]。本文用到的插值技术的原理基于最小二乘法,即构造一个插值法P(x)来逼近真实函数f(x),当误差和最小时,此时的P(x)对于f(x)来说,误差最小,精度最高。要使最小,可以对P(x)中的系数求偏导获得[5],不再累述。

2 具体实施

本文所描述的基于交织和插值技术的丢包补偿方法步骤如下:

1)判断是否发生丢包,没有丢包,则跳出该程序,等待下一次调用;如有丢包,则计算丢包个数N。通过下式计算

其中,T代表发送端发送相邻两个语音包的间隔时间,t代表接收端实际收到相邻两个语音包的时间间隔[6]。

2)交织技术处理,将本来连续丢失的IP包数据分散到不同的包中。

3)插值技术处理,将连续丢失N个包的前N个包和后N个包作为样本进行丢包恢复。

4)丢包补偿,将恢复的数据插入到丢包的位置。

其流程图如图3所示。

3 实验结果及结论

本文利用MATLAB进行仿真验证,仿真结果如图4所示,图(a)是正常传输的语音信号波形图;图(b)是未经过交织发生语音信号丢包的波形图,和图(a)比较,可以看出发生丢包的位置所包含的语音段变化复杂,所经历时间较长,不容易进行插值且不符合语音短时平稳性的假设;图(c)是经过交织后接收端收到的语音信号丢包的波形图,和图(b)比较,最大的不同就是将丢包分散在不同的语音帧中,这时丢失数据较少,符合语音短时平稳性的假设;图(d)是采用本文丢包补偿方法恢复出语音信号波形。和图(a)对比可以看出,发生丢包的语音信号位置,经过本方法恢复后,很好的保持了原有波形的特征。尽管幅度有些许改变,但是相位没有明显变化,加上人耳的掩蔽特性,恢复效果还是不错。

通过以上事实,可以说明采用本文描述的语音丢包补偿方法,可以很好的恢复丢包语音信号的波形,提高接收语音的质量。经过恢复后的语音信号与源信号相比,没有明显在幅度和相位上的误差,用户基本感觉不到其中的微小差别。并且该方法实现简单,没有增加额外带宽等影响性能的因素,是非常适合在对时延敏感的系统中使用的。

参考文献

[1]李如玮,鲍长春.VolP丢包处理技术的研究进展[J].通信学报,2007,28(6):103-109.

[2]陈锼.网络语音传输丢包的恢复技术[D].哈尔滨:哈尔滨工业大学,2008.

[3]王培明,施寅.VolP中丢包隐藏技术研究[J].计算机技术与发展,2006,16(7):26-28.

[4]YOMA N B,BUSSO C,SOTO I.Packet loss modeling in IP networks with state-duration constraints[J].IEEE Proceedings—Communica tions,2005,152(1):1-5.

[5]WANG P M,SHI Y.Packet loss concealment techniques for VoIP[J].Computer Technology and Development,2006,16(1):26-28.

通信丢包 篇5

关键词:VoIP,丢包隐藏,WSOLA,互相关系数

0 引言

在目前运用较广的网络电话Vo IP当中, 语音数据的分组 (打包) 传输在遇到网络阻塞或延时比较长时会出现语音包丢失现象, 严重影响了通话的质量。针对Vo IP网络丢包现象国内外主要采用丢包补偿策略来提高语音质量, 而丢包补偿方法主要有两种形式:丢包恢复和丢包隐藏[1]。丢包恢复重点在于从接收端收到的数据中, 得到与原始输入语音信号没有差别的数据, 通常是直接利用所传递的信息冗余来抗误码和干扰, 达到降低接收端的实际丢包率的效果;丢包隐藏的重点则在于利用人耳的掩蔽特性, 在接收端所收到语音信息中, 选取一段或几段按照一定的逻辑仿造出已经丢失了的语音包[2]。由于人耳在听声音的时候会在潜意识中对不完整和不正确的波形进行修补, 因此使用丢包隐藏技术所恢复出来的波形, 通常不会让人明显地感觉到错误, 可以在很大程度上提升接收端人耳的听觉感受[3]。

在目前的一些丢包隐藏算法中, 波形相似叠加WSOLA算法[4]恢复的语音质量可以取得比较令人满意的效果。但是, WSOLA会引入一定的计算延时, 尤其在计算其互相关系数时所需计算量较大, 增加计算延时过多, 进而影响语音通话质量的提高。

1 Vo IP的基本原理

Vo IP是采用全球互联的IP网络环境来实现语音通信的, 语音信号在IP网络当中的传输过程是:在发送端, 输入语音信号为模拟语音信号, 经过采样, 量化, 编码等步骤转换成数字信号。根据通信环境采用适当的压缩编码技术对该数字信号进行压缩, 以应对网络传输的需求。压缩后的语音数据根据实时传输协议RTP、用户数据报协议UDP和网际协议 (IP) 分组打包[5], 原始输入语音信号就形成了IP包的形式, 最后就是通过IP网络将形成的数据包传输出去;在接收端, 将接收到的数据包组合, 经解码器解压缩处理后恢复成模拟语音信号, 经声卡播放, 实现Vo IP通话。图1显示了Vo IP实现语音通信的基本过程。

IP网络提供的是尽力的、不可靠的数据传输服务, 网络的负载和拓扑可能会动态变化, 因此网络可能会出现拥塞, 导致数据包不能有序并且全部到达接收端[6]。从而在Vo IP的实际通话过程中, 一旦遇到网络阻塞, 数据分组就会滞留在IP网络中的各个网络节点, 而且IP网络为了解决网络拥塞, 就会选择丢失分组。所以, 当一个网络节点的分组数量超过其最大缓冲能力时就会有部分数据丢失—Vo IP网络丢包。在传输中某些语音包丢失, 就会造成与此相对应的声音波形不能重建出来, 那么在接收端重建的声音波形中就会有许多断裂处, 使得最终听到的声音音质下降。

2 改进WSOLA算法

2.1 WSOLA算法思想

丢包隐藏方法中的时域扩展技术是采用丢包处两端的语音波形通过一定的算法来填补丢失的语音信息[7]。由于时域扩展方法采用了特定的算法来实现, 因此不可避免地引入了一定的计算延时。WSOLA也是一种在Vo IP网络接收端应用的时域扩展算法, 它将丢包处前面一段语音拉长来覆盖丢失了的语音。采用WSOLA这种时域处理的办法就会引入一定的计算时延, 但它可以较好地保持原始输入语音信号的基音周期, 使重建后的语音信号尽可能小的损失音质。因此, 采用WSOLA丢包隐藏算法可以较好地解决由于丢包而带来的通话质量下降问题。

WSOLA算法的基本思想如图2所示:选取丢失包前面几个正确接收到的数据包作为输入信号, 从输入信号中分解出几个L样点长的语音段, 再把分解得到的几个语音段按Δy的步长进行部分重叠相加。并且, 在相加之前需要给每个语音段乘上一个和其长度相同的汉宁窗, 以使重组后的语音段依旧能够保持正常的语音幅值。语音段的分解步长不固定, 而叠加步长固定。同时为使重组语音的基频不变, WSOLA通过计算互相关系数查找最相似波形来使两段语音在最佳位置重合相加[8]。组合后的语音段相对于原语音断长度将会增加或减少, 这由扩展常数决定。

2.2 WSOLA算法过程

对于WSOLA算法, 其核心部分为计算互相关系数, 找到最相似波形的起始位置, 对语音段进行分解。对于语音段的分解如图3所示, Sk-1语音段为已知参考语音段, Ski为备选语音段, 它的个数取决于搜索区域的长度, WSOLA算法要找到最相似波形也就是从所有的备选语音段中找出最合适的作为最终进行重叠相加的语音段Sk。

给定扩展常数α, 则:

其中, △x是语音段Ski的起始位置搜索区域的中点与上一个语音段Sk-1的起始位置之间的距离, △y=L/2, L为分解语音段长度。Ls为搜索区域的长度, 将搜索区域内的点作为起点可以得到Ls个备选语音段Ski, 计算每一个Ski前半部分与Sk-1后半部分的互相关系数:

其中, i=1, 2, …, Ls。该公式表示Ski前半部分与Sk-1后半部分对应位置的值相乘再求和。搜索区域当中的每一个位置对应一个互相关系值, 以互相关系数取得最大值时的Ski作为最终Sk语音段。再将已知的Sk作为参考语音段重复以上过程, 分解完输入信号。

将WSOLA应用于丢包隐藏时, 仅采用丢失包前面接收到的两个完好包的语音数据 (如图4所示) 来重建出丢包处的语音, 这样有助于减少计算延时。同时为得到语音段S1以及其后的语音段, 引入一个辅助语音段S0, 可根据经验 (式 (3) ) 确定所对应的S0搜索区域的位置:

其中Ls是搜索区域的长度, Lin为输入信号长度, Lout为输出信号长度, r0为与S0语音段所对应的搜索区域的初始位置。在寻找S0的初始位置时, 采用计算互相关系数的方法, 用在搜索区域中得到的每个语音段与原始采用的语音中的对应位置分别相乘得出。

一般来说, 为了使分解出的最后一个语音段的长度可以达到L个样点, 将固定最后一个语音段的搜索区域在最少离输入信号最后一个样点还剩L个样点的位置。计算总语音段的段数N为:

为了使丢包处被输出的语音段覆盖, N和L应满足:

由式 (4) 和式 (5) 可确定分解语音段的长度:

2.3 改进的互相关系数计算方法

原始WSOLA当中给出的互相关系数计算式 (式 (2) ) 在寻找最相似波形时所需的计算量较大, 尤其是当搜寻区域很大 (即基频很低) 或语音段长度过长时, 会引入更多的计算延时[9], 进而降低了通话语音质量。因此, 文章提出了一种新的相似波形寻找方法和互相关系数计算方法:根据原始互相关系数计算式中的Sk-1语音段后半部分最大值位置和备选语音段Ski前半部分最大值位置之间的距离来计算互相关系数, 两个最大值位置之间的距离越小, Ski语音段前半部分波形与Sk-1语音段后半部分波形越相似, 互相关系数则越小。互相关系数取得最小值时的备选语音段即为要寻找的最相似波形。由此可得到改进后的互相关系数计算公式:

其中, i=1, 2, …, Ls。式中Lk-1为参考语音段Sk-1中后半段最大值的位置到Sk-1中间位置之间的长度, Lk为备选语音段Ski前半段最大值的位置到Ski初始位置之间的长度 (如图5所示) 。式 (7) 表示参考语音段Sk-1中后半段最大值的位置与备选语音段Ski前半段最大值的位置之间的距离。在寻找相似波形时, 将式 (7) 取得最小值时的Ski作为最终的Sk语音段。改进的WSOLA算法过程与原始WSOLA算法过程相同, 主要不同为互相关系数计算方法。如图5所示, 改进的WSOLA算法在计算互相关系数时只需计算出Sk-1语音段后半部分最大值位置和备选语音段Ski前半部分最大值位置之间的距离, 而原始WSOLA算法则需要将Sk-1后半部分与Ski前半部分对应位置的值相乘再求和。

2.4 仿真结果

采用Matlab对WSOLA算法和改进WSOLA算法进行仿真, 重建出丢包处的数据, 以验证对WSOLA改进的可行性, 同时对两种方法恢复语音的质量进行评价以确定改进后的WSOLA算法的优劣。在本次仿真试验中, 取N=3, Lin=320, Lout=480, L=240。同时选取一个声音文件中的一段数据 (760个采样点) 为研究对象。假设单个包所含的样点数为160, 搜索区域长度为40, 仿真时将单个包的采样点值置零来模拟丢包。图6为模拟丢包时的声音数据, 图7为采用WSOLA算法进行丢包隐藏时所重建的声音数据, 图8为采用改进的WSOLA算法所得结果。

通过比较图7、图8的波形可知, 采用改进的互相关系数计算方法, 可以取得与WSOLA算法相近的结果, 表明这种改进方法是可行的。

采用ITU-T P.862建议书提供的客观MOS值评价方法PESQ[10]对重建语音进行评价, 来确定改进后的WSOLA算法回复语音质量。测试语音数据采样频率8 KHz, 量化精度16 bit, 总共有24 077个采样点。在模拟一定丢包率的情况下, 通过MATLAB仿真, 可以得到WSOLA算法和改进的WSOLA算法恢复的语音信号, 然后以原始语音为基准, 得到PESQ_MOS值如表1所示。

分析表1的数据可知, 在相同丢包率的情况下WSOLA算法和改进的WSOLA算法所得到的PESQ_MOS值差别不大, 可认为所得到的语音质量相近。

比较WSOLA算法与改进的WSOLA算法的计算量, 主要是在计算互相关系数时有所不同, 在其它的方面, 如加窗、重叠叠加等, 计算量一样。对于改进的WSOLA算法只需要进行简单寻找最大值运算, 在计算每一个Ci时只需要一次减法及一次求取绝对值运算, 而WSOLA算法需要L/2次乘法运算以及L/2-1次的加法运算, 并且总的运算量随着Ls的增大而大幅增加。由此可知改进的WSOLA算法的计算量相比较WSOLA算法大大减少。

3 结语

WSOLA算法应用于Vo IP网络的丢包隐藏时, 能够在尽可能小的损失音质的情况下, 把通话信号的持续时间拉长, 但会引入计算延时。本文提出了WSOLA丢包隐藏算法中的互相关系数计算的一种改进方法。通过仿真测试以及恢复语音评价表明, 该方法在保证语音质量的情况下, 大大减少了计算量, 避免了高延时的引入, 从而有助于提高Vo IP的通话质量。

参考文献

[1]Perkins C, Hodson O, Hardman V.A Survey of packet loss recovery techniques for streaming audio[J].IEEE Network, 1998, 12 (5) :40-48.

[2]李默嘉.基于无线网络的VoIP中WSOLA算法的改进研究[D].北京:北京邮电大学, 2009.

[3]Wang J, Jierry D G.Parameter interpolation to enhance the frame erasure robustness of CELP coders in packet networks[C]//2001 IEEE International Conference on Acoustics, Speech, and Signal Processing, Salt Lake City, UT, 2001:745-748.

[4]Verhelst W, Roelands M.An overlap-add technique based on waveform similarity (WSOLA) for high quality time-scale modification of speech[C]//Proceedings of International Conference on Acoustics, Speech, and Signal Processing.[S.l.]:IEEE Press, 1993:554-557.

[5]李如玮, 鲍长春.VoIP丢包处理技术的研究进展[J].通信学报, 2007, 28 (6) :103-110.

[6]祝轶群, 王志伟, 张华, 等.VoIP中丢包恢复的方法[J].计算机工程, 2008, 34 (23) :123-125.

[7]王培明, 施寅.VoIP中丢包隐藏技术研究[J].计算机技术与发展, 2006, 16 (7) :26-28.

[8]Sanneck H, Stenger A, Younes K B, et al.A new technique for audio packet loss concealment[C]//Proceedings of IEEE Global Internet (Jon Crowcroft and Henning Schulzrinne, eds.) .London:IEEE Press, 1996:48-52.

[9]黄华华, 邱小军.基于PAOLA的丢包补偿算法[J].电声技术, 2007, 31 (4) :53-55.

通信丢包 篇6

关键词:丢包率,MLMS,前向纠错,语音频

0 引言

在实时语音传输中[1], 包发生丢失的主要原因有:①传输设备中存在信号干扰, 如线路层的断裂、射频干扰等;②IP网络是以尽力而为的方式进行信号传输, 所以会出现超时丢失;③无论是有线传输还是无线传输都会存在网络拥塞, 这也是造成丢包的重要原因。实验证明, 当网络丢包率小于3% 时是可以接受的, 采取丢包处理技术后, 丢包率的容忍度可以达到8% ~10%[2]。传统的丢包重传策略对于非实时语音通信是一种比较好的丢包处理技术, 但对于实时性要求较高的语音通信业务, 重传策略带来的延时严重影响了通信效率, 使之不可取[3]。

丢包处理技术是指采用相应的方法来恢复丢失的语音包, 从而使接收端还原的语音波形接近原始语音波形, 使人耳感觉没有丢包的一种技术[4]。目前, 丢包处理技术可以分为两大类:一是丢包恢复技术, 主要是预防丢包或者在丢包已经发生后将丢失的信息恢复, 丢包恢复技术需要发送端和接收端的共同参与[5,6,7];二是丢包隐藏技术, 主要是在丢包已经发生的情况下如何对丢包所造成的损失进行隐藏, 丢包隐藏技术不需要发送端的参与, 只在接收端进行处理[8,9,10]。

丢包恢复技术可以很好地恢复丢失的信息, 该技术的缺点是增加了传输的冗余信息, 如果在传输过程中没有发生丢包或者只有少量的丢包, 那么在有限带宽下就加大了网络的负载, 降低了传输效率。

1 吉尔伯特 (Gilbert) 丢包模型分析

吉尔伯特模型可以说明信息在传输过程中的状况, 该模型是一种两太马尔可夫模型[11]。假设发送端按一定间隔发送两个包, 分别标号为①、②, 接收端依次收到包①和包②, 其中包①到达接收端时可能有信息丢失, 称为丢包状态 (状态1) , 也有可能未丢失信息, 称为未丢包状态 (状态0) 。同理, 当包②到达接收端时也有两种状态, 丢包状态 (状态1) 和未丢包状态 (状态0) 。

由于信息在传输过程中的丢失具有相关性, 即下一次的丢包与否与上一次是否丢包有关联。先对包②作如下分析:①P01表示在包 ① 未丢失的情况下, 包 ② 丢失的概率;②P00表示在包①未丢失的情况下, 包②也未丢失的概率;③P11表示在包 ① 丢失的情况下, 包 ② 也丢失的概率;④P10表示在包①丢失的情况下, 包②未丢失的概率;⑤P0表示某个包的平均到达率 (无条件不丢包概率) ;⑥P1表示某个包的平均丢包率 (无条件丢包概率) 。

由概率统计知识可知:

并且:

由于当前到达的包的丢失率是和先前的包的状态 (丢失与否) 有关, 所以得到式 (6) :

即上一次不丢包而下一次丢包的概率小于上一次丢包下一次也丢包的概率。

由式 (2) 、 (3) 、 (6) 可得:

传统的丢包恢复方法是在第n个包中携带第n-1个包的冗余信息 (冗余度为1) 或者是同时携带第n-1个包和第n-2个包的冗余信息 (冗余度为2) 。

当不采用丢包恢复方法时, 平均丢包率:

当丢包恢复冗余度为1时, 平均丢包率:

当丢包恢复冗余度为2时, 平均丢包率:

在移动环境下语音数据的丢包一般具有相关性, 因此在现有包中携带已发送包中冗余信息的丢包恢复技术是完全可行的。

2 前向纠错技术

2.1 传统的前向纠错算法

前向纠错FEC (Forward Error Correction) 是一种属于信道编码的纠错技术, 其基本原理是对需要传输的数据进行纠错编码, 将编码的结果作为数据信息的冗余成分, 若在传输中发生了丢包, 可以利用冗余成分对在纠错范围内的丢包进行恢复[12]。

传统前向纠错算法的主要缺点在于, 即便是在丢包率比较低的情况下, 也使用固定数量的冗余包去恢复较少的丢失包, 这样大部分的冗余包成为无用信息, 浪费了部分的带宽。同理, 在丢包率比较高的情况下, 固定的冗余包无法完全恢复丢失包, 达不到所要求的恢复效果[13,14]。

综上, 对于移动环境下变化剧烈的无线信道来说, 由于冗余量的恒定性和网络环境的易变性之间的矛盾, 导致实际的前向纠错系统在效率和效果上都无法得到很好保证。

2.2 改进的前向纠错算法

在传统的前向纠错算法中, 固定冗余量的策略无法适应移动环境下变化剧烈的无线信道。采用在发送端和接收端之间建立一条反馈通道的方法, 该反馈通道的作用是在接收端计算当前的丢包率, 然后由反馈通道传送给发送端, 发送端根据这个实时的丢包率动态调整当前前向纠错块中的冗余量, 使下一个待发送的前向纠错块拥有一个最适合当前网络丢包率的的冗余量, 这样将带宽的浪费降到最低, 同时也提升了移动环境下前向纠错策略的适应性。

基于丢包率变化的自适应前向纠错技术按图2所示实现丢包纠错。

方法如下:

(1) 在接收端和发送端之间建立一条反馈链路, 用于接收端向发送端反馈最近一个FEC包中的丢帧个数, 同时, 在传输开始前, 发送方和接收方都共同默认3个事先设定好的丢包率阈值r0、r1、r2 (其中r2≤r1≤r0) , 分别对应于P1、P11、P12, 这3个值一般根据用户对语音频信号质量的要求和传输实时程度自定义设置。

(2) 在实时语音频业务中, 发送端根据接收端反馈的最近一个FEC包中的丢帧个数预测待发送FEC包中的丢帧个数Cr, 并利用式 (11) 预测待发送包的丢包率。

其中, r为预测的丢包率, N为发送的总数据包。

(3) 当r≥r0时, 则设定冗余深度为2, 同时设定R-S编码中n-k (k为有效数据) 值, 使得:n-k ≥ Cr。

(4) 当r2≤r

(5) 当r

对于Cr的取值, 采用改进型归一化最小均方误差[15,16] (Modified Least Mean Squares:MLMS) 预测器来预测下一个待发送FEC块中丢帧的个数。

预测误差Ei:

其中, ei为接收端实际计算的第i个FEC块中丢帧的个数, e′i是MLMS预测器预测的第i个FEC块中丢帧的个数, Ei是两者的误差。

由预测误差计算Wi:

其中, Wi是MLMS滤波器的系数, η是MLMS滤波器的迭代步长, 是之前m (m的取值由实际的网络状况确定) 个FEC块中丢帧个数的平均值, 是前m个FEC块中丢帧个数的总和。

预测丢帧个数:

对于预测丢帧个数, 会存在抖动, 其计算方式为:

其中。

由式 (14) 、 (15) 得最终预测丢帧个数为:

其中ε>1为常数。

由式 (16) 得最终预测丢包率和纠错能力:

在对延迟要求不高的情况下, n-k可以取大些, 而在对延迟要求较高的情况下, 可以取n-k= Cr 。

3 仿真结果

采用Matlab和Aution软件对传统的FEC算法和改进型FEC算法进行仿真, 以验证改进型FEC算法的可行性, 同时对两种方法恢复语音的质量进行评价以确定改进型FEC算法的优劣。在本次仿真试验中, 选取一个声音文件中一段120ms的数据为研究对象。图3为模拟丢包时的原始语音数据波形, 图4为采用传统的FEC算法所输出的语音数据波形, 图5为采用改进的FEC算法所输出的语音数据波形。

通过比较图3、图4、图5 的波形可知, 采用改进的FEC算法所输出的波形, 可以取得与原始语音数据波形相近的结果, 表明这种改进算法具有明显优势。

采用ITU-TP.862评价标准中提供的客观MOS值评价方法PESQ对重建语音进行评价, 确定改进的FEC算法恢复语音质量[17]。采用R-S (19, k) 的自适应FEC作为测试方式, 其中n=19, k的取值由Cr的值作自适应调整。MOS值测试如表1所示。

4 结语

上一篇:无线天线下一篇:血管衰老因子