前向纠错FEC(Forward Error Correction),是一种差错控制方式,它被广泛应用于通信系统的编码技术以保证数据的准确性,它的基本思路是在发送端把要发送的信息(kbit)预先按一定的算法进行编码处理,加入带有信号本身特征的冗余校验信息(n-kbit),待到达接收端之后,在接收端按照相应算法对接收到的信号进行解码,如果错误在可纠范围之内,通过解码检查后纠正错误,从而降低误码率,提高通信系统的可靠性。在光通信系统中,通过FEC的处理,可以以很小的冗余开销,有效降低系统的误码率,延迟传输距离,实现降低系统成本的目的。 FEC的前向纠错是一个非常重要的防干扰算法。FEC降低了数字信号的误码率,提高了信号传输的可靠性。
性能三要素
FEC的使用可以有效提高系统的性能,根据香农定理可以得到噪声信道无误码传输的极限性能(香农限)。FEC方案的性能主要由编码开销、判决方式、码字方案这三个主要因素决定。
- 1 编码开销:校验位长度(n-k)与信息位长度k的比值,成为编码开销。开销越大,FEC方案的理论极限性能越高,但增加并不是线性的,开销越大,开销增加带来的性能提高越小。开销的选择,需要根据具体系统设计的需求来确定。
- 2 判决方式:FEC的译码方式分为硬判决译码和软判决译码两种。在相同码率下,软判决较硬判决有更高的增益,但译码复杂度会成倍增加。
- 3 码字方案:当确定开销和判决方式后,设计优异码字方案,使性能更接近香农极限,是FEC的主要研究课题。目前,软判决LDPC码,由于其良好的纠错性能,且非常适合高并行度实现,逐步成为高速光通信领域主流FEC的方案。
FEC算法(参考世界非世界,是名世界!)
以Hamming码为例 Hamming Distance:计算两串比特流不同的位数。如:101101与110100,两个比特流不同的位数为3位(第2/3/6位),因此Hamming距离为3,表示为d(101101,110100)=3.FEC要求在发送端与接收端创建相同的纠错码表,收发双方各自按照这份码表进行发送与接收/纠错。 如下发送码表
encoded bit sequence corresponding codeword
00 00000
01 11100
10 10011
11 01111
发送端想要发送的码字为 01 00 01 11 11 10 00 10,则发送时会根据字典,翻译成相应的码字,进行发送。
01 00 01 11 11 10 00 10
11100 00000 11100 01111 01111 10011 00000 10011
在接收端,在按照相同的字典进行译码。 接收端收到的码字为
11100 10000 11110 01111 01010 10011 10011 10011
其中 第1/2位(01),发送接收码字相同,对照码表字典取hamming距离为0的码字01。 第3/4位(00),由于干扰,接收到的第一个0变成1,则接收到的10000分别于字典里面的四种组合去计算Hamming距离,其中d(10000,00000)=1,d(10000,11100)=2,d(10000,10011)=2,d(10000,01111)=5,则选取hamming距离最小的译码为最后得到的码字00。 第5/6位(01),由于干扰,接收到的第4个1变成0,则接收到的11110分别与字典里面的四种组合去计算Hamming距离,其中d(11110,00000)=4,d(11110,11100)=1,d(11110,10011)=3,d(11110,01111)=2,则选取hamming距离最小的译码为最后得到的码字01。 第7/8位(01),正确接收,取hamming距离为0的码字01。 第9/10位(11),由于干扰,接收到的第3/5个1变成0,则接收到的01010分别与字典里面的四种组合去计算Hamming距离,其中d(01010,00000)=2,d(01010,11100)=3,d(01010,10011)=3,d(01010,01111)=2,则hamming距离最小的译码最后得到的码字01/11两种解释,可以识别错误,但无法纠错,重发。 第11/12(10),正确接收,取hamming距离为0的码字01。 第13/14位(00),由于干扰,接收到的第1/4/5个0变成1,则接收到的10011分别与字典里面的4种组合去计算Hamming距离,其中d(10011,00000)=3,d(10011,11100)=4,d(10011,10011)=0,d(10011,01111)=3,则hamming距离最小的译码为最后得到的码字10,则接收错误,既无法识别错误,更无法纠错。
wesley.blog.csdn.net/article/det…
使用FEC改善UDP音视频传输效果
TCP为保障数据传输的可靠性,设计的重传机制用于Internet传输实时音视频数据时会引发很多问题,首先就是延时问题,从而影响音视频的效果,失去实时互通的意义。所以更多的产品选择采用UDP。UDP同TCP相比能提供更高的吞吐量和较低的延迟,非常适合低延时的音视频互动场合。 但UDP传输存在的包乱序和包丢失的问题对于视频码流影响是非常大的。 视频会议、数字信号视频节目中通常使用FEC。在IP视频通话中丢包造成的影响多种多样。其中对视频质量的影响主要有:马赛克现象、局部变形、图像模糊、屏幕频繁刷新或闪烁、视音频不同步、视频下降、图像静止等等。对音频质量的影响包括:总体音频失真、间断、间歇性噪音、音频中断等。而对内容和演示数据质量的影响则包括:幻灯片模糊变形、翻页速度减慢或屏幕频繁刷新和图像静止等等。另外,丢包还会引起过度延迟,甚至是通话中断。