基于汇编语言的BCH解码校验算法
时间:05-12
来源:互联网
点击:
指数相加的结果大于15时出现的情况。相对关键的是查表程序和求伴随式值程序。查表程序为BCH码的有限域运算提供了便利,表1中按α指数的递增顺序列出了有限域内的矢量值;表2中按矢量的递增顺序列出了对应的α指数。 据此α的指数与对应的矢量值便可实现相互查找,具体程序如下。 ① 查表1: 指数表示→二进制矢量表示。 TAB1: ADDA,#30H MOVR5,A MOVA,@ R5 RET ② 查表2: 二进制矢量表示→指数表示。 TAB2: ADDA,#40H MOVR6,A MOVA,@ R6 RET 这里以s3为例,给出求伴随式值程序的实现方法,其他伴随式可依此类推。因为s3=r(α3),所以先判断03H中的内容,若为1,则向寄存器B中送入(α3)14=α42=α12(指数按模15运算)对应的二进制矢量值(1111),否则送0;而后依次判断接收的其他各位,若第2位也为1,则将(α3)13对应的二进制矢量值与B中的内容模2加,否则B中内容不变,直至判断到第15位。由于将s3展开后,其展开式按α0、α3、α6、α7和 α12的规律重复出现了3次,因此毋须判断至第15位,只需判断至第5位,循环3次即可实现。 结语 至此,通过上述主程序和子程序的软件编解码方法,有效地实现了BCH码的差错检验、差错查找和差错纠正。该BCH解码的汇编程序,经实践检验,不失为单片机级的信号传输中较好的应用程序。它可以对多位的随机差错进行检错和纠错,具体位数的多少仅受单片机工作频率的限制,而与方法无关。
- CCITT CRC-16计算原理与实现(07-23)
- 基于有限状态机的嵌入式系统模型校验技术(10-14)
- IPC内嵌TMS320F206电表校验的接口实现(11-02)
- 基于FPGA的循环冗余校验码设计(03-06)
- CRC校验原理与程序设计——(RS485总线系统应用之1)(12-15)
- modbus的CRC校验程序(11-30)