BCH Codes verstehen für Fehlerkorrektur von QR Codes? Ich wollte mal BCH Codes und damit die Fehlerkorrektur von QR Codes verstehen. Mir ist durchaus bewusst, dass die Daten in einem QR Code, sofern korrekt erfasst, problemlos ausgelesen werden können. Aber diesen Fall möchte ich nicht betrachten, sondern genau das Gegenteil, den Fall mit der Fehlerkorrektur. Um im Folgenden eine Definition zu haben nehme ich den QR Code Version 4 H, welcher aus 4 gleichlangen Segmenten besteht. Jedes Segment wird aus 9 Quelldaten-Bytes und dazu 16 Bytes zur ErrorCorrection gebildet. Nun möchte ich wissen, dass wenn ein Fehler festgestellt wird, wie dieser korrigiert werden kann. Das sind ja immerhin 200 Bits pro Segment und es können, soweit ich das verstanden habe, bis zu 64 Bits gekippt sein. Das per Suche und Hamming-Abstand zu ermitteln, ist vom Aufwand her nicht möglich. Dafür gibt es Algorithmen; und diese möchte ich verstehen. ______________ Von den QR Codes bin ich zu den BCH Codes gekommen. In der englischen Version bei Wikipedia ist da die Fehlerkorrektur in drei Varianten erklärt. Nur komme ich vom Verständnis nicht mal durch die Einleitung. Zu meinem Hintergrund: vor zig Jahren hatte ich mal einige Scheine in der Mathematik (U) gemacht, aber mit der Zeit sind die Lücken zu groß geworden. ______________ Hier der Ausschnitt aus https://en.wikipedia.org/wiki/BCH_code , den ich gerne verstehen möchte. Teilweise sind es nur die Nomenklaturen, die ich nicht verstehe. Was ein Hyperlink ist und wie der funktioniert, ist mir schon klar. Galois Field = endlicher Körper (über Primzahlpotenz) ist mir geläufig. Primitive narrow-sense BCH codes Given a  prime number   q  and  prime power   q m  with positive integers  m  and  d  such that  d  ≤  q m  − 1, a primitive narrow-sense BCH code over the  finite field  (or Galois field) GF( q ) with code length  n  =  q m  − 1 and  distance  at least  d  is constructed by the following method. Let  α  be a  primitive element  of GF( q m ). For any positive integer  i , let  m i ( x ) be the  minimal polynomial  with coefficients in GF( q ) of α i . The  generator polynomial  of the BCH code is defined as the  least common multiple   g ( x ) = lcm( m 1 ( x ),…, m d  − 1 ( x )). It can be seen that  g ( x ) is a polynomial with coefficients in GF( q ) and divides  x n  − 1. Therefore, the  polynomial code  defined by  g ( x ) is a cyclic code. Example Let  q  = 2 and  m  = 4 (therefore  n  = 15). We will consider different values of  d  for GF(16) = GF(2 4 ) based on the reducing polynomial  z 4  +  z  + 1, using primitive element  α ( z ) =  z . There are fourteen minimum polynomials  m i ( x ) with coefficients in GF(2) satisfying The minimal polynomials are ______________ Was ich nicht verstehe, ist: using primitive element  α ( z ) =  z. Was ist das? Ein Funktionsaufruf, eine Multiplikation oder noch was anderes? Und was soll es ausdrücken? Wie bekomme ich die angegebenen m i (x) selbst berechnet? Gesucht habe ich schon so einiges, aber das, was ich nicht verstehe, wird da ebenso bei der Erklärung übergangen. Antworten können gerne auch verständliche Quellen sein. Als Sprachen verstehe ich Deutsch, Englisch, Dänisch und Norwegisch. Spanisch und Französisch ginge zur Not auch. Die Deutsche Erklärung bei Wikipedia verstehe ich ebenso wenig wie die niederländische.