前向纠错(英语:forward error correction,缩写FEC)或信道编码(英语:channel coding)是一种在单向通信系统中控制传输错误的技术,通过连同数据发送额外的信息进行错误恢复,以降低
比特误码率。FEC又分为带内FEC和带外FEC。FEC的处理往往发生在早期阶段处理后的数字信号是第一次收到。也就是说,纠错电路往往是不可分割的一部分的模拟到数字的转换过程中,还涉及数字调制解调,或线路编码和解码。
前向纠错(英语:forward error correction,缩写FEC)或信道编码(英语:channel coding)是一种在单向通信系统中控制传输错误的技术,通过连同数据发送额外的信息进行错误恢复,以降低
比特误码率。FEC又分为带内FEC和带外FEC。FEC的处理往往发生在早期阶段处理后的数字信号是第一次收到。也就是说,纠错电路往往是不可分割的一部分的模拟到数字的转换过程中,还涉及数字调制解调,或线路编码和解码。
FEC是通过添加冗余信息的传输采用预先确定的算法。1949年汉明(Hamming)提出了可纠正单个随机差错的
汉明码。1960年Hoopueghem、Bose和Chaudhum发明了BCH码,Reed与Solomon又提出ReedSolomon(RS)编码,纠错能力很强,后来称之为里德-所罗门误码校正编码(The reed-solomon error correction code,即后来的附加的前向纠错)。ITU-T G.975/G.709规定了“带外FEC”是在SDH层下面增加一FEC层,专门处理FEC的问题。带外FEC编码冗余度大,纠错能力较强。FEC有别于
ARQ,发现错误无须通知发送方重发。一旦系统丢失了原始的数据包,FEC机制可以以冗余分组加以补入。例如有一数据包为“10”,分成二个分组,分别为“1”和“0”,有一冗余分组“0”,收到任意两个分组就能组装出原始的包。但这些冗余分组也会产生额外负担。
在
数据传输中,比特差错(英语:bit errors)的数量就是接收到的
信道中
数据流由于
噪声、
干扰、有损或
比特同步错误而更改的
比特的数量。
误比特率(英语:bit error rate,BER)是指单比特时间差错比特的数量。比特差错率(即误码率,英语:bit error ratio,BER)是一段时间内差错比特的数量除以传输的总比特数。BER是一种无单比特的性能指标,通常以
百分比的形式表示。
比特差错概率(即误码概率,英语:bit error probability)pe是误码率的
期望值。误码率可以视作误码概率的约略估计。对于长时间段和高差错比特,这个估计比较准确。
里德-所罗门码(又称里所码,Reed-solomon codes,简称RS codes)是一种
前向错误更正的
信道编码,对由校正
过采样数据所产生的有效
多项式。编码过程首先在多个点上对这些多项式求冗余,然后将其传输或者存储。对多项式的这种超出必要值得采样使得多项式超定(过限定)。当接收器正确的收到足够的点后,它就可以恢复原来的多项式,即使接收到的多项式上有很多点被噪声干扰有损。
里德-所罗门码被广泛的应用于各种商业用途,最显著的是在CD、
DVD和
蓝光光盘上的使用;在数据传输中,它也被用于
DSL和
WiMAX;广播系统中
DVB和
ATSC也闪现着它的身影;在计算机科学里,它是
RAID 6标准的重要成员。