關於:寫給編碼人員的裏德-所羅門編碼

參考文檔:寫給編程人員的裏德-所羅門編碼

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章