tag 标签: 误码率

相关帖子
相关博文
  • 热度 20
    2013-4-20 11:33
    1338 次阅读|
    0 个评论
    每一位工程师都具备制定标准的潜能,所需要的只是你对这项工作有兴趣并乐意把时间花在这项工作上。   纠错技术是设计现代数字通信系统的重要环节。也许,选择一种会大大降低设计速度并增加设计复杂度的纠错码并非难事,但结果往往却会令人失望。而选择合适的又是很高效的纠错码也很容易--但要使用合适的测试仪器来帮忙。   FEC(前向纠错)是许多现代数字通信系统的重要组成部分,它能将其他情况下无法使用的链路变成切实可用的系统。从DVD到移动电话,从电视到磁盘机,纠错技术都是一个数学奇迹,应用得当,能收到劣材成器的效果。图1是一个使用FEC编码和解码的通信信道的简化图。 图 1  在一个采用前向纠错的通信信道中,系统在发送前修改数据,以增加减小数据和未检测出的差错一起被接收的可能性。为了恢复原始数据,接收机需要完成与发送端相反的过程。   在数字通信期间纠正误码的方法各不相同,从简单的误码检测机制到非实时纠错、实时现场纠错,不一而足。从中选用哪种纠错方法,取决于系统需求以及预期误码的统计数据。而对纠正偶然随机单个误码的需求,你可以选择一种不适合于少而短的多位突发差错的纠错方法。一个个很长的突发差错事 件,可能需要一种不同的纠错方法,而这种方法需要大量缓存并且可能引入无法接受的等待时间。你在选定有效的纠错方法时必须进行权衡,这就要求你了解或者预期系统性能需求和应用性能需求。   在设计纠错方法之前,你必须完全了解系统中发生的典型误码类型。获得这些资讯的最好办法是收集不同典型情况下的误码统计数据。以前,误码统计数据只有平均误码率,使人无法深入了解纠错方法的设计情况。位误码率测试仪能捕获检测到的误码的确切的位的位置,为你选择纠正方法提供所需的精确统计数据。有助于你做出抉择的统计数据实例有:   ●  分别测量位误码率和猝发脉冲误码率;   ●  不同猝发脉冲长度的概率分布;   ●  包含不同误码数量的数据块总数;   ●  误码之间的无误码间隔分布。   如果你使用这些统计数据以及系统要求,则这些测量就可为你做出明智的设计抉择提供必要的数据。   例如,常用于存储器阵列的汉明码(Hamming),非常适合于纠正短码字中的高概率随机单位差错。将维特比栅格检测器作为子集的最大似然码,可以减少由白噪声引起的单位差错。磁带驱动器和软盘驱动器使用的法尔(Fire)码,能够对长度小于7位~15位的少量单猝发脉冲差错进行快速有效的纠正。从CD-ROM至深空通信系统等各种设备使用的乘积阵列RS (Reed-Solomon)码,能高效地纠正潜在的长突发脉冲差错,但却要使用大容量缓存器,并会延长处理等待时间。    采用先增加数据,然后删除的方法   纠错码的数学原理所依据的是这样一个概念,亦即在发送的消息上增加一些信息,使得接收到有误码消息的可能性比接收到正确消息的可能性更小。通常,你可以将增加了FEC信息的消息看作一个码字。有时,FEC信息只是添加在消息的末尾(例如CRC、奇偶校验以及校验和)。有时,FEC信息与消息卷积在一起形成一个全新的消息(例如维特比码和8位/10位码)。   由于所选用的纠错方法决定了FEC解码器的复杂性,因此对纠错类型的抉择错了,就会大大增加系统设计的复杂性,大大增加系统设计工作量。复杂性决定固有等待时间、处理需求、误检误纠正概率以及误码传播模式。例如,软盘驱动器可以使用固件以及简单的硬件CRC误码检测器来纠正单扇区小突发差错。当检测器发现CRC差错时,读取速度就降低,软件便接用CRC计算结果进行小量的纠错。这种方法很有效,因为误码很少,该系统又没有实时要求。另一方面,数字录像带播放机不能暂停重放来纠正误码,在这种情况下,播放机必须实时纠错。纠错方法的选择必须反映实际的误码统计数据。   识别并记录一个信道中检测到的误码的确切位的位置,就能使误码率测试仪轻而易举地模拟所提议的纠错方法。最简单的例子就是一种RS型信息组代码。RS信息组代码构成许多最常用的FEC系统的基础,其中包括卫星广播、水下光纤、数字磁带记录以及深空通信。这代码把2T个系统开销符号附加在长度为k个符号的消息上,生成总长度为kn=k+2T个符号的消息。这一代码有时被称为RS(n,k)码。无论出错符号位于消息中的什么位置,它都能纠正T个出错符号。   例如,DVB(数位视频B)卫星广播用的MPEG-2数据,使用一个30~90Mbps RS(204,188)码,足以纠正8个字节符号误码。检测器对接收到的每个由204字节组成的信息组进行实时解码。只要误码少于8个字节误码,检测器就能纠正所有误码并提供完美的视频信号。如果误码多于8个字节,则误码检测器无法纠正误码,从而出现图像问题。   对误码进行分类与计数   为了了解一个个码字中误码的数量,位误码测试仪的分析功能 将根据用户定义的纠错参数,对检测到误码位的确切位置进行分类和计数。例如在DVB MPEG-2数据中,误码可以在204字节边界上累计。凡在204字节信息组内的误码数量小于或等于八个字节时,你就可以根据进一步的误码分析和计数进行纠错,因为有一个纠错器原本会纠正这些误码。这类分析仅在误码率超过每204字节信息组8字节误码时才对误码进行计数,再计算出纠错后的误码率(表1)。   符号大小是使用误码率测试仪执行这类分析之前必须定义的第一个参数,通常为8~10位。这类分析的其他部分忽略个别误码,只关注符号差错。当一个符号中有一个或多个误码时,误码率测试仪就认为该符号出错。该测试仪知道数据流中所有码错的确切位置后,就能很容易地计算出符号差错的统计数字。   RS信息组码中的单个码字只能纠正较少数量的符号差错。符号差错数量增加,就会大大增加代码总开销,也会大大增加纠错所必需的处理能力和处理时间。如果差错往往以小突发或大突发形式出现,有一种替代方法可提高RS信息码的T值。你只要在存储器缓冲器中将这一数据交错开来就能实现这种替代方法,这将提高纠错能力,但却增加了等待时间。   交错存储试图将突发差错一分为二, 以使突发差错的符号差错进入多个码字中。一个RS(204,188)码遇到一个14个符号突发差错,将无法进行纠错。但是,只要每隔一个字节将字节一分为二,并把该字节传递给两个独立的RS(204,188)码,相同的T=8纠错逻辑就能纠正全部差错。由此付出的代价是接收器必须等到接收到两个完整的204字节码字后才能开始纠错。在有些系统中,这一等待时间是无关紧要的(例如,数字录像播放机以及深空卫星接收机等流式传输设备)。但是,在其他事务系统(例如联网分组)中,这一等待时间将严重限制RS(204,188)码的可用性。    交错与分类   位误码分析很容易对交错进行仿真,这只是一种简单的分类功能。你通常可通过指定同时填充的码字的数量来形成交错。例如,4个RS(204,188) 8位符号码的交错构成一张表,表中有4行,每行有204个字节(图2)。该表代表6528位。当出现一个位差时,位置信息确定该位差错出现在表中什么地方。一旦所有6528数据位都收到,就对表进行逐行检查,以确定任何一行是否含有八个以上的符号差错。在误码计数之前对具有八个或八个以下出错符号的所有行进行纠错,这实际上实现了本应进行的纠错,这样,其余的位误码率就表示纠错后的误码性能。 图 2  你可以将与一维RS(204,188) 代码的4行交错表示为一张表,表中有4行,每行204字节。   这种与1维纠错码的2维交错的其他实例有适用于光纤通信的ITU(国际电信联盟)标准G.709和G.975码。例如,G.709可用一个在16行上交错的T=8的RS (256,239)码调出8位符号,而G.975只用4行交错就调出一个相同的码。   你还可以使用多维信息组代码来使一个比较简单的RS信息组代码,如T值比较小的RS信息组代码,能纠正大突发差错。但是,因为这种方法需要两级纠错,而且整个表必须接收到后才能开始纠错,所以这种方法进一步增加数据接收和解码数据输出之间的等待时间。数字录像机之所以使用该技术,乃是因为等待时间不是一个问题,而且大突发差错很普遍。一旦表中填满了码字,这种体系结构将先对每行纠错,然后再对每列纠错。只要失败的行少于T行,列纠错器将纠正这些行中的所有差错。这种方法为既纠正随机差错又纠正突发错误提供一种很好的折衷方案。   在随机错误不成为问题的情况下,如果需要对长突发差错进行最佳纠错,可以使用另一种技术。RS编码用一个符号来发现错误,用另一个符号来纠正错误,所以它必须在消息末尾附加2T个符号,却只能纠正T个差错。然而,如果知道了误码位的位置,RS码就可使用所有符号来进行纠错,因此能使纠错效率提高一倍。例如,当使用一个2维乘积阵列码时,内码解码器能发现有误码的行。只要这些行的数量小于2T,则解码器就能标出这些行是有误码的行,并且允许外码解码器对每行进行盲纠错。这种方法将可纠正突发差错长度增加一倍,这要视填充交错表的方法而定。通信工程师常常将这种方法称为用内码失效来删除外码。   位误码率测试仪能容易地分析所有这些基于信息组代码的体系结构。交错表维数和填充/排出算法能适应这些方法中的任何一种。如果信道遭受模型未包含的现象,则纠错器总效率可能急剧降低,所以利用误码率测试仪仿真FEC算法的优点是使用一个数字信道的实际误码数据来进行分析,而不是依靠一个假设的模型来获得误码统计数据。    误码位置分析   有一个实例应能说明误码率测试仪在优化FEC编码中的作用。该实例始于一个未纠错的、总平均背景误码率为2.68×10-6的数据信道,在这一信道中,既有突发差错又有非突发差错。你利用各种误码位的位置分析技术获得的误码分布表 明误码突发是随机而又相关的。图3示出了该数字信道某一部分的误码图。误码图将数据分割成段,并且将各段一个挨一个放置以生成一个由误码信息组成的2维图像。2维图像突出显示了检测到的位差错的位置。由位误码现象和突发现象造成的差错标有不同的颜色,能使人更好了解误码原因。图4表明:既有位差错又有突发差错,并且有些错误与段长度(水平"波段")是高度相关的,段长度等于系统"固有的"数据信息包大小。 图 3  在未纠错的误码图中既有位差错又有突发差错,误码率为2.68×10-6。有些差错与段长度(水平"波段")是高度相关的,段长度等于系统"固有的"数据分组大小。 图 4  RS(204,196) 一维纠错实际上只能消除小错误,但是较大的突发差错仍然存在。   在深入讨论之前,说说关于突发差错的另一个观点是适宜的。单单突发长度的概率分布是不足以确定FEC码所需的纠错能力。你常常会在其他背景差错出现时发现突发差错。此外,突发差错之间可能高度相关,因此一个突发差错可能预示着将来会出现另一个突发差错。在这种情况下,单个FEC码字可能会遇到一个以上的突发差错。信息包差错统计数据、无差错间隔概率以 及差错自相关都能使人更好了解其余的差错问题。但是,归根结底,基于误码位置的实际FEC仿真是在制造硬件之前研究FEC效率的最精确的方法。   为了设计一个适用于这一数据的纠错器,你首先使用一个简单的8位符号长的一维信息包代码,即RS(204,196),它是一个T=4 的纠错器。当误码率小于每204字节信息包4字节差错时,该代码能纠正符号错误。为了在一个具有FEC仿真功能的误码率测试仪内部进行这种分析,你必须启用此类纠错器并设置表2中列出的参数。   这一分析显示,简单的FEC可将误码率减小到8.55×10-7。为了实现这种代码,你必须增加等待时间才能使用数据,以便为缓存204数据字节并对其进行纠错处理留出时间,这通常需要第 2 条传送数据的信道。此外,还需要增加4%的开销才能使误码率降到8.55×10-7。图5示出了纠错后的数据的误码图。与预期的一样,实际上小差错得到纠正,但是较大的突发差错仍然存在。 图 5  经过一维RS(204,196)纠错和五行交错后,纠错后的误码率降为2.64×10-8。   为了改进突发差错纠正,你可以增加一种五行交错方案。增加这种交错会提高缓存需求和资料使用的等待时间,因此交错深度要尽量小。为了增加这种交错,就要将FEC参数修改为表3中列出的FEC参数。   你可望利用这一代码纠正一个长度为20字节的孤立突发差错。第二个代码中的T=0这一设置表明适用这一分析的外码没有进行纠错。这些参数将对数据进行2维交错,但是却进行一维纠错。使用这些设置,纠错后的误码率就降至2.64×10-8。图5示出了这种交错纠错的误码图。请注意:这项增强功能仍然使用相同的基本T=4解码器技术,但是解码之前使用了交错技术,使得误码更均匀地分配给一小批FEC码字。   你可以通过使用更深的交错和更强的纠错能力来继续使用这一方法,以实现误码率的大大降低,而所付出的代价是要采用复杂的纠错解码器和增加等待时间。利用误码率测试仪中的误码位位置统计数据,你可以很容易地探索各种纠错方法,以便就处理需求、开销和等待时间做出明智的抉择,为未来的创新产品产生数字信道。
  • 热度 27
    2013-3-27 15:35
    2745 次阅读|
    11 个评论
    国家兴亡匹夫有责,从神九用到 CAN 总线讲起( 5 )逃不掉的严要求   这篇文章要介绍现场的环境是如何恶劣,即使用屏蔽电缆,也会出很多错。另外,要看看别人是确定了什么样的数值界限。你看了之后就会觉得充耳不闻、视而不见、自欺欺人是不智的。 CAN总线即使有不安全的隐患,但是否在可容忍的界限内?要回答这个问题,必须要弄清楚现场会多恶劣,其次,可多大的失效概率是容许的界限。 从功能安全的角度,一个系统功能失效(它会造成人身和财产严重损失)的概率应该小于10-7/h。考虑到系统内部件的总多,分配给通信息系统的失效概率是10-9/h。这是与风险大小/当前由技术水平决定的投入的成本之比有关所作出的判断。当每小时有1千万辆车在开时,每小时10-7次故障意味着每天要有24辆车出或重或轻的车祸,也许死更多的人。中国今天的车保有量是1亿2千万辆,想想吧! 常识告诉我们电磁环境恶劣时干扰多,误码率就高,失效率就高。所以讨论容许的误码率就一定要先说在什么环境之下。 误码率的统计是以一段时间内出现错误的个数除以总的传送的码的个数,这里统计的时间长度又对统计的结果有很大的影响。这是因为干扰并不是均匀分布的,例如雷击时的干扰就比晴天要多,(还记得2011-7-23动车组出轨那天的雷击吗,碰巧那里的CAN总线也出了问题),在工业环境里开关一个感性负载时比该负载运行时干扰大。如果在传送中正好碰到负载切换,以一帧长度来统计误码率就会很大,但是如果一小时内只有开关了一次负载,那么按一小时来统计误码率就会很小,绝对的错数被大大摊薄了。 在通信通道的错误的模型上,就把这种情况以好坏二种状态来表示,一个通道可以用一种概率处于好的状态,以另一种概率处于坏的状态,上面所讲的雷击或感性负载开关的时候就是坏的状态。 那么选多长的时间统计是合理的?这也要看干扰的性质与要对付的失效的性质。 这是对感应耦合干扰的实验结果: FEI REN,“PERFORMANCE IMPROVEMENTS OF AUTOMOBILE COMMUNICATION PROTOCOLS IN ELECTROMAGNETIC INTERFERENCE ENVIRONMENTS”,A THESIS Presented to the Faculty of the Graduate School of the UNIVERSITY OF MISSOURI-ROLLA, 2007] http://scholarsmine.mst.edu/thesis/pdf/Ren_09007dcc80487aed.pdf 图中数据帧的长度为0.22ms(有4个帧多点),干扰由测试设备隔离的独立的电池经开关通断一个在车中常用的继电器产生,它的电线与CAN电缆松散地平行放置,长度各为2米,开关为每秒切换二次,平均地说每次切换会引起0.49ms的干扰(the average length of EMI is 0.49 ms.)。他统计的是收到帧中真正出了错的bit数(When receives frames, if any errors occurs in this frame, the receiver node can record the number of errors, and then request retransmission. The bit error rate can be gained by dividing the number of errors by the total number of received bits.)。     由这个实验可见,干扰发生在有负载切换的时候;它可以很密集,甚至在一个帧内有多次误码。   下表是他用屏蔽电缆的实验结果,他认为在实验中没有数据丢失(表中写为 100% ),但是实际收到的还是有差别,例如在 2 米线时作 40 次开关干扰时( 20 秒内 40 次坏状态),少收了 2bps ,即丢 2/904861=2.2*10 -6 。又如开关 60 次时( 20 秒内 60 次坏状态)少收 4bps ,可见误码数与干扰概率的比例关系,即每次坏状态时的误码率是相近的。由每次开关干扰长度 0.49ms 计,坏状态占运行状态的概率分别为 2*0.49ms/1s=1*10 -3 和 3*0.49ms/1s=1.5*10 -3 ,因此可推出坏状态时的误码率分别为 2.2*10 -3 和 2.9*10 -3 ,所以即使是屏蔽电缆,坏状态时误码率也是很高的。注意,我从他的实验结果得到了与他不同的结论。   抛开学术上分类方法的讨论,这里讨论二类通信失效:如果误码引起的错可以被通信协议的查错规则发现,那么误码率的影响就反映到帧出错的概率,只要一个帧的出错概率小于 1 ,那么总有成功送达的帧。   如果误码引起的错不可以被通信协议的查错规则发现,那么误码率的影响就反映到错帧漏检的的概率。错帧漏检率是非常重要的指标,因为人们为了节省成本与时间,不想再添加其他检验措施,而认为只要通信协议检验通过了就可以直接用,或者因受系统的别的约束,难以采取其他补救措施(我在文( 10 )中将讨论这一点)。   这种严格要求来源于系统可信赖性( system dependability )的分析。系统可信赖性分析时把故障分为能检测出的和不能检测出的二类。能检测出的故障往往可以采取措施,使系统回到安全状态,而不能检测出的故障则无法采取措施,它的概率就百分之百地算到系统失效概率中去了。   所以,涉及安全时就要考虑一帧长度时的误码率。如果有帧的多次多通道的重复传送,以解决正确帧和漏检错帧的拜占庭错时,容许一帧有错帧漏检,可以放宽误码率的要求。   我们看看有关的通信协议是如何处理误码率数值的:   PROFIsafe System ( 2010 年版)中提到他们为保证错帧漏检的贡献小于 10-9/h ,选择额外的 CRC 时要对付的误码率是 10 -2 。 见:   PROFIsafe System Description ( p.10 ) http://www.profibus.com/nc/downloads/downloads/profisafe-technology-and-application-system-description/download/9594 For the transmission, PROFIsafe is allowed a mere 1% contribution, meaning that the permissible probability of dangerous failures is 10-9/h. This permits suitable CRC polynomials to be deter- mined for the intended PROFIsafe message lengths. The resulting residual error probability of undetected corrupted PROFIsafe messages at a maximum bit error probability of 10 -2 guarantees the required order of magnitude.   在 CAN 协议错帧漏检率的分析报告中( p.9 ),他们计算实例时采用的误码率是 2*10 -2 。 见: J. Unruh, H.J. Mathony, K.H. Kaiser: "Error Detection Analysis of Automotive Communication Protocols". SAE Int. Congress, No. 900699,   Detroit , USA , 1990 。   可见误码率为 10 -2 是一个合适的界限,就是坏的状态时的误码率界限。如果通信系统处于坏状态的概率定为 10 -3 ,那么平均的误码率就只相当于 10 -5 了。   中国古语说取法于上得乎其中,取法于中得乎于下,所以你如果真的想赶上国外的先进水平,就不能懈怠了。你看,CAN已经尽力想达到这样的要求,但仍未达到,可见得乎其中了。   有朋友告诉我,他印象中,误码率 10 -4 已经很坏了,现场恐怕只有 10 -8 ,不会达到 10 -2 吧。这一方面是因为没有区别统计误码率的时间长短的结果,另一方面把干扰源低估了。有些干扰源可以加措施于以削弱,但是有些干扰源是无法预防的,例如雷击、人为攻击。我们设计的系统可能在雷雨区、雷雨季节使用,可能在电磁战的战场使用,你就必须考虑在高的误码率下存活。   有人喜欢玩弄辨论“技巧”,说这样要出事的话就是“不可抗力”的因素了,到时候当然是可以免责的。   2011-7-23 动车事故中有一段: 事故调查组检验测定,因雷击... 轨道电路与列控中心信号传输的 CAN 总线阻抗下降,导致 5829AG 轨道电路发送器与列控中心通信故障。 那是硬件有损的查得到的证据,如果雷打不得不那么大,设备没损坏,但已经出了许多误码,而由于隐患而软件出错的证据就难查了,所以必须在认证的阶段查实。   对于强的现场干扰(有电磁辐射的无线电站附近,高压线附近),运载工具还要用;雷电发生时你也可能在运载工具中,你仅希望自己不中“头彩”而不顾及不幸“中彩”的人吗?你能免除你心灵上的责任吗?当敌人采用电磁攻击而我们的设备不敌时,那些保卫我们的战士就危在旦夕,我们自然也危在旦夕,你能免除国家兴亡之责吗?可见不同的取向反映了人责任心的不同。 这事没有人提出,没有办法解决,可以说“不可抗”,有人提出,不作研究,就不是“不可抗”而是“不作为”。  
相关资源