2011-10-28 8 views
1

QRコードについて読んだら、すべての記事を閲覧しましたが、αxテーブルの1つのQRコード指数を見ることができます。私はこのテーブルがどのように作成されているのか分かりません。誰でもこの表の背後にある論理を私に説明することはできますか?表はhttp://www.matchadesign.com/_blog/Matcha_Design_Blog/post/QR_Code_Demystified_-_Part_4/#QRコードでエラー訂正の指数値を計算する方法

答えて

4

で発見することができます参考のため

(このためzxing source codeはあなたを助けるかもしれない。)

それはここにすべての数学を説明するために多くのことを取るだろう。リードソロモンエラー訂正では、256要素のガロア体が必要です(何も言及しません - 加算と累乗を持ち、そのように定義された256個の要素のセットだけです)。

数値、係数がすべて0または1の多項式の観点からです。8係数の多項式を使用しています。これらは便利には8ビット値に対応しています。これらの値を数値と考えるのは魅力的ですが、実際は異なるものです。

実際、すべての操作がガロア体の値に戻ってくるような感覚を持たせるために、すべての結果はフィールド内の既約多項式を法として計算されます。

操作を高速化するために、多項式「x」の累乗がフィールド内にあるものをあらかじめ計算すると便利です。これはアルファです。多項式「x」は00000010なので、これは「2」と考えることができますが、これは完全に正確ではありません。

だから、フィールドのxのべき乗を計算するだけです。それはフィールドなので、フィールドのすべての要素をこのように打ちます。シーケンスは、原始多項式の最初の「モジュロ」が有効になるまで、しばらくの間マッピングされる2のべき乗のようです。 xで乗算することは、実際には2倍のようなものですが、実際にはこの分野では偶然のことです。

+0

私は[このチュートリアル](http://www.thonky.com/qr-code-tutorial/error-crerection-coding)に従ってエラー訂正コードワードの生成を実装しました。除算が最初の2つの単項式が係数ゼロの結果を生成する場合を除いて、実装はうまくいきます。これは、log-antilogテーブルに対数ゼロの値がないため例外を生成します。数学的に言えば、私はこの例外に対処する方法を知らない... – SebasSBM

+0

Wooooohooo !!この例外に一週間ぶつかった後、私は最終的にそれを解決する方法を考え出しました!私はちょうど考え出した:生成多項式に0を乗算すると、すべての項はゼロになります。 'message_polynomial XOR zeroes = message_polynomial'なので、それは次の繰り返しのための変数を設定するだけで簡単でしたし、現在の繰り返しを終了します!私はこれが私をほぼ1週間くっついていたとは信じられないが、今はとても幸せだ! :-) – SebasSBM

関連する問題