纠错码 在计算机电信信息理论和编码理论中纠错码ECCerror correctioncorrecting code是信息传输中错误检测与纠正的工具它通常用在不可靠或嘈杂的信道中数据发送方利用纠错码中的冗余信息使得接收方能够检测消息传输中发生的错误而且通常可以纠正这些错误而无需重新传输美国数学家理查德汉明Richard Hamming在年代开创了这一领域并在年发明了第一个纠错码汉明代码 相比错误检测纠错码不仅能够检测到错误而且可以将其更正它的优点是在出现错误时不需要反向信道来请求重发数据缺点是消息中增加了固定开销因此需要更高的前向信道带宽因此纠错码用于重传成本高昂或无法实现的情况例如单向通信链路时延较长的链接以及以多播方式发送给多个接收者的链接比如绕天王星运行的卫星由于传输错误而造成的重发会造成个小时的延迟纠错码信息通常添加到大容量存储设备中以恢复损坏的数据并广泛用于调制解调器固态硬盘以及主存为 ECC 内存的系统中 接收机中的纠错码处理可以应用于数字比特流也可以应用于数字调制载波的解调对于后者纠错码是接收器中類比數位轉換器的组成部分维特比Viterbi解码器采用软判决算法以从被噪声破坏的模拟信号中解调数字数据许多纠错码编码器解码器还可以生成比特误码率BER信号该信号可用作反馈以微调模拟接收电子设备 纠错码能够纠正的错误位丢失位的最大数量取决于它的的设计因此不同的纠错码适用于不同的环境一般来说能够纠正大量错误的代码中有着更多的冗余信息所以会需要更多带宽进行传输从而降低了有效比特率且同时提高了接收到的有效信噪比克劳德香农Claude Shannon的有噪信道编码定理回答了以下问题若使用最有效的代码将解码错误概率变为零数据通信还剩下多少带宽对于具有基本噪声水平的信道该定理给出了理论上的最大信息传输速率但是该证明不具建设性也就是说它并不能用来构建实现最大速率的代码经过多年的研究如今何时一些先进的纠错码系统其速率已非常接近理论最大值