关于:写给编码人员的里德-所罗门编码

参考文档:写给编程人员的里德-所罗门编码

Q:二维码RS编码算法C代码编写?

A:文档代码为python,编写为C代码,下载地址:RS编译码 C代码

 

Q:二维码伽罗华域,本原多项式(不可约多项式,或质数多项式)如何生成?0x11D如何计算得出?其他值怎么计算?

A:本原多项式满足条件:1、不可约(不能由 0x0~0xFF*0x0~0xFF相乘得到)    2、进行伽罗华域指数计算(2的n次幂)时0x1~0xFF唯一确定   3、值应大于0xFF

     代码编写:1、将0x100~0x200之间的数据作为候选项

                       2、去除0x100~0x200之间可由0x0~0xFF*0x0~0xFF得到的数(相乘可以得到的数取模等于0,将会有a*b=0(a、b均不为0),不符合运算)

                      3、验证伽罗华域指数计算值唯一确定(去除不唯一确定的值)

                      4、剩下的数据都符合本原多项式条件,可在代码(下载地址:https://download.csdn.net/download/cmc9527/11952350)验证生成值

     C 代码下载:里德-所罗门本原多项式生成 C代码

 

Q:如何验证代码正确性?

A:二维码文档中描述了相关纠错码的数据

     采用 Version 5 + Q,下列数据可以验证

     代码中采用的数据为第一组第一块验证

     二维码标准下载:二维码标准

     在文档 Annex A 中可以直接查询生成校验多项式(注意:二维采用本原多项式为0x11D,如里采用其他本原多项式,则需要重新生成校验多项式)

数据 对每个块的纠错码
1 1 67 85 70 134 87 38 85 194 119 50 6 18 6 103 38 213 199 11 45 115 247 241 223 229 248 154 117 154 111 86 161 111 39
2 246 246 66 7 118 134 242 7 38 86 22 198 199 146 6 87 204 96 60 202 182 124 157 200 134 27 129 209 17 163 163 120 133
2 1 182 230 247 119 50 7 118 134 87 38 82 6 134 151 50 7 148 116 177 212 76 133 75 242 238 76 195 230 189 10 108 240 192 141
2 70 247 118 86 194 6 151 50 16 236 17 236 17 236 17 236 235 159 5 173 24 147 59 33 106 40 255 172 82 2 131 32 178 236
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章