How to create QRcode page3

top page   previous page   next page

top page > QRcode > How to create QRcode > page3: Calculate error correcting code words

2.3 Calculating error correcting code words

Reed-solomon error correcting is used in QRcode.

First, result data in previous section are delimited to RS block data by rule of table5.
In example data, RS block number in 1-H is 1, we need not delimit.

Next select g(x) from table3.
In example data,count of error correcting code words is 17, we select below g(x).

g(x)=x1743x16139x15206x1478x1343x12
    +α239x11123x10206x9214x8147x724x6
    +α99x5150x439x3243x2163x +α136

Above α is a primitive element on GF(28).

Features of GF(28) are ...
 1.four arithmetic operations are supported
 2.α255=1
 3.We can convert exponential in α to integer (or vice versa) using table4.

Now polynomial f(x) which coefficients are data code words is divided by g(x).


f(x)=32x25 +65x24 +205x23 +69x22 +41x21 +220x20 +46x19 +128x18 +236x17 <---(1)

divide by g(x)

Coefficient of leading term in f(x) is 32.
For 32 is α5 from table4, we use
 g(x)*(α5)*x8

5*x25543*x245139*x235206*x22578*x21.....

5*x2548*x24144*x23211*x2283*x21.....

=32x25 +70x24 +168x23 +178x22 +187x21..... <---(2)

calculate exclusive logical sum (1) and (2)

f(x)'=7x24 +101x23 +247x22+146x21.....

We repeat same logic until this devide calculation is over. Next, for 7 is α198,we use g(x)*α198*x7
If exponent of α is over 255,then we decrease it using α255=1

Finally we can get below remainder R(x).

R(x)=42x16 +159x15 +74x14 +221x13 +244x12 +169x11+239x10
    +150x9 +138x8 +70x7 +237x6 +85x5 +224x4 +96x3 +74x2 +219x +61

(see table6)

So we can get

32 65 205 69 41 220 46 128 236 42 159 74 221 244 169 239 150 138 70 237 85 224 96 74 219 61


next page : Data allocation.

previous page    [1] [2] [3] [4] [5] [6] [7]   next page