论文部分内容阅读
随着网络数据业务的快速发展,人们急迫地想改善现有的传输技术条件,其中循环冗余校验码(Cyclical Redundancy Check,简称为CRC)作为一种有效的措施而倍受欢迎,应用广泛。CRC编码是通过增加校验元使得信息的内部结构具有更强的规律性和相互关系性,从而提高码字的抗干扰能力。校验元的作用是监督该码字在传输过程中是否发生了错误,并指出是哪位或是那些码元发生了错误。明显地,随机错误发生频繁的网络会忙于重发相同的信息,CRC码应用于此种网络,会大大地减少信道上的传输压力,从整体上降低网络瘫痪的可能性。
目前比较成熟的CRC编码实现方法有串行电路法和查表法。前者简单但是编码效率极其低,如果发送的数据较长或系统对时间要求高,这种方法不太适合;查表法配合汇编或者C语言一起使用很有效率,但是要求待编码的信息比较短,否则很多电路都无法提供足够的存储单元来放置庞大的软件表。并且,这两种方法都不能突出当前行业内主流技术的显著优点。
本论文主要就是从实际应用出发,研究实现任意长的数据且节省时间的编码算法,并且结合当前的技术背景设计出独特的编码器。主要工作和成果如下:
第一,通过分析近世线性代数基本原理、多项式有限域的概念、循环码的结构、生成多项式及生成矩阵,得到循环冗余校验码的一般编码公式。并且根据生成多项式、校验多项式及码字之间的关系,设计出简单的串行电路,并用电子自动化工具仿真这两种电路,再根据结果进一步分析各自的优缺点。
第二,通过熟悉多项式的运算规则和CRC码的特性,用严谨的数学公式推导出一种新的算法。这个算法是将长信息组以n-k长度分段,这些分段可以使用已有的方法实现编码。接着也用数学公式验证按任意长度分段的编码算法,并且给出了相关的直观图。只要将大码字进行直观图的分析就能很快得到编程实现的思路。
第三,从理论上分析分段编码算法对查表法的意义,同时还设计了并行输入编码器。这种编码器不仅在时间上符合要求,而且克服了查表法在VHDL实现中无法避免的问题,能大大缩短代码。