(5-8)
求g (x)的关键是找出每个根的最小多项式。己知根ai,其相应最小多项式mi(x)可以用待定系数法和直接相乘法求出,而最简单的方法是查表。
5.3 循环码的译码原理
由于循环码是线性分组码的重要子类,循环码的译码方法与线性分组码相同,亦分为三步:
(1) 根据接收向量R(x)计算伴随式S(x);
(2) 根据S(x)找出对应的错误模式E(x);
(3) 将E(x)与R(x)相加(或相减),得到码字的估值C(x)。
5.4 循环冗余码CRC 编码流程
纠错码的译码是该编码能否得到实际应用的关键所在。译码器往往比编码较难实现,对于纠错能力强的纠错码更复杂。根据不同的纠错或检错目的,循环码译码器可分为用于纠错目的和用于检错目的的循环码译码器。
通常,将接收到的循环码组进行除法运算,如果除尽,则说明正确传输;如果未除尽,则在寄存器中的内容就是错误图样,根据错误图样可以确定一种逻辑,来确定差错的位置,从而达到纠错的目的。用于纠错目的的循环码的译码算法比较复杂,感兴趣的话可以参考一些参考书。而用于检错目的循环码,一般使用ARQ通信方式。检测过程也是将接受到的码组进行除法运算,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错,要求发送端重发。用于这种目的的循环码经常被成为循环冗余校验码,即CRC校验码。CRC校验码由于编码电路、检错电路简单且易于实现,因此得到广泛的应用。在通过MODEM传输文件的协议如ZMODEM、XMODEM协议中均用到了CRC校验技术。在磁盘、光盘介质存储技术中也使用该方法。
在System View中没有提供专用的CRC循环冗余校验码编码器,可以在CDMA库(IS95)中找到一个现成的专用的CRC编码器和译码器。该图符(Frame Q)是的接入信道的数据帧品质指示编码器,其中使用了多种不同比特率的数据模型,通过CRC校验来判断接入信道的质量好坏。其中规定每一帧的长度为20ms的数据。一个典型IS-95-A标准规定的9600信道的CRC测试码的长度为192比特,其中信息位172位、校验位12比特、尾部全零8比特。可以加入一个速率为860bps(192bit/0.2ms=860)的PN数据,然后观察经过CRC编码后的波形。并可用对应的译码器译码观察输出波形是否与输入的PN码一致。
在有噪声的信道中传输信息会产生差错,为了减少差错需要在传输的信息序列中引入冗余码来增加通信系统的可靠性。通常,信道编码可分为线性分组码和卷积码,CRC的编码流程如图5.1所示。
图5.1 CRC编码流程图
5.5 应用Matlab对循环冗余码(CRC)的编译
循环冗余码(CRC)是一种使用相当频繁的检错码。与分组码和卷积码不同,循环冗余码不具有纠错能力。当接收端检测到传输错误时,它并不去纠错这个传输错误,而是要求发送端重新发送这个信号序列。
5.5.1 CRC 的基本编译原理
循环码的编码过程中,发送端对每一个特定长度的信息序列计算得到一个循环冗余码,并且把这个循环冗余码附加到原始的信息序列的末尾一起发送出去。接收端收到带有循环冗余码的信号后,从中分离出信息位序列和循环冗余码,然后根据接受到的信息位序列重新计算循环冗余码。如果这个重新计算得到的循环冗余码与分离出来的循环冗余码不同,则接收信号序列存在传输错误。这时接受端会要求发送端重新发送这个信号序列,通过这个过程实现对信号的纠错。 Matlab循环码在不同信道中性能仿真研究+流程图(13):http://www.751com.cn/tongxin/lunwen_351.html